借助路由器辅助的拥塞控制策略
2012-01-13徐阳
徐 阳
(南通航运职业技术学院 管理信息系,江苏 南通 226010)
借助路由器辅助的拥塞控制策略
徐 阳
(南通航运职业技术学院 管理信息系,江苏 南通 226010)
大部份TCP拥塞控制机制是依赖分组丢失来触发的,容易产生拥塞。为减少拥塞的产生,提出TCP Mlc拥塞控制机制,即借助路由器辅助把网络内部信息传递给发送端,不需要依赖分组丢失,在发生拥塞前就可进行适度的传输控制,以减少因分组丢失而造成传输速度的剧烈下降,并可快速达到最佳传输速度。实验表明,该方法能有效避免拥塞的产生,降低丢包率,提高整体吞吐量。
路由器;TCP Mlc;拥塞控制
0 引 言
拥塞不会随着网络处理能力的提高而消除,网络的复杂性和对拥塞控制算法性能的要求,使得拥塞控制算法的设计具有很高的难度,迄今为止,拥塞问题仍没得到很好解决。本文在前人研究[1-7]的基础上提出借助路由器辅助提供信息进行TCP Mlc拥塞控制的策略。实验表明,该方法可行、有效。
1 传统TCP拥塞控制机制分析
在一个TCP连接建立以后,传统的TCP拥塞控制机制通常采用慢启动的方式(Slow Start)以倍数增加拥塞窗口,直到拥塞产生[8]。TCP Reno拥塞控制机制见表1。
大多数TCP拥塞控制技术因看不到网络的内部状态,不能准确、合理地控制发送的分组数,造成链路利用率不高或网络拥塞。如果能获得较为详细的网络内部信息,就可能改善现有的拥塞控制机制,减少拥塞的产生。
对某一条路由而言,拥塞发生的位置就是该条链路的瓶颈点,而这个瓶颈点往往是延时增加、分组丢失的位置。若能设法依据瓶颈点的状况来动态调整发送的速率,则可以有效降低拥塞的发生。为此,提出TCP Mlc拥塞控制机制,即借助路由器侦测路径中的瓶颈点,利用瓶颈点提供的信息进行流量控制,以达到较高的带宽使用率,减少拥塞的产生。拥塞发生的瓶颈点如图1所示。
2TCP Mlc协议的实现
2.1 寻找瓶颈点
图1 拥塞发生的瓶颈点
TCP Mlc定义了一个新的IP标识位称为AVBW-S(available bandwidth status),沿着整个路径收集各个路由器公布的可用带宽状态。
AVBW包含在TCP分组(data 或ACK)的IP报头内。当具有此项功能的TCP发送端建立连接并传输数据时,它把AVBW字段设定为一极大值,在它经过的整条路径中,每个支持此功能的路由器便把各自测算出的速率调整索引值(data rate adjustment index)与该字段的现值相比较,若小于现值便取代之,经不断的比较与取代后,最后接收端将获得最小速率调整值,并传回发送端。这个最小速率调整索引值即为最小速率调整值(Minimum data Rate Adjustment Index,简称MRAI)。依据所获信息进行动态速率调整,并猜测发生最小值的地方即为瓶颈点。
每一条TCP连接产生拥塞的节点位置都不尽相同,瓶颈点的位置伴随着每条TCP的连接而改变着。发送端则依据速率调整指示值动态地调整发送的速率,以期达到避免产生拥塞并快速达到最佳速率的目标。
2.2TCP Mlc拥塞控制机制
TCP Mlc在未发生拥塞前不需要依赖分组丢失便可进行适度动态的传输速度控制,因而TCP Mlc是一直处于拥塞避免阶段,而TCP原有慢启动阶段可被隐含在拥塞避免阶段中。
当建立起TCP的连接以后,便开始进入拥塞避免阶段,借助路由器协助,CWND大小根据速率调整指示的ACK值进行动态调整,分别可能是快速增加、缓步上升、维持不变、缓步下降、较大幅度下降等,直至拥塞产生,造成3个重复ACK或超时(time out)发生。TCP Mlc拥塞控制机制见表2。
表2TCP Mlc拥塞控制机制
TCP发送端收到一个ACK时等于接收到一个bit的信息,告知以前发送的分组是否成功(并不拥塞);若接收到重复的ACK则告知另一种情况,通过该信息传达降速或提速信号[9]。在TCP Mlc中,可用较多个bit表示更细致状态。
2.3TCP Mlc分级速率调整
借助路由器辅助,依据所获MRAI做调整,而不必依赖拥塞发生后才启动控制机制。若路由器提供信息较为充足,便可设计更细腻的控制机制,据此提出模糊化多级速率调整方法。
由于获得信息较为充足,为避免直接公布剩余带宽,要求路由器遵循分级原则将剩余带宽以分级方式转换成MRAI。其分级原则为:带宽充裕时,选择非常积极的加速;带宽较不充裕时,维持稳定或是积极拥塞避免。这构成了分级设计的初步想法,依据其分级原则,经过实验模拟后,将MRAI分成以下三段六级:
(1)积极加速。包含五六两级,以快速提供传输速度为主要目标。在小量且频繁的网络应用中,能否更快速提升速度是关键,而远距离或高带宽连接中,较快加速能提高整体吞吐量。
(2)维持稳定。包含三四两级,当获知网络可用资源并不充裕时,采用稳定维持或渐增方式慢慢试探网络状况以减少提速过快产生的拥塞。
(3)积极避免拥塞。包含一二两级,TCP Reno并没有这项行为,只在发生拥塞后速率减半时做事后处理;TCP Vegas则以量测RTT方式进行调控。TCP Mlc在这一项类别中,可分为小幅度降速与3/4降速,这样才能做更细微的调整。
在带宽较短缺的情形下,以较细的分类微调来达到不产生拥塞的最高目的;以较广泛的范围做保持稳定升速,当资源充裕时,可快速提升速度。TCP Mlc多级速率调整指示见表3。
表3TCP Mlc多级速率调整指示
3 试验仿真
以NS2作为模拟环境,观察单一TCP Session下拥塞窗口变化;观察多个TCP Session下调整缓存大小对网络整体性能的影响。
3.1TCP连接的拥塞窗口变化
图2是一个由两个路由器组成的简单拓扑图。在这个实验中只建立一个TCP数据流,路由器与路由器之间的连接带宽是1M,延迟时间20ms,发送端到路由器以及接收端到路由器的连接带宽是10M,延迟时间2ms,路由器队列的控制机制为DropTail。通过该实验观察在最简化TCP数据流下TCP Mlc的状态变化。
图2 实验1拓朴图
测试缓存为50和15时拥塞窗口的两种情形,观察当分组容易丢失时和一般环境下CWND的改变,如图3~图4所示。
图3 缓存为50时拥塞窗口的变化
图4 缓存为15时拥塞窗口的变化
由图3可知,TCP Mlc在拥塞窗口快速爬升后就不断进行调控,并最终在一狭幅区间内震荡。Vegas采用的方式使得拥塞窗口维持很稳定,但由于它比较保守的速度调整使得拥塞窗口并没有爬升到很高。在Reno和Tahoe中,CWND则快速爬升而分组经常丢失并周期性循环。
当路径中路由器的缓存很小时,分组丢失的情况将会增加,因而继续观察当CWND在缓存很小时的变化。由图4可知,由于缓存很小,TCP Mlc的CWND在快速爬升后仍不可避免地发生一次拥塞,但之后则动态地调整速率并达到稳定。Reno和Tahoe中的CWND则反复进行大幅度的震荡;Vegas的CWND则维持保守且稳定的策略。
3.2 多个TCP链接下的整体性能
在较复杂情况下,调整缓存加以观察TCP Mlc整体性能(average throughput、分组丢包率、平均时延)的状态变化。图5是由多个路由器和多个节点组成的鱼骨状拓朴图,在实验2中建立数个TCP数据流(见表4),通过中间的路由器到达右侧的接收端,并增加100K具有突发业务负载以增加带宽变动的情形,模拟时间为30s,路由器与路由器之间的链接带宽是1M,延迟时间5ms,发送端到路由器以及接收端到路由器的链接带宽是10M,延迟时间3ms,路由器队列的控制机制为DropTail。
图5 实验2拓朴图
表4 实验2参数表
改变路由器的缓存大小从5~100个分组进行,并观察整体性能变化。由图6~图8可知,当缓存极小时,TCP Mlc的性能表现低于Vegas。因为缓存过小,导致CWND在快速爬升途中缓存容易产生满溢,造成性能下降,加之Vegas采用的方式为保守且稳定的维持小试窗,使队列长度维持稳定低点,能有良好延迟时间,因而具备优越传输性能。TCP Mlc虽以避免拥塞为最高目标但仍有一定积极性,在缓存极小情况下表现不甚理想;但当缓存变大后整体性能有显著提高,分组丢包率也能维持在稳定低点,且平均时延也比Reno小,而Reno只在缓存很大时整体性能才能达到较高水平。
图6 缓存对平均吞吐量的影响
图7 缓存对分组丢包率的影响
图8 缓存和平均时延的关系
4 结束语
TCP Mlc借助路由器辅助,提供网络内部信息给发送端,在未发生拥塞前不需依赖分组丢失便可进行适度传输控制。TCP Mlc的重点在于寻找瓶颈点,并运用所获得信息进行动态速率调整。在实际网络中,单个路由节点常连接着多条链路,突发业务流和动态链路变化对策略影响较大。因此,必须进一步完善修正TCP Mlc,才能使其更好地适应复杂的网络环境。这是下一步研究的方向。
[1]Yi-Cheng Chan,Chia-Tai Chan,Yaw-Chung Chen.RoVegas:A Router-based Congestion Avoidance Mechanism for TCP Vegas[J].Computer Communications,2004(27):1624-1636.
[2]Wu TB,Liu ZR,Wang JN.Optimizing PID parameters based on improved chaos algorithm[J].Journal of Electronic Measurement and Instrument,2007,21(4):59-62.
[3]L.L.Peterson,B.S.Davie.Computer Network:A Systems Approach[M].3rd edition.San Francisco:Morgan Kaufmann,2003.
[4]S.Ryu,C.Rump,C.Qiao.Advances in Internet Congestion Control[J].IEEE Communications Surveys & Tutorials,2003,5(1):28-39.
[5]诸静.模糊控制原理与应用[M].北京:机械工业出版社,2005.
[6]The VINT Project.The ns Manual[EB/OL].(2003-12-12)[2011-09-20].http:// www.is.edu/nsnam/ns/ns-documentation.html.
[7]Ganjali Y,McKeown N.Update on buffer sizing in Internet routers[J].Computer Communications Review,2006,36(5):67-70.[8]G.Hasegawa,M.Murata.Survey on Fairness Issues in TCP Congestion Control Mechanisms[J].IEICE Transactions on Communications,2001(6):1461-1472.
[9]L.Peterson,T.Anderson,D.Culler,et al.A Blueprint for Introducing Disruptive Technology into the Internet[C].Proceedings of the First ACM Workshop on Hot Topics in Networks(HotNets-I),Princeton,2002.
Router-assisted Congestion Control Method
XU Yang
(Information Management Department, Nantong Shipping College, Nantong,226010, China)
Most TCP congestion control techniques are used through the packet loss, which leads to congestion.To solve the problem, a new method of TCP Mlc is proposed. It uses router to send the internal information to the sender without the packet loss. It can adjust the sending data rate, prevent the data rate from decreasing dramatically due to packet loss and thus reach the best sending rate rapidly. It shows that the method can avoid congestion before it actually happens, decrease packet-loss rate and increase the network utilization.
Router; TCP Mlc; Congestion control
TP311.521
A
1671-4326(2012)01-0056-04
2011-10-16
江苏省自然科学基金(BK2008188);江苏省交通运输厅科学研究计划项目(2011Y21-3);南通市科技计划项目(K2009024)
徐 阳(1980—),男,江苏南通人, 南通航运职业技术学院管理信息系讲师,硕士.
王志梅]