Internet Control Protocols EE 122 Intro to Communication Networks Fall 2007 WF 4 5 30 in Cory 277 Vern Paxson TAs Lisa Fowler Daniel Killebrew Jorge Ortiz http inst eecs berkeley edu ee122 Materials with thanks to Jennifer Rexford Ion Stoica and colleagues at Princeton and UC Berkeley 1 Announcements Midterms are graded pick up in section Project 1 phase 1 reference client server now available See Announcements page for links Project 1 phase 2 due date changed to Monday Oct 29 11PM Guest lecturer next Wednesday Brighten Godfrey 2 1 Goals of Today s Lecture Bootstrapping an end host Learning its own configuration parameters DHCP Learning the link layer addresses of other nodes ARP Network control messages Error status reporting Monitoring Internet Control Message Protocol ICMP Exploiting ICMP for discovering Internet path properties o Largest packet that can be sent w o fragmenting PMTU o Route taking by packets through the network traceroute 3 How To Bootstrap an End Host What IP address the host should use What local DNS server to use How to tell which destinations are local How do we address them using local network How to send packets to remote destinations 1 2 3 7 1 2 3 156 host host DNS host host DNS 5 6 7 0 24 1 2 3 0 23 1 2 3 19 router router router 4 2 Avoiding Manual Configuration Dynamic Host Configuration Protocol DHCP End host learns how to send packets Learn IP address DNS servers gateway what s local Address Resolution Protocol ARP For local destinations learn mapping between IP address and MAC address 1 2 3 48 1 2 3 7 1 2 3 156 host host 1 2 3 0 23 255 255 254 0 DNS 1A 2F BB 76 09 AD host host DNS 5 6 7 0 24 1 2 3 19 router router router 5 Key Ideas in Both Protocols Broadcasting when in doubt shout Broadcast query to all hosts in the local area network when you don t know how to identify the right one Caching remember the past for a while Store the information you learn to reduce overhead Remember your own address other host s addresses Soft state eventually forget the past Associate a time to live field with the information and either refresh or discard the information Key for robustness in the face of unpredictable change 6 3 MAC Address vs IP Address MAC addresses Hard coded in read only memory when adaptor is built Like a social security number Flat name space of 48 bits e g 00 0E 9B 6E 49 76 Portable and can stay the same as the host moves Used to get packet between interfaces on same network IP addresses Configured or learned dynamically Like a postal mailing address Hierarchical name space of 32 bits e g 12 178 66 9 Not portable and depends on where the host is attached Used to get a packet to destination IP subnet 7 Bootstrapping Problem Host doesn t have an IP address yet So host doesn t know what source address to use Host doesn t know who to ask for an IP address So host doesn t know what destination address to use Solution shout to discover server that can help Broadcast a server discovery message ff ff ff ff ff ff Server s sends a reply offering an address host host host DHCP server 8 4 Response from the DHCP Server DHCP offer message from the server Configuration parameters proposed IP address mask gateway router DNS server Lease time duration the information remains valid Multiple servers may respond Multiple servers on the same broadcast network Each may respond with an offer Accepting one of the offers Client sends a DHCP request echoing the parameters The DHCP server responds with an ACK to confirm and the other servers see they were not chosen 9 Dynamic Host Configuration Protocol DHC P dis cove r broa dcas t arriving client er P off DHC DHCP server 203 1 2 5 DHC P req uest broa dcas t K P AC DHC 10 5 Soft State Refresh or Forget Why is a lease time necessary Client can release the IP address DHCP RELEASE o E g ipconfig release at the DOS prompt o E g clean shutdown of the computer But host might not release the address o E g the host crashes blue screen of death o E g buggy client software And you don t want the address to be allocated forever Performance trade offs Short lease time returns inactive addresses quickly Long lease time avoids overhead of frequent renewals lessens frequency of lease being denied 11 So Now the Host Knows Things IP address Mask Gateway router DNS server And can send packets to other IP addresses But how to use the local network to do this 12 6 Figuring Out Where To Send Locally Two cases Destination is on the local network o So need to address it directly Destination is not local remote o Need to figure out the first hop on the local network Determining if it s local use the netmask E g mask destination IP address w 255 255 254 0 Is it the same value as when we mask our own address o Yes local o No remote 1 2 3 48 1 2 3 7 1 2 3 156 host host DNS 1A 2F BB 76 09 AD host host DNS 5 6 7 0 24 1 2 3 0 23 255 255 254 0 1 2 3 19 router router router 13 Where To Send Locally con t If it s remote look up first hop in very small local routing table E g by default route via 1 2 3 19 Now do to the local case but for 1 2 3 19 rather than ultimate destination IP address 1 2 3 48 1 2 3 7 1 2 3 156 host host 1 2 3 0 23 255 255 254 0 DNS 1A 2F BB 76 09 AD host host DNS 5 6 7 0 24 1 2 3 19 router router router For the local case need to determine the destination s MAC address 14 7 Sending Packets Over a Link 1 2 3 53 host 1 2 3 156 host DNS IP packet 1 2 3 53 1 2 3 156 router Adaptors only understand MAC addresses Translate the destination IP address to MAC address Encapsulate the IP packet inside a link level frame 15 5 Minute Break Questions Before We Proceed 16 8 Address Resolution Protocol Every node maintains an ARP table IP address MAC address pair Consult the table when sending a packet Map destination IP address to destination MAC address Encapsulate and transmit the data packet But what if IP address not in the table Sender broadcasts Who has IP address 1 2 3 156 Receiver responds MAC address 58 23 D7 FA 20 B0 Sender caches result in its ARP table Link layer protocol RFC 826 Because necessary to bootstrap IP connectivity 17 Example A Sending a Packet to B How does host A send an IP …
View Full Document