ECMP(或其他非对称路径的原因)和HSRP的组合在 Cisco IOS 中默认被破坏;这种设计的默认行为会过度淹没单播流量。
将 HSRP 与 ECMP 结合使用以防止未知单播泛洪的最佳实践是什么?
详情/背景
对于我们的许多设施,我们的 HSRP 拓扑类似于下面的第一个图。我们的 Cisco WAN 路由器具有到所有其他站点的等价路由;因此我们可以一直看到非对称路由的影响。通常我们将 R1 指定为 HSRP 主节点,但 ECMP 允许返回流量通过 R1 或 R2。
问题是当 PC1 通过 WAN 安装远程 iSCSI 驱动器时,流量通过 R1 离开站点,但可能通过 R2 返回。只要 iSCSI 流量通过 R1 返回,就没有问题。
当 PC1 的流量通过 R2 返回时,就会出现问题。假设 iSCSI 会话在 8:00:00 开始,并且两个路由器和两个交换机同时学习 PC1 的 mac。在 8:00:00 和 8:00:05 之间,没有泛洪问题,因为两台交换机的 CAM 表中仍然有 PC1 的 mac 地址。
iSCSI 会话开始五分钟后,S2 的 PC1 mac 的 CAM 条目从 CAM 表中过期,并且 S2 将 PC1 的流量从所有端口(在本例中为 Po1、Gi0/3 和 Gi0/4)泛滥。如果 PC1 的 iSCSI 会话消耗大量带宽,这种未知的单播泛洪可能会从连接到 PC3 和 PC4 的链接中吸收大量容量。
Cisco IOS 交换机的默认 CAM 计时器为 300 秒...
S2# show mac address-table aging-time
Vlan Aging Time
---- ----------
1 300
17 300
但是,Cisco IOS 的默认接口 ARP 计时器是 4 小时...
R2# show interface gi0/0
GigabitEthernet0/0 is up, line protocol is up
Hardware is AmdP2, address is 000a.dead.beef (bia 000a.dead.beef)
Internet address is 172.17.1.252/24
MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
ARP type: ARPA, ARP Timeout 04:00:00 <--------------
因此,S2 在五分钟后开始泛洪 PC1 的 iSCSI 流量。