📑 题目:9. 网络层的 ARP 协议工作原理?
参考解析
网络层的 ARP 协议完成了 IP 地址与物理地址的映射。
首先,每台主机都会在自己的 ARP 缓冲区中建立一个 ARP 列表,以表示 IP 地址和 MAC 地址的对应关系。
当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP 列表中是否存在该 IP 地址对应的 MAC 地址:
如果有,就直接将数据包发送到这个 MAC 地址。
如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的 MAC 地址。此 ARP 请求数据包里包括源主机的 IP 地址、硬件地址、以及目的主机的 IP 地址。网络中所有的主机收到这个 ARP 请求后,会检查数据包中的目的 IP 是否和自己的 I P地址一致。
如果不相同,就忽略此数据包。
如果相同,该主机首先将发送端的 MAC 地址和 IP 地址添加到自己的 ARP 列表中(如果 ARP 表中已经存在该 IP 的信息,则将其覆盖),然后给源主机发送一个 ARP 响应数据包,告诉对方自己是它需要查找的 MAC 地址。
- 源主机收到这个 ARP 响应数据包后,将得到的目的主机的 IP 地址和 MAC 地址添加到自己的 ARP 列表中,并利用此信息开始数据的传输。
- 如果源主机一直没有收到 ARP 响应数据包,表示 ARP 查询失败。