Address Resolution Protocol (ARP) & Proxy ARP

1. DLC

Short for Data Link Control; that is the second lowest layer (Data Link) in the OSI Reference Model. Any host as a node on the network has an interface card (NIC) which contains a DLC address or DLC identifier (DLCI) that identifies it on the network. The Ethernet and Token-Ring protocols use exclusively the DLC addresses ; whereas others such as TCP/IP, use instead a logical address at the Network Layer (the third lowest layer) to identify nodes. The networks that conform to the IEEE 802 standards (e.g., Ethernet), the DLC address is called the Media Access Control (MAC) address.
The request of the physical addresses (DLC or MAC) uses a specific protocol. In TCP/IP networks, the request is performed with the Address Resolution Protocol (ARP).

2. ARP & RARP

Short for Address Resolution Protocol. It is done on the network layer (level three). Its purpose is to get the Ethrenet address (MAC) of the wanted to reach host on the network. A host asking for a physical address broadcasts an ARP request onto the TCP/IP network.
The host on the network that has the IP address in the request then replies with its physical hardware address.
The Reverse RARP, asking for the IP address, knowing the DLC or MAP , a host uses the RARP broadcasts its physical address and a RARP server replies with the host's IP address.


3. Proxy Address Resolution Protocol (ARP)

Proxy ARP is the technique in which the host router, answers ARP requests intended for another machine. By proxy the router accepts responsibility for routing packets to the accurate destination. It is set in order to fetch the physical address from machines on a subnet.
The main advantage of a proxy ARP is that it can use a single router on a network for communication with the all the machines on the network. the disadvantage is that hosts on the network think that all the other machines are reachable by an ARP request, then increase the amount of infomation in their ARP tables.

4. How does that work?




The Host A (192.16.10.100) on Subnet1 needs to send packets to Host D (192.16.20.200) on Subnet2. At first, it will check if the destination address is in its routing table.
The host A and the host D are in the same primiraly network : 192.16.0.0 (the subnet mask is /16 Class B network). Forethermore nothing can tell the host A that it needs a router to reach D. For A, It seems that it is directly connected to the host D.
But to reach D, A has to know its IP address, but also its MAC. A knows the IP Address, but not the Mac. A sends broadcasts then an ARP request on the subnet1; requesting that Host D will send its MAC address.

Sender's MAC Address	00-11-0a-78-45-AA 
Sender's IP Address	192.16.10.100

Target's MAC Address 00-00-00-00-00-00 Target's IP Address 192.16.20.200


The ARP request packet is encapsulated in an Ethernet frame with Host A's MAC address as the source address and a broadcast 192.16.10.255 as the destination address. Since the ARP request is a broadcast, it reaches all the nodes in the Subnet A, including the router via its interace ( toward Subnet1). The broadcast will not reach Host D because routers, by default, do not forward broadcasts.
The router knows that the host D target's address is on the Subnet2 and can reach it. The router replies then with its own MAC address to Host A, using the D's IP adress.

Sender's MAC Address	00-11-0a-78-45-AB	
Sender's IP Address	192.16.20.200	

Target's MAC Address	00-11-0a-78-45-AA	
Target's IP Address	192.16.10.100


The proxy ARP reply packet is encapsulated in an Ethernet frame with router's MAC address as the source address and Host A's MAC address as the destination address. On receiving this ARP reply, Host A updates its ARP table as folows:

IP Address	192.16.20.200
MAC Address	00-11-0a-78-45-AB


At tis point, from now on, the host A will forward all the packets destined to the Host D (192.16.20.200) to the router (00-11-0a-78-45-AB). Since the router knows how to reach Host D, the router forwards the packet to the host D.

5. The ARP Cache

The ARP cache on the hosts in Subnet1 contains the MAC address of the router for all the hosts on Subnet2. Forethermore, all packets destined to Subnet2 are sent to the router. The router, by proxy, forwards those packets to the hosts in Subnet2.
The ARP cache of Host A is as follows:
IP Address MAC Address
192.16.20.200 00-11-0a-78-45-AB
192.16.20.100 00-11-0a-78-45-AB
192.16.10.150 00-11-0a-78-45-AB
192.16.20.150 00-11-0a-78-45-AB
192.16.10.200 00-11-0a-78-45-BB

We have multiple IP addresses are mapped to a single MAC address (the router's MAC address), indicating that proxy ARP is in use.
The router's interface can easily configured to enable or disable a proxy ARP. By default, it's enabled.