不匹配是如何发生的;不匹配对网络连接的影响是什么;不匹配的解决真的值得付出努力吗?有哪些方法可以大规模检测不匹配?
速度/双工不匹配
要按顺序解决您的问题:
- 自动协商或手动配置失败时会发生不匹配。这可能是物理层问题或手动配置不一致造成的。物理问题可能类似于内联集线器或物理电缆(丢失/损坏的线对)问题。
- 双工不匹配会对您的网络性能产生重大影响。冲突,尤其是较晚的冲突,TCP 堆栈可能需要很长时间(相对而言)才能从中恢复。与 UDP 的冲突意味着数据可能永远不会到达那里或需要应用层恢复机制。
- 解决不匹配问题绝对值得您花时间解决。它还可能暗示其他问题,因为如今双工/速度应该是假设的事情。
- 一些集中管理工具(Solarwinds、Spiceworks、HP OpenView 等)可能有接口错误报告,其中应包括这些类型的问题。
要完全理解为什么会发生双工不匹配,您需要了解技术是如何发展的。
最初,所有以太网都是半双工的。当全双工进入画面时,有人明智地决定设备(尤其是半双工和全双工设备)应该能够就它们如何通信和自动协商达成一致。
然而,那些较旧的半双工设备都没有设计为自动协商,因此在编写标准时,自动协商设备假设如果另一方不参与协商,则运行处于半双工模式,因为另一侧的设备必须只能进行半双工。
正如其他人指出的那样,自动协商在早期并不总是工作良好,因此许多设备配置为静态速度和双工设置(通常为 100/全),当协商设备连接到这样的设备时,双工发生不匹配。
至于问题,双工失配可能比在半双工模式下运行更糟糕。这是因为一侧(全双工)认为即使当前正在接收也可以随时发送。半双工侧会将其视为冲突并退避,而全双工侧将继续传输。
如果全双工端倾向于传输大量数据,这会使半双工端“饿死”,因为它在传输之前等待介质清除,导致帧排队并最终丢弃。
总而言之,这是一个糟糕的情况,你应该解决这个问题。
在检测不匹配时,您可以查找错误。在全双工方面,您通常会看到许多矮文件和 CRC 错误(供应商有时可能会使用不同的术语)。在半双工方面,您经常会看到冲突和缓冲区故障。任何体面的管理系统都应该能够为您提供一个接口列表,这些接口生成的错误数量高于预期。
如今,最常见的原因是一个系统(网络或终端设备)是手动配置的,另一个是自动配置的。
在自动协商(全双工 10Mb 和快速以太网)的早期,设备无法正确协商的情况并不少见。
由于这一点(以及其他与惯性相关的原因),许多大型企业和 SP 网络需要手动配置部分或所有链接。
现在没有理由这样做,实际上在千兆以太网(至少是铜线)上需要自动协商,并且性能良好的设备不允许禁用它。在某些情况下,这可能不清楚,例如在某些 Cisco 套件上“禁用”演出链接上的自动协商只是限制了自动协商过程中可接受的值(如果您没有对意外的接口速度发出警报,这可能很有价值和双工)。
当链路的一侧被明确配置而另一侧被设置为自动协商时,最常发生不匹配。当设备处于单独管理下时,各方可能无法通信和验证设置。对网络连接的影响范围从在轻度使用链接上不被注意到在重负载链接上严重。在可能的情况下,努力解决不匹配的问题通常是值得的。在 Cisco 交换机上,低于 255 的接口可靠性指标是发现不匹配的好方法。可以使用 SNMP 轮询此值以大规模检测不匹配。