基于争用型以太网的数据帧长研究

2014-08-01 03:50杨林海
江西科学 2014年3期
关键词:发送数据以太网总线

杨林海,潘 毅,徐 刚

(1.云南工商学院机电信息学院,651700,昆明;2.贵州工商职业学院,551400,贵阳)

0 引言

网络中使用的TCP/IP协议是基于OSI参考模型的,数据传输是经过传输信道的调制解调变化,依据传输协议来进行通信的过程。对传输速率影响较大的因素是传输介质和数据帧或包的大小及封装协议。数据传输速率是描述数据传输系统的重要技术指标之一,指的是每秒传输的二进制比特数。

1 网络访问控制方式

介质访问控制方式,也称信道访问控制方法,是指控制网络节点的数据发送、传输及接收。常用的以太网介质访问控制方式有TDM、CSMA/CD和Token Ring。

1.1 数据链路层的2个子层

为了使数据链路层能更好地适应多种局域网标准,IEEE802将局域网的数据链路层设计为LLC子层和MAC子层。LLC子层完全独立出来主为高层提供服务,MAC子层与底层相关联,LLC对不同协议都是透明的,与传输介质无关。

1.2 以太网提供的服务

以太网提供的服务是尽最大努力交付。信宿收到有差错的数据帧时就丢弃,差错纠正由高层决定。高层发现数据丢失则请求重传,以太网并不能判断这是请求重传的帧,把此帧作为新的数据帧来发送。以太网的连接介质类型很多,包括双绞线、光纤和同轴电缆等。同轴电缆作是总线类型的连接介质,光纤主要是用在高速通信主干和汇聚链路上,双绞线主要用于连接接入层。

1.3 以太网介质访问控制方法

争用型网络的特点是只要有一个节点发送数据,信道就会被占用,同一时间多节点发送就会相互干扰,使节点都无法正常发送数据,所以以太网必须采用相应的介质访问控制方法来协调。

CSMA/CD的特点是所有接点接在总线上,节点在发送数据之前,必须要先检测总线上是否有信息在传输,没有就发送数据,有信息就必须延迟重发。载波侦听多路访问,实际总线上并没有载波。这里的载波所指的是用来判断有没有信号传输的侦测信号。是以总线的方式使许多节点连接在一根总线上。“载波监听”是指节点在发送数据之前先要检测一下总线上是否有其他数据在发送,如果有则延迟发送,避免碰撞。“载波”不是指FDM,总线上实际没有“载波”。因此,“载波监听”指的是用电子技术判断总线上是否有其他节点发出的电信号。

CSMA/CA主要应用在无线网络中,是在一个共享信道之上支持多节点连接,由节点在发送数据前先进行信道的可用性侦测,若信道空闲,要等待一段时间间隔再发送。信宿正确接收数据后,要经过一段时间间隔,向源节点发送确认帧,若源节点在相应时间内没有收到确认帧,就必须重传,直到正确接收。信道从忙态转换为空闲时,各节点退避一段时间间隔以减少发生冲突的概率。IEEE802.11允许要发送数据的节点对信道进行预约。

2 争用以太网的“碰撞检测”

2.1 “碰撞检测”方法

“碰撞检测”就是节点边发送数据边检测信道上的信号电压变化。当总线上多个节点同时发送数据时,由于信号相互叠加,电压幅值变化将会增大。当信号电压幅值超过一定的门阀值时,就判断为总线上至少有2个节点同时在传输信号,表明总线上产生了碰撞。

2.2 以太网中的碰撞与故障

以太网中的碰撞是正常现象。检测到碰撞表明在以太网上同时有2个或更多的节点在传输信号。电信号由于不能叠加,在发生碰撞信号就会严重的失真无法恢复,结果使节点所发送的数据都失效,必须进行重传。以太网上的通信量强度决定了碰撞的可能性大小,冲突大小没有一个绝对的定量准则,以太网的优劣不能由碰撞决定。节点每冲突一次,所发的双边数据都要进行重新传输,这样必然造成信道的浪费,因此,冲突次数越多,信道的利用率就越低。

2.3 信号传输延迟会增加碰撞

侦听到总线是空闲时,也有可能总线并非真正是空闲的。信源发出的信号,要在信道上传输一定的时间后才能到达信宿。如果另一节点在前一节点信息到达信宿之前发送自己的帧,则总线上有2个帧存在,必然要发生碰撞,碰撞的结果是2个帧都失效[1]。争用型以太网只能进行半双工通信。每个节点在发送数据之后的一定时间内,由于数据传输的非实时性,存在着遭遇碰撞的可能性。碰撞使整个以太网的平均通信量远小于以太网的最高数据率。

2.4 以太网的争用期

争用期是指以太网端到端往返时间2τ,又称Collision Window。在以太网中,把端到端的传输单程时延用τ表示。发送数据帧的节点,在发出数据帧后最长经过2 τ就可知道发送的数据帧是否遭受了碰撞,经过相应时间还没有检测到碰撞,才能肯定此次发送没有发生冲突[2]。

2.5 退避算法

CSMA技术也称为LBT(Listen Before Talk),指的就是节点在发送数据之前,先进行信道的侦测,侦测到信道上有数据就不发送,没有数据发送再进行传送。基于这种机制的算法称为退避算法。常用的退避算法有3种:非坚持、1-坚持、P-坚持。

2.5.1"非坚持"算法"非坚持"就是在信道处于忙的状态时,本节点不坚持继续发送,而是在一个随机延迟后继续侦听,发现介信道空闲时才发送数据。

2.5.2"1-坚持"算法 当节点发现信道空闲时,它的数据传输成功率为1。发现信道忙后,随机等待一个延迟,继续侦听;此算法中,在发现信道忙时,不等待一个延迟,而是继续侦听,一旦发现空闲即立即发送,在数据传送过程中发生冲突时放弃当前的数据传送,等待一个延迟后再继续侦听。

2.5.3"P-坚持"算法P是指节点发送数据的概率,P小于1,此算法不是在一发现介质空闲时就发送数据,而是以一个概率来决定当前节点是否立即发送数据。达到尽量避免与其他节点发生冲突的目的。

3 以太网的帧长

3.1 以太网的最小帧长

CSMA/CD一旦发生冲突,必须让每个节点都能检测到。以太网通过规定了最小发送间隙和最小帧长来尽量避免冲突。如果两节点之间的距离很远而帧很小,接收方在帧到达目的地之前又开始发送,这样,接收方的帧已经发送完成,数据还在信道中传输,还没有到达目的节点中。接收节点由于还没有收到信息,误认为信道是空闲的,有可能向外传输数据,这样就会造成新的信道冲突。在发送节来说,误认为是发送成功了。信号传输是有时延的,因此检测冲突也需要一定的时间,这决定了以太网必须有最小帧长的限制。

按照标准,10 Mbps以太网采用5-4-3-2-1原则,电缆最大的通信长度为2 500 m,因此由以下公式可以计算出以太网一帧的最小发送时间为51.2 μs(电信号在以太网中的传输速度为(1.9~2.4)×108m/s)。

由公式(1)可得帧传输时间T的范围为(52.63-41.67 μs),取 51.2 μs,并定义为以太网时隙,或冲突时槽。

由公式(2),根据以太网时隙计算出传输的数据为512位(位时),这就是以太网最小帧为64字节的原因。在网络数据传输中,有了最小帧长的限制,网络中就不存在小于64字节的数据包了,如果有就会看作"碎片",即数据包在网络传输中受损[2]。这也是现在交换机3种转发方式中“碎片隔离式”定义为64字节的原因。

最小帧长保证了帧在发送完毕之前,能够侦测到可能最晚来到的冲突信号。为了"冲突侦测"机制成功,帧必须持续发送2τ时间(发送2τ时间上一数据帧还没有发送完)。τ的大小是由网络协议标准定义,当τ确定后,最短数据帧也被确定,反过来一个冲突域最大范围也被确定。

快速以太网的速率是以太网的10倍,在快速以太网中,规定帧的最小发送时间为5.12 μs,是传统以太网的1/10,时隙也是512位时,只是每帧的发送时间缩短了。

千兆以太网改变了每帧的发送时间和时隙值,与传统以太网有相同的帧长度、帧格式和数据传输机制,实现了 10 Mbps、100 Mbps、10 000 Mbps及10 G以太网的完全兼容。1 000 Mbps以太网的时隙增至 512 字节,即 4 096 位时,4.096 μs。

MAC层的速度越快,以太网的最大有效距离就越短。对于1 000 Mbps的以太网,MAC层如果保留CSMA/CD协议,必须面临碰撞侦测问题,这就要再一次减小网络的最大有效传输距离到25 m。如果不缩短网络的传输距离,就必须增加帧的长度,就像10 Mbps和100 Mbps以太网那样,让一个帧传输时间持续2τ以上。但有时高层数据帧长不够,就需要用数据填充来达到帧长的要求。

以太网在发送数据时,节点捕获信道的时间是512位时(64字节)。总线在数据发送过程中,如果发送的前64字节没有发生数据冲突,以后发送的数据都将不会发生。以太网帧中,帧头长为固定的18字节,帧中的数据最少为46个字节,这样的目的是保证数据的最小长度符合要求,如果长度太小,可以通过填充的方式来实现,如图1。

