1995年5月,IEEE组织通过了802.3u百兆以太网标准,引入了自协商功能。今天,可以说有以太网的地方就在使用自协商功能。
百兆以太网诞生时,传输速率为10Mbps的以太网Hub已经大行其道。百兆以太网要想占领市场,必须和已经大量部署的Hub保持兼容。有了自协商功能,用户不需要任何配置工作,10M的Hub就可以和百兆以太网设备对接,这就保护了用户的前期投入。确切来讲,和Hub对接用到的是自协商机制中的非核心功能Parallel Detection。
随着以太网技术的快速发展,IEEE组织一直在对自协商功能进行改进和标准化,自协商功能逐渐覆盖了各种传输介质。IEEE 802.3标准中,自协商功能被分为3种,分别在Clause 28,Clause 37和Clause 73中加以说明。
1) Clause 28规范了使用双绞线作为传输介质的以太网的自协商功能
2) Clause 37规范了1000BASE-X以太网的自协商
3) Clause 73规范了Backplane Ethernet以及40GBASE-CR4,100BASE-CR10以太网的自协商。
Clause 73自协商是本文谈论的重点。
基本情况
在IEEE Std 802.3,2008标准中,引入了Clause 73自协商功能。Clause 73自协商最初用于backplane以太网的自协商。2012年更新的802.3标准中,Clause 73自协商增加了对40GBASE-CR4,100GBASE-CR10以太网的支持。这样,Clause 73自协商支持的以太网技术包括:
1) 1000BASE-KX
2) 10GBASE-KX4
3) 10GBASE-KR
4) 40GBASE-KR4
5) 40GBASE-CR4
6) 100GBASE-CR10
Clause 73自协商中,对接双方通过DME page进行协商,DME page中携带了各自支持的工作模式。双方通过交换DME page,可以了解对端的能力,最终使用最优的模式建立连接。
每个DME Page可以传递48个比特的协商数据和1个比特的伪随机数据。DME编码机制中,数据脉冲和时钟脉冲交替传送,每比特数据都和1个时钟相邻。这样,就需要98个脉冲位置。在发送DME page之前,协商双方先要进行信号的同步,用于同步的信号称为“Manchester Violation Delimiter”,Manchester Violation Delimiter需要8个额外的位置。这样,每个DME page就需要106个脉冲位置。
1比特的伪随机数据用来消除Spectral Peak。如果重复发送多个相同的信号序列,由于序列的频谱完全相同,频谱中特定频率的信号就会显著变强,也就是会出现Spectral Peak。DME编码机制中,这个伪随机的比特可能导致后续信号序列的极性完全反转,频谱结构也就发生了变化,从而解决了spectral peak的问题。
DME page分为Base Page和Next Page。如果协商的信息不多,Base Page就可以胜任协商工作。
协商的内容
自协商功能最广为人知的是,可以协商速率和双工模式。如果对自协商理解得深入一些,可能知道还可以协商流控。但是,用于协商的Base Page中则包括了更多的信息。
下面看一下Base Page的48个比特的数据包括了那些信息:
字段 | 说明 |
D[4:0] | Selector Field。对于以太网而言,该域的值是二进制数00001b。 |
D[9:5] | Echoed Nonce Field |
D[12:10] | 和PHY无关的能力,如:802.3流控能力 |
D[15:13] | NP/ACK/RF位。这3个比特用作协商过程的标志位,详细情况此处不做说明。 |
D[20:16] | Transmitted Nonce Field |
D[45:21] | Technology Ability Field。表示PHY的支持以太网类型,如:1000BASE-KX,10GBASE-KX4等。 |
D[47:46] | FEC capability |
对于特定的以太网类型而言,Base Page并不足以完成自协商,这种情况下就需要用到Next Page。Next Page又分为Message Page和Unformatted Page,详细解释请参考IEEE 802.3标准。
Parallel Detection机制
对端支持1000BASE-KX或者10GBASE-KX4的情况下,如果对端关闭了Clause 73自协商,parallel detection机制依然可以检测到对端的PHY并建立连接。如果对端根本不支持Clause 73自协商,parallel detection机制也可以和对端成功建立连接。
Clause 73自协商的兼容性
Clause 73自协商采用了DME编码机制,每个DME page有48比特数据;Clause 37自协商中每个page只有16比特数据。Clause 73和Clause 37自协商支持的以太网技术,也完全不一样。基于以上原因,Clause 73自协商和Clause 37自协商并不兼容。同样,Clause 73和Clause 28自协商也不兼容。
市场上的PHY芯片,通常支持多种以太网技术。如果对接双方已经完成了Clause 73自协商,并且协商结果是1000BASE-KX,那么不推荐继续进行Clause 37的自协商。否则,一旦Clause 37自协商失败,并不会重新进行Clause 73自协商,端口也就没有机会link UP了。
重新自协商是怎么工作的?
用户可以手动配置端口的速率和双工,使端口工作在特定的模式。通过修改端口的自协商能力,可以达到同样的效果,这也是IEEE标准推荐的做法。IEEE标准不推荐使用真正的强制模式。业界很多以太网设备上,如果速率和双工只要有一项不是强制的,那么端口就工作在自协商模式。
如果端口处于up状态,那么修改端口的自协商能力后,端口需要重新自协商。重新自协商时,本端端口会关闭当前正在使用的PHY功能模块并停止所有的数据发送和状态转换活动,直到一个break_link_timer定时器超时。这段时间内,对端收不到任何信息,就会down掉,随后会进入自协商状态。本端停止工作一小段时间之后,也会进入自协商状态。这样,对接双方就开始进行自协商了。
Clause 73自协商的展望
以太网技术的发展并没有停止,目前802.3bj,802.3bm等以太网技术标准还没有正式发布。Clause 73自协商机制为更多的以太网技术预留了空间,可以预见的未来也将会支持更多的以太网技术。
转载于:https://blog.51cto.com/cafe007/1343005