Scaling the Network: Subnetting and Protocols Networking CS 3470, Section 1
Today ARP, IMAP, and DHCP Protocols Subnetting
Packet Encapsulation ** Creative Commons: http://en.wikipedia.org/wiki/File:UDP_encapsulation.svg
Address Resolution IP address is virtual Not understood by underlying physical networks IP packets need to be transmitted by the underlying physical network Address resolution Translating IP address to physical address Address Resolution Protocol (ARP)
ARP A router has to know where to deliver packets on the local network ARP is used to discover MAC addresses based on IP addresses arp who-has 192.168.10.1 tell node31.ceee.lab arp reply 192.168.10.1 is-at 00:60:08:ce:9d:3b arp who-has node31.ceee.lab tell 192.168.10.254 arp reply node31.ceee.lab is-at 00:02:3f:b4:cd:87
ARP Cache Each computer maintains a cache table Exchanges ARP messages IP address hardware address mapping Only about computers on the same network Try out “/usr/sbin/arp –a” command Exchanges ARP messages To resolve IP addresses with unknown hardware addresses Encapsulated in Ethernet data frame
ARP Protocol When a node sends an IP packet To another node on the same physical network Look up destination address in the ARP table If not found Broadcast a request to the local network Whose IP address is this? What info should the request message contain?
ARP Response The target node responds to sender (unicast?) With its physical address Adds the requester into its ARP table (why?) On receiving the response Requester updates its table Other nodes upon receiving the request Refresh the requester entry if already there No action otherwise (why?) Table entries deleted if not refreshed for a while We can categorize the nodes in the local network into requester node, target node and all others. Lets see what each of them do in turn. The target node responds only to the sender with its hardware address. Why not broadcast the reply also? All others may not necessarily be interested in communicating with target node and a broadcast incurs processing overhead at every node in the network. The target node adds the requester’s IP and hardware addresses into its ARP cache (if not already there). Why? It is likely that target node would also send IP packets to the requester node later and so it makes sense to avoid an ARP request broadcast by the target node that time. The requester node on receiving the response, updates its ARP table. All other nodes, receive only the request not the reply. They check if the requester has an entry in their caches. If found, they refresh that entry. Otherwise, no action taken. Why not add an entry for the requester? We don’t want to grow the ARP table unnecessarily. Finally, a lifetime is associated with each entry in the ARP cache and an entry is deleted if it not refreshed within that time.
ARP Example ARP broadcast by W requesting hardware address of Y
IP Address Configuration May configure a network statically by giving each host it’s IP address and routing information (like gateway) Or may configure a server to do this for you dynamically
The University of Adelaide, School of Computer Science 22 October 2017 DHCP Server Dynamic Host Configuration Protocol (DHCP) DHCP server is responsible for providing configuration information to hosts There is at least one DHCP server for an administrative domain DHCP server maintains a pool of available addresses Chapter 2 — Instructions: Language of the Computer
DHCP Protocol State Protocol DHCPDISCOVER (client) DHCPOFFER (server) DHCPREQUEST (client) DHCPACK (server) DHCPNAK (server) DHCPINFORM (client)
The University of Adelaide, School of Computer Science 22 October 2017 DHCP Newly booted or attached host sends DHCPDISCOVER message to a special IP address (255.255.255.255) Rest of messages are unicast back and forth Chapter 2 — Instructions: Language of the Computer
DHCP IP leases are valid for a predefined period of time (T1) Leases are renewed at T1/2 Leases are released if they have not been renewed at the expiration of the lease time
Internet Control Message Protocol (ICMP) The University of Adelaide, School of Computer Science 22 October 2017 Internet Control Message Protocol (ICMP) Defines a collection of error messages that are sent back to the source host whenever a router or host is unable to process an IP datagram successfully Destination host unreachable due to link /node failure Reassembly process failed TTL had reached 0 (so datagrams don't cycle forever) IP header checksum failed The ping application is a very common ICMP- message-generator Chapter 2 — Instructions: Language of the Computer
IP Addressing Classful addressing scheme separates groups of addresses into classes Class A 8 bits used for network (256) 24 bits used for hosts and network devices (16,777,216) Binary address starts with 0 Class B 16 bits for networks (65,536) 16 bits for hosts and network devices (65,536) binary address starts with 10 Class C 24 bits for the network (16,777,216) 8 bits for the host (256) Binary address starts with 110
Classless Inter-Domain Routing Classful addressing scheme wasteful IP address space exhaustion Class B net allocated enough for 65K hosts Even if only 2K hosts in that network Solution: Classless Inter Domain Routing (CIDR) Eliminate class distinction No A,B,C Keep multicast class D
Classless Addressing Addresses allocated in contiguous blocks Number of addresses assigned always power of 2 Network portion of address is of arbitrary length Address format: a.b.c.d/x x is number of bits in network portion of address This example is half of a class B! 11001000 00010111 1 0000000 00000000 network part host 200.23.128.0/17
Subnet Motivation This network can have 215 = 32,768 hosts! 11001000 00010111 1 0000000 00000000 network part host 200.23.128.0/17 This network can have 215 = 32,768 hosts! Imagine the size of the routing tables if we had a flat network of all these hosts! We want to split this network up into smaller networks
Subnet Motivation 11001000 00010111 1 0000000 00000000 network part host 200.23.128.0/17 We probably want to split this network up into smaller networks (subnets) due to Security reasons Logistical reasons Routing reasons
Let’s play with a small example 11000000 10101000 00001010 00000000 network part host 192.168.10.0/24 Suppose you have this private class C network, and you need to divide it evenly You will have hosts 0-127 Friend will have hosts 128-255
Let’s play with a small example 11000000 10101000 00001010 00000000 network part host 192.168.10.0/24 Dividing the network into subnets involves using some of the host bits as the subnet ID What bit of the host part of the address do we have to flip to signify >= 128 for the host ID?
Let’s play with a small example 11000000 10101000 00001010 0 0000000 network part host 192.168.10.0/25 subnet ID Can address hosts 0-127 Can address hosts 128-255 11000000 10101000 00001010 1 0000000 network part host 192.168.10.128/25 subnet ID
Let’s play with a small example 11000000 10101000 00001010 0 0000000 network part host 192.168.10.0/25 subnet ID Now, how can routers easily figure out where destination IP address 192.168.10.202 should be routed? 192.168.10.0/25 or 192.168.10.128/25 subnet?
Let’s play with a small example 11000000 10101000 00001010 0 0000000 network part host 192.168.10.0/25 subnet ID A subnet number is the network part + subnet ID + zeros for the host 192.168.10.0 A subnet mask consists of all 1’s for the network+subnet ID and all 0’s for the host part What is this subnet mask?
Let’s play with a small example 11000000 10101000 00001010 0 0000000 network part host 192.168.10.0/25 subnet ID Subnet mask: 255.255.255.128 11111111 11111111 11111111 10000000
Let’s play with a small example 11000000 10101000 00001010 1 0000000 network part host 192.168.10.128/25 subnet ID Subnet mask: 255.255.255.128 11111111 11111111 11111111 10000000
Subnet Masks We can figure out where to route by noting that dest subnet = subnet mask & dest IP addr
Subnet Masks dest subnet = subnet mask & dest IP addr Let’s say destination IP is 192.168.10.202 and lets & with subnet mask 192 . 168 . 10 . 128 We send packet to 192.168.10.128/25 network! 11000000 10101000 00001010 110001010 & 11111111 11111111 11111111 100000000 11000000 10101000 00001010 100000000
Longest-Prefix Match Suppose two network IDs exist: 1) 128.186.0.0/16 2) 128.186.134.0/24 Suppose you have destination IP of 128.186.134.100 Both subnet mask & IP of 1 and 2 will yield match – what to do? Longest-prefix match – route to network with the most matching host bits.
The University of Adelaide, School of Computer Science 22 October 2017 Subnetting Notes Would use a default router if nothing matches Not necessary for all ones in subnet mask to be contiguous Can put multiple subnets on one physical network Subnets not visible from the rest of the Internet Chapter 2 — Instructions: Language of the Computer
Routing with CIDR Destination IP is BA.DB.EE.F2