将多播发送到当前不在其 mac 表中的那些接口,在减少拥塞方面是否更有意义?
为什么具有不完整 MAC 地址表的交换机在收到具有未知 MAC 地址的帧时会发送广播?
网络工程
转变
2022-02-07 01:43:14
2个回答
不可以,任何接口都可以连接到具有多个 MAC 地址的相邻集线器/交换机。因此,未知的单播流量会泛洪到除源端口之外的所有端口。
如果交换机将多播发送到当前不在其交换表中的接口,那将是不理想的。理想的做法是让交换机将未知单播帧从所有接口中溢出,但帧来自的端口除外。其主要原因是主机可能已被移动或替换为其他主机。考虑一下这一点,例如在交换机的 CAM 表中,端口 F0/1 和 F0/2 的 Mac 地址为 00:BB:CC:FF:11:22 和 11:33:CC:DD:22 的条目: :FF 分别(主机 A 和主机 B)。
假设网络管理员将主机 A 从接口 F0/1 移除到接口 F0/3,并将接口 F0/1 替换为主机 C(Mac 地址 11:22:33:AA:CC:00),交换机将不知道这一点改变。假设交换机接收到一个目标 Mac 地址为 11:22:33:AA:CC:00 的帧,它会犯一个严重的错误,将多播发送到所有其他帧,除了已经在其表中的帧。
但是,当交换机将未知单播淹没其所有接口(除了它来自的端口)时,它会得知主机 A 已从端口 F0/1 移动,并且端口 F0/1 已被主机 C 有效替换。然后交换机更新它的 CAM 表中的这个条目。如您所见,多播帧在这种情况下并不理想。
PS。CAM表、Mac地址表、切换表等都是同一个意思。我交替使用术语“接口”和“端口”。