图1 以太网帧的主要字段

3.2 以太网的最大帧长

MTU是指通信协议上所能通过的最大数据包大小,通常与通信接口有关。

网络中的数据通信是把数据分为适合于网络中传输的多段,这些数据足够小,以保证最大数据也能通过网络中的最小转发链路。分片过程发生在OSI模型的第3层和第4层,第4层是OSI模型中最重要的一层,主要根据窗口控制传输,而不是MTU。

在数据传输过程中,通过QOS的试同进对发送方和接收方进行数据的发送快慢。在网络传输过程中,如果发现太大的数据,将对较大的数据包进行强制分组。在以太网中,最大的协议数据单元为1 500字节,当然,这个数据不包数据的帧头部分。在分组过程中,每个分片都有一个序号,目的是接到方接收到数据后,可以进行正确重组。网络中的最大传输单元是保证所有数据在网络链路传输过程中,能通过所有的链路节点[3]。

由于信道是所有节点共享的,数据帧太长,在数据的发送过程中每帧就会占用较长的时间,就会出现有的节点等待时间太长;数据到达接收点后,目标节点的重组缓冲大小是有限的,有的发送数据可能比接收端的缓冲区大小超出很多,造成缓冲溢出[4]。为了不让节点占有的时间太长,网络中制定了1 500字节这个规则,这样可以保证信道占有的公平性。

在802.3 ac里,在原来以太网帧的基础结构上,加入了对Vlan的支持,增加了4字节的帧长,帧长就有了1 522字节这个长度,结构如下图2。

图2 802.3ac以太网帧的主要字段

4 以太网的信道利用率

4.1 信道

信道是指信号的传输通道,是信号传输的载体。信息是抽象的,传输的是信息的物理表现形式。信道都有信源和信宿,在理论上,信道往往被分成编码、介质和译码,人们可以变更编码器、译码器以获得最佳的通信效果,而信道就指比较固定的介质部分。

4.2 信道容量和信道带宽

数据传输过程中,每条信道都有一个最大的传输能力,这就是所有的信道容量,信道的大小与信源无关。在网络中,信道传送的信号主要分为模拟信号和数字信号,如果模拟信号的容量,用信道带宽来描述,单位为HZ,模拟信号其实指的是一个频率范围。如果数字信号的容量,指的是单位时间内最大能传输的数据位数,用bps描述。两者之间可以通过香农定理来进行相互的转换。

4.3 帧长对信道冲突影响

争用型网络中,随着网络节点数量的增加,冲突的可能性越大,可根据数学的角度来计算具体的冲突过程。如果争用线路上共有N个节点,每个节点发送帧的概率都是p,网络中争用期长度为2τ,检测到碰撞后不发送干扰信号,延迟一定时间后重新争用信道。

如果帧长为L(bit),数据发送速率为C(bps),帧的发送时间为T0(s)=L/C。数据帧在发送过程中,也许要经过很多次的冲突才能最终到达目的地,冲突的次数越多,用的时间越长,信道占有的时间就越长。一个帧的发送时间可以用图3表示。

图3 发送一帧所需的平均时间

由于每个节点发送的概率为P,因此不发送的概率为1-P,节点正常发送成功的条件是其他节点都不发送。节点发送成功的概率用A表示:A=[本节点发送数据][其他所有节点不发送数据],表示为式(3)

节点发送失败的概率为1-A。如果节点发送失败了K次,而K+1次成功的可能性为Sn,令以下式(4)为①:

在上面公式的基础上变形公式,取式(5)为②:

由式①、式②的结果为式(6)

整理后可以得到结果式(7)为

当n→∞时:(1-A)n=0,n(1-A)n+1=0,得出以下结果见式(8):

根据以上结论可以得出,成功发送帧需要占用信道的时间为实际数据发送时间T0和一个单程端到端时延τ。当一个节点发送完最后一帧时,信号还要在以太网上传播,如果这时有其他节点发送数据,就会产生碰撞。任何数据帧在发送过程中,发送完一个数据帧,都要多延时一个τ时才能让出信道,这样做的目的是保证数据能正常到达信宿而不冲突。可以用一个参数a值来表示帧占有时间和新增延时之间的关系,表示为式(9):

当a→0时,表示只要一发生碰撞,就立即可以检测出来,并停止发送,因而信道资源浪费较少。在上式中,最终结果的大小表明数据信道的利用率,值越大,说明新增延时τ之和实际数据传输占有时间的比例越大,信道空的时间更多,没有得到更好的利用[5]。在实际传输过程中,希望是这个值越小越好。在理想化的情况下,假设各节点发送数据都不会产生碰撞,并且理想地利用网络的传输资源,即一旦空闲就有相应节点立即发送数据,这样,信道所有时间都在传输数据,没有新增延迟。在所有过程中,只有最终的一次延迟,可以表示为以下式(10)

