0% found this document useful (0 votes)
60 views

Chapter 7

This document discusses ARP and RARP protocols. It begins by explaining that hosts and routers have both logical (IP) addresses and physical addresses. ARP is used to map logical addresses to physical addresses on the same network, while RARP maps physical addresses to logical addresses. The document then provides details on: - How ARP works by broadcasting ARP requests and receiving unicast replies - The format of ARP packets - Components of an ARP package including a cache table, queues, and input/output modules - Uses of proxy ARP to create subnet-like structures without changing addressing

Uploaded by

Dildddrrr
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
60 views

Chapter 7

This document discusses ARP and RARP protocols. It begins by explaining that hosts and routers have both logical (IP) addresses and physical addresses. ARP is used to map logical addresses to physical addresses on the same network, while RARP maps physical addresses to logical addresses. The document then provides details on: - How ARP works by broadcasting ARP requests and receiving unicast replies - The format of ARP packets - Components of an ARP package including a cache table, queues, and input/output modules - Uses of proxy ARP to create subnet-like structures without changing addressing

Uploaded by

Dildddrrr
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 64

Chapter 7

ARP and RARP


Outline
o ARP

o ARP Package

o RARP

The McGraw-Hill Companies, Inc., 2000


Logical Addresses
o The hosts and routers are recognized at the
network level by their logical addresses
n A logical address is an internet address
n Called a logical address because it is usually
implemented in software
n The logical addresses in the TCP/IP are called IP
address and are 32 bits long
Physical Address
o However, hosts/routers are recognized at the
physical layer by their physical address
n A physical address is an local address

n Called a physical address because it is usually


implemented in hardware

n Examples
o 48-bit MAC addresses in Ethernet
Translation
o We need both the physical address and the
logical address for packet delivery
o Thus, we need to be able to map a logical
address to its corresponding physical address
and vice versa
o Solutions
n Static mapping
n Dynamic mapping
Static Mapping
o Create a table that associates a logical address with a
physical address and store in each machine
o However, physical addresses may change
n A machine could change its NIC resulting in a new
physical address
n In some LANs, such as LocalTalk, the physical address
changes every time the computer is turned on
n A mobile station can move from one physical network to
another, resulting in a change in its physical address
Dynamic Mapping
o Use a protocol to find another address

o ARP: Address Resolution Protocol


n Map a logical address to a physical address

o RARP: Reverse Address Resolution Protocol


n Map a physical address to a logical address
Figure 7-1

ARP and RARP

The McGraw-Hill Companies, Inc., 2000


Figure 7-2

Position of ARP and RARP


in TCP/IP Protocol Suite

The McGraw-Hill Companies, Inc., 2000


7.1

ARP

The McGraw-Hill Companies, Inc., 2000


ARP Operation
o To find the physical address of another host or
router on its network
n Send an ARP request message
o ARP request message
n The physical address of the sender
n The IP address of the sender
n The physical address of the receiver is 0s
n The IP address of the receiver
ARP Operation (Cont.)
o Then, ARP request message is broadcast by
the physical layer
n For example: in Ethernet, MAC header’s
destination address is all 1s (broadcast address)
n Received by every station on the physical
network
o The intended recipient send back an ARP
reply message
n ARP reply message packet is unicast
Figure 7-3

ARP Operation

The McGraw-Hill Companies, Inc., 2000


Figure 7-4

ARP Packet

The McGraw-Hill Companies, Inc., 2000


Packet Format
o HTYPE (Hardware type)
n 16-bit field defining the underlying type of the
network
o Ethernet is given the type 1
o ARP can be used on any physical network
o PTYPE (Protocol type)
n 16-bit field defining the protocol
o IPv4 is 080016
o ARP can be used with any higher-level protocol
Packet Format (Cont.)
o HLEN (Hardware length)
n 8-bit field defining the length of the physical address in
bytes
o Ethernet has the value of 6
o PLEN (Protocol length)
n 8-bit field defining the length of the logical address in
bytes
o IPv4 has the value of 4
o OPER (Operation)
n 16-bit field defining the type of packet
n (1) = ARP request, (2) = ARP reply
Packet Format (Cont.)
o SHA (Sender hardware address)
n A variable-length field defining the physical
address of the sender

o SPA (Sender protocol address)


n A variable-length field defining the logical
address of the sender
Packet Format (Cont.)
o THA (Target hardware address)
n A variable-length field defining the physical
address of the target
n For an ARP request operation packet
o This field is all 0s
o TPA (Target protocol address)
n A variable-length field defining the logical
address of the target
Figure 7-5

Encapsulation of ARP Packet

o An ARP packet is encapsulated directly into a


