ARP(Address Resolution Protocol)是地址解析协议,其作用是根据IP地址获取物理地址的一个TCP/IP协议
ARP协议的工作原理:
- 每个主机都会在自己的 ARP 缓冲区中建立一个 ARP 列表,以表示 IP 地址和 MAC 地址之间的对应关系
- 某个主机需要发送报文时,首先检查 ARP 列表中是否有对应 IP 地址的目的主机的 MAC 地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送 ARP 数据包,该数据包包括的内容有:源主机 IP 地址,源主机 MAC 地址,目的主机的 IP 地址等
- 当本网络的所有主机收到该 ARP 数据包时:
- 首先检查数据包中的 IP 地址是否是自己的 IP 地址,如果不是,则忽略该数据包
- 如果是,则首先从数据包中取出源主机的 IP 和 MAC 地址写入到 ARP 列表中,如果已经存在,则覆盖
- 然后将自己的 MAC 地址写入 ARP 响应包中,告诉源主机自己是它想要找的 MAC 地址
- 源主机收到 ARP 响应包后。将目的主机的 IP 和 MAC 地址写入 ARP 列表,并利用此信息发送数据;如果源主机一直没有收到 ARP 响应数据包,表示 ARP 查询失败