ARP是一种解决地址问题的协议。只适用于IPv4,不适用于IPv6。IPv6可用ICMPv6代替。
工作原理:主机A给主机B发送数据。
1、首先,主机A会先检查ARP表中是否有主机B的IP地址对应的MAC地址,如果有直接发送数据,如果没有,就通过广播的方式给本网段的所有主机发送ARP数据包,该数据包的内容包括:主机A的IP,主机A的MAC,主机B的IP。
2、当本网段的所有主机接收到该ARP数据包时,首先检查目标主机IP地址和自己的IP地址是否一致,如果不一致,则忽略此数据包;如果一致,则从数据包中取出主机A的IP和MAC写入的自己的ARP表中,如果存在,则覆盖,然后将自己的MAC地址写入到数据包,告诉主机B是主机A要找的目标主机。
3.主机A收到ARP响应后,将主机B的IP和MAC写入到自己的ARP表,并利用此信息以单播的方式发送数据。如果主机A一直没收到ARP相应数据包,表示ARP查询失败。
ARP表缓存有一定期限,超过这个期限内容将会被清除。