What is ARP and how does it actually work? I’m surprised at the amount of people who don’t know exactly what it does and how important it is.
To illustrate, I’m going to use this extremely simple network:
Both of these systems are really just connected to a home router. Remember that these ports are really just switched ports. The only time they traverse a layer3 port is when they are sending traffic outside the local LAN.
ARP is the Address Resolution Protocol. Essentially all it does is resolve a logical IP address to a physical Hardware (MAC) address.
In the above diagram, if 10.20.30.108 wants to send traffic to 10.20.30.4, it will move down the IOS layers. It will eventually get down to layer2. The layer2 header needs to have both a source and a destination MAC address. 10.20.30.108 has the layer3 address already, but not layer2. This is where ARP comes into the picture.
10.20.30.108 will send a broadcast out onto the LAN asking that whoever holds 10.20.30.4 respond with it’s MAC address (In that broadcast it’ll let everyone know what the MAC address of 10.20.30.108 is – so they can reply). When 10.20.30.4 get’s that broadcast, it’ll respond with it’s OWN MAC address with a unicast.
Once 10.20.30.108 has received 10.20.30.4′s MAC address, it will add that mapping to it’s own local ARP cache. As long as that value is in the cache, it’ll know exactly how and where to send traffic bound for 10.20.30.4
As an example, wireshark to see exactly what is happening as below
This can be verified as follows:
C:\Windows\system32>arp -a Interface: 10.20.30.108 --- 0xb Internet Address Physical Address Type 10.20.30.4 00-11-32-06-0c-8a dynamic
ARP is one of the fundamental parts of TCP/IP – Make sure you know it :)
I believe you meant OSI layers and not IOS layers.
ReplyDelete--
Batman
Yes Batman. You are right. Thanks for spoting the mistake. Good Catch.
ReplyDelete