ADDRESS RESOLUTION PROTOCOL
“DATA NETWORKS” FOR JTOs PH-II – Address Resolution Protocol
ADDRESS RESOLUTION PROTOCOL
What is Address Resolution Protocol?
All Interfaces on the Network are identified by an unique 32-bit IP address.
Every IPdatagram carries in its header the Source/Destination IP address for
Routing the Packet. However, for actual transmission, these IP datagrams are
encapsulated in Data Link Layer Frames. The Data Link layer Frame needs
Hardware Addresses as part of their framing (See Fig. 1).
The Protocols required to create the association between Hardware
Addresses (Physical Addresses) and IP Addresses are called ADDRESS
RESOLUTION PROTOCOL.
Name: A Name: B
IP Address : 144.12.12.06 IP Address:
144.12.12.26
HA: (080010C2A102) Hexa HA: (080010310596)
Hexa
??? ‘080010310596’ ‘0800’ IP datagram CRC
Dest. H/W Addr Source H/W Addr. Ethernet Type
Fig.1
Need for Address Resolution Protocol
The host system knows the IP address of the Destination by using DNS
(Domain Name System) or a Table Look-up. But the IP datagram cannot be
transmitted without Destination Hardware Address in a MAC (Media Access
Control) Frame. (See Fig. 2).
IP Datagram
144.12.12.26 144.12.12.06 Data
Source IP Addr. Dest. IP Addr.
??? ‘080010310596’ Hexa ‘0800’ Hexa IP datagram CRC
Dest. H/W Addr Source H/W Addr. Ethernet Type
Data Link Frame (MAC Frame)
Fig. 2
One Solution for this problem is manually configuring the TCP/IP system, the
relation between IP Address and MAC Address of all Nodes in that Network
Segment. The problem with this approach is if the Network Interface Card
(NIC) is replaced on a host the MAC Address changes and the table is to be
updated on all Nodes.
Hence there is a need for a Dynamic Mechanism to determine the Destination
Hardware Address knowing the its IP Address. This Dynamic Mechanism is
BRBRAITT : Nov-2006 2
“DATA NETWORKS” FOR JTOs PH-II – Address Resolution Protocol
implemented as a separate Protocol called the ADDRESS RESOLUTION
PROTOCOL.
ARP Format
Fig 3 shows the format of ARP-Request and ARP- Reply packets and its
encapsulation in the Data Link Frame (for e.g. MAC Frame). Ehernet type
value ‘0806’ Hexadecimal is reserved for ARP frames.
2 Octets 2 Octets 1 Octet 1 Octet 2 Octets 6 Octets 4 Octets 6 Octets
4 Octets
Hardware Protocol Hlen Plen Operatio Sender Sender Target Target
Type Type Add. Add. n H/W IP H/W IP
Length Length Field Addr. Addr. Addr. Addr.
= 1 for ARP-Request =2 for ARP-Reply
“ Note 1” ‘080010310596’ ‘0806’ ARP Data CRC
Dest. H/W Addr . Source H/W Addr. Ethernet Type
Data Link Frame (MAC Frame)
Note 1:
For ARP Request Pkt : Dest. H/W Addr. is ‘FFFF FFFF FFFF’ ( Broadcast
Addr.)
For ARP Reply Pkt : Dest. H/W Addr. is H/W of the sender who has
generated
the ARP-Request Packet (Point-to-Point)
Fig.3
ARP Request Format
Hardware Type:- 2 Octets
Value ‘1’ in Hardware type fields indicates it is Ethernet Network. Other
values are listed in Table 1.
Table 1
ARP Hardware Type Values
Hardware Type value Description of Network
1 Ethernet (10 Mbps)
6 !EEE 802 Networks
7 ARCNET
BRBRAITT : Nov-2006 3
“DATA NETWORKS” FOR JTOs PH-II – Address Resolution Protocol
Protocol Type:- 2 Octets
Value ‘0800’ Hexadecimal indicates it is DoD IP Protocol. For other Protocol
types see Table 2.
Table 2
Frequently used Protocol Type(Ethernet Type) Values
Ethernet Type (Hexa) Ethernet type Field Assignment
0800 DoD IP
0806 ARP (Address Resolution Protocol)
8035 RARP (Reverse Address Resolution
Protocol)
Hlen :- 1 Octet
Hardware Address Length value is '6 Octets' in Ethernet
Plen :- 1 Octet
Protocol Address Length value is '4 Octets' in DoD IP Protocol.
Operation:- 2 Octets
For ARP Request operation field value is '1'. For ARP Reply the value is '2'
Refer Table 3. for other values.
Table 3
Operation Values for ARP Packet
Operation Field Type of Operation
Value
1 ARP-Request
2 ARP-Reply
3 RARP-Request
4 RARP-Reply
5 DRARP-Request
6 DRARP-Reply
7 DRARP-Error
8 InARP-Request
9 InARP-Reply
10 ARP-NAK
Sender Hardware Address:- 6 Octets
The Sender Hardware Address contains the Hardware Address of the Sender
Sender IP Address :- 4 Octets
Sender IP Address contains the IP Address of the Node sending the ARP
Request.
Target Hardware Address:- 4 Octets
The Target Hardware Address is to be determined by ARP Protocol. It is
either set to all '0's or all '1's. (all '1's in case of Ethernet).
BRBRAITT : Nov-2006 4
“DATA NETWORKS” FOR JTOs PH-II – Address Resolution Protocol
Target IP Address:-
This is the IP Address of the Target Node . The Target node responds with
Hardware address in ARP-Reply Packet after identifying this IP Address.
Encapsulation of ARP-Request Packet at the Data Link Level:-
Data Link Source Hardware Address is Hardware address of the ARP
Request sender.
Data Link Destination Hardware Address is Ethernet Broadcast Address
usually all '1's. (FFFF FFFF FFFF) Hexadecimal (See Fig.4)
Note: ARP Protocol operates on the Physical Network which supports
Broadcast capability viz. Ethernet, Token Ring, FDDI, ARCnet etc.
Ethernet Type Value is '0806' Hexadecimal which indicates that the ARP Data
is carried in the Frame.
Name: A Name: B
IP Address : 144.12.12.06 IP Address:
144.12.12.26
HA: (080010C2A102) Hexa HA: (080010310596)
Hexa
ARP Broadcast ARP Broadcast
ARP Reply ARP Reply
Broadcast
‘FFFFFFFFFFFF’ ‘080010310596’ ‘0806’ ARP Request Pkt CRC
Dest. H/W Addr Source H/W Addr. Ethernet Type
Pont-to-Point
‘080010310596’ ‘080010C2A102’ ‘0806’ ARP Reply Pkt CRC
Dest. H/W Addr Source H/W Addr. Ethernet Type
Fig. 4
BRBRAITT : Nov-2006 5
“DATA NETWORKS” FOR JTOs PH-II – Address Resolution Protocol
ARP - Reply Format
The ARP- Reply Packet uses the same format as ARP-Request, but the
Operation field value is set to '2' to indicate it is ARP-Reply.
Sender Hardware Address:- 6 Octets
This contains the Target node's Hardware Address. (This is the Answer)
Sender IP Address:- 4 Octets
This contains the Target Node's IP address.
Target Hardware Address:- 6 Octets
This contains the Hardware Address of the Node which generated the ARP-
Request Packet.
Target IP Address:- 4 Octets
This contains the IP Address of the Node which generated the ARP-Request
Packet.
Encapsulation of ARP-Reply Packet at the Data Link Level:-
Data Link Source Hardware Address is Hardware address of the Node
generating ARP-Reply Packet.
Data Link Destination Hardware Address is the Hardware Address of the
Node which generated the ARP-Reply Packet. ARP-Reply is not Broadcast. It
is Point- to-Point (See Fig. 4).
Ethernet Type Value is '0806' Hexadecimal which indicates that the ARP Data
is carried in the Frame.
BRBRAITT : Nov-2006 6
“DATA NETWORKS” FOR JTOs PH-II – Address Resolution Protocol
ARP Operation:-
When IP Datagram is ready for transmission the Routing Component in the
Network Layer (IP Layer) determines whether the Destination IP address is in
Local Network or Remote Network. If it is in Local Network the sender host
needs to find out the Hardware Address of the Target Node. If it is in the
Remote Network the sender host needs to find out the Hardware Address of
the Router Port to which the IP Datagram is to be forwarded (See Fig 5).
Datagram from Upper
Layers
Network/ Routing
IP Component
Data Link To External Network
Physical
Destination on Local Network
IP Router
Destination on Remote Network
Fig 5
ARP Protocol cannot be routed. That is it cannot cross the Router boundary.
Before sending the ARP request the ARP module tries to find the Target
Address in the ARP Cache table . The ARP cache table keeps pairs of entries
of IP addresses and the corresponding Hardware Addresses (See Table 4)
Table 4
ARP Cache Table
Protocol Type (IP) Protocol Address Hardware Address Time Stamp
(IP Address) (MAC Address) (Minutes)
0800 144.12.12.06 080010C2A102 15
------- --------------------- ---------------------- ---
If the Target IP address is found in the ARP Cache Table it returns the
corresponding Hardware Address and the IP datagram is transmitted to the
destination in a MAC Frame. If the Target IP Address is not found in the ARP
Cache Table ARP Request is broadcast at the Data Link Layer and on receipt
of the ARP-Reply and the ARP Cache Table is updated. Usually the Age of
the ARP Cache entry is for 15 minutes. After time out ARP Request is again
needed to find the Hardware Address of the Target.
Procedure involved in Routing an IP Packet from ‘Node A1’ to ‘Node
B1’:- (See Fig. 6)
BRBRAITT : Nov-2006 7
“DATA NETWORKS” FOR JTOs PH-II – Address Resolution Protocol
Procedure involved at Node A1:-
1. Since the Destination IP Address is not in the Local Network the IP
Datagram is to be forwarded to Router-A which is connected to the
Remote Network.
2. Node A1 looks into ARP Cache Table to find the H/W Address of
Router-A.
3. If found the IP datagram is forwarded to Destination H/W Address of
Router-A.
4. If not found the Node A1 generates ARP-Request packet to find the H/W
Address of Router-A and Broadcasts the MAC Frame Containing the
ARP-Request Packet.
5. Router-A responds with its H/W Address in the ARP-Reply Packet
encapsulated in a MAC Frame addressed to Node A1.
6. Node A1 updates the ARP-Cache Table and sets the Time stamp value
to 15 Minutes.
7. Node A1 sends the IP Datagram encapsulated in a MAC Frame to
Router-A .
Procedure involved at Router-A:-
1. Router-A analyses the Destination IP Address in IP Datagram and
Routes the Packet to Router-B
Procedure involved at Router-B:-
1. Since the Destination IP Address belongs to the Local Network the IP
Datagram is to be forwarded to Node B1 which is directly connected to
the Ethernet LAN.
2. Router-B looks into ARP Cache Table to find the H/W Address of the
Node B1.
3. If found the IP datagram is forwarded to Destination H/W Address of
Node B1.
4. If not found the Router-B generates ARP-Request packet to find the
H/W Address of Node B1 and Broadcasts the MAC Frame Containing
the ARP-Request Packet
5. Node B1 responds with its H/W Address in the ARP-Reply Packet
encapsulated in a MAC Frame addressed to Router-B.
6. Router-B updates the ARP-Cache Table and sets the Time stamp value
to 15 Minutes.
7. Router-B sends the IP Datagram encapsulated in a MAC Frame to
Node B1.
BRBRAITT : Nov-2006 8
“DATA NETWORKS” FOR JTOs PH-II – Address Resolution Protocol
Procedure involved at Node B1:-
1. Node B1 receives the IP Datagram sent by Node A1.
Node A1
Node B1
Router Network
Router A Router B
Node A2 Node B2
Node A1 Router -A Router-B
Node-B1
ARP-Request
ARP-Reply
IP Datagram
IP Datagram
ARP-Request
ARP-Reply
IP Datagram
Flow of ARP Packets/ IP Datagrams
Fig. 6
BRBRAITT : Nov-2006 9