为什么我的交换机和路由器之间的链路总是协商半双工模式?

为什么我的交换机和路由器之间的链路总是协商半双工模式?

我有一台 Cisco 2950 交换机,它的一个端口连接到我的 ISP 提供的 Internet 路由器;我无法访问路由器配置,但我可以管理交换机。

如果我将所有交换机端口保留为其默认设置(速度和双工模式的自动协商),则此链路始终以 100 MBit/s 的速度连接,但处于半双工模式。

我试过更换电缆,也试过将链路移至另一个交换机端口:结果总是一样。连接到同一端口(或任何交换机端口)的其他设备完全没有问题。

可以猜测有人将路由器配置为仅以半双工模式连接...但是,问题在于:如果我手动强制交换机端口为全双工模式(duplex full在接口配置中),则链路将启动、保持启动并且完全稳定。

所以:

  • 路由器不会强制将连接设置为半双工模式,否则如果我强制交换机端设置为全双工,它根本无法连接。
  • 没有实际的链接问题,否则全双工连接将无法建立或至少会出现一些错误。
  • 但如果我让端口自由自动协商,它总是以半双工模式连接。

为什么?

答案1

路由器可能设置为全双工或半双工。当一个设备(您的路由器)被强制设置为全双工或半双工时,它会完全停止尝试协商双工。它甚至不会告诉对方它设置成什么。

当另一台设备(您的交换机)没有收到其协商尝试的响应时,它会采用默认的最安全选择,即半双工。

千兆以太网通过不允许全双工以外的任何方式解决了这个问题。

答案2

除了 longneck 提供的答案之外,我还想添加戴尔文档中有关自动协商的这段简介:

非自协商100BaseT设备与自协商设备之间的通信遵循以下步骤:

  1. DTE 在链路故障模式下启动并传输 FLP。
  2. 100BaseTX 链路伙伴加电并发送空闲符号。
  3. DTE 并行检测功能检测空闲符号,绕过自动协商功能,将控制权交给 100BaseTX PMA,并传输空闲。
  4. 以 100 Mbps 半双工建立链路。

这张图显示了可能的链接状态:

在此处输入图片描述

答案3

ISP 路由器可能未使用与您的交换机相同的自动协商算法。例如,ISP 路由器可以使用 1995 年的 IEEE 802.3u 以太网标准,其中自动协商的实施是可选的并且部分规范可以进行解释;而您的交换机可能是 UpToDate,并符合 1999 年的 IEEE 802.3 标准。

一个绕过方法是购买与该路由器同一制造商的交换机,并希望(在这个新交换机中)找到与该 ISP 路由器使用的相同的自动协商算法。

相关内容