data link frame
o Type field indicates that the data carried by
the frame is an ARP packet
The McGraw-Hill Companies, Inc., 2000
Operations
o The sender knows the target’s IP address
o IP asks ARP to create an ARP request message
n The sender physical address
n The sender IP address
n The target physical address field is filled with 0s
n The target IP address
o The message is passed to the data link layer to
encapsulate in a data link frame
n Physical destination address is broadcast address
Operations (Cont.)
o Every host or routers receives the frame and since
the destination address is broadcast, pass it to the
ARP
n All machines’ ARP except the one targeted drop the
packet
o The target reply with an ARP reply message that
contains its physical address and is unicast
o The sender receives the reply message and knows
the target’s physical address
Four Cases to Use ARP
o Case 1: The sender is a host and wants to send a
packet to another host on the same network
n Use ARP to find another host’s physical address
o Case 2: The sender is a host and wants to send a
packet to another host on another network
n Sender looks at its routing table
n Find the IP address of the next hop (router) for this
destination
n Use ARP to find the router’s physical address
Figure 7-6:a

Four Cases Using ARP: Case 1

The McGraw-Hill Companies, Inc., 2000


Figure 7-6:b

Four Cases Using ARP: Case 2

The McGraw-Hill Companies, Inc., 2000


Four Cases to Use ARP (Cont.)
o Case 3: the sender is a router and received a datagram
destined for a host on another network
n Router check its routing table
n Find the IP address of the next router
n Use ARP to find the next router’s physical address
o Case 4: the sender is a router that has received a
datagram destined for a host in the same network
n Use ARP to find this host’s physical address
Figure 7-6:c

Four Cases Using ARP: Case 3

The McGraw-Hill Companies, Inc., 2000


Figure 7-6:d

Four Cases Using ARP: Case 4

The McGraw-Hill Companies, Inc., 2000


An ARP request is broadcast;
an ARP reply is unicast.

The McGraw-Hill Companies, Inc., 2000


Example 1

o A host with IP address 130.23.43.20 and


physical address 0xB23455102210
o Another host with IP address 130.23.43.25
and physical address 0xA46EF45983AB.
o The two hosts are on the same Ethernet
network
o Show the ARP request and reply packets
encapsulated in Ethernet frames
Solution

o Figure 7.7 shows the ARP request and reply


packets
o Note that
n The IP addresses are shown in hexadecimal
Figure 7-7: request

Example 1

The McGraw-Hill Companies, Inc., 2000


Figure 7-7: reply

Example 1 (Continued)

The McGraw-Hill Companies, Inc., 2000


Proxy ARP
o Used to create a subnetting effect
o A router running a proxy ARP
n Its ARP acts on behalf of a set of hosts
n If it receives an ARP request message looking for
the address of one of these host
o The router sends an ARP reply announcing its own
hardware (physical) address
n After the router receives the actual IP packet
o It sends the packet to the appropriate host or router
Example
o Administrator need to create a subnet without
changing the whole system

o Add a router running a proxy ARP


Figure 7-8

Proxy ARP

The McGraw-Hill Companies, Inc., 2000


7.2
ARP
PACKAGE

The McGraw-Hill Companies, Inc., 2000


ARP Package
o Five components in an ARP package
n A cache table
n Queues
n An output module
n An input module
n A cache-control module
Figure 7-9

ARP Components

The McGraw-Hill Companies, Inc., 2000


Cache Table
o Inefficient to use ARP to each datagram
destined for the same host or router
n Introduce the cache table

o Cache table: an array of entries that contains


the following’s entries
Content of a Cache Table Entry
o State:
n FREE: the time-to-live for this entry has expired
n PENDING: a request for this entry has been sent, but the
reply has not yet been received
n RESOLVED: the entry is complete and valid
o Hardware type
o Protocol type
o Hardware length
o Protocol length
n Above fields are all the same as in the ARP packet
Content of a Cache Table Entry (Cont.)
o Interface number
o Queue number: ARP uses numbered queues to
enqueue the packet waiting for address resolution
o Attempts: the number of times an ARP request is
sent out for this entry
o Time-out: the lifetime of an entry in seconds
o Hardware address: the destination hardware address
o Protocol address: the destination IP address
Queues
o ARP package maintains a set of queues to hold the
IP packets while ARP tries to resolve the hardware
address
o Packets for the same destination are usually
enqueued in the same queue
o The output module sends unsolved packets into the
queue
o The input module removes a packet from the queue
and sends it, with the resolved physical address, to
data link layer for transmission
Output Module
o Wait until an IP packet from the IP software
o Check the cache table if receiving a IP packet
n If found and state = RESOLVED
o Passed to the data link layer for transmission
n If found and state = PENDING
o Send packet to this queue and wait
n If not found
o Create an entry with state = PENDING
o Create a queue and enqueue this packet
o Send an ARP request
Input Module
o Wait until an ARP packet (request or reply)
arrives and check the cache table
n If found state = PENDING
o Copy the target hardware address in the packet
o Change the state to RESOLVED
o Set the value of TIME-OUT for this entry
o Dequeue the packets from the corresponding queue
and set them to the data link layer
Input Module (Cont.)
n If found and state = RESOLVED
o Copy the target hardware address in the packet
o Set the value of TIME-OUT for this entry
o This is because the target hardware address could
have been changed
n If not found
o Create a new entry and adds it to the table
o If the packet is a request
n Send an ARP reply
Cache-Control Module
o Maintain the cache table by periodically
check the cache table, entry by entry
o If state is PENDING
n Increment the value of attempts by 1
n If (attempts greater than maximum)
o Change the state to FREE and Destroy the
corresponding queue
n Else
o Send an ARP request
Cache-Control Module (Cont.)
o If state is RESOLVED
n Decrement the value of time-out by the value of
elapsed time
n If (time-out <= 0)
o Change the state to FREE
o Destroy the corresponding queue
o If state is FREE
n Continue to the next entry
Original Cache Table
State Queue Attempt Time-out Protocol Addr. Hardware Addr.
R 5 900 180.3.6.1 ACAE32457342
P 2 2 129.34.4.8
P 14 5 201.11.56.7
R 8 450 114.5.7.89 457342ACAE32
P 12 1 220.55.5.7
F
R 9 60 19.1.7.82 4573E3242ACA
P 18 3 188.11.8.71
The McGraw-Hill Companies, Inc., 2000
Example 2

