1. 免费ARP基本概念
免费ARP,也叫Gratutious ARP、无故ARP。这种ARP不同于一般的ARP请求,它的Sender IP和Target IP字段是相同的,相当于是请求自己的IP地址对应的MAC地址。
发送免费ARP的主机或者设备,往往并不希望收到一个ARP应答。因为若是收到了,说明网络上有人使用相同的IP,这会造成IP冲突。
免费ARP是一个广播ARP请求报文
2. 一个Gratutious ARP报文
从这个报文中可以看出,免费ARP是一个广播请求,且Serder IP和Target IP字段是相同的。
3. 哪些场景中可以出现免费ARP
主机/系统启动期间,进行网口/接口配置时产生;
网卡进行了某些配置变动,导致网口重新启动(如插拔网线,自动获取IP地址,手动更改IP地址、掩码、网关等参数)。在实际研究过程中,win10系统的电脑网线插拔时,能出现免费ARP请求报文,但是win7的电脑同样操作,我未抓到免费ARP;
路由器等设备定期更新免费ARP,以防止不法者进行ARP欺骗(只能一定程度上防止)
4. 免费ARP作用
4.1 验证IP是否冲突
一个主机可以这个免费ARP来确定同一个网络中,是否有其他设备使用了这个IP地址。若是发送者收到一个回答,表示网络中存在与自身IP同样的主机;若是没有收到应答,则表示本机所使用的IP与网络中其他主机并不冲突。
4.2 双机热备
很多系统采用双机热备机制,一个为主设备,一个为从设备,两者MAC地址不同(设为MAC1和MAC2),但是通过某种软件,让其对外的IP是相同的(设为IP)。正常情况下: 主设备正常工作,从设备空闲,网络中的客户机的ARP缓存条目为: MAC1--IP;但是当某个时刻主设备出故障,从设备就接管主设备的工作,且从设备立即广播免费ARP请求报文,让网络中的客户机及时更新ARP缓存表: MAC2--IP,这样客户机的业务不会收到影响
4.3 网关定期刷新
这个主要是用在网关设备(如路由器)上。网关定期发布免费ARP,告诉网内所有主机自己的IP--MAC对应关系,让网内主机定期收到这个免费ARP请求,进而重置ARP老化时间等
5. 总结
免费ARP是一个Sender IP和Target IP字段相同的广播请求报文,相当于请求自己IP地址对应的MAC地址,大部分时候发送者并不希望收到ARP回复。