GLBP 不会混淆交换机的 mac 地址表吗?

网络工程 路由器 转变 MAC地址 arp FRP
2021-07-05 00:29:07

例如,假设两台路由器(R1 和 R2)连接到同一台交换机 (SW1),并且两台路由器都将网关负载平衡协议 (GLBP) 正确配置为第一跳冗余协议 (FHRP) 解决方案。路由器 1 已被选为活动虚拟网关 (AVG),并负责将虚拟 MAC 地址分配给活动虚拟转发器 (AVF)。

我的问题:由于路由器 1 是 AVG,它是唯一响应 ARP 请求的路由器,当它执行负载平衡(交替 ARP 回复中使用的虚拟 MAC 地址)时,不会混淆交换机上的 MAC 地址表? 通过从 ARP 回复中获知,交换机不会认为两个虚拟 MAC 地址都在连接到 R1 的那个接口上吗?所以现在,交换机将通过连接到 R1(ARP 回复来自的接口)的接口而不是 R2 连接到的接口转发目标为 R2 的虚拟 MAC 地址的帧。

GLBP 是否通过在 R1 做出初始回复后立即自动让 R2 发送免费 ARP 回复来纠正此问题?

2个回答

GLBP 不使用免费 ARP。当有人询问虚拟 IP 具有哪个 MAC 时,AVG 将使用“Sender MAC Address”字段回复说“此 IP 位于此 MAC”,该字段在交换机的 CAM 表中不可见。源地址仍然是 AVG MAC。

编辑:我说错了。请求的IP地址实际上是Sender,Target地址是首先发送arp请求的主机的地址。我将在这里上传一个 ARP 请求和回复的示例,当我回到家时,我将在 GNS 上进行模拟,这样您就可以看到它是如何真正工作的,而不仅仅是一个示例捕获。

在此处输入图片说明

Cadant 设备询问 xx128.77 的 MAC,如果有人有答案,请直接发送到 xx128.164。

然后 Oracle 设备用广播回复说 xx128.77 是他自己,在 MAC 00:14:4f:fb:c3:16,在发件人 MAC 地址。目标是 xx128.164,他是请求者。

如果这是 GLBP 主机的情况,它将在发送方 MAC 地址字段中说明虚拟 MAC。它被称为代理 ARP。请稍等,我将在大约 10 小时内上传实际的 GLBP 捕获。

GLBP 捕获:

R2 是 AVG,R1 是 AVF: 在此处输入图片说明

HOST 192.168.0.200 请求 192.168.0.1 的 MAC,即 GLBP VIP。他收到了来自 C001.3270.0000 的答复,这是来自 R2 的接口 fa0/0 的真实 MAC,说明 192.168.0.1 位于 0007.B400.0101,虚拟 MAC 之一。

后来HOST 192.168.0.201询问192.168.0.1的MAC,收到同一个C001.3270.0000的回答,说这个IP是MAC 0007.B400.0102,另一个虚拟MAC。Wireshark 甚至抛出一条黄线说“嘿,当心,这个 IP 正在被另一台主机使用”。

当从两个路由器发出“show glbp”时,AVG 输出有更多的细节,包括它用这个或那个虚拟 MAC 地址回答的次数和 ARP 请求。您可以在“组成员”中看到接口的 MAC 和 IP 地址,出现在两个输出中。

答案实际上在维基百科上

发件人硬件地址 (SHA)

发件人的媒体地址。在 ARP 请求中,该字段用于指示发送请求的主机地址。在 ARP 回复中,此字段用于指示请求正在寻找的主机地址。(在虚拟媒体的情况下,不一定是主机回复的地址。)注意交换机不关注这个字段,特别是在学习 MAC 地址时。ARP PDU 封装在以太网帧中,这就是第 2 层设备检查的内容。