Professional Documents
Culture Documents
Applications use a logical address (IP address) to identify the destination host. The IP
packets are encapsulated into frames. The delivery of frames across links (source –
source, or source – router, router – router, …, router – destination) is based on local
addresses called physical or MAC addresses. The mapping of IP addresses into
physical addresses is done through the Address Resolution Protocol (ARP).
Position of ARP and RARP
in the TCP/IP Protocol Suite
“Helper
Protocols” assist
in the delivery of
IP datagrams.
ARP Operation
(case: destination is on the same physical network)
Link
18 byte padding (to make frame payload equal to 46 bytes – ARP packet is 28 bytes)
Encapsulation of an ARP Packet
46 bytes
(next hop)
The IP address of the destination (router) is not taken from the IP datagram.
Instead it is taken from the next-hop column of the routing table of the source host.
Four cases using ARP (cont.)
Case 3: Router to Router
ARP request
130.23.43.20
Don’t know the destination MAC address
130.23.43.25
IP datagram
Timer
(5 sec)
MAC address
of immediate
destination
(next hop or
direct)
Case: Sending a packet, destination IP has MAC in Cache Table (state = R)
2 Each destination is
given a queue (all
packets with the
same destination
are in the same
queue)
3
Case: Sending a packet, destination IP does not have an associated MAC
address in the cache but an entry with state = P:
1
2
3 Put packet in
existing queue
Case: Sending a packet, no entry in cache corresponding to the
destination IP address:
1
2
3
Create a new queue
4
Case: An ARP reply arrives, corresponding IP address is in the cache
3
Dequeue all packets
2
4
1
Case: An ARP reply arrives, corresponding IP address is not in the cache
Create a new
entry in cache
Do you see any
security
2 vulnerabilities with
this practice?
1
Previous case in which an ARP reply arrives and the
corresponding IP address is not in the cache:
We know our
own hardware
address
2
1
Cache-Control Module
Invoked by a periodic timer
(5 seconds)
for (every entry in the cache table){
switch (State){
case PENDING:
increment Attempt;
if (Attempt > max){
State = FREE;
Destroy corresponding queue;}
else
Send an ARP request;
break; If P-state within a timer
case RESOLVED: period (5 seconds), then send
Decrement Time-Out; the request again
if (Time-Out <= 0){
State = FREE;
Destroy corresponding queue;}
break;
case FREE: }
}
Example 2
Broadcast
Unicast
RARP Packet Format
Encapsulation of RARP Packet
Alternative Solutions to the RARP Protocol
When a diskless computer is booted, it needs
network configuration information in addition to its
IP address. For example, a system needs to know
its subnet mask, the IP address of a router on the
LAN (the gateway address), and the IP address of
a name server for hostname to IP address
translation. RARP cannot provide this extra
information. However, protocols such as DHCP
and BOOTP have been developed to provide this
information. We will discuss both the DHCP and
BOOTP protocols later in the course.
Question 1: