由于环路,交换机能否将帧发送回源主机?

网络工程 arp
2021-07-13 08:09:07

首先,我了解交换机在收到广播帧时是如何工作的。它们将记录传入端口上的源 MAC 地址(将其放入 CAM 表中),然后将广播帧从源 VLAN 中的所有端口(除了接收它的端口)泛洪。

如果交换机收到一个带有主机源mac地址和所有F的目的地址的ARP,并且存在网络环路,交换机最终是否会因为环路而将帧发送到源主机。

2个回答

您正在描述广播风暴。单个交换机不会发生这种情况,因为交换机不会从它接收帧的接口发送帧,但是对于多个交换机,帧可能最终会循环回到不同接口上的原始交换机。

在有交换机(交换机就是网桥)之前,这是一个众所周知的网桥问题。Radia Perlman 提出了生成树协议以防止交换环路。对于多个网桥,选择一个网桥作为根网桥,每隔一个网桥选择一条通向根的无环路路径,阻塞可能形成环路的其他路径。

广播帧被泛洪到所有端口(在 VLAN 内),但接收它的端口除外。

ARP 请求作为广播发送。当交换机上出现环路时,已经转发的广播通过环路返回到交换机(实际上是两次),并再次泛洪到所有其他端口(从环路 POV)——包括原始源端口。

由于每个循环伙伴也包含在泛洪中,因此广播继续以任一循环方向在循环中循环,在每个循环中从所有交换机端口发送副本。这样,广播帧就会累积,直到环路带宽耗尽。如果所有端口共享相同的带宽,则能够实现的生产流量极少。

通常的对策是使用生成树协议,从活动网络中删除循环端口。

另一种更粗略的方法是限制广播带宽。由于这会降低生产性广播和广播辐射,因此环路仍然会导致网络问题,只是不那么严重。

由于广播辐射也会弄乱交换机的 MAC 表 - 循环广播将广播源 MAC 拉到循环端口 - 一个简单的交换机实际上无法识别正在发生的事情。更复杂的交换机可能会注意到 MAC 正在快速跳过某些端口。它还可以配置为在检测到过多广播时关闭循环端口。