您现在的位置:
发布时间:2022-05-16 22:45:43
时间:2016-07-27 10:57:21来源:网络收集Tags: ()
刘婷,何荣希
(大连海事大学信息科学技术学院,辽宁大连116026)
摘要:介绍利用OPNET仿真软件设计一个自动重传请求(ARQ)协议性能分析实验的方法,给出协议具体的建模过程。将这种实验与理论数据进行分析和对比,说明传播时间和滑动窗口大小对信道利用率的影响,最后指出通过仿真编程和实验数据分析,有助于学生更好地理解ARQ协议,提高教学效果。
关键词:自动重传请求;OPNET;网络仿真;理论分析
基金项目:辽宁省普通高校本科重点建设专业项目(ZG201409);大连海事大学教改项目(2014Y11,2014Q16)。
作者简介:刘婷,女,硕士研究生,研究方向为通信网络技术;何荣希(通信作者),男,教授,研究方向为通信网络技术,hrx@dlmu.edu.cn。
O引言
计算机通信网的课程内容主要集中在数据通信、局域网、广域网、通信协议等方面,该课程实验是理论与实践相结合、加强学生实践和创新能力培养的重要手段。由于受实验经费和场地等因素限制,许多高校开设的实验往往无法满足众多组网技术实验的需求。为解决这一问题,可利用OPNET、NS2、QualNet等网络仿真软件,围绕通信协议、网络应用等进行建模和编程,开设综合性和创新性实验,使学生直观体会通信协议的具体实现和工作过程,将抽象的网络概念形象化,最大限度地满足实验教学的要求,同时还可弥补传统实验在协议和算法教学等方面的不足。
安阳比较好癫痫病专科医院有哪些OPNET是一款当前业界领先的网络仿真软件,具有层次化的网络建模和图形化的仿真界面,带有大量标准的模型库,支持很多有线和无线网络标准。其建模过程分为过程( Process)、节点(Node)和网络(Network)3个层次。过程层次可模拟单个对象行为,使用有限状态机对协议建模,用Proto-C编程模拟状态之间的转移情况;节点层次将不同过程互连成设备;网络层次则将设备组成网络。使用OPNET平台可以进行实时仿真和全面组网研究,得到准确可信的结果,因此,其非常适合进行仿真教学和研究。
1 ARQ协议分析
自动重传请求(Automatic Repeat reQuest,ARQ)是OSI模型中数据链路层和传输层采用的错误纠正协议,它通过接收方请求发送方重传错误的帧来减少传输中的错误,可分为停等ARQ和连续ARQ(包括回退Ⅳ帧ARQ和选择重传ARQ)。回退N帧ARQ和选择重传ARQ是滑动窗口与请求重传两种技术的结合,当窗口尺寸足够大时,它们可在信道上连续传输数据帧,因此又称为连续ARQ。三者的主要区别在于对出错的数据帧采用不同的处理机制,其复杂性和传输效率依次递增。
在停等ARQ中,发送方发送完数据帧后将等待接收方的应答。如果收到发送成功报告帧,则发送后续数据帧,否则重传该帧。该方法所需缓存空间最小,但信道利用率很低,信道利用率为
式中:Pf为单个帧出错的概率;口为简化表达式所定义的参数,其值为
式中:trans为传输一帧所需的时间,也就是发送完一帧的所有比特需要的时间;tprop为从发送方到接收方的传播时间。
假设一帧包含,比特,信道误码率为Pe,则Pf可用式(3)表示,即
回退N帧ARQ的发送窗口大于1且小于等于2k-1(K为帧中序号字段比特数),接收窗口等于1,允许发送方连续发送数据帧。但是,一旦某帧发生错误,必须重新发送该帧及其后的Ⅳ帧。这种方式可以提高信道利用率,但是允许已发送有待确认的帧越多,可能要退回重发的帧也越多。当信道误码率较高时,将重复发送大量帧,会导致信道利用率降低。回退Ⅳ帧ARQ的信道利用率为
2 ARQ协议OPNET仿真建模
ARQ协议发送方和接收方的进程模型如图1所示。发送方由初始状态(init)、等待状态(idle)和发送状态(send)组成。初始状态完成统计量初始化,同时发送第一个数据帧以启动整个传状态判断是超时重传还是发送下一帧;发送状态完成后回到等待状态。对于停等ARQ,当收到ACK帧时发送下一帧;如果定时器超时,则发送缓存的数据帧。对于回退Ⅳ帧ARQ和选择重传ARQ,初始状态将发送窗口中全部的数据帧,二者不同之处在于收到NAK帧时发送状态的重传帧数不同。回退Ⅳ帧ARQ重传发送窗口超时帧及之后的数据帧,而选择重传ARQ则仅重传超时的数据帧。
ARQ协议的接收方由初始状态(init)、等待状态(idle)和接收状态(receive)组成。初始状态完成统计量初始化;等待状态用来等待中断到来;接收状态接收来自发送方的数据帧或RR帧,并进行应答,然后回到等待状态等待下一帧到达。停等ARQ的接收状态只发送ACK帧,不发送其他应答帧。回退Ⅳ帧ARQ和选择重传ARQ可发送ACK帧和NAK帧进行应答。选择重传ARQ由于只重传超时或出错帧,因此在接收状态设置数组来逐个记录超时或出错帧的序号,用于重传帧的判断;而回退Ⅳ帧ARQ仅用变量记录超时或出错帧的序号。
3仿真实验及结果分析
仿真实验的网络拓扑如图2所示,发送方(transmitter)和接收方(receiver)通过传输速率为l06bit/s的双向链路连接,传播速度为2×l08rr1/s,信道误码率Pb=10-5。数据帧长274bit,则一帧的传输时间为ttran=2.74×lO-4s。ACK和NAK帧长18bit,RR帧长2bit。在不同传播时间和滑动窗口大小下对3种ARQ协议的信道利用率进行仿真分析,并与理论分析值进行对比,结果如图3和图4所示。图中U表示信道利用率,SW analysis、GN analysis和SRanalysis分别表示停等、回退Ⅳ帧和选择重传3种ARQ协议信道利用率的理论分析值,而SWsimulation、GN simulation和SR simulation分别表示3种ARQ协议信道利用率的OPNET仿真值。
图3比较了在W=7时不同传播时间对3种ARQ协议信道利用率的影响。仿真中通过改变收发双方的距离来改变tprop值,从而改变参数口的值。从图3中可以看出,仿真值与理论分析值输;初始状态完成后,直接转移到等待状态;当有中断到来时,等待状态转移到发送状态;发送基本吻合。由于理论分析中未考虑节点处理帧的时间以及应答帧的传输时间,还假设应答帧以及重传帧不会发生错误,而仿真时并未进行上述简化处理,因此,仿真结果略小于理论分析值。从图3中还可看出,随着a的增大(收发双方距离增加,也就是传播时间增加),3种ARQ协议的信道利用率降低。其原因在于,停等ARQ发送方每发送一帧需等待接收方应答,传播时间越长,发送方等待时间越长,则信道空闲时间越长,因而信道利用率越低。对于连续ARQ,当传播时间较小时(2a+l≤W),在窗口耗尽前ACK和NAK能到达发送方,因此数据帧能连续发送,信道利用率很高(接近1);但是,当传播时间较大(2a+l≥W),在窗口耗尽时ACK和NAK还未到达发送方,导致信道有一段等待的空闲时间,信道利用率下降。另外,从图3中还可看出:在a相同时,连续ARQ比停等ARQ具有更高的信道利用率。其主要原因在于,在窗口耗尽前,连续ARQ可以连续传输帧,而停等ARQ只能逐帧传输,必须等到一帧正确接收后才能进行下一帧的传输,因此信道利用率较低。另外,选择重传ARQ仅重传发生错误的帧,与回退Ⅳ帧ARQ相比,可以减少已正确传输的帧不癫痫中医如何治疗必要的重发,有利于进一步提高信道利用率。
图4比较了在tprop=0.003s时滑动窗口大小对连续ARQ协议信道利用率的影响。当W=1时,连续ARQ等同于停等ARQ。从图中可以看出,滑动窗口越大,信道利用率越高。其原因在于,窗口越大,窗口耗尽的可能性越小,可以连续发送的数据帧越多,因而信道利用率越高。当W增大到2a+1,在应答帧到达发送方时,窗口刚好用尽,发送方可以连续发送数据帧,信道利用率接近1,再继续增大W,尽管应答帧到达发送方后剩余窗口更大,数据帧仍能连续发送,信道利用率接近1,但是变化不大。
4结语
OPNET是一款流行的网络仿真软件,在计算机通信网课程实验教学中引入OPNET仿真平台,利用OPNET仿真软件进行ARQ建模和协议性能分析实验,通过可视化结果直观比较协议的优劣,可以帮助学生更好地理解协议,有助于提高实验教学效果,增加学习的趣味性,培养学生自主学习和实践创新的能力。
参考文献:
[1]谢希仁.计算机网络[M].5版.北京:电子工业出版社,2009.
[2] Stallings W.数据与计算机通信[M],王海,张娟,张艳,译.9版,北京:电子工业出版社,2011.
[3]施苑英,基于软件仿真的现代通信网实验教学[J].实验技术与管理,2012,29(12): 94-96.
[4]王莹.基于NS-2的组播技术教学实验设计[J],电气电子教学学报,2012,34(2): 80-82.
[5]陈敏.OPNET网络仿真[M].北京:清华大学出版社,2004.
[6]百度百科.ARQ[EB/OL].[2015 -04-14].http://baike.baidu.com/view/407054.htm.
(编辑:杨涛)