APP下载

基于链路选择的TCP改进机制*

2010-06-03鲜永菊毕元梅

电子技术应用 2010年5期
关键词:包率接收端控制算法

鲜永菊,王 宇 ,毕元梅

(1.重庆大学,重庆 400065;2.重庆邮电大学 通信与信息工程学院 移动通信重点实验室,重庆400065)

目前,国内外的许多研究者致力于异构网络下TCP性能增强的研究,提出了各种改进机制[1-5]。然而,随着网络的发展,通信环境在不断变化。已有的大多数改进机制都是为了解决不同情况下的性能下降问题,其结果也只是针对某一特殊的网络环境进行了优化,目前仍未得到公认的解决方案。

随着无线通信的发展,网络已经不再局限于使用传统TCP协议的有线、单一同构网络了,而是呈现高度异构化的趋势,这给TCP带来了新的挑战。由于异构网络中TCP性能增强的重要性和紧迫性,出现了很多不同的TCP增强方案。如:针对随机丢包的Westwood[6];基于RTT测量的 Vegas[7];针对大带宽的高速 TCP(Highspeed)[8]等等。然而,由于通信环境的不断变化,没有一个完整的方案可以很好地适用于不同特性的网络。

因此,本文从提高TCP整体性能出发,设计一种新的TCP选择方案,其目的在于:在传输层,通过在同一个服务器上使用不同的TCP拥塞控制算法,实现与实际的链路质量的匹配,根据链路类型来调用与之相适应的拥塞控制机制。

1 显式链路信息获取方案设计

显式链路信息获取方案的设计如图1所示。

2 TCP-selective选择机制

发送端进行TCP拥塞控制算法选择标准如下:

当 Link type为fast类型时,如果调用传统 TCP,则有两种情况:一是每个TCP连接遇到丢包后窗口减半,然后再恢复至最大窗口的周期非常长。因为就单个TCP连接而言,其窗口变化规律大致可用一条呈锯齿形振荡的三角波来描述,它的周期和连接回路的往返时间及窗口大小相关。二是对于快速网络来说,传统TCP窗口增加慢,当拥塞发生时,窗口急剧减小,这就导致了大拥塞窗口在拥塞发生后恢复慢,限制了获取空闲带宽的能力,链路则在相当长一段时间内利用率低。因此,应采用一种适合快速链路的TCP拥塞控制算法,可考虑Highspeed及其改进算法。

用流程图表示Link type判断过程如图2所示。

图1 显式链路信息获取方案的设计流程图

拓扑结构如图3所示。send节点为TCP数据流发送方,receive节点为TCP数据流接收方。TCP连接从0时刻开始,仿真时间是 60 s。TCP数据流在 0~20 s时间内由发送端 send经网络 1中的 R1、R2、R3节点到达接收端receive。在 20 s时进行垂直切换,20~40 s内由发送节点send经网络2中的R5、R6、R7节点到达接收端receive。40 s时又切换到网络 1,在 40~60 s内由 send节点经 R1、R2、R3节点到达接收端receive;60 s时仿真结束。在整个仿真阶段,设定传送封包的大小为1 000 B,拥塞窗口的最大值

图2 Link type判断流程图

当 Link type为 satellite类型时,如果采用传统 TCP,一是较大的传输时延会减缓拥塞窗口增长的速度。在慢启动期间,用户必须等待一个往返时延收到后才能发出新的数据包,带来比较明显的效率下降。较大的时延变化量也会干扰对RTT的估计,从而影响TCP的定时机制,带来不必要的超时重传,进而错误地改变发送窗口的大小,降低带宽利用率。二是卫星链路由于受到天气状态、多径效应、阴影效应等影响,误码率大大提高,而传统TCP不会区分数据包丢失是由于传输错误还是由于拥塞造成的,丢包原因都被解释成网络拥塞。当接收到一个损坏的数据包时,即使没有拥塞发生,窗口的大小也随即变为原来的一半,容易造成误判,对卫星链路TCP性能产生很大的影响。因此,应采用适合卫星链路的TCP拥塞控制算法,可考虑Vegas及其改进算法。

当Link type为wireless类型时,如果将传统的基于有线环境的TCP技术应用于无线环境,则会造成大幅度的性能减退。在无线环境中,丢包的原因不再是唯一的,它可能是由拥塞引起,也可能是由无线链路错误引起。因此无线网络中如何有效区分丢包原因并据此做出正确反应成为提高无线网络TCP性能的关键。在这种链路环境下,本文考虑调用适合无线链路的TCP拥塞控制算法,具代表性的有Westwood及其他改进算法。

当Link type为wired类型时,传统的 TCP最初就是面向这种网络环境而设计的,所以采用的前提假设也反映了这种网络承载的特点,假定报文丢失是由于网络拥塞引起的。因此,可以沿用适合有线链路的TCP拥塞控制算法,通常采用NewReno。

3 仿真分析

本文利用NS2[9]仿真软件,结合提出的新方案,对基于链路选择的改进TCP机制TCP-selective的性能进行仿真分析,将其与传统的单一TCP拥塞控制算法用于所有链路的方式进行对比。为10 000。采样间隔为 0.3 s。仿真实验中,将改进的拥塞控制方案与原来采取单一拥塞控制的方案进行仿真比较。

