问题生成非常简单,就像堵塞没有 STP 的网络一样;-) 好的,创建我的问题的步骤如下:
- 从设备 B ping 设备 A。正在等待答复。
- 通过将以太网电缆连接到设备 A 和 B 所连接的同一以太网交换机的两个端口来生成网络环路。
- 循环之后,Ping 请求将不会因为循环而得到答复。
- 通过移除环形电缆来移除环形。
消除环路后,预计设备 A 将在几秒内(4-5 秒)开始响应。但它在 200-250 秒内没有响应。
切换环路恢复后响应时间是否正常?
如果我尝试在相同情况下 ping 其他设备,它们将在恢复后 4-5 秒内开始响应。
设备 A(故障)是基于 ARM 的 Linux Fedora 12 操作系统,内核版本为 2.6.37。
谁能指点一下如何解决这个问题?
答案1
问题出在交换机上的 MAC 地址表上。一旦形成循环,设备 A 和设备 B 的 MAC 地址将“注册”到交换机 MAC 地址表中的多个交换机端口。设备 A 和设备 B 之间的正常通信将无法恢复,直到它们的 MAC 地址从交换机上的 MAC 地址表中过期,这大概需要 5 分钟(300 秒)左右。
简单地删除循环不会导致 MAC 地址表老化。