如何调试 L1 自动协商问题?

网络工程 思科 转变 以太网 第一层 cisco-nexus-5k
2021-08-02 06:58:02

我们的其中一台 Linux 主机最近开始换档。在检查接口速度时,我可以看到接口已切换到10Mbps网卡和交换机都支持1G,双方都开启了自动协商。我想调试问题的根本原因。我们计划执行以下提到的操作。

  1. 执行电缆测试以检查/更换 Cat6 电缆。
  2. 仔细检查交换机配置。(来自交换机的链路能力和 L1 广告)

鉴于 tcpdump 从 L2 开始工作,因此获取 tcpdump 毫无意义。各位大侠有其他指点吗?也许, syslog/dmseg ?

我已经尝试捕获 L1 广告,但不支持该命令。我们使用的交换机平台是 Cisco 5596。

我们通常使用该命令show controllers <interface> | include Autoneg Lnk Ptr abty来解码快速链路脉冲消息,但 5596 交换机不支持该命令我们已经确认网卡(通过 ethtool)和交换机都支持 10、100 和 1G。

您如何处理问题并收集 L1/Phy 层问题的统计数据(尤其是从 1G 到 10M 的链路速度切换)?

在此处输入图片说明

3个回答

可能是电缆。

虽然 Autonegotiation 标准很早就存在一些问题,但这些问题已经解决了几十年,而且 2000 年以上的任何问题都不会受到影响。

通常,始终启用自动协商。大多数情况下,当您认为需要手动配置它时,它会在一段时间后落在您的脚上。

检查电缆或端口问题时,最好先检查记录的事件和端口错误计数器。频繁的重新链接和亚速链接表明电缆损坏(也可能由电缆质量或安装不良或超出范围引起)。FCS 错误、矮小、巨人等表示一般传输问题。

我通常将生产转移到另一个交换机端口(适当配置!)和跳线以快速解决问题。然后我检查电缆并测试端口 - 99.5% 的时间是电缆。

通常,实现一些端口监控是一个好主意,这样您就可以在端口未按预期链接或累积错误时获得早期警告。

某些 Cisco 平台(Catalyst 2900/3600/3800 系列的大多数接入交换机类型及其较早的同级产品)支持以下命令:

interface GigabitEthernet M/NN
 ...
 ! select which set of speeds are offered during auto-neg
 speed auto 1000 100 10 
 ...

这为调试交换机端口和 NIC 之间的 Autoneg 问题开辟了道路 - 通过仅提供一种数据速率,您可以限制 autoneg 范围并检查 NIC 将以何种速度进行自动处理。

但是,阅读5596(哪个品种?5596UP,5596T?)的数据表,我认为在任何RJ45端口上都不支持10/100M。

这让我们回到 Zac67 的答案:可能是布线。

1000BaseT 双向使用电缆中的所有 4 对,因此对 1 或 4 中的故障理论上应该会影响交换机和主机并强制回退到 100 Mb/s。对 2 或 3 中的故障会导致“链接关闭”(您实际上并未说链接已打开,但我认为是这样)。

因此,我将从电缆开始(不要忘记检查连接器中的引脚是否弯曲)。

如果这不能解决问题,您可能在一侧或另一侧出现端口故障。您可以尝试强制 100 Mb/s 自动双工(如果可能,如果不是全双工)。