ARP与免费ARP的区别
一般的ARP,广播到整个网络,而如果目的地址不是本机,会被收到的主机直接丢弃,那为什么免费ARP没有被丢弃?反而更新了映射缓存?是什么机制呢?
这是因为免费ARP报文发送端【IP地址】和【目标IP地址】都是本机IP地址!!!报文源MAC地址是本机MAC地址,报文的目的MAC地址是广播地址。
2、免费ARP
免费ARP报文是一种特殊的ARP报文,该报文中携带的发送端IP地址和目标IP地址都是本机IP地址,报文源MAC地址是本机MAC地址,报文的目的MAC地址是广播地址。
设备通过对外发送免费ARP报文来实现以下功能:
# 确定其它设备的IP地址是否与本机的IP地址冲突。当其它设备收到免费ARP报文后,如果发现报文中的IP地址和自己的IP地址相同,则给发送免费ARP报文的设备返回一个ARP应答,告知该设备IP地址冲突。
# 设备改变了硬件地址,通过发送免费ARP报文通知其它设备更新ARP表项。
PC发送免费ARP
case1:PC通过DHCP申请地址,在获取到IP地址后,会发送免费ARP,目的用于探测同一网段时候存在相同的IP地址终端,防止IP冲突。
case2:PC的MAC地址发生变化后,会发送免费ARP,用于刷新同网段其他终端保存该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地址冲突。
本文来源:https://www.2haoxitong.net/k/doc/3b6e7d9daa00b52acfc7caf9.html
文档为doc格式