我的Ubuntu服务器以太网接口连接到ISP的复用器显示错误。以下是快照:
RX packets:204564288 errors:3193970 dropped:0 overruns:0 frame:3138402
TX packets:29305799 errors:38752 dropped:0 overruns:0 carrier:38762
collisions:2205053 txqueuelen:1000Ubuntu接口能够实现全双工,但它只协商半双工连接。当我连接一个不同的设备(路由器)到MUX时,它也显示了这样的错误。分配的带宽是50 mbps,但我只得到20 mbps。ISP不愿意在MUX中改变他们的设备(看起来像以太网交换机或集线器)。ISP的工程师们指责是我的错。但我查了三个以上的设备,都显示了错误。那么,是否有任何Linux工具可以用来深入探究这些错误的原因,或者我是否可以做些什么来重新配置我的服务器接口,以消除这些错误?
发布于 2011-11-05 15:30:42
您很可能有一个双工失配,因为ISP硬编码他们的一方100完全,基本上禁用自动协商的ISP以太网物理。
由于ISP设置为100满,而您的侧仍处于auto/auto (预感,但却是常见的),您方的自动协商将将接口配置为100-半-双工不匹配,因为ISP侧将保持100-满。
你可以通过硬编码你的以太网物理层到100满或者特别是ISP设置的任何东西来解决这个问题。大多数ISP使用100-全.
由于100-全和100-一半的双工错配,100-全边禁用CSMA/CD,而CSMA/CD在100-一半的一侧仍然有效。100满侧传输不考虑介质是否是自由的.100侧执行CSMA/CD检查和退避(由CSMA/CD定义)。这就是为什么你只能达到20 Mb/s在什么应该是50 Mb/s互联网电路。由于100侧检测碰撞,CSMA/CD的退避限制了吞吐量。
通过硬编码的接口到100-完全匹配ISP,双方将禁用CSMA/CD,因此退避和碰撞检测将被禁用,您应该实现更接近您的50 Mb/s互联网电路数据速率的数字。
许多ISP的硬编码,他们的以太网物理切换,因为有一段时间,它是更可靠的这样做。当最初的802.3u 100 Mb/s快速以太网标准发布时,出现了速度和双工的自动协商,但不需要。直到802.3z1GB/S千兆以太网标准时,该标准才要求自动协商。
许多网络工程师对自动协商有误解。最大的误解是,如果只有一方实现自动协商,那么自动协商就能正确地协商速度和双工。这是错误的--正如你所看到的。
这样做的原因可能来自以下方面--如果一方硬编码为100满,则另一方运行自动协商似乎总是计算出100 Mb/s的部分。同样,如果一方硬编码为10满-另一方运行自动协商可以计算出10 Mb/s部分。确定链路速度的能力来自一个称为并行检测的特性,它在所有本地支持的链路速度上尝试接收到的物理层信号,直到找到匹配为止。然而,并行检测只适用于速度,而不适用于双工匹配。这就是为什么会出现双工错配的原因--当无法通过自动协商确定另一方时,接口总是会回落到半双工。
有一段时间,人们对自动谈判的支持参差不齐,它所引发的问题和它想要解决的问题一样多。那个时候,在这个网络工程师看来--已经过去了。虽然自动协商问题仍然存在,但在过去5年中,由于自动协商被配置而出现的问题数量,使我所看到的由于自动协商被禁用而出现的问题数量相形见绌。
我从来没有一个ISP不愿意改变他们的以太网切换到自动/自动被要求。对于大多数电缆和DSL调制解调器和网关,这不是一个问题。这个问题通常存在于具有以太网切换的NxT1和光纤管理的CPE路由器中。问题是网络管理员首先要问。
随着ISP的硬编码达到100满,他们已经承担了义务.一项必须记录在案并继续下去的义务。自动谈判是现在稳定的技术,已经存在多年了,并为我们解决了这个问题。如前所述,汽车谈判造成的问题数量远远超过了2011年因其失效而产生的问题。解决这一问题的技术是存在的,使用它。也许我们应该手动设置初始的TCP SYN,MSS,以及管理每个TCP虚拟电路的接收窗口?我开玩笑。
咆哮着走开。
https://serverfault.com/questions/328105
复制相似问题