Ethernet规范版本1.0是DEC、Intel及Xerox三家公司于1980年9月公布的。其由七小节组成,主要包括三个内容:1~3小节是Ethernet的总体说明,包括引言、参考文献、设计目标与适用范围;4、5小节描述层次与功能模块划分及层间接口;6、7小节详细规定了数据链路层与物理层的各项具体参数与要求,是该规范的实质所在。对版本1.0进行一些扩充与修改后,于1982年底公布了版本2.0.
Ethernet规范的主要目的之一是兼容性,即不同厂家生产的支持Ethernet规范的机器可以通过插头非常方便地接入任意一个Ethernet网络,而无须做任何硬接线与软参数的更动。为此,采取了如下措施:采用47位长的所谓“唯一地址”,包格式中引入类型域,规定两个严格定义的兼容接口——收发器电缆接口与同轴电缆接口。
图8.3.10 从客户层看到的Ethernet链路层状态
从客户层也就是较高层软件看,Ethernet规范非常简单。它由两个独立的过程组成:发送与接收,总共只有4个两两独立的状态,如图8.3.10所示。客户层有信息要发送时,调用链路层发送过程,并以目的地址、类型、待发数据作为参数。发送过程在发送结束后返回给客户层一个完成信息,或在冲突过多无法发送时,返回相应信息。客户层做好接收准备后,调用链路层接收过程。接收过程监督总线,一旦收到地址匹配的包,便将其各域内容作为结果返回给客户层,并将校验所得的差错信息一并返回。当然,这只是概念上的联系,实际网络中因还要加入与网络管理有关的接口联系,故远较以上结构复杂(例如Intel链路控制芯片82586需8种控制命令)。规范中规定的接口关系仅是层次划分的一种手段,并不完整。
下面介绍Ethernet规范版本1.0的主要规定及其设计考虑。
1、包格式
包格式如图8.3.5所示,其发送顺序是从前文开始发送,每个字节从最低位开始发送。
(1)最大包长度
最大包长度为1526字节:8字节前文+14字节包头+1500字节数据+4字节CRC.
为应用方便,一般不限制最大包长度。一份报文不分段地一次发完,既可节省软件开销,又可提高网络利用率。特别是象Ethernet这样的竞争式网络,包越短,为发完一份报文所需参加的竞争次数越多,从而冲突机会越多,冲突碎段占用的网络带宽就越大。理论分析与实测都表明,平均包长度越长,网络有效利用率就越高。因此,规范规定最大包长度为1526字节,这在分组交换网中是较长的。然而包长度还受另外两个因素限制:一是网络平均响应时间,包越长,一次占用信道的时间越长,其它结点等待发送所需要的时间就越长;二是缓冲区的限制,考虑到可能需要将完整的包缓冲区做在控制器内部及典型环境下报文长度多在500~2000字节之间,故规范选取最大包长度为1526字节(其中1500字节为用户数据)。
(2)最小包长度
最小包长度为72字节:8字节前文+14字节包头+46字节数据+4字节CRC.
当有用数据不足46字节时,要求客户层软件加入适量填料以凑足46字节。限制最小包长度是出于发送结点识别冲突的需要。如前所述,Ethernet有一个冲突窗口,如一个包的发送时间达到冲突窗口宽度,而发送器还没有检测到冲突,则在正常情况下该包就可无冲突地发送完毕。若一个完整包的发送时间不足冲突窗口宽度,由于发送器不发送信息时无法判定有无冲突,从而该包是否可不遭冲突地顺利到达目的结点便无从判定。其结果是:该包被冲突毁坏后不能安排重发,而要靠较高层软件加以恢复,这就极大地延长了送达时间。另一方面,限制最小包长度后,若接收器接收到一个短于最小包长度的包,即可判定其是冲突碎段,无需再去判定其CRC,从而方便了设计。
(3)前文
前文为
10101010 10101010 10101010 10101010
10101010 10101010 10101010 10101011即重复的“10”后接两个连续的“1”,共64位。
前文用于指示正文信息的到达。Ethernet采用的Manchester编码自身就能指示信息的到达,又规定这么长前文的原因是:
①采用锁相环方式译码时,需要一定的位数才能锁住相位,例如Intel的Ethernet串行接口芯片82501需要12位;
②收发器在信息到达后需经一定位数才能达到稳态,即包的头几位可能在传输中损失。由于最大配置的Ethernet传输系统可能在两个控制器间隔着四个转发器,损失的位数就可能更多。为了给译码器及收发器以较大的设计自由度,以便采用稳定可靠的设计方案,故规范安排了较长的前文。规范还规定:侦听到载波后,必须等待至少8位时间(800ns),放过不可靠的头几位,再去检测“10”之后连续的两个“1”。
(4)目的地址
目的地址共48位。第一位(最左位)为“1”时表示物理地址,为“0”时表示多向组地址,全为“0”时为广播地址。
采用这么长的地址是出于所谓“唯一地址”编址策略,即所有Ethernet网络中的所有工作站的物理地址都互不相同(共有247个不同地址——超过一百万亿个),从而一个工作站从一个Ethernet移到另一个Ethernet后无须更动地址。另外,在网络互连后,唯一地址还有利于跨网寻址。在Xerox公司设有一个专门负责分配这一百万亿个地址的机构。
广播地址指向网络中所有工作站,多向组地址指向一组由高层软件约定好的工作站,例如一个分布数据库系统中所有子数据库。据认为这两种方式在高层协议中很有用处,实现起来也不困难。多向组地址由高层软件设置,一个工作站可包含在多个多向组地址中。但在实际使用中,每个工作站多向组地址的数量必须限制,这是因为有限的控制器硬件在有限的时间内只能识别有限个地址,而在一定时间内识别不完将影响后继包的接收。
(5)源地址
源地址共48位。它必须是一个物理地址,也就是第一位必须为“1”。
源地址用于指出发送站。Ethernet链路层的接收控制部分并不需要这个源地址,只是将它原封不动地送交客户层,以备较高层软件执行确认应答等操作时使用。
(6)类型域
类型域共16位,内容不限。
Ethernet链路层本身并不需要类型域,也不去检测其内容,它是为较高层软件设置的。例如,有时需要在一个Ethernet链路层之上建立多个逻辑连接,它们遵守不同的高层协议(此时链路层以下相当于一个公共网络)。为了区分遵守不同协议的报文,可利用类型域为该包规定一个类型,以指出用何种协议去解释该包数据域内容。Xerox公司设有分配这些类型码的专门机构。
(7)数据域
数据域为46~1500字节,长度必须是字节位数(8位)的整数倍,内容不限。其没有安排包长域指示数据域实际长度,而由接收方在接收过程中进行计数(包界限由载波来指示)。
规定数据域内容由整数个字节组成,是为协助发现冲突造成的损坏。当包尾出现不完整字节时,称为“取齐(alignment)错”。规范规定,出现这种错误时必须报告客户层。
(8)包校验序列
包校验序列共32位循环冗余校验(CRC)码,产生的信息多项式为
G(X)=X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1
其校验范围为:目的地址、源地址、类型、数据。目的地址的第一位为信息多项式最高次项的系数。CRC码由高位到低位顺序发送。
较之16位CRC,32位有强得多的检错能力,目前还没有可供其专用的集成电路芯片,但可以将包括CRC校验的完整控制器做在一个硅片上。
(9)最小包间距9.6μs
最小包间距指总线上传输的前一个包的CRC最末位与下一个包的前文第一位之间的最小时间间隔。留出这个间隔是为保证控制器接收部分的恢复时间,以便于设计可接收连续包(又称为背对背包)的控制器。因而,一个控制器在发现总线空闲后,必须等待至少9.6μs才能发出自己的包。
(10)冲突滤除
每当收到正文(不含前文)长度不足64字节的包时,便将其作为冲突碎段舍弃。
2、控制过程
控制过程规定结点在争用总线时必须遵守的规则以及一旦遇到冲突时的分解办法。
(1)缓发
一个结点在总线上有载波或处在帧间最小空隙期间不得向总线发送信息。
(2)发送
一个结点在非缓发期间可以发送,只要包未发完且未遭到冲突就可持续发送。
(3)干扰串(Jam)(www.xing528.com)
干扰串的长度为4~6字节,内容不限,但不得为已发部分信息的CRC码。干扰串用于所谓“冲突——加强”,即保证各结点皆能检测到冲突。干扰串过短将起不到作用,过长则浪费总线带宽。一般讲,4~6字节时间对检测冲突是足够的。
(4)重发次数
重发次数为16次,指一个包由于冲突的阻碍中止发送后共可再试的次数(包括第一次发送),这是在不要求较高层软件干预情况下的再试次数。如一个包在发送16次后仍无法无冲突地发完,则表明总线过份繁忙,这种情况如何处理应由高层协议决定。
(5)后退算法
后退算法指截断的二进制指数后退算法。其规则是:将[0,M]之间一个线性随机数取整后作为延时槽位(时间片)数,这里M=2min(N,10),N为一个包已经遭到的冲突次数。影响后退算法的因素有两个:一是在信道负荷不太重时应尽快安排重发,以减少响应时间;二是在信道较繁忙时尽可能错开各结点重发时间,以降低冲突概率,维持信道稳定。理想的后退算法是:当n个结点冲突到一起时,每个结点在下一时间片重发的概率均为1/n.然而,每次冲突时究竟有多少结点参与是无从知道的,因而这种理想算法很难实现。截断的二进制指数后退算法按每个包连续遭到的冲突次数估计当前有多少结点参与竞争。开始时,延迟时间很短,随着冲突次数的增加,延迟时间成倍增大,当n=10时,区间已达[0,1024]。由于网中结点数不超过1024,此时即便全部结点都参加进来,每个结点重发概率也不过刚好达到理想算法所需数值(1/n),因而,区间在此截断。分析表明,这个算法在性能上很接近理想算法,而实现却非常简单。一般认为,采用更复杂算法以换得性能上的略微改进是不值得的。
(6)槽位长度(时间片长)
槽注长度为51.2μs(即512位时间)。槽位长度是随机延迟的单位,依赖于冲突窗口宽度,而冲突窗口宽度又依赖于总线最大往返延迟。规范规定总线最大往返延迟为45μs,即450b加上“冲突——加强”所需时间,取为2的整幂(以便计时),即得到槽位长度。槽位长度除作为随机延迟单位外,还决定最短包长度。
3、传输系统
这部分涉及Ethernet传输系统各部件的具体机械结构及电气参数,因而只作简单介绍。
(1)整体布局(参见图8.3.8及表8.3.1)
表8.3.1 传输系统最大往返延迟
单段同轴电缆最大长度为500m;
两结点间沿同轴电缆经过的转发器个数最多为2;
两结点连接路径中同轴电缆部分最大长度为1500m;
收发器电缆最大长度为50m;
远程转发器间点—点双绞线最大长度为1000m;
单段同轴电缆上两收发器间距离为2.5m的整数倍;
单段同轴电缆上的收发器个数最多为100;
最大往返延迟为45μs.
图8.3.8是最大布局的一个例子。两结点间电缆总长度及转发器、收发器个数决定了网络最大往返传输延迟,即冲突窗口宽度,因而不能认为有了转发器就可无限制地增加网络的覆盖范围。因收发器与转发器需要稳定时间,故可能“吃掉”一部分包前文。在前文长度一定的条件下,两结点间收发器与转发器个数就必须限制。尽管同轴电缆比双绞线有好得多的传输特性与抗干扰能力,但信号沿同轴电缆传输依然有可观的畸变与衰减,使信噪比增加,且传输率越高,影响越大。因而在合理的收发器价格下单段电缆长度将受到限制。分接器对同轴电缆阻抗的均匀性有一定影响,将造成许多反射点。虽然限制分接器的安装位置可在一定程度上减少这种影响,但个数依然不能过多。在Ethernet类型的网络中,数据速率与传输系统地域范围、布局灵活性及制造价格间较其它类型网络有更大矛盾。Ethernet规范是这些矛盾的一种折中方案。一般认为,Ethernet简化了访问控制的复杂性,但增加了传输系统的复杂性。
表8.3.1给出了最坏情况下传输系统最大往返延迟在各部件上的分配。延迟由前部损失与传输延迟两部分组成。前部损失即启动延迟,这是部件进入稳态所需的延迟,这期间要么信号无法通过部件,要么通过后不保证规定的波形,总之这些位将会损失;传输延迟即稳态延迟,这是部件稳定工作后信号通过时的延迟。
(2)信道编码
信道编码采用Manchester编码,编码时钟为10MHz±10-3Hz.
总线形信道中信号传输的一个问题是难以对接收信号进行补偿。这是因为接收信号传输的距离不同,且畸变程度也不相同,从而相位畸变较其它影响更为突出。Manchester码有较好的相位偏移容限,又比较简单,因而得到了广泛的应用。传输速率当然是越快越好,但它受两个方面的限制:一是网络最大地域覆盖范围;二是一般模拟电路精度及数字电路速度,特别是后者,在传输率超过10Mbps后较难实现。
(3)收发器电缆接口(参见图8.3.11及表8.3.2)
表8.3.2 收发器电缆连接器引脚分配
收发器电缆为四对装在一个屏蔽套内的双绞线,其特性阻抗为780Ω±50Ω,衰减为10MHz下50m长不超过3dB.两端用标准连接器分别与控制器及收发器相连(图8.3.9)。四对线分别是:发送信号线、接收信号线、冲突指示线(用10Hz方波信号指示)、电源线(12V~15V直流)。驱动信号为±700mV的差分信号。
收发器电缆接口是一个严格定义的兼容接口,目的是便于不同厂家设计生产的控制器与收发器能够混合使用。设置冲突指示线对是为能在收发器中识别冲突,因为控制器从输入线对中检测冲突较为困难。电源线对用于给收发器提供工作电源。
图8.3.11 收发器电缆驱动信号波形
注1:电压为收发器电缆驱动器输出处的差分值。
注2:上升与下降时间满足10.000系列ECL要求。
(4)同轴电缆接口
同轴电缆的特性阻抗为500Ω±2Ω(美国军用标准C17—E),500m长同轴电缆的衰减在10MHz下不超过8.5dB,5MHz下不超过6dB;同轴电缆端接器的特性阻抗在0~50MHz下为50Ω±0.01Ω,功率≥1W.收发器与同轴电缆的连接要求为:收发器的接收、发送端与同轴电缆间的距离小于3cm,引入的并联电容小于2PF.同轴电缆采用电流源驱动,驱动信号的波形为标称波形,如图8.3.12所示。
图8.3.12 同轴电缆驱动信号波形
Vk(高电平):-0.225V;Vc(低电平):-1.825V;Vd(平均直流电平):-1.025V.
注1:图中所示数值为同轴电缆与收发器连接处标称值;注2:电流方向以流入同轴电缆中心导体为正。
同轴电缆接口也是一个严格定义的兼容接口,目的是使不同厂家设计生产的收发器得以用在同一条同轴电缆上。采用50Ω电缆(而不是较常见的75Ω)有利于减少收发器引入的反射幅度。电流源驱动便于通过信号直流分量检测冲突。当多个收发器同时驱动总线时,信号直流分量必将超过规定的最大值。若采用电压源驱动,则多个驱动信号在电缆上混合后相当于线或,从而在两信号波形的某种组合下(尽管概率极小),可能检测不出冲突。但电流源驱动导致另一个问题:由于任何电流源的驱动能力都是有限的,故当参与冲突的结点数较多时,总线上电流将因饱和而没有任何跳变,从而不能依靠跳变侦听载波。因此规范规定载波指示应为信号跳变与冲突指示的逻辑或。规范没有规定收发器与同轴电缆的具体连接方法,事实上这是无关紧要的。连接方法有多种:一种是压力接头与接头盒,这种方法无须割断同轴电缆;另一种是T形连接器,这种方法要求割断同轴电缆,并将两个断面分别接到T形连接器两端。
(5)收发器
非发送态:输入阻抗电阻部分大于50kΩ,电容部分大于2PF,偏置电流在-2~50μA之间。
发送态:驱动电流满足同轴电缆波形要求(由于电流需向两个方向流动,因而应为图8.3.12所示电流的两倍)。
图8.3.13 收发器与同轴电缆连接示意图
与收发器电缆接口:提供驱动信号、端接匹配、冲突检测及电气隔离。
如前所述,冲突检测放在收发器中较易实现。电气隔离指结点与同轴电缆间的隔离,这是控制噪声干扰及防止因同轴电缆故障而损坏与之相连结点所必须的。电气隔离有电容耦合、变压器耦合、光耦合等多种方法。电容耦合共模抑制能力差;光耦合不易满足信号对称性要求;变压器耦合性能较好,价格也便宜。规范中收发器电缆接口的电气特性是按变压器耦合特性规定的。偏置电流是收发器的非发送态时,从同轴电缆拉出的电流,其与并联阻抗一起决定一段同轴电缆上可跨接的收发器数量。
(6)转发器
转发器的作用是:实现信号放大与再定时;恢复信噪比与对称性;出现冲突时,保证有关各方皆能及时检测到冲突。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。