Linux内核中拥塞控制算法的比较分析

2015-03-14 05:34骆金维李春飞广东创新科技职业学院计算机与通信系广东东莞53960广东松田职业学院广东广州5370

骆金维,李春飞(.广东创新科技职业学院 计算机与通信系,广东 东莞 53960)(.广东松田职业学院,广东 广州 5370)

Linux内核中拥塞控制算法的比较分析

骆金维1,李春飞2
(1.广东创新科技职业学院计算机与通信系,广东东莞523960)(2.广东松田职业学院,广东广州511370)

摘要:采用网络测试床的实验研究方法,在Linux网络测试床上对内核中的Cubic、Htcp、Hybla、Westwood和Veno这5种拥塞控制协议在不同的网络环境下就链路利用率、RTT公平性和TCP友好性3个性能指标进行测试实验,分析实验结果,评价这些算法的优劣以及局限性。在此基础上结合Cubic和Veno,设计并实现了一种新的环境自适应拥塞控制协议CVTCP,对其进行了性能评价测试。实验结果表明,CVTCP在RTT公平性和TCP友好性没有明显下降的同时,在不同的网络环境下都能获得较高的链路利用率,具有很好的环境自适应性。

关键词:网络测试床;拥塞控制协议;性能评估;链路利用率;RTT公平性;TCP友好性

0 引言

传统的TCP拥塞控制协议在卫星网络、高速延迟网络、无线网络等网络环境下存在性能不佳的问题。学者们提出了很多改进算法,如Cubic[1]、Htcp[2]、Veno[3]、Westwood[4]、Hybla[5]等。上述改进算法都是针对某一特定网络类型的,其中,Hybla针对卫星网络,Cubic、Htcp针对高速延迟网络,Veno、Westwood针对无线网络,这些算法在不同网络类型的性能表现可能劣于传统的TCP。笔者对这些典型的改进协议在不同的网络类型下进行性能测试评价,同时研究如何实现环境自适应性,使得在不同的网络环境下,拥塞控制协议都能获得较高的性能。

传统实验性能评估方法的局限性以及Linux的开源特性,使得研究人员更热衷于搭建基于Linux的真实网络测试床来对协议进行性能测试与评估。笔者构建了Linux网络床,通过使用Netem[6]来设置不同的链路利用率和不同的RTT,模拟不同的网络类型。在不同的网络类型下,对Linux内核中Cubic、Westwood等5种拥塞控制协议进行实验分析比较,从链路利用率、RTT公平性和TCP友好性这3个方面来评价协议的性能优劣。结合Cubic和Veno,设计并实现了环境自适应拥塞控制协议CVTCP,并对其进行了全面的性能测试。

1 性能分析

使用Cubic、Westwood等5种拥塞控制算法作为待测试协议,在不同链路丢包率、网络环境下对这些协议的链路利用率、TCP友好性和RTT公平性等指标进行实验研究和性能评估。

1.1实验环境配置

所有的测试实验都是在Linux测试床上进行的,网络拓扑图如图1所示。测试协议均采用内核的默认参数。通过Netem设置带宽,利用不同的RTT和链路丢包率来模拟现实中形态各异的网络类型,采用Iperf[7]作为流量产生器。参考HOWTO文档[8]可对Linux网络测试床进行构建和配置。

图1 Linux测试床网络拓扑图Fig.1 Net topological diagram of Linux testbed

1.2链路利用率

链路利用率为拥塞控制协议性能的重要评价指标。高带宽延迟网络环境实验设置为:RTT分别设置为50、100、200、400 ms;队列采用bFIFO,队列长度为BDP;链路丢包率为0;所有的链路均100 Mbps;测试时间设为600 s。实验结果如图2所示。无线网络环境实验设置为:链路丢包率分别设置为10-5、10-4、10-3、10-2;队列采用pFIFO,队列长度是默认值1 000;RTT为50 ms;所有的链路均10 Mbps(指定自适应网卡的工作模式);测试时间同前。实验结果如图3所示。