由以上公式得出结论,参数a远小于1才能得到尽可能高的极限信道利用率。反之,参数a远大于1,则极限信道利用率就远小于1,而此时实际的信道利用率就更小了。

5 距离对帧长的影响

5.1 数据帧在电缆中的传输

电信号的传播速度是指电场的传播速度,不是电子的移动速度。电子的移动速度实际是很慢的,而电场的传播速度非常快,在真空中,传播速度接近于光速。如果用电信号和光信号来比较,一般都会说光信号快,原因是它们承载或者说携带的数据量不同。

不管用什么样的编码方式,电信号最终都有用高低电压(有时也用正负电压)来表示,信号的传输速度也就是这个高低电压(或正负电压)的变化速度。这个变化有极限限制的。光纤中传输的是光信号,是靠光的闪烁来表示,相对而言,光纤的闪烁信号比电信号的变化要容易得多,也就是所有的带宽速度不同。

电信号传输有衰减,从最初的C,传输到最后可能衰减到0.77 C(一般按0.7 C计算),光信号衰减相对较小,衰减会影响传送的数据量[6]。

5.2 距离变化对帧长的影响

在CSMA/CD协议的网络中,传输介质如果是电缆,传输速率为V(单位bps)。如果2个节点之间的距离改变ΔS,则该网络的数据帧长度也必须做相应的改变才能保证网络的正常传输。

传输速率R(单位bps),速度为V=C×0.7,帧长度为L以内,距离为S,则数据的实际传输时间T=L/V,由于网络的数据传输要求传输时间必须大于2τ,才能正常进行网络数据传输,可以得到以下式(11)

如果2个正常传输节点之间的距离发生变化了ΔS,相应的数据帧长度改变为ΔL,则根据以上公式得到式(12)

其中,增加的时间为ΔT,数据帧最终的变化为式(13)

5.3 帧对吞吐量的影响

吞吐量是指节点单位时间内成功传送的数据量。2个节点之间的延时是数据包从信源发出,到接收节点接收完所有数据为止。对延时的影响一般有2个方面:一方面是长距离传输的距离传输延迟,另一方面是设备转发延迟,实际情况主要要根据网络中的实际环境来分析。

对网络性能进行评估时,由于传输距离小,距离传输延迟远小于设备转发延迟,则网络中的端到端延迟t主要指的是设备转发延迟。如果发送窗口大小为L字节,则网络理论上网络吞吐量R可得出公式(14)[7]

6 结论

在以太网性能分析中,把单程端到端传播时延记为τ。如果节点发送的帧很小且2个冲突节点相距很远,数据产生冲突的可能性会变大,使网络的实际利用率降低。以太网的信道是所有节点共享的,如果数据帧太大会出现节点等待时间太长或接收端缓冲溢出。以太网最小和最大帧长、争用期及传输延迟对数据传输有较大的影响,传输距离改变相应的传输帧长也将随之改变,正确的分析和设计帧长将有利于进一步提高网络数据传输的可靠性和实时性。

[1] 杨丽曼,李运华,袁海斌.网络控制系统的时延分析及数据传输技术研究[J].控制与决策,2004,(4):361-366.

[2] 刘静,韦巍.不同网络结构的交换式以太网最大时延的研究[J].自动化仪表,2006(10):19-23.

[3] 刘映杰,马义德,李升刚,等.嵌入式设备与以太网互连系统的设计[J].微计算机信息,2008,24(32):8-13.

[4] Walsh G C,Ye H.Scheduling of networked control system[J].IEEE Control System Magazine,2001,21(1):57-65.

[5] 邹韵飞.网络不良通信行为的研究[J].江西科学,2010,28(6):849 -851.

[6] 万农,万雄.基于波分复用光纤网络的大电流实时监控系统设计[J].江西科学,2003,21(2):88 -91.

[7] 佟为明,赵晶.交换式工业以太网优先级调度机制的研究[J].仪器仪表学报,2007(12):361-366.

猜你喜欢
发送数据以太网总线
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
一种车载自组织网络的媒体接入控制协议
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
基于马尔科夫链的LoRaWAN网络节点性能分析
带标记方式的CRDSA++协议性能分析*
谈实时以太网EtherCAT技术在变电站自动化中的应用
使用IPSec安全传输数据
一种90W高功率以太网供电系统的设计
浅谈EPON与工业以太网在贵遵高速公路中的应用