Internet Control Protocols EE 122 Intro to Communication Networks Fall 2006 MW 4 5 30 in Donner 155 Vern Paxson TAs Dilip Antony Joseph and Sukun Kim http inst eecs berkeley edu ee122 Materials with thanks to Jennifer Rexford Ion Stoica and colleagues at Princeton and UC Berkeley 1 Announcements Midterm grading 2 3s done completed by Friday I am away next week with limited email ACM Internet Measurement Conference Monday Oct 23 Dilip Routing Weds Oct 25 Prof Scott Shenker BGP Except picture w o the beard Dilip takes over the Weds section from Sukun on Weds Oct 25 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 3 How To Bootstrap an End Host What IP address the host should use What local DNS server to use How to send packets to remote destinations How to tell which destinations are local How do we address them using local network 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 Deciding What IP Address to Offer Server as centralized configuration database Parameters might be statically configured in the server E g a dedicated IP address for each MAC address Avoids complexity of configuring hosts directly while still having a permanent IP address per host Or dynamic assignment of IP addresses Server maintains a pool of available addresses and assigns them to hosts on demand Leads to less configuration complexity and more efficient use of the pool of addresses But harder to track the same host over time 11 Soft State Refresh or Forget Why is a lease time necessary Client can release the IP address DHCP RELEASE E g ipconfig release at the DOS prompt E g clean shutdown of the computer But host might not release the address E g the host crashes blue screen of death 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 12 6 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 13 Figuring Out Where To Send Locally Two cases Destination is on the local network So need to address it directly Destination is not local remote 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 Same value as when we mask our own address Yes local No remote 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 14 7 Where To Send Locally con t If it s remote look up first hop in 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 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 For the local case need to determine the destination s MAC address 15 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 16 8 5 Minute Break Questions Before We Proceed 17 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 …
View Full Document