2012年(1)
分类: LINUX
2012-11-25 13:19:20
图表
缩写 |
英文 |
中文 |
LIT |
link integrity test |
链路可靠性测试 |
NLP |
normal link pulse |
普通链路脉冲 |
FLP |
fast link pulse |
快速链路脉冲 |
MDI |
Medium Dependent Interface |
媒体相关接口 |
PCS |
physical coding sublayer |
物理解码层 |
DTE |
data terminal equipment |
数据终端设备 |
LCW |
link code word |
链路编码字 |
自动协商标准允许不同以太网标准的设备-从10BasT到1000BaseT,在网络中共存,减少网络不兼容的风险,使以太网可以平滑的向快速以太网和千兆以太网过度。本文将深入的分析自动协商机制和他的功能,并探讨可能遇到的问题。
如今网络上存在着10BaseT、100BaseTX和1000BaseT几种技术,都使用同样的RJ-45连接器,存在着电气特性不兼容和使网络中断的风险。随着同轴千兆以太网的出现,网络上需要支持三种速率的设备:10M、100M和1000M。为此IEEE提出一种自动协商技术来消除不同技术之间的接口兼容性问题。
Gigabit transceivers工作在OSI模型中的物理层(PHY),在自动协商时通告以下几种操作模式:1000M全双工/半双工,100M全双工/半双工,10M全双工/半双工。虽然自动协商可以在100M和10M时关闭,但是在1000M是要求打开的。
自动协商为将来升级千兆速率提供了一种简单的方法,证明了服务网络上三种速度的网络之间连通性。一个连接到快速以太网switch或hub的服务器,可以简单的通过连接到千兆switch来使自己成为一个千兆网络。如果switch和NIC都设置了自动协商,接口将自动协商为1000Mbps。
自动协商算法(NWay)允许两个设备之间的任意一方,不论是10M、100M还是1000M,通告和协商连接模式-比如连接速率和双工模式,来达到双方都能支持的最高速率。
另外,1000BaseT模式下,NWay还决定了连接两端PHY的主-从互锁。这对于两端的PHY决定时间控制源是必须的。NWay改善了10BaseT连接可靠性测试,使其具有后向兼容性。
自动协商定义在1998版802.3标准的第28条。第28条主要关注以下目标
▶▶当网络基础设施变动时,比如10M、100M和1000M,提供一种简单的,即插即用的升级方法
▶▶防止网络中因同时存在10BaseT,100BaseTX和1000BaseT而导致中断
▶▶提供PHY(transceiver)的后续解决方案
▶▶允许手动设置连接模式,关闭自动协商
▶▶提供10BaseT的后向兼容性
▶▶提供并行的检测10BaseT,100BaseTX和100BaseT4 non-NWay设备的方法
1 数据终端设备模型(IEEE Std 802.3, 1998 Edition)
另外在1999年为千兆同轴电缆的标准802.3ab中,为自动协商标准做了以下改善:
▶▶1000BaseT中强制使用自动协商
▶▶为PHY配置主-从模式
自动协商说明书中包含了接收,仲裁,和传输NLPs(normal link pulses)。同时为了10BaseT的后向兼容性,还定义了接收LIT的方法。所有这些功能都在物理层实现,见图1。链路信息的交换发生在PHY和MDI(Medium Dependent Interface)或RJ-45之间
自动协商在千兆以太网中,定义为物理解码子层(PCS)的一个功能,而在100BaseT中,作为PHY中单独的一个子层。所有自动协商都是现在transceiver的集成电路中,transceiver是网卡的一部分或集成在电脑的主板上。
链路测试脉冲
2 FLP和NLP对比
在10BaseT标准中包含链路测试机制,确保网络的连通性。在链路空闲的情况下,每16ms(+/- 8ms)发送100ns的心跳脉冲。链路测试脉冲在所有基于10BaseT标准的数据终端设备和中继器设备的媒体相关单元(MAU)中发送。
如果数据接收方在50-150ms内没有收到数据或链路测试脉冲,就认为链路中断。在这种情况下,会禁止数据发送,数据接收,和环回功能,不过链路测试脉冲还在继续发送和接收。当连续收到两个链路测试脉冲或一个数据包,认为链路重新建立。
快速链路脉冲链路信息被编码在一种特殊的脉冲序列中,即快速链路脉冲(FLP)。FLP基于10BaseT设备的LIT脉冲。LIT被重新定义为NLP。如图2所示,FLP是一组NLP组成,每个脉冲延续100ns。
自动协商中用FLP脉冲组替代了10BaseT中的单个脉冲。当链路配置完毕后,FLP停止发送。在10BaseT设备看来,FLP和单个的脉冲没有区别。反过来,一个使用NWay的设备也必须能够识别10BaseT设备发过来的NLP,从而停止发送FLP,使能10BaseT的PMA。自动协商并不发送NLP,仅仅识别NLP,将发送NLP的控制权交给10BaseT的PMA。
序列每个FLP序列包含33个脉冲,包含了时钟和数据信息。17个奇数序列的脉冲作为时钟脉冲,16个偶数序列脉冲传输数据信息。当脉冲出现时,表示逻辑1;当脉冲没有出现时,表示逻辑0。图3显示了时钟和数据的时间特性。
3 FLP序列时序
序列编码FLP序列中的数据脉冲被编码为一个16-bit的LCW(link code word)。一个具备自动协商功能的设备可以发送和接收FLP。接收端别绪连续接收到3个完全相同的LCW,才认为信息是有效的并进入处理过程。设备对LCW进行解码并选择双方支持的最高速率。当收到正确的LCWs后,设备发送一个FLP,将确认bit置位。至此,两个设备协商到双发都支持的最高速率。
时钟脉冲作为定时和回复数据脉冲用。17个时钟脉冲在FLP中一直存在,16个数据脉冲有的可能存在,有的可能不存在,存在表示所在的bit为1,不存在表示所在的bit为0。如图4所示。
4 FLP序列编码
携带Base LCW的FLP在power-on,reset或重新协商后都会发送。DTE和它的对端设备通过交换LCWs来协商模式。图5定义了base LCW中的bit位置。
5 Base LCW定义
D5-D12编码的区域被称为TAF(technology ablility field),当Selector field选择00001时,表示是IEEE 802.3的标准。TAF中bit位的顺序和选择速率时的优先级没有关系,每个设备都维护一个优先级表,决定哪种速率作为最优先选择。如图6
6 优先级表
一个本地设备可能使用Remote Fault(RF) 位指示被对端设备发现的错误。比如,当设备进入link fail状态,RF位会被设置为1;当LCW被正确的协商,RF会设置为0。当连续三个LCW被识别,设备就会发送一个LCW,将Ack位置1。这个LCW必须被至少发送6-8次。
附加页,不同于基本LCW,如果链路两端设备都设置了Next Page字段就可以发送附加页。Next Page协议由消息页MP(message page),或者一个和多个无格式页组成。这些页和基本页一样,是LCW编码,在FLP中发送。图7显示了消息和无格式LCW位的定义
7 消息和无格式页
如果MP bit为1, LCW被认为是一个消息页,携带了1998版IEEEE 802.3,附录28C中定义的消息。如果MP bit为0,LCW被认为是一个无格式页,携带了某种特定的信息。
1000BaseT设备使用自动协商机制,通告PHY的能力,包括速率,双工模式,和主-从模式,以配置链路。千兆以太网依靠交换Next Page来协商千兆扩展能力。这些能力由一个基本页,一个1000BaseT消息页和两个1000BaseT无格式页来描述,如图8所示,消息字为8--M10:M0=00000001000,指示将传输一个1000BaseT消息字。
一个1000BaseT PHY可以作为master也可以作为slave。由一个优先级策略决定哪个设个作为master,哪个作为slave。在1999版802.3ab标准中IEEE增加了一个旨在解决所有冲突的方案:相对单端口设备,多端口的设备具有更高的优先级成为master,如果两个设备都是多端口,拥有更高seed bits的设备成为master。
8 1000BaseT 基本页和Next Page
一个设备通过检测FLP序列来判断对端设备是否具有自动协商功能,但是有些设备并没有自动协商功能。一些设备支持100BaseTX,100BaseT4或10BaseT,并行检测功能允许对链路进行检测。
接收端设备将收到的信号同时发送给NLP/FLP检测功能模块,以及所有100BaseTX或100BaseT4的PMA, 或NLP的接收LIT功能。如果信号引起TX/T4的PMA进入链路OK状态,自动协商功能就被忽略掉了。
下面三个例子说明了自动协商的灵活性。每个例子都有一个1000M的服务器,连接到一个10/100以太网switch
链路对端可能是一个10Mbps的hub,或一个10/100Mbps速率但是强制为10Mbps的switch。服务器设置为自动协商。两者之间的协商过程如下(见图9)
▶▶服务器启动,发现link fail,发送FLPs
▶▶对端发送NLPs
▶▶对端开始检测链路fail,因为还没有收到NLPs
▶▶服务器的并行检测机制检测到NLPs,将控制权交给10BaseT PMA,开始发送NLPs
▶▶链路以10M半双工模式建立(注:自动协商并行检测默认双工模式为半双工,因此10BaseT设备必须设置为半双工)
9 10BaseT设备
对端设备可能是一个100Mbps的hub,或10/100Mbps速率但是配置为100Mbps only的switch。服务器设置为自动协商。协商过程如图10:
▶▶服务器启动,发现link fail,发送FLPs
▶▶对端设备启动后发送空信息
▶▶服务器并行检测功能检测到空信号,将控制权交给100BaseTX PMA,发送空信号
▶▶链路以100Mbps 半双工模式建立
10 未开启自动协商的100BaseT设备
对端设备可能是一个10/100Mbps的switch,设置为自动协商模式。服务器设置为自动协商。协商过程如图11:
▶▶两端设备启动后发现链路fail,发送FLPs
▶▶两个设备分别收到信号并解码对端能力
▶▶链路以100Mbps全双工模式建立
11 开启自动协商的10/100M设备
当链路两端设备设置的双工模式不匹配,一个全双工一个半双工,链路就会降速。当双方同时发送数据时,会发生以下情况:
▶▶半双工设备检测到冲突,导致发送数据失败,丢弃接收的数据,将尝试重新发送数据。
▶▶全双工设备不会重发数据,发现接收的数据是错误的,标记CRC错误
▶▶应用层超时并不断重发,导致速率非常低。
图12总结了所有速率和双工组合的情况
12 10/100/1000 BaseT设备配置表