![将目标设备的以太网电缆移至交换机上的另一个端口后,ping6 会话是否应该继续工作?](https://linux22.com/image/1555298/%E5%B0%86%E7%9B%AE%E6%A0%87%E8%AE%BE%E5%A4%87%E7%9A%84%E4%BB%A5%E5%A4%AA%E7%BD%91%E7%94%B5%E7%BC%86%E7%A7%BB%E8%87%B3%E4%BA%A4%E6%8D%A2%E6%9C%BA%E4%B8%8A%E7%9A%84%E5%8F%A6%E4%B8%80%E4%B8%AA%E7%AB%AF%E5%8F%A3%E5%90%8E%EF%BC%8Cping6%20%E4%BC%9A%E8%AF%9D%E6%98%AF%E5%90%A6%E5%BA%94%E8%AF%A5%E7%BB%A7%E7%BB%AD%E5%B7%A5%E4%BD%9C%EF%BC%9F.png)
这是一个非常基本的问题,但我需要进行健全性检查以确保我的期望没有错误,并且我所看到的不是预期的行为。
情况是:我有一台运行 MacOS/X 的 Mac Pro 和一台基于 ARM 的 Linux 机器。两者都连接到 8 端口 Extreme Networks 千兆交换机(没有互联网上行链路,这只是本地 LAN)。
在我的 Mac 上,我启动一个 ping6 会话运行,ping Linux 机器:
$ ping6 fe80::21c:abff:fe00:55e5%en1
...并开始得到 pong 响应,正如预期的那样。
然后我转到以太网交换机,断开以太网交换机上通向 Linux 机箱的电缆,然后将该电缆重新连接到以太网交换机上的另一个开放端口。
此时,我的预期是(暂停几秒钟后),我的 Mac 上的 ping6 会话将恢复看到响应。
但是,我的观察是,有时 ping6 会话会无限期地停止接收响应 - 或者至少直到我将 Linux 机器的以太网连接返回到它最初连接的交换机端口。(停止并重新启动 ping6 进程没有帮助;等待更长时间也没有帮助)
那么,我的主要问题是:我观察到的行为是否符合预期?如果符合,我能做些什么(在软件中)来从此端口更改中恢复?如果不行,您知道可能出了什么问题吗?(我怀疑这可能是 NDP 问题)
答案1
您说得对,在重新连接目标设备后,即使将其移动到另一个交换机端口,您也应该继续接收 ping 回复。
停止并重新启动 ping6 进程没有帮助;等待更长时间也没有帮助
这不正常。端口更改后,某些东西阻止了 ping 请求或回复在两个设备之间传输。我不太了解 Linux 上的具体防火墙配置可能性,但在 Windows 计算机上,网络接口的更改可能会导致应用不同的防火墙规则。
交换机本身也有可能出现问题,但只要确认 Linux 设备在连接到新的交换机端口时能够正常与网络通信,就可以轻松排除这种可能性。
答案2
交换机无法知道端口已更改,直到更改端口的计算机发送一些流量。如果您的 Linux 计算机在您将以太网电缆移至另一个端口时处于安静状态且未参与任何网络活动,那么您必须等待,直到它发送一些流量。
一旦它发送流量,交换机就会发现它已经移动,并适当地更新其内部表。