Ad_hoc网络中TCP性能分析及改进研究

  • 格式:pdf
  • 大小:253.54 KB
  • 文档页数:4

2007年第24卷第9期微电子学与计算机

1引言

传统TCP协议是一种针对有线网络设计的可

靠传输协议,把丢包当做网络拥塞的标志,通过启

动拥塞控制机制减小发送速率来缓解网络拥塞[1]。在Ad-hoc网络中,除拥塞外,无线信道的高误码

率、路由频繁中断、多跳连接竞争共享的无线信道

等都会引起丢包。传统TCP协议直接应用于Ad-hoc网络时,它会把由非拥塞情况引起的丢包当作

拥塞来处理,从而启动不必要的拥塞控制机制,使TCP性能受到严重影响。文中从Ad-hoc网络自身特点出发,并结合TCP协议,对造成Ad-hoc网络TCP性能下降的原

因进行深入分析。提出了一种针对MAC层协议的

参数优化法,NS2仿真实验证明,该方法能够有效

提高Ad-hoc网络多跳情况下的TCP性能。

2Ad-hoc网络中的TCP性能分析

鉴于TCP/IP已经成为事实上的Internet标准

协议栈,作为Internet扩展的Ad-hoc网络也将广泛

采用它,因此分析TCP的性能并研究如何使其适应于无线Ad-hoc网络环境变得尤为重要。2.1无线多跳性对TCP性能的影响

在网络协议栈中,MAC协议主要解决当信道使

用产生竞争时分配信道使用权的问题。目前,IEEE802.11DCF已被广泛地接受为Ad-hoc网络的

MAC层协议,但它本身是针对单跳无线网络设计

的,当应用于Ad-hoc网络时存在着很多不适应,其

原因在于Ad-hoc网络是多跳共享竞争的无线信

道,存在着隐藏节点和暴露节点现象[2],进而引发

TCP的不稳定性和不公平性问题。

(1)隐藏节点情况如图1所示,根据TCP传输

机制,当A发送给C的数据经过B时,由于C侦听

不到A的发送,认为信道空闲,便发送ACK,结果与A发送的数据在B处产生冲突,最终导致节点B正

在接收的数据丢失,使TCP性能受到影响,此时C就是一个隐藏节点。

为解决隐藏节点问题,802.11DCF协议采

用收稿日期:2007-06-17基金项目:四川省教育厅项目(2005004028)国防科工委项目(2006A3120060264)Ad-hoc网络中TCP性能分析及改进研究

杨欢,江虹,陈容

(西南科技大学信息工程学院,四川绵阳621010)

摘要:对引起Ad-hoc网络TCP性能降低的原因进行了分析,并针对Ad-hoc网络的多跳特性对TCP性能的影响,提出了一种通过增大MAC层最小竞争窗口来减小信道竞争压力的参数优化法。NS2仿真实验结果表明提出的方案能有效地改善Ad-hoc网络的TCP性能。关键词:Ad-hoc网络;TCP性能;拥塞控制;NS2中图分类号:TP393文献标识码:A文章编号:1000-7180(2007)09-0045-04

AnalysisandImprovementforTCPPerformance

inAd-hocNetworks

YANGHuan,JIANGHong,CHENRong

(SchoolofInformationEngineering,SouthwestUniversityofScienceandTechnology,Mianyang621010,China)

Abstract:ThispaperanalysesthereasonsthatcausepoorTCPperformanceinAd-hocnetworks,andproposesaparameteroptimizationschemeagainstthemulti-hopscharacteristicofAd-hocnetworks.TheproposedschemecanreducethepressureofchannelcontentionbyincreasingtheminimumContentionWindowinMAClayer.SimulationresultsshowthattheproposedschemecanimprovetheTCPperformanceefficiently.Keywords:Ad-hocnetworks;TCPperformance;congestioncontrol;NS245微电子学与计算机2007年第24卷第9期

RTS/CTS机制来减少多个节点同时发送数据可能造

成的冲突。根据其二进制退避算法(BEB),当某节点

想要与其他节点通信时,随机退避一段时间Backoff_time=rand[0,CW-1]×SlotTime后(CW为当

前竞争窗口),节点发送RTS来预留信道,若发送端

在规定时间内未收到接收端的CTS帧,就加倍其CW,选择新的退避时间重复以上操作。CW1=CWmin,CWmax=27×CWmin。若节点发送成功,CW被重置为CWmin。显然,成功发送后的节点退避时间短,处于竞

争优先地位;节点传输失败次数越多,接入信道的

机会就越小,从而导致接入信道不公平性,使TCP性能下降。在图1中,根据RTS/CTS机制,当节点A需要

发送数据给B时,它会先发送一个RTS给B,在收

到B返回的CTS后,A便开始发送数据。由于C能

侦听到B发送的CTS,知道B正在接收数据,在该CTS帧包含的数据传输持续时间内,C不会向B发

送ACK。可见,RTS/CTS机制能较好地解决隐藏节

点问题。(2)RTS/CTS机制不能解决扩展的隐藏节点问

题。如图1所示,如果A发送给D的数据正经过B,通过RTS/CTS机制,C之前会收到B的CTS,而D收不到B的CTS。若D要发送ACK给C,D便先会

发送RTS给C请求建立连接,而C之前收到了B的CTS,知道信道非空闲,在该次数据传输结束之

前,不会发送CTS给D,此时D就是一个扩展的隐

藏节点。D在一定时间内没有收到C的CTS,便采

用BEB算法,增大CW后重新选择一个退避时间等

待再次接入信道。如果A有大量的数据要发送给B,根据成功传输节点处于竞争有利地位的原则,D

很可能再次竞争不到信道。当D连续7次发送RTS给C都未收到C的CTS,则会向上层发送路由失败

