Switchport 半双工 - 下载速度不佳,但上传没问题

网络工程 思科 转变 以太网 半双工
2021-07-13 16:30:50

用户从 Internet 下载速度有问题。与 Internet 的连接速度为 100 Mbit/s。用户的下行速度约为 7 Mbit/s,上行速度约为 80 Mbit/s。

我在我的电脑上进行了测试,它的下行速度约为 70 Mbit/s,上行速度约为 80 Mbit/s。显然,用户 PC 是罪魁祸首。

我检查了 Catalyst 3560 交换机,正如我所料,端口是半双工的。用户已将他的 PC 硬编码为 100/full 并且端口使用自动。速度由快速链路脉冲 (FLP) 检测,但必须假设双工为一半,因此端口使用 100/一半。使用 show controller 我可以看到预期的碰撞和后期碰撞。

通过瑞典网站 www.bredbandskollen.se 测试了带宽。它首先使用 TCP 来测试延迟。然后它通过 Flash 打开一个套接字并执行几个 HTTP GET (TCP) 并测量大约 10 秒的下行带宽。之后它会向服务器发送四次 HTTP 帖子并发送 10 秒的流量并计算上行带宽。

我知道这些类型的网站不是 100% 准确的,但通常它们至少可以给出某种指示,如果您即将获得应有的带宽,并且这是一个易于运行的测试,以确保它是用户而不是网络有问题。

  1. 为什么只影响下游而不影响上游?

  2. 这些是真正的碰撞吗?由于电缆具有单独的发送和接收对。

2个回答

这是完全正常的双工不匹配行为。

为什么只影响下游而不影响上游?

由于计算机在全双工模式下运行,因此它不使用 CSMA-CD。这意味着它在传输之前不会检查介质是否空闲,也不会将传输时接收到的任何数据视为冲突。因此,从计算机上传的内容基本上不会受到影响。

相反,交换机使用 CSMA-CD 并在传输之前等待介质空闲。此外,当交换机检测到冲突时,它会立即停止传输帧并遵循 CSMA-CD 冲突检测程序。这对发送到计算机的流量有显着的性能影响。

当流量为 TCP 时,负面影响将成倍增加,因为任何丢失的 TCP ACK 将导致 TCP 重新传输。

这些是真正的碰撞吗?由于电缆具有单独的发送和接收对。

是的,它们是真正的碰撞;即使在全半双工环境(即集线器)中,也有单独的发送和接收对。原因是在半双工环境中,集线器会将在一个端口上接收到的信号转发到所有其他端口。如果两个站同时尝试传输,则重复的信号将无法使用。

由于交换机在半双工模式下运行,因此它的运行就像在这种环境中一样,并且只能在任何给定时间进行发送或接收。任何时候交换机发送帧并检测到介质上的其他流量(即不检查空闲介质的计算机),这都被视为冲突,交换机将遵循冲突检测程序(其中包括等待或回退一段时间)。

由于计算机不是以这种方式运行(即,当有数据要发送时,它会自动开始传输),与完全由半双工设备组成的环境相比,您最终会遇到更多的冲突。

编辑:本周末我确实在搜索一个无关的问题时遇到了对这些的引用,其中它们被称为false碰撞我不同意这个观点,因为交换机清楚地将它们视为碰撞并处理它们。相反,我认为它们是不必要的冲突,因为它们不应该存在于交换网络中。


顺便说一句,这是最常报告的双工不匹配类型(其中开关设置为自动,计算机设置为全双工)。大多数人下载的比上传的多得多,他们往往更容易注意到这种情况并报告它。

如果对 TCP 进行了测试,那么有很多事情是您无法控制甚至无法想象的。下游/上游的差异很容易由 NIC 内部优先级设置、RX/TX 缓冲区和决定如何处理 RX 和 TX 流量的基本低级别设置引起。

如果在半双工模式下工作,“sh 控制器”应将任何同时发生的 RX 和 TX 条件报告为冲突。