o The ARP output module receives an IP


datagram from the IP layer with the
destination address 114.5.7.89
o It checks the cache table and finds that an
entry exists for this destination with the
RESOLVED state
o It extracts the hardware address, which is
457342ACAE32, and sends the packet and
the address to the data link layer
Example 3

o Twenty seconds later, the ARP output module


receives an IP datagram from the IP layer with the
destination address 116.1.7.22.
o It checks the cache table and does not find this
destination in the table
o The module adds an entry to the table with the state
PENDING and the Attempt value 1
o It also creates a new queue for this destination and
enqueues the packet
o It then sends an ARP request to the data link layer
for this destination
Cache table for Example 3
State Queue Attempt Time-out Protocol Addr. Hardware Addr.
R 5 900 180.3.6.1 ACAE32457342
P 2 2 129.34.4.8
P 14 5 201.11.56.7
R 8 450 114.5.7.89 457342ACAE32
P 12 1 220.55.5.7
P 23 1 116.1.7.22
R 9 60 19.1.7.82 4573E3242ACA
P 18 3 188.11.8.71

The McGraw-Hill Companies, Inc., 2000


Example 4

o Fifteen seconds later, the ARP input module receives


an ARP packet with target protocol (IP) address
188.11.8.71
o The module checks the table and finds this address
o It changes the state of the entry to RESOLVED and
sets the time-out value to 900
o The module then adds the target hardware address
(E34573242ACA) to the entry
o Now it accesses queue 18 and sends all the packets in
this queue, one by one, to the data link layer
Cache table for Example 4
State Queue Attempt Time-out Protocol Addr. Hardware Addr.
R 5 900 180.3.6.1 ACAE32457342
P 2 2 129.34.4.8
P 14 5 201.11.56.7
R 8 450 114.5.7.89 457342ACAE32
P 12 1 220.55.5.7
P 23 1 116.1.7.22
R 9 60 19.1.7.82 4573E3242ACA
R 18 900 188.11.8.71 E34573242ACA

The McGraw-Hill Companies, Inc., 2000


Example 5

o Twenty-five seconds later, the cache-control


module wakes up
o The time-out values for the first three resolved
entries are decremented by 60
o The time-out value for the last resolved entry
is decremented by 25
o The state of the next-to-the last entry is
changed to FREE because the time-out is zero
Example 5 (Cont.)

o For each of the three pending entries, the


value of the attempts field is incremented by
one
o Then, the attempts value for one entry (the
one with IP protocol address 201.11.56.7) is
more than the maximum
n the state is changed to FREE, the queue is deleted
n An ICMP message is sent to the original
destination
Cache Table for Example 5
State Queue Attempt Time-out Protocol Addr. Hardware Addr.
R 5 840 180.3.6.1 ACAE32457342
P 2 3 129.34.4.8
F
R 8 390 114.5.7.89 457342ACAE32
P 12 2 220.55.5.7
P 23 2 116.1.7.22
F
R 18 875 188.11.8.71 E34573242ACA
The McGraw-Hill Companies, Inc., 2000
7.3

RARP

The McGraw-Hill Companies, Inc., 2000


RARP
o A diskless machine is usually booted from
ROM
o It cannot include the IP address
n IP address are assigned by the network
administrator
o Obtain its logical address by the physical
address using the RARP protocol
Figure 7-10

RARP Operation

The McGraw-Hill Companies, Inc., 2000


The RARP request packets are
broadcast;
the RARP reply packets are
unicast.

The McGraw-Hill Companies, Inc., 2000


Packet Format
o The format of the RARP packet is the same as
the ARP packet
o Except that the operation field is
n Three for RARP request message
n Four for RARP reply message
Figure 7-11

RARP Packet

The McGraw-Hill Companies, Inc., 2000


Figure 7-12

Encapsulation of RARP Packet

The McGraw-Hill Companies, Inc., 2000


Alternative Solutions to RARP
o When a diskless computer is booted, it needs
more information in addition to its IP address
n The subnet mask
n The IP address of a router
n The IP address of a name server
o RARP cannot provide this extra information
o Two protocols, BOOTP and DHCP, can be
used instead of RARP

You might also like