例如,两个路由器(R1和R2)连接到同一个交换机(SW1),并且两个路由器都将网关负载平衡协议(GLBP)正确配置为第一个Hop冗余协议(FHRP)解决方案。路由器1已被选为主动虚拟网关(AVG),并负责为主动虚拟转发(AVF)分配虚拟MAC地址。
我的问题是:由于路由器1是AVG,所以它是唯一响应ARP请求的路由器,当它执行负载平衡时(交替使用ARP回复中使用的虚拟MAC地址),这不会混淆交换机上的MAC地址表吗?交换机不会认为两个虚拟的MAC地址都在一个连接到R1的接口上,方法是从ARP回复中学习它吗?因此,现在,交换机将通过连接到R1的接口( ARP回复来自其中)转发到R2's虚拟MAC地址的目标帧,而不是R2连接到的接口。
GLBP是否通过让R2在R1发出初始回复后立即发送无偿的ARP回复来纠正这一问题?
发布于 2014-07-25 01:21:08
GLBP不使用无偿的ARP。当有人询问虚拟IP拥有哪个MAC时,AVG将使用“发件人MAC地址”字段回答说“此IP位于此MAC",该字段在交换机的CAM表中是不可见的。源地址仍然是AVG MAC。
编辑:我说错了。请求的IP地址实际上是发件人,目标地址是首先发送arp请求的主机的地址。我将在这里上传一个ARP请求和回复的例子,当我回到家时,我将在GNS上进行模拟,这样您就可以看到它是如何工作的,而不仅仅是一个示例捕获。

Cadant设备询问x.x.128.77的MAC是哪个,如果有人有答案,请将其指向x.x.128.164。
然后,Oracle设备以广播的形式回答说,x.x.128.77就是他自己,在MAC 00:14:4f:fb:c3:16处,发送方MAC地址。目标是x.x.128.164,是请求者。
如果这是GLBP主机的情况,它将在发送方MAC地址字段中声明虚拟MAC。这叫做代理ARP。只要抓紧,我会上传实际的GLBP捕获约10个小时。
GLBP捕获:
R2是AVG,R1是AVF:

主机192.168.0.200要求MAC为192.168.0.1,GLBP VIP。他收到了C 001.3270.0000的答复,这是R2接口fa0/0的真实MAC,它指出192.168.0.1位于0007.B400.0101,是虚拟MAC之一。
后来,主机192.168.0.201要求获得192.168.0.1的MAC,并从同一个C001.3270.0000中得到答复,该IP与另一个虚拟MAC的MAC 0007.B400.0102一起使用。Wireshark甚至抛出一条黄线,上面写着“嘿,小心,这个IP正在被另一个主机使用”。
当从两个路由器发出“显示glbp”时,AVG输出有更多的细节,包括它用这个或那个虚拟MAC地址回答多少次ARP请求。您可以在两个输出中看到“组成员”中接口的MAC和IP地址。
发布于 2016-02-15 12:52:17
答案实际上是在维基百科上:
发送方的发送方硬件地址(SHA)媒体地址。在ARP请求中,此字段用于指示发送请求的主机的地址。在ARP回复中,此字段用于指示请求查找的主机的地址。(不一定是主机回复地址,就像虚拟媒体那样)。请注意,交换机没有注意到这个领域,特别是在学习MAC地址。ARP封装在以太网帧中,这就是第二层设备所检查的内容。
https://networkengineering.stackexchange.com/questions/10108
复制相似问题