ARP封包中的操作码字段填充为:ARPOP_REQUEST.
常见的情况:发出这样的ARP包,是想与一个IP地址通信,需要找到对应的L2地址。
但也有例外情况,发送这个封包的目的不是为了获取信息,而是通知接收方的一些信息,
这就是所谓的无端ARP。
但它也是有用的,出现在:
(1)L2地址改变了(会导致其他网络节点中的ARP缓存失效<neighbour项>),这时需要更新
(2)IP地址冲突
(3) virtual IP
IP地址冲突
同一个局域网中不应该出现有两台主机有相同的L3地址,尤其在一个同时包括静态IP配置和动态IP配置(DHCP)的大型网络中很有可能。
地址重复的常见原因很可能是:存在多个地址池重叠的DHCP server 以及错误的手工配置
解决方法:
通过发送无端ARP封包,即发送一个目的IP地址是你自己的地址的ARP请求,那么只有当存在一台与你有相同IP配置的主机,你才会收到应答。
虚拟IP
常作为HA的一部分实现机制
它可以允许服务器池中的故障迁移,这是为了使一个站点具有冗余度,该站点除了有一台活跃的server外,还有一定数目backup server
当active server由于某些原因宕机后,与heartbeat定时器有关一个机制(通过server pool使用的协议实现)就会检测到这个故障,并启动新active server的选择,这个new active server会生成一个无端ARP封包来更新网络中的所有其他主机上的ARP缓存。因为new active server 继承了bad server's ip,发出的ARPOP_REQUEST不会被应答,但是所有的接收者会更新它们的缓存
|