免费ARP如何工作?


36

免费ARP是否像普通ARP请求一样工作?

为什么免费ARP用于HSRP?


3
你在某处读过这个吗?如果没有,那应该。如果您这样做了,但不清楚的地方,请在问题中更具体。
Gerben

@Gerben我很清楚如何ARP的作品,但是这个概念是我混淆的部分尤其是在这个HSRP ARP如何运作..
木马

一个说Grauitous ARP是一个请求,而另一个显示Wireshark方案说这是一个Reply。这是某种随机行为吗?在我的计算机中,嗅到的免费ARP数据包也被记录为请求(操作码:1)。
维托·费尔南德斯·德·巴尔罗斯

Answers:


42

免费ARP是一种“提前通知”,它会在其他系统请求ARP缓存(无ARP请求)或更新过时的信息之前先对其进行更新。

在谈论免费ARP时,这些数据包实际上是特殊的ARP请求数据包,而不是人们可能期望的ARP应答数据包。某些原因在RFC 5227中进行了说明。

免费ARP报文具有以下特点:

  • 数据包中的源IP和目标IP都是发出免费ARP的主机的IP
  • 目的MAC地址是广播MAC地址(ff:ff:ff:ff:ff:ff
    • 这意味着数据包将被淹没到交换机上的所有端口
  • 预计没有回复

使用免费ARP的原因如下:

  • 更改IP的MAC地址后(故障转移,新的NIC等)更新ARP表。
  • 更新L2设备(交换机)上的MAC地址表,使其MAC地址现在位于其他端口上
  • 当接口启动时,发送免费的ARP以便提前通知其他主机有关新的MAC / IP绑定的信息,这样它们就不必使用ARP请求来查找
  • 收到对免费ARP请求的答复时,您知道您的网络中存在IP地址冲突

至于问题的第二部分,HSRPVRRP等使用免费ARP更新L2设备(交换机)上的MAC地址表。也可以选择将内置的MAC地址用于HSRP,而不是“虚拟”一个。在这种情况下,免费ARP也将更新L3设备/主机上的ARP表。


如何查看免费ARP报文?
Trojan

使用网络监听器,例如Wireshark
Sebastian Wiesinger,2014年

是否有免费的ARP的Wireshark捕获。.–
Trojan


1
因为您收到的是ARP请求的答案,该请求中包含您自己的IP。因此,其他人拥有此IP,并正在相应地回答。
塞巴斯蒂安·维辛格

14

一个ARP欺骗是不是由一个ARP请求提示一个ARP响应。免费ARP作为广播帧发送,作为节点宣布或更新其IP到MAC映射到整个网络的方式。

ARP数据包包含一个“ 操作码 ”字段,该字段指示该数据包是请求还是响应。在免费ARP中,“操作码”字段设置为2,表示响应:

在此处输入图片说明

免费ARP有许多用例,通常都与某种需要更新ARP映射或交换端口MAC地址表有关。

HSRP(和许多其他冗余协议)经常使用免费ARP。该动画将说明如何:

在此处输入图片说明

注意,RouterA和RouterB共享IP地址10.0.0.1和MAC地址0053.ffff.1111。主机配置有默认网关10.0.0.1,每个主机都有一个ARP映射,指示10.0.0.1IP地址映射到0053.ffff.1111MAC地址。由于MAC地址和IP地址都在两个路由器之间共享,因此该ARP映射将永远不必更新。

但是,当RouterA是活动的HSRP路由器时,连接到交换机端口1的设备将为MAC地址提供服务。如果RouterA发生故障,则RouterB发送免费ARP来更新该交换机的MAC地址表,该MAC地址0053.ffff.1111现在由该MAC地址提供服务。连接到交换机端口的设备2。

如果RouterB发生故障,该过程再次发生,并且RouterA需要接管服务IP / MAC 10.0.0.1/0053.ffff.1111

上面动画中的HSRP转换和GARP数据包捕获可以在Wireshark中下载和研究


尽管不是您严格要求的问题,但鉴于本问答中的评论,我认为明智的做法是提及有关重复地址检测的内容:

关于重复地址检测和免费ARP,经常有一个混淆点。当计算机尝试查看网络上的另一主机是否正在使用特定IP地址时,它不会发送免费ARP

根据定义,其原因是免费ARP旨在更新网络上其他设备的ARP映射。如果 IP不是唯一的,则我们不希望“唯一性测试”导致不正确的ARP条目被更新。

实际上,在重复地址检测中使用了一组特定的ARP消息:ARP探针和ARP公告

这两个数据包与实际的免费ARP之间的关键区别在于ARP探针没有完整的IP / MAC映射,因此ARP探针不可能意外错误地更新ARP缓存。

一般过程是发送ARP探测几次,如果IP已经被使用,它会提示相关IP的所有者发送免费ARP。如果未收到响应,则发送方发送ARP公告以正式声明网络上的IP地址。

ARP公告与免费ARP更加相似,但在技术上也不一样,因为ARP公告的操作码为1,表示请求(免费ARP的操作码为2)。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.