已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
多媒体数据传输拥塞控制算法仿真研究 摘要 互联网从诞生至今,各种新的应用层出不穷,其中多媒体数据在网络中的传输也 是越来越多。为了最大程度防止拥塞,人们提出了很多拥塞控制方案。t c p 拥塞控制 协议是目前互联网中最主要的拥塞控制协议。但传统的t c p 拥塞控制协议却不适用于 多媒体数据的传输。因此多媒体数据传输的拥塞控制算法的研究也越来越成为热点课 题。 本文首先介绍了传统t c p 工作机制,包括多种t c p 拥塞控制协议的改进协议,接 着指出传统t c p 协议在多媒体数据传输网络中遇到的问题。针对多媒体数据传输的特 点,发现采用基于窗口调节的g a i m d 拥塞控制算法比较适合多媒体数据的传输。g a i m d 引入了窗口增加和减小参数q 、b ,通过增大b 值平滑发送速率,进而可以使用t c p 传输多媒体流。利用t c p 发送速率的一般模型,分析t c p 友好的q 、1 3 参数配对关系, 使g a i m d 流在相同的网络环境下有和t c p 流近似一样的发送速率。建立模拟网络让t c p 友好g a i m d 流和t c pr e n o 数据流在d r o p t a i1 以及r e d 链路下竞争,发现在相当大的 丢包率范围内g a i m d 都具有很好的友好性。同时研究了g a i m d 的动态性能,发现在高 0 的情况下( 如b = 0 9 ) ,g a i m d 流同t c p 流相比有力的减弱了发送速率的波动,具有 很好的平滑性。 最后为了验证算法的有效性,在一个真实的网络环境中进行了测试。利用相关软 件和一些测试工具,得出相关图形。进一步验证了仿真实验的结果,证实了g a i m d 算 法的友好性和平滑性。 关键词:多媒体;t c p ;拥塞控制;g a i m d ;仿真 s i m u l a t i o nr e s e r c ho nc o n g e s t i o nc o n t r o lm e t h o df o r m u l t i m e d i ad a t at r a n s m i s s i o n s a b s t r a c t s i n c et h ei n v e n t i o no fi n t e r n e t ,i th a sg i v e nb i r t ht oag r e a td i v e r s i t yo fn e w a p p l i c a t i o n s ,a m o n gw h i c hm u l t i m e d i ad a t at r a n s m i s s i o nh a s b e e nu s e dm o r ea n dm o r e w i d e l y i no r d e rt oa v o i dt r a n s m i s s i o nc o n g e s t i o n s ,l o t so fc o n g e s t i o nc o n t r o ls c h e m e s h a v eb e e np r o p o s e d r e c e n t l yt h em o s tw i d e l y u s e do n ei st c pc o n g e s t i o nc o n t r o l p r o t o c o l ,b u ti t d o e sn o ts u i tt om u l t i m e d i at r a n s m i s s i o n s t h e r e f o r et h e r ei sa i n c r e a s i n gr e s e a r c hf o c u so nc o n g e s t i o nc o n t r o lo fm u l t i m e d i at r a n s m i s s i o n s t h i sd i s s e r t a t i o nf i r s td e l i n e a t e st r a d i t i o n a lt c pm e c h a n i s mi n c l u d i n gd i f f e r e n t n e wt c pc o n g e s t i o nc o n t r o lp r o t o c o l s ,t h e ni tn o t e ss o m ep r o b l e m sf o u n dw h e n a p p l y i n g t r a d i t i o n a lt c pp r o t o c o l si nm u l t i m e d i ad a t at r a n s m i s s i o nn e t w o r k s a c c o r d i n gt ot r a n s m i s s i o nc h a r a c t e r i s t i c so fm u l t i m e d i ad a t a ,i t i sr e v e a l e di n t h i s d i s s e r t a t i o nt h a tb a s e d - - o n - - w i n d o w - m o d i f i c a t i o ng a i m dc o n g e s t i o nc o n t r o lm e t h o d s u i t sw e l lt ot h em u l t i m e d i at r a n s m i s s i o n s g a i m di n t r o d u c e sw i n d o w i n c r e a s i n ga n d w i n d o w - d e c r e a s i n gp a r a m e t e r s aa n dp ,a n d t h r o u g hi n c r e a s i n g1 3 t os m o o t h e n t r a n s m i s s i o nr a t e ,b e t t e rm u l t i m e d i at r a n s m i s s i o np e r f o r m a n c ec o u l db er e a l i z e d i n t h i s p a p e r ,m a k i n g u s eo ft c pt r a n s m i s s i o nr a t em o d e l ,w em a n a g e dt o y i e l d t c p - f r i e n d l yr e l a t i o n sb e t w e e naa n dpw h i c he n s u r et h es i m i l a rt r a n s m i s s i o nr a t e g a i m dd a t af l o wc o u l dh a sa st c pf l o wu n d e ri d e n t i c a ln e t w o r k s s i m u l a t i o nn e t w o r k sa r ee s t a b l i s h e di nw h i c ht c p f r i e n d l yg a i m dd a t af l o w , c o m p e t i n gw i t ht c pr e n of l o wu n d e rd r o p t a i la n dr e dl i n k s ,m a k e sg o o df r i e n d l y p e r f o r m a n c e si nq u i t e aw i d er a n g eo fp a c k e tl o s sr a t e b e s i d e ss i m u l a t i o n sa r e i m p l e m e n t e dt or e s e a r c ho nt h ed y n a m i cp e r f o r m a n c e so fg a i m d w h i c ht u r nt oh a v e e x c e l l e n tt r a n s m i s s i o nr a t es m o o t h n e s s ,w h i l ei nt h e s es i m u l a t i o n sg a i m d ,w i t hh i g h v a l u eo f1 3 ( e g p = o 9 ) ,m a n i f e s t l yr e d u c e st h ei n t e n s i t yo ft r a n s m i s s i o nr a t ef l u c t u a t i o n c o m p a r e dw i t ht c pf l o w f i n a l l ys o m ee x p e r i m e n t si na r e a ln e t w o r ka r ec o n d u c t e dt o v e r i f yt h i sm e t h o d w i t ht h eh e l po fr e l a t i v es o f t w a r ea n dt e s td e v i c e s ,u s e f u lf i g u r e s a r eo b t a i n e dw h i c hc o i n c i d ew i t ht h es i m u l a t i o nr e s u l t sa n dv a l i d a t et h ef r i e n d l i n e s s a n ds m o o t h n e s so fg a i m dm e t h o d k e yw o r d s :m u l t i m e d i a ;t c p , c o n g e s t i o nc o n t r o l ;g a i m d ,s i m u l a t i o n i i 图4 1 图4 2 图4 3 图4 4 图4 5 图5 1 图5 2 图5 3 图5 4 图5 5 图5 - 6 图5 7 图5 8 图5 - 9 图5 1 0 图5 11 图5 1 2 图5 13 图5 1 4 图5 15 插图清单 r t p r t c p 协议栈1 8 误差积分函数曲线( t h r e s h o l d 变化) 一2 4 误差积分函数曲线( 1 3 变化) 2 4 t c p 友好的( 1 3 ,q ) 曲线2 5 t c p 友好g a i m d 发送速率相对t c p 发送速率的比值2 5 n s 2 网络仿真过程2 6 网络仿真拓扑2 7 g a i m d 和t c pr e n o 相对发送速率( d r o p t a i l 链路算法) 2 7 g a i m d 和t c pr e n o 相对发送速率( r e d 链路算法) 2 8 1 0 0 秒内t c pr e n o 和g a i m d ( 0 2 ,0 9 ) 的拥塞窗口变化2 8 1 0 0 秒内t c pr e n o 和g a i m d ( 0 2 ,0 9 ) 的发送速率变化2 9 10 0 秒内c w n d 的变化3 0 1 0 0 秒内发送速率的变化一3 0 系统结构图3 1 命令行操作界面一3 1 t c pr e n o 发送速率变化图一3 3 g a i m d ( 0 4 ,0 8 ) 发送速率变化图3 4 t c pr e n o 发送速率变化图3 4 g a i m d ( 0 4 ,0 8 ) 发送速率变化图一3 5 比较分析图3 5 v i 表 表 表 表 表格清单 t c p 典型拥塞算法的比较l l 5 条环回时间不同的t c p 连接共享带宽时的带宽比例1 3 t c p 友好的( ,1 3 ) 对一2 4 8 条数据流拥塞窗口和发送速率的数据统计2 9 v i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。 据我所知,除了文中特别加以标志和致谢的地方外,论文中不包含其他人已经发表或撰 写过的研究成果,也不包含为获得 金肥王些太堂 或其他教育机构的学位或证书而使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说 明并表示谢意。 学位论文作者签字签字日期: 学位论文版权使用授权书 f 1 只耀 本学位论文作者完全了解 金目巴王业太堂有关保留、使用学位论文的规定,有权 保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅或借阅。本人 授权 金月巴工些盘堂 可以将学位论文的全部或部分论文内容编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文者签名: 签字眦砩帅7 咱 学位论文作者毕业后去向: 工作单位: 通讯地址: 导师签名: 签字醐:岬 电话: 邮编: 、 年,7 月砂日 致谢 本论文能够顺利完成,首先要特别感谢导师沈明玉。论文从一开始选题、 开题到整个写作过程,一直是在导师的悉心指导与严格要求下完成的。沈老师 广博的学识、严谨的治学态度,对科学研究的认真负责、精益求精的精神给了 我巨大的影响,使我受益匪浅。论文过程中,沈老师提出了许多好的意见及建 议,对论文的修改也提出了很多创造性的看法,优化了论文的结构和内容。在 此,我谨以崇敬的心情感谢沈教授在这两年给予我的悉心关怀和不倦的教诲。 同时,衷心感谢合肥工业大学计算机信息学院的所有老师,特别是曹航和 徐静两位老师,他们为我们的学习做了大量工作。为我们顺利完成学业提供了 很大的帮助。 本文在设计过程中,参考了大量的文献,在此向参考文献的作者表示感谢, 也向网络上发表的资源的作者们表示衷心的感谢。 真诚感谢在百忙中抽时间评阅论文和参加答辩的各位专家、教授。 h i 李芳芳 2 0 0 9 年l o 月2 2 日 第一章概述 1 1选题的意义和目的 当今时代,网络技术的发展日新月异,网络规模迅速扩大。网络中的用户 和各种新的应用都迅速增加,而多媒体数据的传输在网络中也是越来越多。网 络负载的增加对网络整体性能带来了很大的压力,这就使计算机网络经常产生 拥塞【l 】现象。所谓拥塞是指某一时刻,当网络中某一资源的到达量超过了该资 源在相关网络节点的承载量时,称该节点在该时刻发生了拥塞。拥塞导致的直 接后果是分组丢失率提高,端到端延时加大,网络性能降低,严重时会产生拥 塞崩溃,几乎没有数据包可以送达目的地【2 。4 j 。 实时多媒体应用于普通的文件传输有不同的o o s 要求:不能有过大的抖动, 不要求可靠传输,但对时延比较敏感。所以i p 网络上多媒体流多采用u d p 协议, 属于非响应流。这些数据流没有端到端的流量控制,不论网络是否发生拥塞, 都不会改变发送速率。而t c p 流发生拥塞时马上将发送窗口减小甚至变为1 从 新开始,而且慢启动闽值也会减半。这样虽然降低了发送速率,但在拥塞信息 反馈迅速的环境中,会使得带宽被u d p 占据,t c p 持续拥塞。而且t c p 减小窗 口的速率比增大速率快,它的窗口将被维持在较小的水平上。网络的资源会被 u d p 流过度抢占,导致了网络资源分配的不公平,甚至发生拥塞崩溃。 解决这一问题的方法之一是对于多媒体流采用资源保留机制或区分服务以 保证其q o s 。但根本解决u d p 流带来的网络资源分配不公平的方法就是采用拥 塞控制机制。传统的t c p 拥塞控制算法窗口变化剧烈,不符合多媒体流的平滑 性要求。而本文针对多媒体数据传输特点,提出采用基于窗口调节的g a i m d 拥塞控制算法来传输多媒体流。g a i m d 引入了窗口增加和减小参数q 、1 3 , 通过增大b 值平滑发送速率,进而可以使用t c p 传输多媒体流。利用t c p 发送 速率的一般模型,分析t c p 友好的q 、1 3 参数配对关系,使g a i m d 流在相同的 网络环境下有和t c p 流近似一样的发送速率。建立模拟网络让t c p 友好g a i m d 流和t c pr e n o 数据流在d r o p t a i1 以及r e d 链路下竞争,发现在相当大的丢包 率范围内g a i m d 都具有很好的友好性。最后研究了g a i m d 的动态性能,发现在 高b 的情况下( 如b = o 9 ) ,g a t m d 流同t c p 流相比有力的减弱了发送速率的波 动,具有很好的平滑性【5 。6 】。最后在一个真实的网络环境中,利用相关软件和一 些测试工具,得出相关图形。进一步验证了仿真实验的结果,证实了g a i m d 算 法的友好性和平滑性。 1 2本文的主要内容及安排 本文共分六章,各章内容简介如下: 第一章概述。本章分析了论文的研究背景,讲述了论文的组织结构和内容 安排。 第二章t c p 拥塞控制。本章分析了拥塞现象及产生的主要原因,t c p 拥塞控 制机制,并对t c p 拥塞控制现有算法进行了介绍,并阐述了t c p 拥 塞控制算法的发展。 第三章多媒体数据传输概述。本章阐述了多媒体技术的基础知识,并概述 了多媒体数据传输技术。 第四章多媒体数据传输协议及拥塞控制算法。本章分析了多媒体数据传输 协议并重点分析了适合多媒体数据传输的g a i m d 拥塞控制算法。 第五章多媒体数据传输拥塞控制算法的性能仿真分析及在真实环境中的测 试。本章分析了网络仿真环境和网络仿真器,并在模拟的网络环境 中验证了g a i m d 算法的友好性和数据流的动态特性。之后又在一个 真实的网络环境中,利用相关软件和一些测试工具,进一步验证了 仿真实验的结果,证实了g a i m d 算法的友好性和平滑性。 第六章结束语。对全文进行了总结,并分析了今后进一步的研究工作。 2 第二章t c p 拥塞控制 2 1拥塞现象及产生的主要原因 2 1 1 拥塞现象 当网络中存在过多的报文时,网络性能降低,这种现象称为拥塞。拥塞现 象是指拥塞崩溃前的网络状态。而拥塞控制就是网络节点采取措施来避免拥塞 的发生或是对拥塞的发生做出反应。 2 1 2 拥塞产生的原因 拥塞产生的主要原因如下1 7 j : 1 ) 存储空间不足 几个输入数据流共同需要同一个输出端口,在这个端口就会建立排队; 如果没有足够的存储空间存储,数据包就会丢弃,对突发数据流更是如此。 增加存储空间只是缓解这一矛盾,却不能解决问题。如果路由器有无限存储 量时,拥塞只会变的更坏,因为在网络里数据包经过长时间排队完成转发时, 它们早已超时,源端认为它们已经被丢弃,而这些数据包还会继续向下一路 由器转发,从而浪费网络资源,加重网络拥塞。 2 ) 带宽容量不够 低速链路对高速数据流r 的输入也会产生拥塞。根据香农信息理论,信 道带宽最大值即信道容量c = b l o g 。( i + s n ) ( n 为信道白噪声的平均功率,s 为 信源平均功率,b 为信道带宽) 。所有信源发送的速率r 必须小于或等于信道 容量c 。如果r c ,则在理论上无差错传输就是不可能的,所以在网络低速链 路处就会形成带宽瓶颈,网络就会发生拥塞。 3 ) 处理器处理能力弱、速度慢引起拥塞 如果路由器的c p u 在执行排队缓存,更新路由表等功能时,处理速度跟 不上高速链路,也会产生拥塞。同样,低速链路对高速c p u 也会产生拥塞。 拥塞现象是数据网络中的数据传送的特点,为维持数据网络的通信,拥 塞控制是数据通信网络中的一个重要的技术。 2 2i n t e r n e t 拥塞控制技术 从控制理论的角度,拥塞控制算法可以分为开环控制和闭环控制两大类。 i n t e r n e t 中主要采用闭环控制。而根据算法的实现位置,可以将拥塞控制算法 分为两大类:链路算法( 1 i n k a l g o r i t h m ) 和终端算法( e n d p o i n ta l g o r i t h m ) 哺】。链路算 法在网络的中间设备( 如路由器和交换机) 中执行。终端算法在主机和网络边缘 设备中执行,作用是根据反馈信息调整发送速率。两种类型的控制算法实际上 互相补充,形成一个完整的拥塞控制系统。终端算法的作用是减少了源端的流 量,而在链路算法中,路由器负责保持资源的公平分配从而使违规操作的用户 减少发送的分组数。拥塞控制算法设计的关键问题是如何生成反馈信息和如何 对反馈信息进行响应。 终端算法中使用最广泛的是t c p 协议中的拥塞控制算法。t c p 是目前在 i n t e r n e t 中使用最广泛的传输协议。根据m c i 的统计,总字节数的9 5 和总 报文数的9 0 使用t c p 传输。近年来,t c p 中采用了很多新的算法,包括慢启 动( s l o ws t a r t ) 、拥塞避免、快速重传( f a s tr e t r a n s m i t ) 、快速恢复( f a s tr e c o v e r y ) 、 选择性应答( s a c k ) 等,大大提高了网络传输的性能。t c p 中使用的拥塞控制算 法已经成为保证i n t e r n e t 稳定性的重要因素。 2 3t c p 拥塞控制机制 t c p 以窗口机制实现其传输,采用了一整套端到端的拥塞控制算法。t c p 拥 塞控制算法主要通过控制一些重要参数的改变来实现,其中主要参数有: 1 ) 拥塞窗口( c w n d ) :是拥塞控制的关键参数。它描述源端在拥塞控制情况下 一次最多能发送数据包的数量。 2 ) 通告窗口( a w n d ) :是接收端给源端预设的发送窗口大小,它只在t c p 连接 建立的初始阶段起作用。 3 ) 发送窗口( w i n ) :是源端每次实际发送数据的窗口大小。 4 ) 慢启动阈值( s s t h r e s h ) :是拥塞控制中用来限制发送窗口大小的门限值, 它是慢启动阶段和拥塞避免阶段的分界点,初始值设为6 5 5 3 5 b y t e s 或a w n d 的大 小【9 - 1 0 1 。 5 ) 回路响应时间( r t t ) :一个t c p 数据包从源端发送到接收端,直至源端收 到接收确认的时间间隔。 6 ) 超时重传计数器( r t o ) :描述数据包从发送到失效的时间间隔,是判断数 据丢失与否、网络是否拥塞的重要参数,通常设为2 r t t 或5 r t t 。 7 ) 快速重传阈值( t c pr e x m tt h r e s h ) :是能触发快速重传的源端收到确认包 a c k 的个数。当此个数超过t c pr e x m tt h r e s h 时,网络就进入快速重传阶段。 t c pr e x m tt h r e s h 缺省值为3 】。 t c p 拥塞控制的算法主要有慢启动、拥塞避免、快速重传、快速恢复四个 阶段【1 2 - 15 1 。 1 )慢启动( s l o ws t a r t ,s s ) t c p 中使用的发送窗口越大,发送t c p 实体在必须等待一个确认之前可以 发送的报文段就越多。正常情况下,t c p 的自同步特性会为t c p 确定适当的速率。 然而,当一个连接刚刚初始化时,就不存在这样的同步机制。可以采取的一 种策略是让发送t c p 实体从某个相对较大的窗口开始发送,希望在此过程中逼 4 近连接所最终能提供的窗口大小。这比较危险,因为发送方在从超时上认识到流 量出现过量之前可能造成互联网的流量泛滥。相反地,我们应该采取某种逐渐扩 展窗口的方法,直到同步机制起作用。 j a c o b s o n 推荐了一种称为慢启动的规程。t c p 使用了一个拥塞窗口,窗口以 报文段而非字节来计算大小。在任意时刻,t c p 传输受限于下列关系式: a w n d = m i n ( c r e d i t w n d ,c w n d )( 2 1 ) 其中a w n d 为允许窗口,单位是报文段。这是t c p 当前在没有收到进一步确 认情况下被允许发送的报文段个数:c w n d 为拥塞窗口,单位为报文段。t c p 在启 动阶段或在拥塞时为减小流量而使用的窗口;c r e d i t w n d 为接受方通告窗口的 大小,单位是报文段。式2 1 表明t c p 输出的窗口不能超过拥塞窗口c w n d 和接 受方通告窗口c r e d i t w n d 的大小。拥塞窗口是发送方感受到的网络拥塞的估计, 而通告窗口则是与接收方在该连接上的可用缓存大小有关。 一条连接建立的时候,t c p 实体初始化c w n d 为1 个报文段。这就是说t c p 只被允许发送1 个报文段,然后就必须等待确认再传输第2 个报文段。每收到一 个确认,c w n d 的值就被加1 ,一直到某个最大值为止。显然,c w n d 是以指数规律 增长的。实际上,慢启动机制探测互联网以确保它不会把太多报文段发送进一个 已经拥塞的环境。随着确认的到达,t c p 就可以扩大其拥塞窗口,直到流量最终 由到来的确认a c k 所控制,而并非c w n d 所控制。 2 ) 拥塞避免( c o n g e s t i o na v o i d a n c e ,c a ) 慢启动算法在初始化连接时很有效。它使得发送t c p 实体可以快速地为连 接确定合理的窗口大小。在出现拥塞时上述同一种技术是否有用? 具体地,设想 一个t c p 实体发起一个连接并经过慢启动过程。某个时刻,在c w n d 达到另一方 分配的信用量大小之前或之后,一个报文段被丢失( 超时) 了。这是发生拥塞的信 号,拥塞的严重程度并不清楚。因此,一种明智的方法是复位c w n d = l 并重头开始 慢启动过程。这似乎是一种合理的保守的方法,但实际上它还不够保守。 j a c o b s o n 指出“网络进入饱和状态很容易,但让网络从饱和状态中恢复却 很难”。换一种说法即是一旦拥塞发生了,要将拥塞清除掉可能需花很长时间。 因此,慢启动中c w n d 的指数增加就可能太激进,它可能使拥塞更严重。j a c o b s o n 提出开始使用慢启动然后采用拥塞避免,即让c w n d 线性增长,这一过程为拥塞 避免阶段。 标准t c p 协议通过改变慢启动门限s s t h r e s h 和拥塞窗口的尺寸来调节发 送速率,使用滑动窗口机制实现差错和拥塞控制,其工作过程由慢启动s s 和拥 塞避免c a 两个阶段组成。在慢启动阶段一开始,慢启动门限被设置为某一适当 值,拥塞窗口尺寸被初始化为该连接所用的最大数据段的长度值,发送节点发送 一个长度等于最大数据段长度的数据段。如果该数据段在定时器超时之前得到 了确认,那么发送节点就将拥塞窗口的尺寸增加一倍,而且以后每收到一次确认 都会使拥塞窗口的尺寸加倍,即拥塞窗口尺寸呈指数增长,直至定时器超时或者 达到接收节点所能接收的数据段长度的最大值为止。 3 ) 快速重传( f a s tr e t r a n s m i t ) 发送t c p 实体用来确定什么时候对一个报文段进行重传的重传定时器 ( r t o ) 通常比该报文段a c k 到达发送方所花的实际往返延迟r t t 要长许多。因为, 需要考虑下列一些因素: r t o 的计算基于对下一个r t t 的预测,这个预测是以过去的r t t 为基础 的。如果网络时延发生波动,则估计的r t t 可能比实际的r t t 小。 类似地,如果目的端引入的时延发生波动,估计的r t t 也会变得不可靠。 目的端可能并不对每个报文段都发送一个a c k ,而是对多个报文段积累 发送一个a c k ;同时在它有数据要发送时发送a c k 。这种行为可以引起r t t 波动。 这些因素的一个结果是:如果一个报文段丢失了,t c p 可能不能及时重传。 快速重传利用t c p 中的下列规则:如果一个t c p 实体收到一个失序报文段,它必 须立即发出一个对于最后一个收到的按序报文段的a c k 。对于每一个到来的报 文当空隙填充之后,t c p 就对所有迄今为止按序收到的报文段发送一个积累 a c k 。当源端t c p 收到一个重复的a c k 时,这就意味着发生下列两种情况之一: 确认报文段后面的报文段被延迟了以致它最终失序到达; 这个报文段丢失了。在情形l ,这个报文段最后确实到达了,因此t c p 不 应该重传它。但在情形2 ,一个重复的a c k 可以看作是一个预警系统,它告诉源 端t c p 一个报文段已经丢失了而必须重传。 为了确信碰到的是情形2 ,而不是情形1 ,j a c o b s o n 建议t c p 发送方要等待 收到同一报文段的3 个重复a c k ( 即一共收到同一报文段的4 个a c k ) 。在这种情 况下,随后的报文段已被丢失的可能性就很大。因此,应该被立即重传,而不是等 着超时才重传。 4 ) 快速恢复( f a s tr e c o v e r y ) 当t c p 实体使用快速重传算法重传一个报文段时,它知道( 或确切地讲是假 定) 一个报文段丢失了,即使它还没有在这个报文段上发生超时。因此,t c p 实体 应该采取拥塞避免措施。一种容易想到的策略是当发生超时时所用的慢启动拥 塞避免方法。这就是说,t c p 实体可以将“s s t h r e s h 设置为c w n d 2 ,设置c w n d = l 并开始指数规律的慢启动过程,直到c w n d = s s t h r e s h 为止。然后线性增加 c w n d ”。 j a c o b s o n 论证说这种方法过分保守,因为多个a c k 已经返回这个事实本身 就说明数据报文段正相当正常地到达对方。所以j a c o b s o n 提出了一种快速恢复 技术:重传丢失的报文段,把c w n d 减半,然后继续以线性规律增加c w n d 。这个技 术避免了最初的指数慢启动过程。 快速恢复技术可以精确地表述如下: 6 当第三个重复a c k 到达时,设置s s t h r e s h = c w n d 2 ;重传丢失的报文段: 设置c w n d = s s t h r e s h + 3 。 每次有一个更多的重复a c k ( 对同一报文段所发的) 到达时,把c w n d 加1 并在可能情况下传输一个报文段。这考虑到己经离开网络并触发了重复a c k 的 又一个报文段。 当确认新报文段的下一个a c k ( 即丢失报文段及其后各报文段的积累确认) 到达时,设置c w n d = s s t h r e s h 。 2 4t c p 拥塞控制算法的改进 自从二十世纪八十年代中期,n a g l e 研究并报道了网络拥塞崩溃 ( c o n g e s t i o nc o l l a p s e ) 的现象以来,人们在最初的t c p 版本基础上对t c p 的拥 塞控制机制进行了大量的补充与完善工作,提出了多种不同版本的t c p 协议,在 这些版本的进化过程中,t c p 拥塞控制机制的性能被不断地提高。下面介绍一些 重要的t c p 改进协议。 2 4 1 。r c pt a h o e 1 9 8 8 年,j a c o b s o n 改进了原来的t c p 机制,提出了t a h o e 算法【l6 1 。在早期 实现的基础上,t a h o e 加入了慢启动、拥塞避免和快速重传机制。对重发定时器 的取值也进行了改进。并具有r t t 估计和差错恢复的功能。t a h o e 的基本思想 是探测网络的可用带宽,在拥塞时急剧降低数据发送速率( 即:在丢失报文段重 传之后,将c w n d 的值降为1 ,将s s t h r e s h 置为c w n d 2 后,重新进入慢启动阶段) 。 这一方法可以恢复丢失的报文段,但是通过慢启动将c w n d 恢复到报文段丢失时 的大小需要几个r t t ,因而降低了吞吐量。这些方法是t c p 拥塞控制的基础,以 后的各种改进都是依赖于此基础。 2 4 2t c pr e n o t c pr e n o 在t a h o e 的基础上加入了文献【1 7 】中提出的快速恢复阶段,如果发 送端发送一个窗口的数据中只有极少量的分组丢失,则t c pr e n o 不需要等待重 传计时器超时与重新进入慢启动阶段,因而能获得较好的性能。然而当t c pr e n o 在一个窗口内出现多个分组丢失( 3 个或者3 个以上) 时,t c pr e n o 需要等待重 传计时器超时,并重新经历慢启动阶段,这时t c pr e n o 就会出现明显的性能下 降。 2 4 3t c pn e w r e n o 文献1 8 邯1 在r e n o 的基础上提出了n e w r e n o 算法。对r e n o 的快速恢复机 制进行了改进,以避免一个窗口内发生多个报文段丢失的情况下传输性能的下 7 降。在r e n o 中,发送端只要收到对重传报文段的确认就结束快速恢复过程; n e w r e n o 则是在收到对该窗口所有报文段确认之后才退出快速恢复过程,从而 避免出现多个丢失造成的c w n d 连续减小。因此,n e w - r e n o 比r e n o 能更好的保 证网络的鲁棒性。 n e w r e n o 与r e n o 的不同仅在于步骤1 ( 下面所述) 中变量“r e c o v e r ”的引 入,以及步骤5 中收到部分或新的确认a c k 后的处理方式。n e w - r e n o 中定义了 一个“快速恢复过程( f a s tr e c o v e rp r o c e d u r e ) ”,其快速重传和快速恢复机制 可以概括如下五步: 1 ) 当t c p 发送端收到第三个重复的a c k 并且发送端还没有处于快速恢复阶 段时,用等式( 2 2 ) 设置s s t h r e s h 的值。然后用变量“r e c o v e r 记录此时传送 的最大序列号。 s s t h r e s h = m a x ( c w n d 2 ,2xm s s )( 2 2 ) 2 ) t c p 发送端重传丢失的报文段并设置c w n d 的值为:c w n d = s s t h r e s h + 3 x m s s 。这将人为的按已经离开网络的报文段数目和接收端已经缓冲的数据量来扩 充拥塞窗口。 3 ) 对每次接收到的额外的重复a c k ,将c w n d 增大m s s 字节。这将人为的扩 充拥塞窗口以反映其它已经离开网络的报文段。 4 ) 如果c w n d 和接收端的通告窗口的值允许的话,t c p 发送端发送下一个报 文段。 5 ) 当下一个确认新报文段的a c k 到达时( 此a c k 可能是由步骤2 中的重传 引发的确认,或者是稍后的一次重传引起的) ; 如果这个a c k 确认了直到并包含序列号为“r e c o v e r 的报文段,那么这个 a c k 确认了t c p 发送端在丢失报文段的第一次传送和第三个重复a c k 接收之间 发送的所有报文段。t c p 发送方可以设置c w n d 的值为: c w n d = m i n ( s s t h r e s h ,c w n d + m s s ) 或c w n d = s s t h r e s h :( 2 3 ) 此处s s t h r e s h 是步骤1 中的值( 步骤1 中的发送窗口是t c p 进入快速恢复 阶段时的值:而步骤5 中的发送窗口是t c p 退出快速恢复阶段时的值) 。 如果这个a c k 不是对所有并包含到序列号为“r e c o v e r ”报文段的确认, 那么这个a c k 就是一个部分确认。在这种情况下,t c p 发送端并不退出快速恢复 过程,而是立即重传部分确认a c k 中指示的第一个没有确认的报文段。这和r e n o 处理部分确认的方式不同,r e n o 在收到一个部分确认a c k 后立即退出快速恢复 过程。如果还有任何其他重复a c k 随后到达,n e w r e n o 发送端重复执行上面的 步骤3 和4 。于是,当一个发送窗口中有多个报文段丢失时,n e w - r e n o 不需等到 超时重发定时器超时就能从多个报文段的丢失中恢复。t c p 发送端在每个往返 时间内重发一个丢失的报文段,直至重发了所有丢失的报文段为止。n e w r e n o 一直处于快速恢复阶段直到发送端在进入快速恢复之前发出的所有报文段都被 8 确认为止。 2 4 4t c ps a c k 前面这几种算法在单包丢弃时效果是不错的,但如果在同一数据窗口中出 现多包丢弃的情况下,它们的性能都有较大局限性。后来出现了基于选择应答 s a c k ,s e l e c t i v ea c k n o w l e d g e 的算法【20 1 。它较好地解决了同一数据窗口中多 包丢弃的问题。这种算法的基本原理是这样的:s a c k 算法中有一个称作选择域 o p t i o n 的数据段,s a c k 的选择域包含许多s a c k 块,它们报告组已经到达和排序 的非拥塞的数据,第1 块需要报告接受方最近接受的数据,其他块重复最新报告 过的数据块。一般来说,每一个s a c k 选择域包含3 个s a c k 块,当s a c k 选择域和高 性能t c p 扩展处理的时间戳一起使用时,它仅仅有3 个s a c k 块;当s a c k 选择域同 时和时间戳t i m e s t a m p 与t c p 扩展处理t t c p ( t c pe x t e n t i o n sf o rt r a s a c t i o n s ) 一起使用时,选择域空间仅有两个s a c k 块。 在这里的s a c kt c p 拥塞控制算法是对r e n o 算法的保守扩展,因此它们用同 样的增加和减少拥塞窗口的算法,并且对其他的拥塞算法做最小改动。s a c kt c p 保存t a h o e 和r e n o 算法在出现乱包时的健壮性,并用重传超时作为重排序的恢复 方法。s a c k 和r e n o 的最大不同在于一个数据窗出现多包丢弃。 如同在r e n o 中,s a c k 算法当接收方收到门限值( t c pr e x m tt h r e s h ) 个重复 的应答时,发送方进入快速恢复阶段,它这时重传一个包,并把拥塞窗口减半。 在快速恢复阶段,s a c k 维护一个叫做管道( p i p e ) 的变量,它表示估计在该链路 尚未成功发送的包数目。这是和r e n o 不同的一点,当估计的包数目小于拥塞窗 口的大小时,发送方仅仅发送新包或重传;在发送方发送一个新包或者重传一 个旧包时,管道变量就加一;反之,当收到一个报告新数据已被接受的应答时 减一。 管道变量分离了何时和哪一个包要发送,发送方维护一个叫做分数板的数 据结构,它记忆以前的s a c k 选择项的应答。当发送方允许发送一个包时,它从 包列表中重传下一个包。这些包用来推测在接收方已经丢失,如果没有这样的 包,并且接收方的广播窗口足够大,发送方发送新包。当重传的包自己丢失时, 那么s a c k 算法就用重传超时来检测丢包,重传丢失的包,然后进入慢启动。 如果发送方收到这样一个应答帧,它用来通告所有在进入快速恢复时没有 完成的数据已经完成发送,那么,发送方退出快速恢复阶段。发送方对部分应 答( 是在快速恢复阶段收到的,但不把发送方带出快速恢复) 进行特殊的处理。 对部分应答来说,发送方每次减少两个包而不是一个包,当快速恢复初始化时, 管道为每个假定丢失的包减一,而为每一个重传的包增加一。因而当接收到第1 个部分应答时,就把管道减少两个包。从某种意义上说有些欺骗的意味:因为 部分包仅仅代表1 个包离开了管道,然而对后续的部分包而言,当重传包进入时 9 管道要增加,但对那些被假定丢失的包,管道从不减少。因而当后继的部分包 到达时,事实上是两个包离开了管道:原始包( 假定已经丢失的包) 和重传包。 因为发送方为部分包减少2 而不是1 ,所以s a c k 发送方不可能比慢启动更慢。 2 4 5t c pv e g a s 与前几种算法不同,v e g a s 是一种通过检测网络流量来避免拥塞的拥塞控 制算法【2 1 1 。系统通过观察以前的t c p 连接中r t t 值改变情况来控制拥塞窗口 c w n d 。如果发现r t t 变大,v e g a s 就认为网络发生拥塞,并开始减小c w n d :如果 r t t 变小,v e g a s 就解除拥塞,再次增加c w n d 。这样,c w n d 在理想情况下就会稳定 在一个合适的值上。这样做的最大好处在于拥塞机制的触发只与r t t 的改变有 关,而与包的具体传输时延无关。由于它没有采用包丢失来判断网络可用带宽, 而以r t t 的改变来判断,所以能较好地预测网络带宽使用情况,并且对小缓存的 适应性较强,其公平性、效率都较好。它主要从
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年吐鲁番辅警协警招聘考试真题含答案详解(满分必刷)
- 2024年嘉义县辅警招聘考试题库附答案详解(轻巧夺冠)
- 2023年黑龙江辅警招聘考试题库附答案详解(综合卷)
- 2024年六盘水辅警招聘考试真题附答案详解(b卷)
- 2023年阿拉善盟辅警招聘考试题库附答案详解(典型题)
- 2024年安康辅警招聘考试真题附答案详解(精练)
- 2023年石家庄辅警招聘考试真题及答案详解(考点梳理)
- 2024年固原辅警协警招聘考试备考题库含答案详解(培优)
- 2023年鞍山辅警协警招聘考试备考题库含答案详解(轻巧夺冠)
- 2023年茂名辅警招聘考试题库及答案详解(基础+提升)
- 四川省眉山市2024-2025学年上学期八年级 英语期中试题
- 公司废旧物资移交清单
- 运动场主席台施工方案
- DL∕T 5161.4-2018 电气装置安装工程质量检验及评定规程 第4部分:母线装置施工质量检验
- 化工三剂知识讲座
- 《碳汇计量评估师》考试复习题库(含答案)
- 保安服务月度考核表
- 第十一章第一节-正常吞咽的解剖生理学基础(李铁山-丘红卫-)
- 针灸推拿考试题及参考答案
- 球墨铸铁管施工安装技术规范
- 2022年北京协和医院招聘笔试备考题库及答案解析
评论
0/150
提交评论