假设有主机 H1、H2、交换机 S1、S2 和 S3、网桥 B1、B2。
它的连接方式如下:
H1 - S1 - B1 - S2 - B2 - S3,
|
H2
H2 正在向 H1 发送帧。
然后,我们突然将 H1 连接到 S3。例如:
S1 - B1 - S2 - B2 - S3 - H1,
|
H2
然后 S2 仍在向 B1 发送帧,因为它不知道 H1 已断开连接,并且 B1 也不知道这一点,它仍将帧转发到 S1,S1 收到无效的目标 mac 帧,并且将其泛洪到其他端口而不是连接到 B1 的端口。
那么,这是否意味着 H1 永远不会收到发送给它的帧,除非它主动发送帧并且该帧至少必须到达 S2?
谢谢
答案1
我认为您对该场景的描述除了时间之外其他方面都是正确的。如果 S2 在配置的时间内未从 H1 收到任何帧,则 S2 上 H1 的 CAM 表条目将过期,此时它将向其所有端口广播这些帧。
但是,一旦 H1 通过 S3 发送帧到 H2 或 ffff.ffff.ffff,CAM 表就会更新以反映拓扑变化。
当 PHY 层在 S1 上的 H1 旧端口上丢失时,S1 将删除与该端口关联的所有 CAM 表条目,确保后续发往 H1 的帧将被适当广播,以便连接到 S1 的其他主机能够将流量传送到 H1 的新交换机。
答案2
@Nevin Williams 的答案是正确的,您应该赞成/接受它。我只想补充一些不适合放在评论框中的注释:
现代主机通常在链接首次建立时发送大量流量(ARP、DHCP 请求、服务发现/广告流量等),因此事实证明,问题状态通常不会持续很长时间。
主机频繁移动导致网络交换机的过滤表 (CAM 表) 处于错误状态的问题在 802.11 (Wi-Fi) 网络上尤其严重,因为每个 AP 都是一个桥接器 (交换机),并且它们通常与有线交换机互连。企业级 Wi-Fi AP 通常会使用一些小技巧来帮助快速清除错误状态,例如发送 IEEE 802.11F (接入点间协议) 所称的“第 2 层更新帧”,这是由新 AP 伪造的广播帧,看起来像是来自刚刚关联的无线客户端的 MAC 地址。这可确保网络上的其余桥接器/交换机看到客户端的 MAC 地址现已连接到新 AP,这样即使无线客户端没有为自己发送任何多播/广播流量,所有过滤表也会得到正确更新。
答案3
恢复连接可能会发生各种情况
- 桥接/交换表中的条目可能会超时。
- ARP(或 ND)表中的条目可能会超时。发生这种情况时,H1 将发出新的广播,H2 将对此进行回复
- H1 由于其他原因发送数据包。
实际上,对于 PC 来说,这通常不是问题,它们足够“健谈”,交换表可以快速更新。然而,对于支持以太网的测试设备,我曾遇到过这个问题。