假设我有一个带有 4 个端口PA、PB、PC和PD 的交换机S,我已经将 4 个主机A、B、C和D连接到它们, MAC 地址为AA:AA:AA:AA:AA:AA , BB:BB:BB:BB:BB:BB, CC:CC:CC:CC:CC:CC和DD:DD:DD:DD:DD:DD,顺序相同。现在让我们说交换机,S已经在主机之间传输数据包后创建了 MAC 地址表。
MAC 地址表看起来有点像这样 -
AA:AA:AA:AA:AA:AA -----> PA
BB:BB:BB:BB:BB:BB -----> PB
CC:CC:CC:CC:CC:CC -----> PC
DD:DD:DD:DD:DD:DD -----> PD
现在让我们说,我交换了主机C和D。所以交换后,主机C连接到端口PD,主机D连接到端口PC。但是与交换机的MAC地址表保持不变;(假设:没有从任一主机、C和D传输的帧来重建 MAC 地址表)
现在,如果主机A要向主机C发送数据,则主机A传输的数据将到达交换机,S然后交换机查找其 MAC 地址表,并计算出帧中的目标 MAC 地址为CC:CC: CC:CC:CC:CC(主机C 的)连接到端口PC并在其PC端口上转发帧。但是一旦帧到达连接到端口PC的主机,即主机D(因为我们已交换)将拒绝该帧。由于它的网卡比较自己的MAC地址DD:DD:DD:DD:DD:DD目的MAC地址CC:CC:CC:CC:CC:CC。并且数据包会被丢弃。
请确认我对这个场景的理解是否正确。
其次,如果数据包到达错误的主机并被丢弃。以及我将数据发送到目标主机的源主机。在网络中如何解决这个问题。