基于Ad Hoc网络的数据快速传输方法
2016-07-15余秋哲谢凯龚康奕阮宁君
余秋哲,谢凯,龚康奕,阮宁君
(长江大学电子信息学院,湖北 荆州 434023)
贺建彪
(中南大学信息科学与工程学院,湖南 长沙 410083)
基于Ad Hoc网络的数据快速传输方法
余秋哲,谢凯,龚康奕,阮宁君
(长江大学电子信息学院,湖北 荆州 434023)
贺建彪
(中南大学信息科学与工程学院,湖南 长沙 410083)
[摘要]Ad Hoc网络是一种新型的自组网络,因其架设方便,应用范围不受环境设备的制约,在近年来得到了研究人员的高度关注。针对拥塞避免在Ad Hoc网络中无法区分丢包类别而错误启动致使传输效率下降的问题,将传统TCP协议拥塞控制算法进行优化,并在NS-2仿真软件中通过仿真试验证实该方法在Ad Hoc网络中传输速率更快、数据包的遗失率更低。
[关键词]Ad Hoc网络;TCP协议;网络拥塞;NS-2
Ad Hoc网络是一种新型的自组织网络[1],相较于传统网络,其没有专用节点,但其中各个节点又兼具转发包和路由的功能[2,3]。较之有线网络和传统的无线网络,Ad Hoc网络的灵活性和可靠性均较为优越。Ad Hoc网络技术已广泛应用于军事通信、灾后救援、个人局域网等方面[4],随着技术的愈发成熟,将运用到更多更复杂的通信环境。
Ad Hoc的架设特点使得网络中各节点运动轨迹不可预知,运动方式无法获得,从而节点间的通信缺乏集中管理,交通拥堵可以发生在任何中间节点。在Ad Hoc网络中,网络拥塞产生的原因往往不尽相同,所以在传输过程中,数据包的丢失也有所差异。传统TCP协议在此应用往往达不到需要的效果。传统的TCP协议中运用了4种机制来避免在通信中可能会出现的拥塞问题,分别是慢启动机制、拥塞避免机制、快速重传机制和快速恢复机制[5]。这些算法的最初设计是针对链路具有较高可靠性的有线传输网络环境,因此TCP协议在设计之初把网络中的拥塞原因主要归结为数据分组的丢失。但在自身的链路不稳定、节点移动导致的路由不稳定以及单个节点传输能力限制的Ad Hoc网络中,信道干扰强、误码率高和竞争激烈都可能造成网络拥塞,这些因素在传统TCP协议下不能有效的被区分,网络拥塞难以正确的解决,使机制的处理效果不明显[6]。越来越多学者已经意识到原来的TCP协议在Ad Hoc网络中不可避免的会产生各种各样的问题[7],并且可以改进的地方都是围绕链路层、网络层和传输层进行。
链路层的研究主要围绕Ad Hoc网络的中暴露终端和隐藏终端的问题对MAC层协议进行修改。有学者对802.11 MAC协议做了适应性修改,优化了避退算法和重传机制[8],同时多信道协议也被应用到Ad Hoc网络中,如跳预约多址接入协议(DC-HRMA)[9]、双信道接入协议(DCMA)[10]等。网络层的主要的改进在于路由协议的研究。有不少文献对DSDV、WRP、AODV、DSR、TORA、ZRP等路由的比较进行了研究[11~14],也有学者在这些协议的基础上进行修改,提出了LSDSR协议、 M-TORA协议等[15,16]。传输层的主要目的就是实现端到端数据的传输。传输层主要由2个基本的协议TCP和UDP组成,所以对Ad Hoc网络的研究就是对TCP或UDP的修改,有不少改进协议产生,如SRUDP、ARUDP、 TCP-aware、 Learning-TCP等[17,18]。
传统TCP协议中,丢包拥塞是拥塞的主要原因,通常通过减少穿过拥挤路径流做出响应[19]。其主要思路如下:只要发送方判断网络出现拥塞,就把ssthresh(慢启动门限值)设置为出现拥塞时cwnd(拥塞窗口)的二分之一,然后把cwnd置为1,执行慢开始算法[20]。当然,数据包的丢失也可能是由信道干扰等其他原因造成,但传统TCP协议只对有线传输的环境做出有效优化,在该情况中信道的影响对于传输来说可以忽略不计,为了协议的简便,有些学者在设计拥塞控制算法时只能对有线环境进行很好的应答。这些设计运用到移动频繁、端口节点不稳定、丢包原因多变的Ad Hoc网络中时,就显得有些不够实用。为此,笔者通过对原有拥塞控制机制的修改,使其能够更好的适应Ad Hoc网络的应用环境。
1改进算法
图1 改进算法流程图
在网络传输的过程中,产生丢包一般可以分为2种:拥塞丢包和随机丢包。拥塞丢包就是网络产生拥塞导致的丢包,这个也是有线网络中最常见的丢包行为,也是传统TCP拥塞控制算法解决问题的初衷;而随机丢包则可能是除网络拥塞以外一切能导致封包丢失的行为引起的丢包,在Ad Hoc网络中主要原因是节点移动链路不稳定,信道噪声干扰等因素引起。新拥塞避免算法主要重点区别这2种丢包行为,并对不同的丢包行为做出不同的应答方案,具体流程如图1所示。
在数据传输之前,数据的接收端需要和数据的发送端取得联系。通信的开始,先由数据的接收端向发送端发出数据请求消息;发送端收到来自接收端的请求消息后进行确认,并对其回复确认消息做好连接准备;最后,接收端收到发送端的确认消息后,向服务器发送消息表示已经准备就绪可以建立通信。
在TCP通信建立之后,发送端将产生一个cwnd(拥塞窗口)和一个ssthresh(慢启动门限值),其中cwnd=1,即一个流量包的大小。
通信开始初期,传输应用慢启动算法,试探性的逐步增大cwnd,来增大网络吞吐量。每当发送端收到一个来自客户端的确认信息ACK后,就对原有的cwnd进行增加:
cwnd=2*cwnd
(1)
直到网络通信出现问题。
在进行慢启动算法的同时,对每次从发送端发送的数据进行测速,求出发送速率最大值vmax和当前发送的瞬时速率v(t):
(2)
(3)
式中,RTT为流量包的发送时间;RTTmin为流量包的最小发送时间。
由于vmax可以近似的看做网络无拥塞时的数据传输速率,所以,当v(t) n=(RTT-RTTmin)×v(t) (4) 此时,可以通过n的值对丢包事件进行分析。在此,设计一个阈值m与n进行比较,如果n 当发生随机丢包事件时,由于认定丢包不是由网络拥塞所引起,所以用快速重传算法对丢失流量包进行重新发送。在此,令: (5) cwnd=ssthresh+3 (6) 以加大拥塞窗口,增大网络吞吐量。 当发生拥塞丢包时,则用拥塞避免算法,令: (7) 并将cwnd重新置为1。 当cwnd (8) 由此一来,cwnd重新增大,减小了网络数据包的注入量,让网络拥塞有足够的时间处理。 当拥塞处理完毕后,网络需要快速恢复拥塞窗口以充分利用网络带宽,故使用快速恢复算法: (9) cwnd=ssthresh+3 (10) 这样网络就成功处理了一次拥塞行为,重新恢复到正常的通信状态。 最后,所有数据发送完毕,客户端与发送端断开连接,通信结束。 2试验 NS-2可以对不同的网络环境进行仿真,该试验结果通过NS-2仿真软件仿真获得。 图2 试验Ad Hoc网络拓扑结构图 传统算法与新算法所产生的吞吐量如图3所示。从图3中可以明显看到新算法的吞吐量要大于原有算法,这就说明了使用新的算法后网络相比之前更加“通畅”,更多的带宽得到有效的利用,网络拥塞得到改善。 从图4(a)、(b)对比可以得出,新的协议产生的延迟时间明显低于传统TCP协议,经计算传统TCP协议产生的平均延迟时间为0.54672S,新协议产生的平均延迟为0.36259s,传输速度提升接近35%,达到了提升传输速率的效果。 图3 网络吞吐量对比图 表1是经过多次试验得到的网络丢包率平均统计结果,可以看出,改进后算法在丢包率方面较之原有拥塞控制算法有明显的下降,传输的稳定性有所提升。 表1 网络丢包率表 图4 网络延迟对比图 3结语 在充分研究Ad Hoc网络传输特点之后,发现其中原有的TCP协议拥塞控制算法无法合理的在Ad Hoc网络中使用。笔者在之前的基础上添加了判断丢包类型机制,使拥塞控制更加合理,避免了不必要的带宽浪费。试验证明,改进后的算法明显优于之前的算法,丢包率更低,传输速率更快,达到了设计的最初目的。 [参考文献] [1]钟梅,李云,赵为粮,等.Ad Hoc网络中支持QoS的MAC协议研究[J].重庆邮电学院学报(自然科学版),2005(4):464~467. [2]谢寿吾.移动Ad Hoc网络安全策略研究[D].武汉:武汉理工大学,2007. [3]孙利荣.异步移动Ad Hoc网络信任模型研究[D].西安:西北工业大学,2005. [4]冯彦君,张方舟,叶润国,等.Ad Hoc网络中一种基于端节点的启发式TCP改进方法[J].微电子学与计算机,2005(1):1~5+9. [5] Stevens W R.TCP/IP详解卷1:协议[M].范建华 等译.北京:机械工业出版社,2000. [6]宋建华.Ad Hoc网络路由的入侵检测方法研究[D].武汉:华中科技大学,2007. [7]郑少仁.Ad Hoc网络技术[M].北京:人民邮电出版社, 2005. [8]黄清艳.IEEE 802.11速率自适应及分段机制研究[D].长沙:国防科学技术大学,2006. [9]魏飞.基于跳预约多址接入的认知无线电MAC协议[J].电力系统通信,2007(6):31~34. [10]钟红艳.基于认知无线电Ad Hoc网络的多用户接入及通信调度的研究[D].南京:南京邮电大学,2014. [11]谢伟东.Ad Hoc网络OLSR路由协议的改进与实现[D].广州:华南理工大学,2010. [12]孙宝林,李腊元.多跳无线移动Ad Hoc网络路由协议的研究分析[J].小型微型计算机系统,2004(10):1737~1741. [13]李理岩.Ad hoc无线网络DSR路由协议研究[D].北京:北京邮电大学,2011. [14]施荣华,罗棋峰.一种MANET中基于位置信息的ZRP路由协议[J].湖南大学学报(自然科学版),2009(8):38~42. [15]谢伟东.Ad Hoc网络OLSR路由协议的改进与实现[D].广州:华南理工大学,2010. [16]刘强,匡镜明,王华,等.基于TORA的移动Ad hoc网络多径路由协议M-TORA[J].北京理工大学学报,2006(5):442~446. [17]张力,戴冠中.一种无线Ad hoc网络中的可靠UDP协议[J].计算机仿真,2009(2):162~165. [18]Zhu Jing,Niu Zhisheng.A Reliable TCP-Aware Link Layer Retransmission for Wireless Networks[A].2000 International Conference on Communication Technology Proceedings Volume Ⅰ of Ⅱ[C].Chinese Institute of Electronics,Chinese Institute of Communications,2000. [19]刘梅.面向无线多跳网络的TCP协议改进研究综述[J].计算机与现代化,2011(7):45~48. [20]李宁宁.Ad Hoc网络传输控制机制研究[D].济南:山东师范大学,2006. [编辑]洪云飞 [收稿日期]2016-02-29 [基金项目]国家自然科学基金项目(61272147);湖北省教育厅项目(B2015446);长江大学大学生创新创业训练计划项目(20150040)。 [作者简介]余秋哲(1994-),男,硕士生,现主要从事信号处理、信号传输方面的研究工作。 [通信作者]谢凯(1975-),男,博士,教授,博士生导师,现主要从事油气信息处理和三维地质建模方面的教学与研究工作;E-mail:pami2010@163.com。 [中图分类号]TN929.5 [文献标志码]A [文章编号]1673-1409(2016)16-0057-05 [引著格式]余秋哲,谢凯,龚康奕,等.基于Ad Hoc网络的数据快速传输方法[J].长江大学学报(自科版),2016,13(16):57~61.