如果 x 与交换机断开连接,寻址到 x 的帧可能会发生什么。然后在另一个链接上重新连接?

网络工程 以太网 交换
2021-07-19 06:03:52

我看不出这会是什么问题,因为交换表会记住目标 MAC 地址。我的老师说这是一个问题,需要重新配置交换机。

你能解释一下吗?

3个回答

断开链接通常会从端口列表中清除与该端口关联的所有 MAC 地址。如果断开连接的 MAC 的另一个帧进入,则目标 MAC 是未知的,因此,该帧将泛洪到除其源端口之外的所有端口。

当您重新连接客户端时,它可能会发送一个帧(例如 DHCP 发现),并且该帧将使交换机在新端口上学习其 MAC 地址。

对于远程开关,这有点复杂。虽然断开端口会从直接连接的交换机中刷新 MAC,但它不会从任何其他交换机中删除它 - 这些将继续将帧发送到前一个上行链路交换机(如上所述,这将淹没它们)。

只有当重新连接的客户端通过交换机发送帧时,其 MAC 表才会更新 - 这可以是无偿 ARP 广播(感谢 @AbraCadaver)以更新所有交换机和主机的 ARP 缓存,DHCP 发现(见上文),或对所需 IP 连接的广播 ARP 请求。

交换机不必重新配置,它只需要重新学习新接口上的 MAC 地址。这会自动发生,无需操作员干预。

如果有问题的机器只是停止在一个端口上接收并神奇地出现在另一个端口上并且从不传输任何内容,那么交换机仍将在其表中具有与旧端口相关联的 MAC 地址,并且将愉快地交换所有发往该 MAC 的帧地址到(现在为空)端口。

但是,这不会发生。

首先,该机很有可能在某个时刻发送的东西也许它会通过 LLDP 宣布自己,也许是 ARP,也许它会发送一个 DHCP 请求,也许它会响应一个广播(例如一个 ARP 请求)。此时,最迟交换机会意识到网络拓扑发生了变化,并更新表项以指向新端口。

但即使在此之前,交换机也会简单地意识到该端口没有任何连接,并从其表中删除与该端口对应的所有条目。

唯一可能发生甚至远程“奇怪”的事情的唯一方法是,如果机器通过某种媒体转换器或透明隧道连接到交换机,并且机器已与媒体转换器断开连接,但媒体转换器仍连接到交换机因此交换机认为端口仍在运行。现在,交换机仍会将寻址到机器 MAC 地址的帧切换到此端口,而机器已经连接到不同的端口。然而,这种状态只会存在很短的一段时间,因为机器很有可能会在新端口上发送一些东西,然后表条目将被更新。

因此,发生“奇怪”事情的唯一时间范围是交换机尚未意识到旧端口已关闭且机器尚未从新端口发送任何内容的时间。在任何正常情况下,该时间范围将为零,即使在一些复杂的情况下,它仍将非常接近于零。