Transcript DNS and ARP
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