APP下载

一种提高以太网确定性通信的方法

2014-01-01俞建定骆国庆

无线电通信技术 2014年6期
关键词:以太网延时数据包

王 银,俞建定,骆国庆

(宁波大学信息科学与工程学院,浙江宁波315211)

0 引言

以太网是开放的、数字化的通信网络,能简单方便地把工业控制网络和企业信息网络连接起来,实现工控企业管理的一体化,且通信速率极高,数据传输量超大,拥有良好的扩展性和自适应特性,相比其他通信协议它更具开放性[1]。这些优秀的性能使它成为了现在大部分局域网采用的最广泛的网络协议标准。我们的目的是在以太网基础上实现实时通信,实时通信网络的要求是数据传输时间的确定性,即保证在可以衡量的时间范围内系统得到响应。

为此,在过去的几年里,已经提出了多种基于以太网确定性通信方案的协议。此文中,将应用与CAN现场总线通信的相似传输特性。我们知道CAN网络是一个实时通信网络,广泛应用于现代工业场合,它对于少量信息的传输是一个最佳的通信协议。CAN总线上的信息有不同的优先级,优先级高的信息总是能获得访问总线的权限。因此,对于高优先级的信息的传输延时长短是可以保证的,能够进行实时传送,但是和其他网络通信协议相比,CAN总线有明显的不足,通信速率很小,最大才1 Mb/s,数据传输量也很小(8字节),难以满足大型数据传输的应用场合。鉴于此,在以太网基础上,结合CAN的实时传输特性,提高以太网的传输时间实时性,来满足现代工业控制场合的大数据实时传输控制要求。

1 以太网的传输特性

1.1 以太网协议

标准的以太网协议是以CSMA/CD(载波监听多路访问/冲突检测)技术为基础的,网络上的各工作站点对总线进行侦听以确认总线是否空闲[2]。如果监测到总线处于空闲状态,需要发送数据的站点就开始发送数据。如果两个或两个以上的站点同时开始传输数据,那么冲突就产生了。在这种情况下,访问机制会首先确保站点单元停止传输数据,而后根据预定义的随机选择算法,工作站点再次尝试发送数据。这个过程将会反复执行直到碰撞消失。

1.2 实时性

实时性的一个重要特征就是时间的确定性,通信时数据传输时间不是随机的,而是可事先确定的。若一个事件发生后,则系统会在一个可确切预料的时间范围内做到响应。反应速度由被控制过程来决定。对于高精密性的控制系统,实时性的要求就会更高了[2]。

由以上可知,虽然以太网具有很高的传输速率,但是却不能确保实现控制设备间的实时控制通信。如上以太网协议只确保了数据的安全传输,可是从确定性方面来看,这却是一个很大的障碍。它允许数据传输时间可以被任意推迟,所以也就不能实现数据的实时快速通信(时间的确定性)。要想使以太网技术在不改变其已有标准的大前提下实现以太网传输的确定性,以太网传输的确定性又由传输时的抖动和延时以及碰撞所影响,因此要找到一种解决方案来减少传输时的抖动、碰撞,来提高以太网传输的确定性[3-4]。

1.3 抖动

在高速传输通道中,抖动也是影响以太网确定性的关键因素,目前存在的常用的所有通信协议中,都有一定程度范围内的抖动。在实时控制系统中,抖动的范围应保证它可以衡量,使系统服务得到及时响应,若系统不能实时响应,有可能会引起灾难性后果,抖动示意图如图1所示。

图1 抖动

有关信息传输时的抖动的标准偏差如式(1)所示,N是数据包的总数量,xi是每个延时传输的数据包是每个包延时的平均值:

在下面的仿真分析中,将会用标准偏差来测试传输时的抖动性。

1.4 BEB算法及作用

算法原理:选取最小退让时间作为基数 ,假设2τ,也就是一个争用期时间。定义一个参数N,为碰撞后重传的次数,N=min[重传次数,10][5,6]。从离散型整数集合[0,1,2,……,(2N-1)]中,随机取出一个数记做R。那么重传所需要的退让时间为R倍的基本退让时间,如式(2)所示,即:

同时,重新传输的次数也不是不眠不休地进行,当已经重新传输了16次还不成功,就放弃该帧,发送失败,报告给高层协议。此算法的作用:站点检测到碰撞并发完阻塞信号后,为了降低再次碰撞的几率,需要等候一段时间,然后再传输数据[7]。二进制指数退让算法保证了这种退让操作的稳定,但是也带来了等待时间的不确定性,无法进行实时传输。

2 建模原理与实现

2.1 网络仿真模型原理