从图2中可以看出,Cubic、Hybla和Htcp表现较好。从图3可以看出,Westwood、Hybla和Veno表现良好。综合来看,Hybla在两种网络下都表现出良好的性能。

图2 不同RTT延迟环境下的吞吐量Fig.2 Throughput under different RTT delayed environment

图3 在不同链路丢包率环境下的吞吐量Fig.3 Throughput under different link packet loss environment

1.3RTT公平性

网络中流与流间的RTT差异性较大。RTT公平性是TCP拥塞控制公平性问题的主要表现之一。本实验同时运行两条协议流,一条流的RTT设置为50 ms,另一条流的RTT分别设置为50、100、200、400 ms;高带宽延迟网络环境设置同前。实验结果如表1所示。无线网络环境设置链路丢包率10-3,其他设置同前。实验结果如表2所示。

表1 高带宽延迟网络环境下不同RTT的协议流吞吐量之比Tab.1 Ratio of protocol flow throughput with different RTT under high bandwidth delayed net environment

表2 无线网络环境下不同RTT的协议流吞吐量之比Tab.2 Ratio of protocol flow throughput with different RTT under wireless net environment

从表1中可以看出,当RTT的比值为8时,Htcp的RTT公平性最差。从表2中可以看出,当RTT的比值为8时,Cubic的RTT公平性最好。综合来看,在两种网络环境下Westwood和Cubic的RTT公平性表现最好。

1.4TCP友好性

对传统TCP Reno协议流的TCP友好性,是评价协议性能优劣的又一重要指标。本实验同时执行两条协议流,为Reno流和改进协议流。设置高带宽延迟网络环境中RTT为200 ms。实验结果如图4所示。设置无线网络环境中RTT为50 ms,链路丢包率10-2。实验结果如图5所示。

图4 高带宽延迟网络环境下的TCP友好性比较Fig.4 Comparison of TCP friendliness under high bandwidth delayed net environment

图5 无线网络环境下的TCP友好性比较Fig.5 Comparison of TCP friendliness under wireless net environment

在相同的网络环境下,两条Reno流高速网络下的平均吞吐量为34.3 Mbps,无线网络下的平均吞吐量为1.77 Mbps。从图4和图5可以看出Westwood的友好性最佳,这是因为其带宽预估的机制,能很好地判断当前带宽的可用值,不侵占Reno流的带宽。

2 环境自适应拥塞控制协议CVTCP

2.1CVTCP的设计思想

CVTCP的主要思想是集成高速改进协议的快速窗口增加机制和无线改进协议的丢包区分功能的窗口增加机制,从而实现对拥塞窗口的控制,使其能在不同网络类型中获得良好性能,从而实现环境的自适应传输。Cubic对高速环境具有良好的适应性,而且具有很好的TCP友好性和RTT公平性。在无线的改进协议中,Veno通过区分无线丢包和拥塞丢包,实现对无线丢包和拥塞丢包的区分性响应。因此,CVTCP结合Cubic的快速窗口增加机制和Veno的倍乘减少机制来实现对拥塞窗口的控制。

2.2CVTCP的拥塞控制机制

CVTCP的慢启动机制类似Reno。当拥塞窗口低于慢启动的阈值时,进入慢启动,每接收到一个ACK,拥塞窗口均加1。拥塞避免阶段,通过比较diff与γ来判断丢包情况。当diff<γ时,认为当前丢包为无线丢包;否则认为是因为拥塞而导致的丢包,进而采用不同的计数值来对拥塞窗口进行控制管理。伪代码描述如下:

if(CW > ssthresh)//当前的拥塞窗口值大于慢启动阈值

Wcubic= C(t–k)3+ Wmax;//计算拥塞窗口目标值

