![MAC 层单播泛洪交换网络](https://linux22.com/image/737500/MAC%20%E5%B1%82%E5%8D%95%E6%92%AD%E6%B3%9B%E6%B4%AA%E4%BA%A4%E6%8D%A2%E7%BD%91%E7%BB%9C.png)
所讨论的网络:
这是一个完全交换的网络,没有路由。没有已知的 RSPT 问题。
有 10 个小型交换机。每个小型交换机内都有许多小型工业设备在相互通信。
有 1 个大交换机连接所有 10 个小交换机。大交换机还连接偶尔与小交换机网络中的一两个设备通信的计算机。
整个网络是一个巨大的 IP 网络,具有相同的子网、子网掩码,没有默认网关。
问题:
2 个小交换机,一个连接设备 A,另一个连接设备 B。不幸的是,A 和 B 都有相同的 Mac 地址,而且还有一个奇怪的 Mac 地址:00:ba:d0:0b:ad:00
“坏坏”
现在,在对连接到大交换机的计算机进行 wireshark 检测后,我可以看到与 A 通信的设备或与 B 通信的设备的流量,这些流量应该限制在它们的小交换机内:
Ethernet II, Src: GeFanucA_02:9f:d0 (00:09:91:02:9f:d0), Dst: 00:ba:d0:0b:ad:00 (00:ba:d0:0b:ad:00)
还观察到,从“bad bad”到的数据包GeFanucA_02:9f:d0 (00:09:91:02:9f:d0)
是正常的单播,而“bad bad”可以接收它。因此在双向通信中,只有一方的流量被淹没,另一方仍然是单播。
问题: 单播泛洪的原因是由于小型交换机意识到 MAC 地址是“坏的”?还是由于 MAC 地址重复,小型交换机不太确定将帧发送到哪里,所以只是广播?还是这种泛洪是由于其他原因造成的?
附言: 在 Joeqwerty 的以下回答确认重复的 MAC 地址导致了泛洪之后,我返回所有小型交换机并查看它们的“MAC 地址表”。显然有 3 个设备共享相同的 MAC 地址,AB 和 C。显然 C 的小型交换机很高兴地接受了“BAD BAD”MAC 地址并保持流量单播。A 和 B 的交换机决定进行泛洪。
造成这种情况的具体机制是什么?A 和 B 的交换机不应该知道另一个交换机上的任何“BAD BAD”。
答案1
正如您正确猜测的那样,这是泛洪,而不是广播。如果两个设备具有相同的 MAC 地址,那么我预计会发生这种情况。您需要从网络中删除这两个设备,并找出它们具有重复 MAC 地址的原因。