为什么交换机上两台计算机之间的流量仍通过我的路由器传输?

为什么交换机上两台计算机之间的流量仍通过我的路由器传输?

看完之后所有 LAN 流量是否都通过路由器以及我以前的经验,我很惊讶的是,千兆 5 端口交换机上的两台 Mac 电脑之间的流量(Netgear 型号 GS105) 的速度非常慢。

两台 Mac(Mac mini 2009、iMac Late 2009)都通过交换机连接到路由器(Netgear WNDR4700),但由于交换机和路由器之间的电缆长 30 米(并且电缆可能未指定为千兆位),因此与路由器的连接速度始终只有 100 Mbit/s。

如果我在两台 Mac 之间传输文件,速度大约为 3-4 MB/s - 这似乎表明流量会一直传输到路由器,然后再沿原路返回。两台 Mac 应该能够通过千兆位相互连接。

我还注意到,从交换机上拔下路由器电缆不仅会断开我与互联网的连接,还会断开两台 Mac 的连接 - 它们再也无法互相看到对方。即使我手动配置 IPv4(但保留 192.168.1.1 作为路由器和 DNS 地址)。

我无法直接连接两台 Mac 的原因可能是什么?为什么流量要通过路由器?我的交换机有缺陷吗?它可能不是交换机而是集线器(上面印有“千兆交换机”,并被宣传为交换机)?有什么方法可以确认流量实际上是通过路由器路由的,还是只是被连接两台 Mac 的电缆和交换机减慢了速度?这里还有什么可能设置不正确,或者我应该尝试什么?

答案1

我认为您的假设是错误的,数据包很可能不会通过路由器。您是否尝试过直接在两台 Mac 之间使用电缆(以及静态 IP 寻址)并查看效果?这可能有助于回答有关“为什么 Mac 无法相互通信”的问题,即指出这是 Mac 的问题还是它们之间的基础设施的问题。

我怀疑您遇到的问题部分可能是由于布线不当。

当 2 台设备位于同一子网时,它们不会经过路由器(至少不会经过您使用的那种路由器)。实际发生的情况是,接口上发出 ARP 请求,向子网上的所有机器广播“您在哪里”,而具有您要连接的 IP 的机器应该以其 MAC 地址进行回答。然后,发送机器更新其 ARP 缓存,并知道直接向该机器发送进一步的流量 - 无需路由器参与。

您可以通过从一台 PC ping 到另一台 PC 并检查 arp 缓存以查看它们是否记录了另一台 PC 的 MAC 地址和 IP 地址来检查是否发生了这种情况。如果没有,这将有助于缩小发生的情况。为此(在 POSIX 兼容平台上,我猜测它可以在 Mac 上运行,只需在命令行上输入“arp -an”即可。

相关内容