网络学习记录(网口速率及协商机制)
1.网口协商过程中主要遇到的一些概念:
(1)LTP(link test pulse):顾名思义就是 链路测试脉冲
(2)NLP(normal link pulse):即普通链路脉冲,我们将间隔16ms ± 8 ms(t1)的一个个LTP集称做NLP,NLP同时也是10M的链路脉冲信号
(3)FLP(fast link pulse):即快速链路脉冲,将一整簇间隔62.5us ± 7 us(t2)且簇之间间隔等同于NLP间隔的脉冲簇成为FLP

(4)自动协商(Auto):网口根据对端设备的连接速度和双工模式,将自身的速度和工作模式调节到最高的工作水平,使线路两端能够以最快的速度和最优的双工方式进行通信。
注释:自动协商其实是一种协议,与其他协议一样,只有两端同时支持自动协商,自协商的协议机制才会生效。(就好比tcp,当一端设备是tcp客户端模式,另一端必须是tcp服务器模式时,两端设备才可以以tcp协议实现通信)。
通过上面的注释可知自协商并不是万能的,如果一端支持自协商,另一端不支持或关闭了自协商功能,此时并行检测功能开始工作。
(5)并行检测:当设备A支持自协商,但是迟迟收不到对端设备B的FLP后,则开始检测链路上是否存在100M或10M的链路信号,以此来决定自身的工作速率和模式。
①如果对端设备B是10M设备,则会在链路上发NLP,设备A通过并行检测机制检测到后,会将自身设置为10M半双工。
②如果对端设备B是百兆设备,则会在链路上发送FAST ETHERNET IDLE流,设备A通过并行检测机制检测到后,会将自身设备为100M半双工。
设备A无论是收到了NLP还是百兆idle信号,都只能得到对端的速率而无法得到对端是否支持全双工和流控等这些信息,所以基于机制原因,在对端不开启自协商的情况下,打开自协商的一方最终只会工作在半双工模式下。
2.FLP详解
(1)一个FLP簇共包含33个脉冲(即上图黄色框中共有33个脉冲),其中包含16个数据脉冲(第2、4、6......32脉冲,即偶数位置脉冲)和17个时钟脉冲(第1、3、5......33脉冲,即奇数位置脉冲)。16个偶数位置,如果有脉冲则为1,没有则为0,如此一个FLP则可以传输16bit的数据。
(2)可以简单理解为每个FLP携带的16bit数据,这些数据内容则包括了自身通信能力如网络速率能力,双工模式等信息。
具体每一个bit位代表什么意思参考链接:以太网速度协商 - 小小小学僧 - 博客园 (cnblogs.com)
3.协商流程
对协商过程中会遇到的一些术语概念有了了解后,下面了解下具体几种过程(设备A和B网线直连)
(1)设备A和B都是自协商
上电后,设备A和B会向外发送各自的FLP脉冲,在收到对方的FLP脉冲后,会经过解析将自身的速率和双工模式设置成对方所支持的最优模式。如设备A和B都支持百兆全双工,且开启了自协商,那么A和B经过协商后,正常会选择在百兆全双工模式下进行通信。
(2)A是自协商,B是十兆设备
上电后,设备A发FLP,设备B发NLP(LTP),设备A通过并行检测机制最终将自身设置为10M半双工通信。
(3)A是自协商,B是百兆设备
上电后,设备A发FLP,设备B发idle信号,设备A通过并行检测机制最终将自身设置为100M半双工通信。
浙公网安备 33010602011771号