《FAST TCP 吞吐量的仿真研究.doc》由会员分享,可在线阅读,更多相关《FAST TCP 吞吐量的仿真研究.doc(5页珍藏版)》请在三一办公上搜索。
1、精品论文FAST TCP 吞吐量的仿真研究姜蕊 1,王林平 1,姚高伟 21 华中师范大学计算机科学系,武汉(430000)2 信阳师范学院,河南信阳(464000)E-mail:lpwang80摘要:FAST TCP 是一种针对当前高性能网络的高速、长延迟等特点的 TCP 拥塞算法。论 文首先对传统的 TCP Reno 进行介绍,讨论其算法与 FAST TCP 的不同点。然后重点分析 FAST TCP 体系结构和算法。利用 NS2 仿真工具测试了传统 TCP Reno 与 FAST TCP 在吞吐量方面 的性能差异。实验验证了 FAST TCP 较传统的 TCP Reno 在吞吐量方面具有很
2、大的性能优势。 关键词:拥塞控制;FAST TCP;吞吐量;NS20引言随着互联网规模的不断增长和网络技术的发展,网络趋向于大规模、高速、大容量、应 用多元化等方面发展,随之而来的拥塞问题变得越来越严重。网络产生拥塞的原因在于其面 对的负载超过了它的处理能力。管理拥塞的第一个环节是检测拥塞。由于检测拥塞的方法不 同,因而产生了不同的拥塞控制算法。目前在Internet中广泛使用的是端到端TCP Reno拥塞 控制算法。在过去,TCP Reno在预防网络拥塞方面一直被认为有显著的性能。TCP Reno随 着带宽时延的增大显出诸如在公平性、控制端到端延时、对网络拥塞的反应速度及面对高速 网络时的吞
3、吐量等方面问题1。FAST TCP是一种新型TCP拥塞控制协议,针对当前的网络特 点而设计。与传统拥塞控制算法相比,它具有更好的平衡性,特别当传播时延增加时,它不 以惩罚数据流为代价,从而达到更高的公平性。本文讨论了 TCP 拥塞控制的二种算法:TCP Reno 和 Fast TCP。在不同的延迟环境下, 利用 NS 仿真工具对两种算法进行了仿真,实验结果表明在大带宽高时延环境下,Fast TCP 在吞吐量方面的性能较 TCP Reno 有很大的提高。1TCP Reno 和 FAST TCP 的特点1.1 传统 TCP Reno 的特点及缺陷目前的拥塞控制算法大多是建立在慢启动、拥塞避免、快速
4、重传和快速恢复这四个算法基 础之上。Reno的拥塞算法采用AIMD形式,发送方维护两个窗口:接收方窗口swnd和拥塞窗 口cwnd。当一个连接建立起来的时候,发送方cwnd初始化为该连接上当前使用的最大数据 段长度,即minswnd, cwnd。窗口在每个RTT 中增大一个报文段的长度,很显然,每一批 被确认的突发数据段都会使拥塞窗口加倍。拥塞窗口一直呈指数增长,直至发生超时。这就 是慢启动阶段。除了swnd和cwnd以外,reno还使用了第三个参数:阈值threshold, cwnd增长到阈值时进 入拥塞避免阶段。从这个点开始,每一次成功的传输都会使cwnd呈线性增长,而不再是指 数增长,当
5、一次超时发生时,即cwnd threshold, threshold被置为当前cwnd 值的一半,而cwnd 被重置为1。当 cwnd 被重新置为 1 后,又重新进入慢启动阶段,即源端收到 3 个或 3 个以上重复 ACK 时,就断定数据包已经丢失,重传数据包,这就是快速重传和恢复。Reno 所采用的这 种以丢包时间作为拥塞信号,将不可避免地导致抖动2。由于这种不稳定性带来的抖动使得- 5 -报文丢弃概率很难估算,实践证明 Reno 算法在低速网络中其性能尚可以表现出其优势,但随着网络趋向于高速、长延迟发展,这种过大地减小发送窗口尺寸的做法,极大地降低了TCP 连接的吞吐量,从而导致网络的低利
6、用率。1.2FAST TCPFAST TCP的结构建立于Data control, Windows control,Burstiness control和Estimation四 个独立模块。Data control部分决定哪些报文需要发送,Windows contro决定在一次RTT内发 送多少个报文,Burstiness control决定何时发送这些报文,Estimation部分为以上三个决定提 供信息。FAST TCP的体系结构不仅面向高速网络的TCP应用,它还能用来作为设计其它的 拥塞控制机制的框架。FAST TCP的这四块主要组成部分能够被独立设计且异步更新。在以 上这四个模块中,最
7、为主要的是Windows control和Estimation.3TCP 拥塞控制的核心是通过改变一些重要参数来实现的,这些重要参数包括:拥塞窗 口(cwnd),发送窗口(swnd),往返时延(RTT),超时重传计数器(RTO)等等。FAST TCP 也是采用调整窗口的大小来进行拥塞控制。FAST TCP 与 TCP Reno 最大的区别在与它们的 拥塞度量方式不一样,TCP Reno 采用报文丢失作为其拥塞信号,而 FAST TCP 是采用排队 延迟与丢包率一起作为拥塞反应信号。队列时延比包丢失概率更容易被精确估计,具体体现 在以下两点:一方面在大的带宽延迟网络中,丢包事件是小概率事件;另一
8、方面包丢失所提 供的采样是粗粒度的信息。队列时延却可以提供多位的信息,且实验的动态性较好,对链路 容量的变化及时做出反应,有助于网络的稳定性。2算法分析拥塞控制算法通常从流层和报文层两个方面设计,流层设计旨在达到高利用率、低排队 延迟、低丢包率及良好的公平性和稳定性,而报文层通过端到端控制来执行流程目标,对于 TCP Reno,报文层首先被引入,至于流层所涉及的性能,诸如公平性、稳定性、平衡窗口 和丢包性能之间的关系是随之以后考虑的问题,而FAST TCP的报文层是基于流层目标被明 确设计。TCP Reno拥塞算法采用AIMD形式,源端窗口在每个RTT中增大一个报文段的长度, 而每检测到一个包
9、丢失拥塞窗口减小一半。TCP Reno的拥塞窗口算法如下:iW (t ) =1 2 x (t )q (t )w (t )(1)iiiTi (t ) 3其中W ( t ) 是 t 时刻拥塞窗口大小,T (t ) 是源 i 报文段的回路响应时间,q (t) 是 t 时刻端i ii到端包丢失率, w (t) 是平均窗口大小,设置式(1)中W (t) =0,得出 TCP Reno 著名的1 q 等ii式。该等式在平衡点将包丢失率和窗口大小建立如下关系:iq * =3i2w *2(2)(1)和(2)描述了TCP Reno流层的动态和平衡特征。对于TCP Reno来说流层的平衡 问题主要突出在算法(2),
10、因为在大的发送窗口下,端到端的包丢失概率极其小,这使得在实际状况下平衡很难维持,当带宽延迟增加时从(2)中 q * w * = 1.5w * ,即在每个拥塞iii窗口中,平均丢包数量相对于平衡窗口向相反的比例方向减少。FAST TCP算法是采用排队延迟与丢包事件一起作为拥塞反应信号。根据估计Estimation部分所提供的平均往返时延和平均队列时延信息,FAST TCP周期性地改变其拥塞窗口,具体算法如下:W min 2W,(1- )W+ ( baseRTT W + )(3)RTT其中, (0,1,baseRTT是通过观测所得到的最小瞬时RTT。 是一个非负的协议参数,他决定了均衡态下每个FA
11、ST TCP流在网络各个路由器中所维持的总的报文数目,在这个算法里,每隔20ms周期性的改变W值。 实际上(3)的数学模型为:d i wi (t )wi (t + 1) = (d i + qi (t )+ i (wi , qi ) + (1 )wi (t )(4)其中 di 代表传输时延,qi (t ) 表示排队延迟, w i( w , q ) = q i = 0,当 i (wi , qi ) = 时,( 为一常量),式(4)可化简为:wi (t + 1) = wi (t ) + ( xi (t )qi (t )i i iq i 0(5)从上述算法分析可以看到,TCP Reno 在高速长延迟网
12、络中性能出现摆动,其根源是在 报文层和流层设计方面出现问题。从报文层来看,由于采用二元拥塞信号不可避免地导致拥 塞窗口和瓶颈队列的抖动;从流层来看,算法(1)体现出 TCP Reno 的动态特性在大带宽 时延下极其不稳定。而 FAST TCP 根据当前到平衡点距离的远近非线性地调整窗口变化速 度,其窗口调节比 TCP Reno 更加灵活、更加平滑,平衡性能较好,能很好地适应大带宽延 迟下的网络环境4。3仿真实验本实验是在ns-allinone-2.29仿真环境下,通过TCP Reno和FAST TCP在吞吐量方面的仿 真结果对比,反映出这两种算法的特点。在网络拓扑中有6个结点,n2-n3为瓶颈
13、链路。n0n4 n210msn3 n1n5 图 1 仿真实验网络拓扑结构Fig. 1 The simulation network topology分别在瓶颈链路时延为10ms和50ms两种环境下对Reno和FAST两种算法进行仿真,得到 了每个算法在该场景下的吞吐量变化曲线图。图2 TCP Reno在10ms时延环境下仿真结果Fig. 2 TCP Reno in 10ms delay environment simulation results图3 TCP Reno在50ms时延环境下仿真结果Fig. 3 TCP Reno in 50ms delay environment simulati
14、on results图 4 FAST TCP 在 10ms 时延环境下仿真结果Fig. 4 FAST TCP in 10ms delay environment simulation results图 5 FAST TCP 在 50ms 时延环境下仿真结果Fig. 5FAST TCP in 50ms delay environment simulation results从图2和图4中可以看出,在低延迟(10ms)环境下,Reno和FAST吞吐量相差不大,这是因为FAST TCP是基于长延迟网络的,因此在延迟很小的情况下,FAST性能提高不大,在 高延迟(50ms)环境下(图3和图5),Ren
15、o对带宽利用率的影响是非常明显的,而FAST TCP 性能的提高就相对大得多,通过这个实验验证了在高延迟网络中,FAST TCP表现出很好的 性能。4结束语本文通过对比分析TCP Reno和FAST TCP两种算法的特点,阐述了FAST TCP在拥塞控制 方面的优势,采用仿真实验验证了FAST TCP在高速长延迟网络中明显优于TCP Reno。参考文献1 Floyd S, Henderson T.The NewReno Modification to TCPs Fast Recovery AlgorithmS.RFC2582, 19992 Jacobsen V.Berkeley TCP Evo
16、lution from 4.3-Thoe to 4.3-RenoC.In: Proceedings of the Eighteenth internet Engineering Task Force,University of British Columbia, Vancouver, B C,19903 Cheng Jin, David X Wei, Steven H Low.FAST TCP: Motivation, Architecture,Algorithms,PerformanceC.In: the Proceedings of IEEE Infocom, Hong Kong, 200
17、4- 034 张牧,张顺颐.TCP reno,tcp vegas,fast tcp性能比较研究J.计算机工程与应用,2007,43(1):19-235 Network simulator(NS- 2.29) EB/OL.http: /www.isi.edu/NSnam/NS, University of California at Berkeley,2006.6 罗万明,林闯,阎保平.TCP/IP拥塞控制研究J.计算机学报,2001.24.(1):1-18.Simulation of FAST TCP throughputJIANG Rui1 ,WANG Linping1 ,YAO Gaowe
18、i21 Department of Computer Science, Huazhong normal universit, Wuhan(430000)2 Xinyang normal university, Xinyang ,Henan(464000)AbstractFAST TCP is a view of the current high-performance network of high-speed, long delayed, and othercharacteristics of the TCP congestion algorithm. First of all , the
19、traditional TCP Reno is introduced in the paper,and discuss it and fast tcp of the difference between the algorithm. Then focus on analysis of FAST TCP architecture and algorithms.I use simulation tools NS2 test the performance difference of the throughput between the tranditional TCP Reno and FAST TCP. This experiment proved FAST TCP than the traditional TCP Reno in throughput in a great performance advantages.Keywords:congestion control; FAST TCP; throughput; NS2作者简介: 姜蕊(1982),女,研究生。 通信联系人:王林平,副教授。