以太网接口错误


10

我的连接到ISP多路复用器的Ubuntu服务器以太网接口显示错误。这是快照:

          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:1000

Ubuntu接口具有全双工功能,但只能协商半双工连接。当我将其他设备(路由器)连接到MUX时,它也显示了此类错误。分配的带宽为50 mbps,但我只有20 mbps。ISP不愿意在MUX中更改其设备(看起来像以太网交换机或集线器)。ISP工程师责怪它是我的错。但是我检查了3台以上的设备,所有设备均显示错误。那么,是否有我可以用来深入探究这些错误原因的Linux工具,或者可以做些什么来重新配置服务器接口以消除这些错误?

Answers:


8

由于ISP将其一侧硬编码为100-Full,实际上很可能在ISP以太网PHY上禁用了自动协商,因此您很可能出现双工不匹配。

将ISP设置为100-Full,并且您的一侧保持自动/自动(直觉,但很常见),您这一侧的自动协商会将接口配置为100-Half-双工不匹配,即ISP一侧将保持100-Full。

固定

您可以通过将您的以太网PHY硬编码为100-Full来解决该问题-或将ISP设置为任何特定形式。大多数ISP使用100满。

附加细节

当双工不匹配从100满半到100一半时,100满侧将禁用CSMA / CD,而CSMA / CD仍在100半侧有效。100满侧发送时不考虑介质是否空闲。100个半边执行CSMA / CD定义的CSMA / CD检查和退避。 这就是为什么在50 Mb / s的Internet电路上只能达到20 Mb / s的原因。由于100个半边检测到冲突,CSMA / CD的回退限制了吞吐量。

通过将接口硬编码为100-Full以匹配ISP,双方都将禁用CSMA / CD,因此将禁用退避和冲突检测,您应该获得的数字更接近50 Mb / s的Internet电路数据速率。

历史

许多ISP曾经对它们的以太网PHY切换进行了硬编码,因为有时这样做更加可靠。最初的802.3u 100 Mb / s快速以太网标准发布时,存在速度和双工的自动协商,但不是必需的。直到802.3z 1 Gb / s千兆以太网标准才需要该标准进行自动协商。

许多网络工程师对自动协商有误解。最大的误解是,如果仅一方实施自动协商,则自动协商可以正确地协商速度和双工。这是错误的-如您所见。

造成这种情况的原因可能是由于以下原因-如果一侧被硬编码为100-Full,则另一侧运行自动协商似乎总是会找出100 Mb / s的部分。如果一侧被硬编码为10-Full,则相同-另一侧运行自动协商可以找出10 Mb / s的部分。确定链接速度的能力来自称为并行检测的功能,该功能会以所有本地支持的链接速度尝试接收到的物理层信号,直到找到匹配项。但是,并行检测仅适用于速度,不适用于双工匹配。这就是为什么会发生双工不匹配的原因-当接口无法通过自动协商确定另一端时,它总是会退回到半双工状态。

肥皂盒

一次,对自动协商的支持不一,这引起了原本打算解决的许多问题。 在这个网络工程师看来,那段时间已经过去了。 尽管自动协商问题仍然存在,但由于过去5年中配置了自动协商导致的问题数量使我因禁用自动协商而看到的问题数量相形见war。

我从未有过ISP不愿意在被询问时将其以太网切换更改为自动/自动。对于大多数电缆和DSL调制解调器以及网关,这不是问题。通常存在此问题的是具有以太网切换功能的NxT1和光纤管理的CPE路由器。问题是网络管理员必须首先询问。

通过将ISP硬编码为100-Full,他们承担了义务。必须记录并继续的义务。自动协商是一种稳定的技术,已经存在多年了,可以为我们解决这个问题。如前所述,由自动协商引起的问题数量远远超过了因2011年被禁用而引起的问题数量。存在解决此问题的技术,请使用它。也许我们应该手动设置初始TCP SYN,MSS,并为每个TCP虚拟电路管理接收窗口?我开玩笑

乱跑


我曾尝试使用以下命令强制接口进入全双工模式:sudo ethtool -s eth0 duplex full speed 100 autoneg off。但是链接断开了。但是您的回答给了我一些希望。我会再次尝试。我还将询问ISP是否可以在MUX中启用自动协商。
nixnotwin

@nixnotwin验证接口是否在启用自动协商的情况下稳定在100-一半,而不是10-一半-硬编码特定速度和全双工。如果在硬编码和禁用自动协商后链路断开,则可能是MDI / MDI-X问题-因为PHY中的auto-MDI / MDI-X也可能被禁用。如果使用直通跳线,请尝试交叉使用。如果您使用的是交叉网,请尝试使用直通跳线。
Weaver

我们以某种方式说服了ISP启用自动协商。之后,我们遇到的每个问题-接口错误,ICMP数据包丢失,流抖动,路由器冻结-以及其他许多问题突然消失了。现在,带宽达到50兆位,并且以太网接口中没有显示任何错误。
nixnotwin 2011年

2
@nixnotwin这是个好消息。将来,如果您需要与超级敏锐的管理员(例如网络,系统,Windows等)打交道,我会发现“让我感到幽默,让我们尝试一分钟-也许我们都会学到一些东西”非常有效。
韦弗
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.