帧的多重传输

广播帧并不是会受环路影响的唯一一种帧。 发送到环路网络的单播帧也可能造成目的设备收到重复的帧。

单击图中的“播放”按钮,观看有关此问题的动画。 动画暂停时,请阅读拓扑右侧的文本。 动画将在较短的暂停后继续。

在动画中可以看到:

1. PC1 向 PC4 送出一个单播帧。

2. S2 的 MAC 地址表中没有关于 PC4 的条目,所以它将该单播帧从所有交换机端口泛洪出去,试图找到 PC4。

3. 该帧到达交换机 S1 和 S3。

4. S1 有关于 PC4 的 MAC 地址条目,所以它将该帧转发到 PC4。

5. S3 的 MAC 地址表中也有关于 PC4 的条目,所以它将该单播帧通过 Trunk3 转发到 S1。

6. S1 收到重复的帧,并再次将它转发到 PC4。

7. 结果 PC4 收到两个相同的帧。

大多数上层协议都无法识别或处理重复传输的问题。 一般而言,采用序列号机制的协议会将这种情况视为头一次传输失败,该序列号被另外一个通信会话重复使用。 其他协议则会尝试将重复传输交由适当的上层协议处理(有可能会被丢弃)。

第 2 层 LAN 协议(例如以太网)缺少识别以及消除帧无限循环的机制。 某些第 3 层协议采用 TTL 机制来限制第 3 层网络设备可以重新传输数据包的次数。 由于没有这样的限定机制,第 2 层设备会无限地重新传输循环的流量。 第 2 层采用环路避免机制 STP 来解决这些问题。

为了避免冗余网络出现这些问题,必须在交换机上启用某种生成树。 默认情况下,思科交换机已启用生成树来防止第 2 层环路。