ARP协议的工作过程

当网络设备要发送数据给另一台设备时,必须要知道对方的网络层地址(即IP地址)。IP地址由网络层来提供,但是仅有IP地址是不够的,IP数据报文必须封装成帧才能通过数据链路进行发送。

数据帧必须包含目的MAC地址,因此发送端还必须获取到目的MAC地址。通过目的IP地址而获取目的MAC地址的过程是由ARP协议来实现的。

ARP协议是TCP/IP协议簇中的重要组成部分,ARP能够通过目的IP地址发现目标设备的MAC地址,从而实现数据链路层的可达性。

工作流程

  1. 首先,每个主机都会在自己的ARP缓冲区建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。

  2. 当A要发送数据时,首先检查ARP列表中是否有B的IP地址对应的MAC地址,如果有则直接发送,如果没有就向本网段的所有主机发送ARP数据包,该数据包有:A的IP地址、A的MAC地址、B的IP地址。

  3. 当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出A的IP和MAC地址写入到ARP列表中;然后将自己的MAC地址写入到ARP响应包中,告诉A自己是它想找的MAC地址。

  4. A收到ARP响应包后,将B的IP和MAC地址写入ARP列表中,并利用此信息发送数据。如果A一直没有收到响应包,则表示ARP查询失败。

posted @ 2021-11-23 12:38  Leejk  阅读(2301)  评论(0编辑  收藏  举报