1、ARP 与免费 ARP 的区别一般的 ARP,广播到整个网络,而如果目的地址不是本机,会被收到的主机直接丢弃,那为什么免费 ARP 没有被丢弃?反而更新了映射缓存?是什么机制呢?这是因为免费 ARP 报文发送端【IP 地址】和【目标 IP 地址】都是本机 IP 地址!报文源 MAC 地址是本机 MAC 地址,报文的目的 MAC 地址是广播地址。2、免费 ARP免费 ARP 报文是一种特殊的 ARP 报文,该报文中携带的发送端 IP 地址和目标 IP 地址都是本机 IP 地址,报文源 MAC 地址是本机 MAC 地址,报文的目的 MAC 地址是广播地址。设备通过对外发送免费 ARP 报文来实现以
2、下功能:# 确定其它设备的 IP 地址是否与本机的 IP 地址冲突。当其它设备收到免费 ARP 报文后,如果发现报文中的 IP 地址和自己的 IP 地址相同,则给发送免费 ARP 报文的设备返回一个 ARP 应答,告知该设备 IP 地址冲突。# 设备改变了硬件地址,通过发送免费 ARP 报文通知其它设备更新 ARP 表项。PC 发送免费 ARPcase1: PC 通过 DHCP 申请地址,在获取到 IP 地址后,会发送免费 ARP,目的用于探测同一网段时候存在相同的 IP 地址终端,防止 IP 冲突。case2: PC 的 MAC 地址发生变化后,会发送免费 ARP,用于刷新同网段其他终端保存
3、该PC 的 ARP 表现。这个是那本经典的 TCP/IP 红宝书上讲的,但是小编不了解什么情况下,PC 的 MAC 地址会发生变化。case3:服务器进行虚拟化后(Vmware、XEN) ,但 VM 迁移后,会发送 RARP、ARP 报文,这个不是免费 ARP。case4:同一网段存在相同 IP 的两个终端,单一个终端收到另外一个终端的 ARP 请求报文,原味 SenderIP 为自身 IP,这时会发送免费 ARP。 (这个是小编印象中的,不一定是这样,有环境,你可以实践下)网络设备 Router 发送免费 ARP:case1: vlanif 接口 shutdown/no shutdown 后,会发送免费 arp。case2: VRRP 的 master 会定时发送免费 arp,单 VRRP 发生主备切换时也会发送免费arp。目的用于刷新下面的二层交换机的 mac 表项。case3: Router 的三层接口收到 op 为 1、2 ,SenderIP 为 selfIP 的免费 arp,会发送 op为 2 的免费 arp。目前遇到以上这些情况,应该还是有其他情况存在的。总之要记住免费 arp 的两个作用,对于其他情况也就很好分析了。免费 arp 的作用 1:告诉同网段的其他主机、接口,我的 mac 地址发生了变化。作用 2:告知同网段存在 IP 地址冲突。