First? ARP vs ICMP

arpicmpping

I want to know what is first after STP.

There are just three devices, switch and two hosts.
A switch is not configurated and two hosts have each IP by static.
Of course, two hosts are connected to the switch

From here,
A host is going to ping to B host.
At the time, what is first between ARP and ICMP?
Will A host ping after ARP or omit ARP?…..

Thanks
Terry

Best Answer

Short Answer: The answer is that it depends.

Longer Explanation: Naturally, when a device is sending out unicast IP traffic, it needs to add the layer 2 headers (including destination MAC address) to the frame before sending it on the wire. This IP-to-MAC mapping is exactly what the ARP process is there to provide to the host.

Based on this statement, one might think that this naturally means that ARP traffic will automatically be sent before any ICMP traffic. However, once a host learns this IP-to-MAC mapping, it inserts it into an ARP table for some period of time. So a host will check this ARP table for such a mapping first and only send out ARP if there is no entry.

So in your example, let's say that Host A has no entry for Host B's IP address in the ARP table. When Host A pings Host B the traffic exchange is like this:

 Host A              Host B
 ARP_Request  ---> 
              <---   ARP_Reply
 ICMP_Echo    ---> 
              <---   ICMP_Echo_Reply

Now let's say that Host A does have an entry for Host B's IP address in the ARP table. When Host A pings Host B the traffic exchange is instead like this:

 Host A              Host B
 ICMP_Echo    ---> 
              <---   ICMP_Echo_Reply

So to answer your specific question.

Will A host ping after ARP or omit ARP?

Host A will either send the ICMP after ARP or omit ARP depending on the status of the entry for Host B in it's ARP table.

Related Topic