Communication Networks Recitation 3 DNS & ARP Comnet 2010 1 Addressing Schemes • host names: convenient app-to-app communication medellin.cs.columbia.edu • IP: efficient large-scale network communication • MAC: quick-n-easy LAN forwarding 128.119.40.7 E6-E9-00-17-BB-4B Comnet 2010 2 Translating between addresses Hostname (medellin.cs.columbia.edu) DNS IP address (128.119.40.7) ARP MAC address (E6-E9-00-17-BB-4B) Comnet 2010 4 DNS Servers • Contacted by local name server when can not resolve name • Root name server: – contacts authoritative name server if name mapping not known – gets mapping – returns mapping to local name server • 13/Anycast Comnet 2010 5 DNS Hierarchy edu com org jp rpi albany DNS Distributed Database rpi.edu DNS rpi.edu DB rpi.edu DNS DNS DB DB Comnet 2010 6 Simple DNS example root name server host surf.eurecom.fr wants IP address of gaia.cs.umass.edu 2 4 5 1. Contacts its local DNS server, dns.eurecom.fr 2. dns.eurecom.fr contacts local name server root name server, if dns.eurecom.fr necessary 1 6 3. root name server contacts authoritative name server, dns.umass.edu, if requesting host necessary surf.eurecom.fr Comnet 2010 3 authorititive name server dns.umass.edu gaia.cs.umass.edu 7 Intermediate name server • Root name server may not know authoritative name server • may know intermediate name server: who to contact to find authoritative name server root name server 2 6 3 7 local name server dns.eurecom.fr intermediate name server dns.umass.edu 4 1 5 8 requesting host authoritative name server dns.cs.umass.edu surf.eurecom.fr Comnet 2010 gaia.cs.umass.edu 8 DNS: iterated queries root name server recursive query: • puts burden of name resolution on contacted name server • heavy load iterated query: • contacted server replies with name of server to contact • “I don’t know this name, but ask this server” iterated query 2 3 4 7 local name server 6 dns.eurecom.fr 1 5 intermediate name server dns.umass.edu 8 requesting host authoritative name server dns.cs.umass.edu surf.eurecom.fr gaia.cs.umass.edu Comnet 2010 9 DNS library functions struct hostent *gethostbyname( const char *hostname); struct hostent *gethostbyaddr( const char *addr,size_t len, int family); struct hostent *he; he = gethostbyname( “www.yahoo.com” ); printf( “Address: %s\n”, inet_n_ntoa( he->h_addr ) ); struct in_addr addr; inet_aton( “66.94.230.32”, &addr ); he = gethostbyaddr( &addr, sizeof( addr ), AF_INET ); printf( “Name: %s\n”, he->h_name ); Comnet 2010 10 LAN Addresses and ARP 32-bit IP address: • network-layer address • used to get datagram to destination network LAN (or MAC or physical) address: • used to get datagram from one interface to another physically-connected interface (same network) • 48 bit MAC address (for most LANs) burned into the adapter’s ROM Comnet 2010 11 LAN Addresses and ARP Each adapter on the LAN has a unique LAN address Comnet 2010 12 ARP: Address Resolution Protocol Question: how to determine MAC address of B given B’s IP address? • Each IP node (Host, Router) on LAN has ARP module and table • ARP Table: IP/MAC address mappings for some LAN nodes < IP address; MAC address; TTL> < ………………………….. > – TTL (Time To Live): time of day after which address mapping will be forgotten (typically 20 minutes) Comnet 2010 13 ARP protocol Arp Arp! • A knows B's IP address, wants to learn physical address of B • A broadcasts ARP query packet, containing B's IP address – all machines on LAN receive ARP query • B receives ARP packet, replies to A with its (B's) physical layer address • A caches (saves) IP-to-physical address pairs until information becomes old (times out) – soft state: information that times out (goes away) unless refreshed Comnet 2010 14 ARP Conversation HEY - Everyone please listen! Will 128.213.1.5 please send me her Ethernet address? not me Hi Green! I’m 128.213.1.5, and my Ethernet address is 87:A2:15:35:02:C3 Comnet 2010 15 Problem 1 1. Calculate the completion time of transferring a file of size 1KB over a link with speed 10Mb/s and length 3000km. Propagation speed is 200,000Km/s Comnet 2010 16 Solution 1 The completion time is calculated as follows: T = Prop. Delay + Trans. Time We obtain that: • Prop. Delay = 3000 km /(0.2 km/usec) = 15ms • Trans. Time = 1KB/1.25MB/s = 8.2 ms T = 15ms + 8.2 ms = 23.2 ms Comnet 2010 17 Calculating CRC • For data D and Generator G find bits R such that DR = n*G. • Same as D00…0 = n*G + R • R will always be 1 bit shorter than G • Use long Division with XOR Comnet 2010 19 Solution 2 • D = 01011000, G=1101, R=??? • 01011000000 | 1101 R=011 1101 n=1100111 1100 1101 DR=01011000011 1000 1101 1010 1101 1110 1101 Comnet 2010 11 20 Solution 2 – In reverse • DR = 01011000011, G=1101 • 01011000011 | 1101 1101 1100 1101 1000 1101 1011 1101 1101 1101 Comnet 2010 0 21 CRC – Concluding Remarks • If R has r bits, there are 2r different CRCs • A random string will not be detected as an error in probability 2-r. • Robustness for common errors depends on G. Comnet 2010 22 Problem 3 2. In CSMA/CD network there are two computers A and B which collide in round 1. Give the table of possible outcomes of the second round and their probabilities. Assume that the initial delay period after the collision is D=1 (the hosts pick a random number between 0 and D before trying to re-transmit). Comnet 2010 23 Solution 3 Case A B Probability Comment --------------------------------------------------------------a 0 0 0.25 Collide in round 2 b 0 1 0.25 A successful in round 2 B successful in round 3 c 1 0 0.25 B successful in round 2 A successful in round 3 d 1 1 0.25 Collide in round 3 Comnet 2010 24