MAC 数据库不稳定

与 IP 数据包不同,以太网帧不含生存时间 (TTL) 属性。 因此,如果没有启用任何机制来阻止这些帧在交换网络中持续传播,它们就会在交换机之间无限持续传播,或者直到中断链路并断开环路。 在交换机之间持续传播可能会导致 MAC 数据库不稳定。 这可能是由于广播帧转发而引起的。

广播帧会从除原始入口端口之外的所有交换机端口转发出去, 这就确保了广播域中的所有设备都能收到该帧。 如果可转发该帧的路径不止一条,可能会导致无尽循环。 当出现环路时,交换机的 MAC 地址表可能会使用广播帧的更新不断更改,从而导致 MAC 数据库不稳定。

单击图中的“播放”按钮,观看动画。 动画暂停时,请读取拓扑左侧的文本。 动画将在较短的暂停后继续。

在动画中可以看到:

1. PC1 向 S2 发送广播帧。 S2 通过 F0/11 收到广播帧。 S2 收到广播帧后更新自己的 MAC 地址表,记录 PC1 可通过端口 F0/11 到达。

2. 由于这是一个广播帧,因此 S2 将该帧从所有端口转发出去,包括 Trunk1 和 Trunk2。 当广播帧到达 S3 和 S1 后,这两台交换机更新自己的 MAC 地址表,记录 PC1 可通过 S1 的 F0/1 端口以及 S3 的 F0/2 端口到达。

3. 由于这是一个广播帧,因此 S3 和 S1 将该帧从除入口端口之外的所有端口转发出去。 S3 将来自 PC1 的广播帧发送到 S1。 S1 将来自 PC1 的广播帧发送到 S3。 每台交换机都使用错误的端口更新了 MAC 地址表中有关 PC1 的记录。

4. 然后每台交换机再次将广播帧从除入口端口之外的所有端口转发出去,结果造成这两台交换机都将该帧转发给 S2。

5. S2 收到来自 S3 和 S1 的广播帧后,将使用从其他两台交换机收到的最后一个条目更新自己的 MAC 地址表。

此过程不断重复,直到通过物理断开引起环路的连接或关闭环路中的其中一台交换机来中断环路。 这会导致参与环路的所有交换机上 CPU 负载过高。 由于环路中的所有交换机之间不断相互发送相同的帧,交换机的 CPU 不得不处理大量的数据。 这会使交换机无法高效处理其收到的正常流量。

被卷入网络环路的主机无法被网络中的其他主机访问。 此外,由于 MAC 地址表不断变化,交换机不知道通过哪个端口转发单播帧。 在上面的示例中,交换机将为 PC1 列出错误端口。 通往 PC1 的所有单播帧在网络中循环,就像广播帧一样。 越来越多的帧在网络中循环,最终形成广播风暴。