我有两个通过 6 类线连接的 Linux 主机。LAN 卡如何协商链接速度?
从本质上讲,我试图巩固我是否真的用来自 10GbE 网卡的流量来敲打 1GbE 网卡,或者他们是否协商了 1GbE 链接速度。
我有两个通过 6 类线连接的 Linux 主机。LAN 卡如何协商链接速度?
从本质上讲,我试图巩固我是否真的用来自 10GbE 网卡的流量来敲打 1GbE 网卡,或者他们是否协商了 1GbE 链接速度。
直接连接到 1 Gb 的 10 Gb NIC 要么协商 1 Gb 连接,要么根本不起作用。您不可能遇到您所描述的情况,除非您在两者之间有类似交换机之类的东西,其中 10 Gb NIC 连接到 10 Gb 交换机端口。
ethernet speed negotiation
在网上很容易搜索和查找,比如维基百科的文章:
自动协商(以前称为“NWay”)基于与 10BASE-T 设备使用的脉冲类似的脉冲,用于检测是否存在与另一设备的连接。当以太网设备不发送或接收任何帧时,这些连接存在脉冲由以太网设备发送。它们是标称持续时间为 100 ns、最大脉冲宽度为 200 ns [5] 的单极正电脉冲,以 16 ms 的时间间隔(具有 8 ms 的时间变化容差)生成。这些脉冲在 10BASE-T 术语中称为链路完整性测试 (LIT) 脉冲,在自动协商规范中称为正常链路脉冲 (NLP)。
如果在 50-150 毫秒内既没有收到一个帧也没有收到两个 LIT 脉冲,则设备会检测到链路故障。为了使该方案起作用,设备必须发送 LIT 脉冲,而不管接收到任何脉冲。三个快速链接脉冲突发,由自动协商设备用于声明其功能。
自动协商使用标记为 NLP 的类似脉冲。NLP 仍然是单极性的,只有正的,并且标称持续时间为 100 ns;但是每个 LIT 都被一个脉冲串代替,该脉冲串由 17 到 33 个脉冲组成,间隔 125 µs。每个这样的脉冲串称为快速链路脉冲 (FLP) 脉冲串。每个 FLP 突发开始之间的时间间隔与正常链路脉冲之间的时间间隔相同 16 毫秒(8 毫秒的变化容限)。如何在快速链路脉冲突发中对链路码字(16 位字)进行编码
FLP 突发由 17 个 NLP 组成,时间间隔为 125 µs(容差为 14 µs)。在每对两个连续 NLP 之间(即在脉冲对的第一个 NLP 之后的 62.5 µs)之间,可能存在附加的正脉冲。此附加脉冲的存在表示逻辑 1,不存在则表示逻辑 0。因此,每个 FLP 都包含一个 16 位的数据字。该数据字称为链接代码字 (LCW)。链接代码字的位编号为 0 到 15,其中位 0 对应于时间上的第一个可能脉冲,位 15 对应于最后一个。
根据您的评论,编辑Fluke 的简化版纯英文版本:
在常规英语中,自动协商只是两个设备用来实现最佳传输速率的方法。它允许他们在某种意义上讨论可能的传输速率,然后选择他们共享的最佳传输速率。他们通过使用称为快速链接脉冲 (FLP) 的脉冲交换自己能力的广告来做到这一点。FLP 让一个链接伙伴知道另一个链接伙伴的能力。当它们交换 FLP 时,两个站点根据以下内容检测它们之间的最大公分母:
- 1000BASE-T
- 100BASE-T2 全双工
- 100BASE-TX 全双工
- 100BASE-T2
- 100BASE-T4
- 100BASE-TX
- 10BASE-T 全双工
- 10BASE-T
例如,如果A站和B站是自动协商的,A站可以10/100/1000全双工或半双工,而B站只能10/100全双工或半双工,那么最高公共链路速率为 100,全双工。只要双方都在协商,链路就会以他们之间可能的最高连接速率运行。
自动协商协议将尝试以两个端口上可用的最快速度进行链接。回到半双工的时代,全双工将是首选。
你没有提到你使用的是什么操作系统,但会有一个工具(比如Linux 的ethtool)来确定每个端口广告的功能。通常,相同的工具还会告诉您最终获得的链接速度。
如果您想知道,不可能让链接伙伴以不同的速度运行。