无偿arp(Gratuitous ARP)
本质
设备主动使用自己的IP地址作为目的IP地址发送ARP请求,此种方式称为免费ARP。
免费ARP本质是ARP协议的实现,所以只要有支持TCP/IP的网卡,支持ARP协议,就有免费ARP。
Gratuitous ARP,也称为“无故ARP”,在没有人问自己的情况下,无缘无故自问自答
无偿arp的报文格式
免费ARP本质上是ARP报文
免费ARP网络层sourceIP与destinationIP都是自身ip
免费ARP数据链路层destinationMAC为广播地址
无偿arp的请求与回复
免费ARP是基于广播包形式,无论是ARP Reply还是ARP Requset。
免费ARP响应其实就是ARP响应报文,只是它需要广播,且senderIP和targetIP也要相同
地址冲突的主机对于免费ARP响应也是需要回复的,回复的也是免费ARP响应,与其说是给地址冲突的主机回复,不如说是告诉整个广播域,我的IP才是xxx,然后源主机收到后又会广播免费ARP响应,两台地址冲突的主机轮流发
功能
IP地址冲突检测:
当设备接口的协议状态变为Up时,设备主动对外发送免费ARP报文。正常情况下不会收到ARP应答,
如果收到,则表明本网络中存在与自身IP地址重复的地址。
如果检测到IP地址冲突,设备会周期性的广播发送免费ARP应答报文,直到冲突解除。
用于通告一个新的MAC地址:
发送方更换了网卡,MAC地址变化了,为了能够在动态ARP 表项老化前通告网络中其他设备,发送方可以发送一个免费ARP。
它以广播的形式将数据包发送出去,不需要得到回应,只为了告诉其他计算机自己的 IP 地址和 MAC 地址。
可用于更新其他主机的 ARP 缓存表:
如果该主机更换了网卡,而其他主机的 ARP 缓存表仍然保留着原来的 MAC 地址。这时,可以发送免费的 ARP 数据包。
其他主机收到该数据包后,将更新 ARP 缓存表,将原来的 MAC 地址替换为新的 MAC 地址。
在VRRP备份组中用来通告主备发生变换:类似keepalived
发生主备变换后,MASTER设备会广播发送一个 免费ARP报文来通告发生了主备变换
什么情况下触发ARP协议发送免费ARP
局域网IP地址冲突
地址修改或变更
DHCP分发地址时
ARP缓存表清理时
网关冗余协议HSRP交互时
TFTP协议传输数据前