消息(RouteFailureNotification,RFN),网络层收到RFN后,继而进行复杂的路由发现过程。在找到新

路由前,所有存储在中间节点的需要利用该失败路

由转发的数据包均会被丢弃,TCP协议会把这种丢

包现象误认为拥塞,并进行不必要的拥塞控制,使TCP的吞吐量降低、稳定性变差。

(3)RTS/CTS机制同样不能解决暴露节点问

题。图1中,在C转发数据给D之前,会先发送一个RTS给D,收到D返回的CTS后,C便向D发送数

据。如果B需要转发ACK给A,由于它侦听到了C的发送,知道信道繁忙,便会推迟向A发送ACK,实

际上B向A的发送不会影响C向D的数据传输,此时B就是暴露节点。同样,节点B的发送不成功,便会采用BEB算法退避一段时间后再次尝试接入

信道。若连续7次发送RTS都未收到相应的CTS,便会报告路由失败,随后会进行不必要的路由发现

以及拥塞控制,而致使TCP的吞吐量下降、稳定性

变差。通过以上分析可知,Ad-hoc网络中扩展的隐藏

节点、暴露节点问题会使TCP性能下降。随着跳数

增加,隐藏节点、暴露节点会增多,TCP吞吐量降

低,稳定性也会变差。为了验证上述理论分析结果,文中采用NS2网络仿真软件,对Ad-hoc网络多跳

情况下对TCP性能的影响进行仿真。仿真环境为1500m×1500m的正方形区域,拓扑结构为由7个节

点组成的静态链式拓扑,相邻节点间的距离为200m,节点通信半径为250m,MAC层协议为

802.11DCF,路由协议为AODV,TCP、ACK分组大小

分别为1040字节和40字节,只在选定的发送端和

接收端之间建立一条TCP连接,仿真时间为150s。此次仿真称为实验1。结合前面的分析知,1跳情况下,由于802.11DCF工作在单跳Ad-hoc网络时,不存在隐藏节点、暴露节点,分组无需竞争无线信道,所以1跳时的

丢包率为0(如图2所示),TCP瞬时吞吐量稳定性

较好(如图3所示)。当跳数为2时,由于RTS/CTS机制能够解决隐藏节点问题,仍然不存在丢包现

象,瞬时吞吐量较稳定。3跳时,同时存在的扩展隐

藏节点与暴露节点的情况,使分组必须在每一跳竞

争信道,并只能在一跳内成功传输,因此3跳时,会

出现因目的端ACK无法接入信道而发生假的路由

中断,开始出现丢包。4跳时,扩展的隐藏节点和暴

露节点增多,数据包和ACK竞争信道的情况更严

重,丢包率明显增大,瞬时吞吐量剧烈抖动,有5次

达到了0。当跳数>4时,TCP源端与接收端相距较

远,分组可以在多跳链路上同时传输,丢包与稳定

性的情况有所改善。462007年第24卷第9期微电子学与计算机

2.2节点的移动性对TCP性能的影响

在Ad-hoc网络中,由于节点的移动性,经常会

发生路由中断。此时,中间节点会丢弃缓存中的数

据包,而TCP会把当前网络状态误判为拥塞进而进

行拥塞控制。由于路由已经中断,在RTO超时之前,TCP源端无法收到目的端的ACK,便会采用退避策

略重传数据包,并把RTO加倍,直至源端收到ACK。同时源端会减小发送速率,将慢启动门限设

置为当前拥塞窗口(cwnd)的一半,然后将cwnd置1,开始慢启动过程。这些措施对网络拥塞引起的丢

包有效,对于由路由中断带来的丢包则不合理。如

果路由重建不成功,TCP源端尽管减小了cwnd,但

重传只会使更多数据包丢失,浪费了带宽和节点有

限的能量;如果路由重建成功,源端会从慢启动阶

段以较小的速率恢复数据传输,增加了通信时间,造成TCP性能下降。以上分析通过实验2验证,本次仿真环境设置

为:30个节点在600m×600m的区域内,分别以1m/s、5m/s、10m/s、20m/s、30m/s、40m/s、50m/s、60m/s

的平均速度随机运动。场景中采用FTP业务流,随

机建立5条TCP连接,TCP与ACK分组大小分别

为552字节和40字节,路由协议采用AODV,仿真时间为300s。每一种平均速度下的分析结果都是对10组随机场景进行仿真后取得的平均值。从图4中

可以看出,当节点移动速度增加时,路由中断的概

率相应增大,结果导致端到端的平均吞吐量降低。

3相关工作

目前,国内外对于Ad-hoc网络中TCP性能的

研究,主要集中在分析并解决多跳连接、节点移动

导致路由中断这两个特性及其对TCP性能的影响

上。针对多跳性对TCP的影响,很多工作集中在MAC层,如文献[3]中提出一种在不同链路误码率的

情况下,适当增加重传门限来提高TCP吞吐量的方

法。针对Ad-hoc网络路由中断的TCP改进方案有

两类:一是利用网络层的反馈信息来提高TCP性

能,如TCP-F、TCP-Bus等;二是基于端到端的拥塞

控制方案,如FixedRTO、TCPDOOR等。

4针对Ad-hoc网络中多跳特性的TCP性能改进

在Ad-hoc网络中,802.11DCF协议不能很好

地解决多跳情况下的信道竞争问题,因此使TCP性

能受到影响。由前面分析知,当节点连续7次未能

接入信道时,则会误认为是路由中断,进而报告路

由失败。为避免这种情况,文中提出了一种针对MAC层BEB算法的参数优化法,即通过增大

802.11DCF的最小竞争窗口CWmin来改善TCP性

能。CWmin增大,发送RTS的退避时间会增大,节点

竞争信道发生冲突的概率减小,同时也减小了发送