在通信网络中,当一个站点需要发送数据时,它会先监听总线(传输介质),若传输总线已被占用,它将推迟发送直到总线空闲。若多个站点同时检测到空闲并开始传输数据,那么碰撞就会产生[8]。在这种情况下,随机时间间隔的二进制指数退让算法的具体应用如下:

当碰撞发生时,每个CSMA/CD站点会选择一段时间延时来避免冲突,这段时间的大小由退让值来决定。每个单元在每次冲突碰撞中的退让时间值将会乘以2(最大值的上限为1 024)。初始化退让时间值为最小退让值,每个CSMA/CD站点根据平等分配原则在最大退让值范围内随机选择一个退让时间。当数据成功传输后,传输单元把退让值设置为0。如果同一数据包由于碰撞的发生,传输了16次还没成功,二进制指数退让算法将会强迫该单元丢弃该数据包,而且退让值也将会清零,若有新的数据包,则重新分配最小退让值。

2.2 网络通信节点组成

结合以上原理在Matlab上建立模型框架,控制系统由12个CSMA/CD站点组成,它们共享以太网总线带宽。为了能够评估系统传输数据时的平均延迟和消息传输时的抖动等特征。在这个特定的设置中,把所有的站点单元平均都以每秒100个数据包的速度传输数据,包的固定大小为128 bytes。每个站点单元由以下结构构成:数据处理有关的应用程序模块、MAC控制器管理以太网单元使用的共享通道和T型结点,把该站点链接到网络模型上,具体模型如图2所示(由于篇幅原因只画部分,共12个)。

在这个模型框架中,可以指定数据包生成率和应用程序块的数据包大小范围、MAC控制器块的发送缓冲区的长度。为了便于实验,规定缓冲区大小为20个数据包长度,发送速度为100数据包/s(数据源有一定的抖动:假设每个数据包抖动为10 μs(标准偏差))。

图2 仿真模型总框图

2.3 以太网通信网络模型的实现

在以太网通信方案模型中需要设置3步:首先要有同步触发信号,其次为每个以太网数据包分发一个发送时间槽,最后分配给每个MAC不同的最小退让时间。在这模型中,数据包的长度固定为128 bytes,传输速度为100 Mbps。固定的长度和固定的顺序使包的传输时间可以预测,减少数据包传输期间的碰撞。

同步信号:实时应用程序要求严格同步,以便于在定义的传输周期内,消息的传送控制得到保证。在这个模型中使用内部时钟信号作为同步信号,这意味着在这些站点中共用一个精确的时钟,以便于所有的站点能够给在自己的时间槽上传输数据。

专用时间槽:在这个通信网络模型中,为每个站点单元指定专有的时间槽,消息在各个已经分配好的时间槽上发送数据,避免发生碰撞。图3显示了通信方法。

图3 时间槽

应用不同的最小退让时间:尽管数据在已经定义好的各自的时间槽内发送,但是由于抖动的影响,有的CSMA/CD单元的传输时间可能超过它们的时间槽,从而引起冲突的发生。

对于这个问题,在半双工以太网通信网络中采用二进制指数退让算法(BEB),为每个站点单元分配专有的最小退让时间值。

3 测试数据采集及性能指标

我们的目的是通过分析研究不同的最小退让值和发送时间对实时通信的影响,所以在以下分析方法中,给这12个MACs分配不同的最小退让时间或者随机分配,或者按线性方法分配,以此来分析比较各种方法的性能。图4、图5、图6分别是在4种方案下测得的抖动、延时及碰撞次数的数据曲线图。

图4 抖动时间统计

图5 延时时间统计

图6 碰撞次数统计

方案一:线性增加最小退让时间。给这12个MACs线性分配最小退让时间,如表1所示。这种方法的思想是不同数据包在第一次发生碰撞时,给每个MAC站点单元线性分配不同的最小退让时间,然后运用二进制指数退让算法来降低数据包发送时的碰撞概率。因此,在此网络模型中指定的最小退让时间如表1所示,通信性能如图所示,最小抖动为0.690 1 ms,最大抖动为1.236 1 ms,平均抖动和平均延时分别为0.916 0 ms和1.221 9 ms,但是前一半的MAC站点单元的碰撞次数却很大,尤其是第一次竟达到112 228次,平均碰撞90 098次。

表1 退让时间

方案二:相同的最小退让时间,数据包在各自的时间槽中发送。同上述一样,在以太网通信网络中每个站点单元的最小退让时间均为51.2 μs,但是发送时间不同,每个数据包都在分配好的时间槽内发送。通过观察数据可知最大抖动为1.100 3 ms,最小抖动为0.696 1 ms,平均抖动为0.895 6 ms,平均延时为1.166 6 ms,冲突次数平均80 137次,明显减小。