网 络 1 参 数 :RTT=30 ms,BW=300 MB,PER=8×10-4; 网络 2 参数:RTT=10 ms,BW=1 GB,PER=1×10-4。由于网络 1误包率较高,考虑采用 Westwood,网络2带宽很大,考虑采用Highspeed。图 中 ,v 表 示 Vegas,h 表 示 Highspeed,s 表 示 Selective,cwnd表示拥塞窗口,goodput表示接收端累积吞吐量。

分析:从图4来看,Westwood用于误包率较大的网络1时拥塞窗口性能良好,而在图5中,由于Highspeed对误包率很敏感,拥塞窗口下降非常大,性能受到严重影响,以至后面的仿真时间里拥塞窗口几乎为0。但是通过图6,采用新的TCP-selective,在网络1时采用Westwood,进入网络 2后,则采用 Highspeed。通过图7的比较,不难发现尽管在从网络1切换到网络2时,拥塞窗口性能比Westwood稍差,但是由于Highspeed在用于误包率低的高速网络2非常适合,平均拥塞窗口上升非常大。同时,又避免了Highspeed在用于误包率较高的网络1时出现的严重性能下降。

从表1中可以看出,在此异构网络情况下,由于网络1误包率较高,使得Highspeed发送数据包很小,而采用Westwood虽然可以提高发送数据包数,但丢包率也增加到了35%。而如果采用新方案selective,则不但发送数据包增加了,网络利用率增大,而且丢包率也减小到了0.23%,性能得到了明显改进。

表1 丢包数、丢包率比较

分析:对比图8和图9可以看出,Westwood的接收端吞吐量高于Highspeed,这是因为Westwood是基于带宽估计的拥塞控制机制,受误包率影响较小,而Highspeed在误包率高的网络环境下性能会变得非常差。而在图10中,Highspeed在误包率较低的网络2下又获得了比Westwood更好的吞吐量性能。从图11中,可以清楚地看到,新方案TCP-selective从20 s进入网络2直到60 s仿真结束,接收端吞吐量性能有了2倍左右的提高。

本文重点研究了异构网络下基于链路选择的TCP性能增强问题。

为了克服传统TCP方案,本文提出了一种基于链路选择的改进TCP机制TCP-selective,通过在IP报文头里面添加Link type选项的方法,利用路由器记录链路类型信息。接收端对链路类型进行判断,并通知发送端,然后发送端根据Link type选择合适的TCP版本,通过这种可选择的方法,满足不同链路特性的需要,从而提高异构网络下TCP的整体性能。

本文通过NS仿真软件搭建了2种不同的网络场景,对这种可选择新方案的性能进行了分析。结果表明,采用基于链路选择的改进TCP方案和原有的单一TCP版本相比,丢包率下降,减少了拥塞,吞吐量提高了,结果表明改进方案获得了更好的性能。

[1]QU Da Peng,XUE Jian Sheng,FAN Tie Sheng.A new way based on relative forward delay to improve TCP performance over heterogeneous networks[C].Wireless Communications,Networking and Mobile Computing,2007:1821-1824.

[2]LIN Cui,KOH S J,XIN Cui,YONG Jin Kim.Adaptive increase and adaptive decrease algorithm for wireless TCP[J].Natural Computation,2007(2):392-398.

[3]FERGNANI F,MAZZINI G.Transparent TCP improvement over satellite links[C].Software,Telecommunications and Computer Networks,2007:1-5.

[4]FEI Peng,ALNUWEIRI H,LEUNG V C M.A novel flow control scheme for improving TCP fairness and throughput over heterogeneous networks with wired and wireless links[J].Communications,2005(5):3565-3569.

[5]ROJAS O R,OTHMAN J B.A solution to improve the TCP performance in the presence of handoffs in wireless IP networks[C].Autonomic and Autonomous Systems and International Conference on Networking and Services,2005:13-14.

[6]CASETTI C,GERLA M,MASCOLO S.TCP westwood:End-to-end congestion control for wired/wireless networks[J].Wireless Networks,2002,8(5):467-479.

[7]BRAKMO L,PETERSON L.TCP Vegas:End-to-End Congestion Control in a Global Internet[J].IEEE Journal on Selected Areas in Communications,1999,53(8):1465-1480.

[8]FLOYD S.HighSpeed TCP for large congestion windows[S].IETF RFC 3649,Dec.2003.

[9]FALL K,VARADHAN K.The ns Manual[M].2000.

猜你喜欢

包率接收端控制算法
支持向量机的船舶网络丢包率预测数学模型
基于扰动观察法的光通信接收端优化策略
一种基于喷泉码的异构网络发包算法*
顶管接收端脱壳及混凝土浇筑关键技术
电磁线叠包率控制工艺研究
一种设置在密闭结构中的无线电能传输系统
基于多接收线圈的无线电能传输系统优化研究
基于ARM+FPGA的模块化同步控制算法研究
TCN 协议分析装置丢包率研究
一种优化的基于ARM Cortex-M3电池组均衡控制算法应用