如果设备 A 需要向设备 B 发送 IP 数据报,并且设备 A 的 arp 表中没有设备 B 的 MAC 地址的条目。设备 A 将发送一个 arp 请求包,作为响应,设备B 将发送一个回复数据包,使设备 A 更新其缓存表。但同时设备B也更新了它的arp缓存表。现在,由于 Ip 数据报采用的路径是独立的,因此无法保证设备 A 的数据包将通过设备 B 发送,所以接收器(设备 B)为什么要更新其 arp 缓存表。
为什么ARP请求的接收者更新它的缓存表
网络工程
ARP
2022-02-08 22:41:47
1个回答
这是因为网络上使用的大多数协议都是请求/响应的形式。当主机 A 向主机 B 发送 ARP 请求时,它很可能想要主机 B 的某些东西。单向通信并非闻所未闻,但它更有可能是主机 A 想要的双向通信。
如果主机 B 收到主机 A 的 ARP 请求,主机 B 可能会收到主机 A 的信息,主机 B 可能需要回复主机 A。如果主机 B 没有更新其 ARP 表,则如果需要发送 ARP当它需要响应主机 A 时向主机 A 请求。这会导致延迟并浪费带宽,但是主机 B 可以在主机 A 向主机 B 发出 ARP 请求时简单地更新其 ARP 表而没有延迟或使用带宽。
现在,由于 Ip 数据报采用的路径是独立的,因此无法保证设备 A 的数据包将通过设备 B 发送
请记住,对于 MAC 地址和 ARP,这一切都在同一个第 2 层网络上。IP 在 LAN 上传输第 3 层数据包时并没有真正发挥任何作用。如果 LAN 协议使用 MAC,例如以太网,则第 2 层帧直接从一台主机传送到另一台主机。
如果主机 A 和主机 B 在不同的 LAN 上,那么主机 A 不会向主机 B 发送 ARP 请求,它会知道主机 B 在不同的第 3 层网络上,并且会向其配置的网关发送 ARP 请求(LAN 上知道如何访问其他网络的主机),尽管它可能已经在其 ARP 表中具有其配置网关的 MAC 地址。