方案三:相同的最小退让时间和相同的发送时间。在这种情况下所有的数据包的最小退让时间为51.2 μs,测 得 数 据 如 上 图 所 示,最 大 抖 动 为1.519 3 ms,最小抖动和平均抖动分别为1.012 1 ms和1.326 8 ms。平均数据传输延时为1.763 6 ms。观察可知,由于数据在相同的时间段发送,发生延时的时间和抖动时间明显高于方案一和方案二,对于实时性有较大影响。

方案四:随机分配最小退让时间。在这次模拟测试中,用产生的随机数乘以51.2 μs作为各个站点单元的最小退让时间值,如表1所示。这样做的目的是保证每个站点单元的最小退让值随机性不同,这样引起的抖动也小。随机产生的数所得到的最小退让时间值如表1所示,这种情况下统计得知最小抖动和平均抖动分别为0.465 6 ms和0.699 6 ms。最大抖动和平均延时分别为1.032 8 ms和1.061 5 ms。综合以上方案可知,当一个站点的最小退让值很大时,它的抖动也很大。总体来说,在不同的最小退让值时间情况下,随机产生的最小退让时间值能够有效避免站点单元重复进入退让状态。随机产生最小退让值的情况下,平均冲突次数也大幅减少到71 026次。

4 实验对比分析

通过以上4种方案实验结果对比分析,方案四为最佳,可以看出最小退让时间对网络通信性能的影响:较小的和相似的最小退让时间很容易引起较高的抖动。随机的最小退让时间能使站点单元不再重复进入退让(等待)状态,碰撞概率和抖动也大幅减少,提高了整个网络通信的快速实时性和成功率,而且还能很好地利用网络拥塞控制,充分利用了网络宽带,极大提高了网络通信性能[8,9]。

5 结束语

通过Matlab事件仿真模块构建了一个基于CSMA/CD协议的仿真模型。通过时钟同步信号触发,数据包在各个站点单元的时间槽内发送,当碰撞发生时,结合随机产生的最小时间退让值,应用二进制指数退让算法进行避让,减少冲突。在这个实验中,通过传输时的碰撞、抖动和延时来分析最小退让时间值对通信网络性能的影响[10]。实验结果表明,给MAC控制器选择合理的最小退让时间值,能有效减少延时和抖动。如果现实中有设备要求高,也可以为特定的某一个MAC站点单元指定一个专有的退让时间值,以期使它的抖动降到最低。通过这种简单的方法,在实际应用中,可以结合自己的需求,来减少站点的延时和抖动,可以有效提高以太网通信的确定性(实时性)。

[1] 缪学勤.实时以太网技术最新进展[J].电气时代,2005(6):64-68.

[2] 徐皑冬,王宏,邢志浩.工业以太网实时通信技术[J].信息与控制,2005,34(1):60 -65.

[3] 刘科.工业以太网实时通信技术及进展[J].工矿自动化,2005(3):53-55.

[4] 凌永发,高飞.动态二进制指数后退算法研究[J].计算机工程与应用,2007,43(21):57 -59.

[5] 姜庆标.退避算法中随机数范围对工业Ethernet实时性的影响[J].南京工程学院学报,2006,4(1):19 -22.

[6] 杜文凤,王博文.基于嵌入式的实时通信协议栈研究与设计[J].电子技术应用,2013(2):26-28.

[7] 赵国锋,邱作雨,张 毅.基于单片机的嵌入式.TCP/IP协议栈的设计与实现[J].计算机技术与发展,2009,19(3):137-140.

[8] 王志平,熊光泽.实时调度算法研究[J].电子科技大学学报,2000,29(2):25 -29.

[9] 赵伟,周侗,刘明哲.一种实时以太网模型及其性能测试实现[J].仪器仪表学报,2006,27(Z1):72 -74.

[10]孙晓峰,王中杰.基于MATLAB/SimEvents的网络仿真研究[J].网络通讯与安全,2007(12):1254-1258.

猜你喜欢

以太网延时数据包
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
基于级联步进延时的顺序等效采样方法及实现
日光灯断电关闭及自动延时开关设计
SmartSniff
谈实时以太网EtherCAT技术在变电站自动化中的应用
Two-dimensional Eulerian-Lagrangian Modeling of Shocks on an Electronic Package Embedded in a Projectile with Ultra-high Acceleration
浅谈EPON与工业以太网在贵遵高速公路中的应用
万兆以太网在连徐高速公路通信系统改造中的应用