以太网接口错误

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

Ubuntu界面能够全双工,但它只协商半双工连接。 当我将不同的设备(路由器)连接到MUX时,它也显示出这样的错误。 分配的带宽是50 mbps,但我只得到20 mbps。 ISP不愿意在MUX中更换其设备(看起来像以太网交换机或集线器)。 ISP工程师指责说我们身上的错。 但我检查了超过3个设备,都显示错误。 那么,有什么工具可以用来深入探究这些错误的原因,还是有什么我可以做的重新configuration我的服务器的接口,以摆脱这些错误?

由于ISP将自己的硬编码为100-Full,您很可能会出现双工不匹配的情况,从而禁止ISP以太网PHY上的自动协商。

在ISP设置为100-Full的情况下,你的方面保持在自动/自动(一种预感,但是普通的方式),你方的自动协商将把接口configuration为100-半双工不匹配,如ISP方将保持100满。

固定

您可以通过硬编码您的以太网PHY到100-Full来解决这个问题 – 或者特别是无论ISP设置为什么。 大多数ISP使用100-Full。

其他细节

在100-Full到100-Half的双工不匹配的情况下,100-Full侧禁用CSMA / CD,而CSMA / CD在100-Half侧保持有效。 无论媒体是否空闲,100-全面传输。 CSMA / CD定义了100半边执行CSMA / CD检查和退避。 这就是为什么你只能达到20 Mb / s的50 Mb / s的互联网电路 。 由于100边检测冲突,CSMA / CD回退限制吞吐量。

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

历史

许多ISP对其以太网PHY切换进行硬编码,因为有一段时间这样做可靠得多。 当最初的802.3u 100 Mb / s快速以太网标准发布时,速度和双工的自动协商已经存在, 但不是必需的 。 标准要求自动协商时,直到802.3z 1 Gb / s千兆位以太网标准为止。

许多networking工程师对自动协商存在误解。 最大的误解是如果只有一方实现自动协商,自动协商可以正确协商速度和双工。 这是错误的 – 正如你所看到的。

其原因可能是由于以下原因 – 如果一方以100-Full进行硬编码,那么运行自动协商的另一方似乎总是会计算出100 Mb / s的部分。 如果一方硬编码为10-Full,则运行自协商的另一方可以计算出10 Mb / s的部分。 确定链路速度的能力来自一个称为并行检测的特性,它在所有本地支持的链路速度上尝试接收的物理层信号,直到find匹配。 但是, 并行检测只适用于速度,不适用于双工匹配。 这就是为什么双工不匹配可能发生的原因 – 当接口通过自动协商无法确定另一端时,将始终回退到半双工状态。

肥皂盒

曾经有一些人对自动协商提供了支持,并引起了很多问题。 那个时候,在这个networking工程师的意见里 – 已经过去了。 虽然自动协商问题仍然存在,但由于过去5年来configuration了自动协商,我所看到的问题数量相当多,这是由于禁用了自动协商而导致的问题。

我从来没有让一个ISP不愿意改变他们的以太网切换到汽车/汽车被问到。 大多数电缆和DSL调制解调器和网关,这不是一个问题。 它是NxT1和光纤pipe理的CPE路由器,带有以太网切换,这个问题通常存在。 问题是,networkingpipe理员首先要问。

如果一个ISP的硬编码达到100-Full, 他们就有义务了 。 必须logging和继续的义务。 自动协商是现在已经稳定的技术,已经有多年了,为我们照顾这个问题。 如前所述,由于自动协商导致的问题数量远远超过了因2011年被禁用而引起的问题数量。技术的存在是为了解决这个问题,使用它。 也许我们应该手动设置初始的TCP SYN,MSS,并为每个TCP虚拟电路pipe理接收窗口? 我小子

拉开。