我在计算机上进行了测试,下行速度约为70 Mbit / s,上行速度为80 Mbit / s。显然应该归咎于用户的PC。
我检查了交换机,它是Catalyst 3560,并且正如我所期望的那样,该端口处于半双工状态。用户已将其PC硬编码为100 / full,并且该端口正在使用auto。速度由快速链接脉冲(FLP)检测,但是必须假定双工为一半,因此端口使用的是100 /一半。使用show controller,我可以按预期看到冲突和较晚的冲突。
带宽是通过瑞典网站www.bredbandskollen.se测试的。首先使用TCP测试延迟。然后,它通过Flash打开套接字,并执行几个HTTP GET(TCP),并测量下游带宽约10秒钟。之后,它将向服务器执行四个HTTP发布,并发送流量10秒钟,并计算上行带宽。
我知道这类网站的准确性不是100%,但通常它们至少可以提供一些如果您即将获得应有的带宽,这是一种指示,可以轻松进行测试以确保它是用户而不是网络出现故障。
为什么只有下游受到影响而上游没有受到影响?
这些真正的冲突是吗?由于电缆具有独立的发送和接收对。
#1 楼
这是双工不匹配的完全正常行为。为什么只影响下游而不是上游?
由于计算机完全运行双工模式,它不使用CSMA-CD。这意味着它不会在传输之前检查媒体是否空闲,也不会感知传输过程中收到的任何数据作为冲突。这样一来,从计算机上传的内容就不会受到影响。
相反,交换机正在使用CSMA-CD,并且将等待媒体空闲后再进行传输。此外,当交换机检测到冲突时,它将立即停止发送帧,并遵循CSMA-CD冲突检测程序。这对发送到计算机的流量有显着的性能影响。
,当流量为TCP时,负面影响将成倍增加,因为任何丢失的TCP ACK进入计算机都会导致TCP重传。 br />
这些是真正的碰撞吗?因为电缆具有独立的发送和接收对。
是的,它们是真实的冲突;即使在完整的半双工环境(即集线器)中,也存在单独的发送和接收对。原因是在半双工环境中,集线器将在所有其他端口上重复从一个端口接收的信号。如果两个站试图同时发送,则重复的信号将无法使用。
由于该交换机在半双工模式下运行,因此其运行就像在这种环境中一样并且只能在任何给定时间发送或接收。每当交换机发送帧并检测到介质上的其他流量(即计算机,它不检查空闲介质)时,都将其视为冲突,并且交换机将遵循冲突检测程序(包括等待或退避一段时间)。
由于计算机不是以这种方式运行(即,当有数据要发送时,它会自动开始传输),因此与完全由半双工设备组成的环境相比,您遇到的冲突要多得多。
编辑:本周末,我确实在搜索不相关的问题时碰到了这些参考,这些问题被称为虚假碰撞。我不同意这种观点,因为交换机清楚地将它们视为冲突,并以此进行处理。相反,我认为它们是不必要的冲突,因为它们不应在交换网络中存在。
顺便说一句,这是最常报告的双工不匹配类型(其中开关设置为自动,计算机设置为全双工)。大多数人下载的内容多于上传的内容,他们往往更容易注意到这种情况,以进行报告。
评论
我花了一段时间了解您对速度差异问题的观点,但这是一个很好的答案...您可能需要对其进行改进,以明确指出交换机的Tx比PC的速率限制更大,因为它必须由于CSMA / CD冲突检测而导致的等待时间比PC等待冲突产生的残帧要长。相反,即使PC的下载中有几个PC的TCP ACK发生冲突,TCP和以太网的CSMA / CD也会对下载进行双重惩罚。丢弃的TCP ACK会减慢两个传输的速度,但是CSMA / CD的退回会终止下载。
–迈克·彭宁顿
2014年2月1日17:15
它还取决于哪一端是Full端,哪一端是Half端。Full端发送/接收是否有问题,而另一端将看到每个数据包的冲突。这意味着从Full端进行的数据传输将在Half端减少冲突(因为半端将尝试在大数据包之间压缩ACK,而另一端,则整个端将导致大量冲突,因为它有更多的机会“击中”具有较小确认的大数据包。这可能不是正确的解释,但它符合我所见。
–雷米·莱图诺
2014年2月4日在14:09
@RemiLetourneau,很明显,如果不匹配的方向要颠倒,效果也会被颠倒。在这种情况下,您可以交换我的答案中的计算机/开关术语(这是回答OP的问题的框架)。但不确定我是否会遵循您的所有其余评论。
– YLearn♦
2014年2月10日,19:51
@YLearn我的意思是,双工不匹配的症状包括流量以一种相对正常的速度运行,而以一种缓慢的速度运行。在那一端做的事情是发送大帧,而在女巫端的事情是发送确认。如您所说,如果您逆转不匹配配置,则会逆转流量缓慢。
–雷米·莱图诺
2014年2月10日在20:56
评论
70/80是基于单个测试还是多个测试的平均值?考虑到窗口大小的变化,单个测试太模糊了。