19955月,IEEE组织通过了802.3u百兆以太网标准,引入了自协商功能。今天,可以说有以太网的地方就在使用自协商功能。

百兆以太网诞生时,传输速率为10Mbps的以太网Hub已经大行其道。百兆以太网要想占领市场,必须和已经大量部署的Hub保持兼容。有了自协商功能,用户不需要任何配置工作,10MHub就可以和百兆以太网设备对接,这就保护了用户的前期投入。确切来讲,和Hub对接用到的是自协商机制中的非核心功能Parallel Detection

随着以太网技术的快速发展,IEEE组织一直在对自协商功能进行改进和标准化,自协商功能逐渐覆盖了各种传输介质。IEEE 802.3标准中,自协商功能被分为3种,分别在Clause 28Clause 37Clause 73中加以说明。

1) Clause 28规范了使用双绞线作为传输介质的以太网的自协商功能

2) Clause 37规范了1000BASE-X以太网的自协商

 3) Clause 73规范了Backplane Ethernet以及40GBASE-CR4100BASE-CR10以太网的自协商。

Clause 73自协商是本文谈论的重点。

基本情况

IEEE Std 802.32008标准中,引入了Clause 73自协商功能。Clause 73自协商最初用于backplane以太网的自协商。2012年更新的802.3标准中,Clause 73自协商增加了对40GBASE-CR4100GBASE-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 PeakDME编码机制中,这个伪随机的比特可能导致后续信号序列的极性完全反转,频谱结构也就发生了变化,从而解决了spectral peak的问题。

DME page分为Base PageNext Page。如果协商的信息不多,Base Page就可以胜任协商工作。

协商的内容

自协商功能最广为人知的是,可以协商速率和双工模式。如果对自协商理解得深入一些,可能知道还可以协商流控。但是,用于协商的Base Page中则包括了更多的信息。

下面看一下Base Page48个比特的数据包括了那些信息:

字段

说明

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-KX10GBASE-KX4等。

D[47:46]

FEC capability

对于特定的以太网类型而言,Base Page并不足以完成自协商,这种情况下就需要用到Next PageNext Page又分为Message PageUnformatted 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 page48比特数据;Clause 37自协商中每个page只有16比特数据。Clause 73Clause 37自协商支持的以太网技术,也完全不一样。基于以上原因,Clause 73自协商和Clause 37自协商并不兼容。同样,Clause 73Clause 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.3bj802.3bm等以太网技术标准还没有正式发布。Clause 73自协商机制为更多的以太网技术预留了空间,可以预见的未来也将会支持更多的以太网技术。