CNTcubic= CW / | Wcubic-CW |;//计算拥塞窗口的增加幅度

diff=CW–CW * Basertt / rtt;

if(diff

//保证增加速度至少和Reno一样快

Count = Min(CNTcubic,CW);

if(tcp_cnt > Count)

CW++;//拥塞窗口加1

else

tcp_cnt++;//收到的ACK计数器加1

endif

else //是拥塞丢包

Count=CNTcubic;

if(tcp_cnt > Count)

CW++;//拥塞窗口加1

else

tcp_cnt++;//收到的ACK计数器加1

endif

endif

endif

2.3CVTCP性能分析

在Linux内核中实现了CVTCP协议,并在网络测试床上设置高带宽延迟和无线两种典型网络环境,在链路利用率、RTT公平性和TCP友好性3个方面比较CVTCP与Reno、Cubic和Veno,实验设置同前。

2.3.1链路利用率CVTCP协议高带宽延迟网络实验结果如图6所示,无线网络实验结果如图7所示。

高速网络下,CVTCP的链路利用率与Cubic相差不多,这是因为CVTCP采用Cubic的窗口增加机制,其增加速度不亚于Cubic。在无线网络下,CVTCP借鉴了Veno对丢包性质进行区分的思想,并对该思想加以改进,能有效区分丢包,性能良好。

图6 不同RTT延迟环境下的吞吐量Fig.6 Throughput of different RTT delayed environment

图7 不同链路丢包率环境下的吞吐量Fig.7 Throughput of different link packet loss environment

2.3.2RTT公平性RTT公平性在高带宽延迟网络中实验结果如表1所示,在无线网络中实验结果如表2所示。

从表1和表2中可以看出,CVTCP的拥塞窗口增长函数是关于时间t的函数,相对Reno,RTT公平性有了明显的提高,继承了Cubic的良好的RTT公平性。

2.3.3TCP友好性TCP友好性在高带宽延迟网络中实验结果如图8所示,在无线网络环境中实验结果如图9所示。

图8 高带宽延迟网络环境下CVTCP的TCP友好性比较Fig.8 Comparison of TCP friendliness of CVTCP under high bandwidth delayed net environment

图9 无线网络环境下CVTCP的TCP友好性比较Fig.9 Comparison of TCP friendliness of CVTCP under wireless net environment

高带宽延迟网络环境下CVTCP的TCP友好性和Cubic相当,对Reno流友好性稍微不佳,但是其两流的总体利用率很好,即通过牺牲TCP友好性来提高带宽的总体利用率。无线网络环境下CVTCP既没有侵占Reno流的带宽,表现出很好的TCP友好性,又充分利用剩余带宽,提高了带宽的整体利用率,且在带宽的总体利用率上较Veno改善很大。综合看来,CVTCP在两种网络环境下都表现出很好的TCP友好性,较Cubic和Veno的性能有了很大的改进和提高。

3 结论及展望

本研究的主要工作是在不同的网络环境下,就链路利用率、RTT公平性和TCP友好性3个方面,对Linux内核中的Cubic、Htcp、Hybla、Westwood和Veno这5种拥塞控制算法在Linux网络测试床上进行测试比较。实验结果表明,Westwood综合性能表现最好,这主要归功于其优异的带宽估计机制。结合Cubic 和Veno设计的CVTCP的实验测试结果表明,CVTCP不仅继承了Cubic和Veno的TCP友好性和RTT公平性,而且能够同时在高速延迟网络和无线网络中获得较高的链路利用率,具有很好的环境自适应性[9-10]。本实验采用的网络拓扑比较简单,且没有多瓶颈、长流、短流、突发流等复杂的网络因素,讨论复杂网络环境下协议的性能,是下阶段的主要工作之一。笔者只对链路利用率、RTT公平性和TCP友好性进行研究,没涉及其他网络性能参数,如窗口稳定性、收敛性等,接下来的工作中,将展开进一步的研究。同时,将研究更多、更好的环境自适应拥塞控制算法。

参考文献(References)

[1]WEI BAO,WONG V W S,LEUNG V C M.A model for steady state throughput of TCP CUBIC[C]//IEEE Global Telecommuni⁃cations(GLOBECOM2010).Miami,Florida,USA:IEEE Press,2010:1-6.

[2]SHORTEN R N,LEITH D J.H-TCP:TCP for high-speed and long-distance networks[C]//In Proc of PFLDnet 2004.Argonne,Illinois:IEEE Press,2004:116-123.

[3]CHENG P F,SOUNG C L.TCP Veno:TCP enhancement for transmission over wireless access networks[J].IEEE Journal on Se⁃lected Areas in Communications,2003,21(2):216-228.

[4]GERLA M,SANADIDI M,WANG R,et al.TCP westwood:congestion window control using bandwidth estimation[C]//In Proc of IEEE Globecom 2001.Texas,USA:IEEE Press,2001:1698-1702.

[5]LI D G,LI H.TCP mobility enhancement for vertical handovers[C]//2013 4thInternational Conference on Intelligent Systems Modeling & Simulation(ISMS).Turin,Italy:IEEE Press,2013:433-438.

[6]JURGELIONIS A,LAULAJAINEN J,HIRVONEN M,et al.An empirical study of Netem network emulation functionalities[C]// 2011 Proceedings of 20thInternational Conference on Computer Communications and Networks(ICCCN).Lahaina,Hawaii,USA:IEEE Press,2011:1-6.

[7]BARAYUGA V J D,YU W E S.Study of packet level UDP performance of NAT44,NAT64 and IPv6 using Iperf in the context of IPv6 migration[C]//2014 International Conference on IT Convergence and Security(ICITCS).Beijing,China:IEEE Press,2014:1-6.

[8]QIAN Z J,HUANG H.Design and implementation of Linux network computer system based on Loongson Mipsel architecture[C]// 2011 International Conference on Computer Science and Service System(CSSS).Nanjing,China:IEEE Press,2011:1209-1212.

[9]林闯,单志广,任丰原.计算机网络的服务质量(QoS)[M].北京:清华大学出版社,2004:73-102.

[10]WEHRLE K,PÄHLKE F,RITTER H,et al.Linux网络体系结构:Linux网络协议的设计与实现[M].汪青青,等译.北京:清华大学出版社,2006:44-56.

(责任编辑:陈旷)

Analysis and Comparison of Congestion Control Protocol in Linux Kernel

LUO Jinwei1,LI Chunfei2
(1.Department of Computer and Communication,Guangdong Innovative Technical College,Dongguan 523960,Guangdong,China)(2.Guangzhou Sontan Polytechnic College,Guangzhou 511370,Guangdong,China)

Abstract:Based on testbed network experimental research,investigated five congestion control protocols in Linux kernel,such as Cubic,Htcp,Hybla,Westwood and Veno in different network environments.The link utilization,RTT fairness and TCP friendliness were compared.Then analyzed the experiment results,and evaluated the advantage and disadvantage of these algorithms.On this base,considering Cubic and Veno,a new environmental adaptive congestion control protocol,named CVTCP has been designed and tested.The experimental results showed,the link utilization rate was fairly high without obvious reducing RTT fairness and TCP friendliness,the CVTCP has good environmental adaptability.

Keywords:network testbed;congestion control protocol;performance evaluation;link utilization rate;RTT fairness;TCP friendliness

作者简介:骆金维(1980—),男,讲师,研究方向:网络安全和云计算。

基金项目:广东省高职院校信息技术类教育教学指导委员会课题(XXJS-2013-2025)

收稿日期:2015-03-23

DOI:10.16389/j.cnki.cn42-1737/n.2015.04.013

中图分类号:TP393

文献标志码:A

文章编号:1673-0143(2015)04-0353-06