Chapter 7
ARP and RARP
Objectives
Upon completion you will be able to:
Understand the need for ARP Understand the cases in which ARP is used Understand the components and interactions in an ARP package Understand the need for RARP
TCP/IP Protocol Suite
Figure 7.1
ARP and RARP
TCP/IP Protocol Suite
Figure 7.2
Position of ARP and RARP in TCP/IP protocol suite
Notice that ARP and RARP are supplemental to IP.
TCP/IP Protocol Suite
7.1 ARP
ARP associates an IP address with its physical address. On a typical physical network, such as a LAN, each device on a link is identified by a physical or station address that is usually imprinted on the NIC.
Logical address to physical address translation can be done statically (not practical) or dynamically (with ARP).
TCP/IP Protocol Suite
Figure 7.3
ARP operation
TCP/IP Protocol Suite
Figure 7.4
ARP packet
Hardware Type - Ethernet is type 1 Protocol TypeIPv4=x0800 Hardware Length:length of Ethernet Address (6) Protocol Length:length of IPv4 address (4)
TCP/IP Protocol Suite
Figure 7.5
Encapsulation of ARP packet
The ARP packet is encapsulated within an Ethernet packet. Note: Type field for Ethernet is x0806
TCP/IP Protocol Suite
Figure 7.6
Four cases using ARP
TCP/IP Protocol Suite
Example 1
A host with IP address 130.23.43.20 and physical address B2:34:55:10:22:10 has a packet to send to another host with IP address 130.23.43.25 and physical address A4:6E:F4:59:83:AB (which is unknown to the first host). The two hosts are on the same Ethernet network. Show the ARP request and reply packets encapsulated in Ethernet frames. See Next Slide
TCP/IP Protocol Suite
Example 1 (Continued)
Solution Figure 7.7 shows the ARP request and reply packets. Note that the ARP data field in this case is 28 bytes, and that the individual addresses do not fit in the 4byte boundary. That is why we do not show the regular 4-byte boundaries for these addresses. Also note that the IP addresses are shown in hexadecimal. For information on binary or hexadecimal notation see Appendix B. See Next Slide
TCP/IP Protocol Suite
10
Figure 7.7
Example 1
TCP/IP Protocol Suite
11
Figure 7.8
Proxy ARP
A proxy ARP, running in a router, can respond to an ARP request for any of its proteges. The proxy ARP replies with its own MAC address. When the packet arrives, the router delivers it to the appropriate host.
TCP/IP Protocol Suite
12
7.2 ARP PACKAGE
In this section, we give an example of a simplified ARP software package to show the components and the relationships between the components. This ARP package involves five modules: a cache table, queues, an output module, an input module, and a cache-control module.
The topics discussed in this section include:
Cache Table Queues Output Module Input Module Cache-Control Module
TCP/IP Protocol Suite
13
The Cache Table
If ARP just resolved an IP address, chances are a few moments later someone is going to ask to resolve the same IP address When ARP returns a MAC address, it is placed in a cache. When the next request comes in for the same IP address, look first in the cache
14
TCP/IP Protocol Suite
7.3 RARP
RARP finds the logical address for a machine that only knows its physical address. This if often encountered on thin-client workstations. No disk, so when machine is booted, it needs to know its IP address (dont want to burn the IP address into the ROM).
RARP requests are broadcast, RARP replies are unicast.
If a thin-client workstation needs to know its IP address, it probably also needs to know its subnet mask, router address, DNS address, etc. So we need something more than RARP. BOOTP, and now DHCP have replaced RARP.
TCP/IP Protocol Suite
15
Figure 7.10
RARP operation
TCP/IP Protocol Suite
16
Figure 7.11 RARP packet
TCP/IP Protocol Suite
17
Figure 7.12
Encapsulation of RARP packet
TCP/IP Protocol Suite
18