




已阅读5页,还剩49页未读, 继续免费阅读
(计算机应用技术专业论文)无线环境下tcp算法的改进研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京邮电大学硕士研究生学位论文 摘要 摘要 随着计算机网络及通信技术的发展,无线网络逐渐从有线网络的补充转变为有线网络 的有力竞争者。但是由于无线环境与有线环境相比,通常具有高误码率( b e r ) 、变化的带 宽、较大的时延以及频繁移动等特性,因此,无线通信网络的迅速发展也对当前的t c p 协议性能产生了较大的影响。传统t c p 算法将无线信道误码率及移动切换引起的数据包 丢失误归于网络拥塞而采取拥塞控制措施,不必要地降低了端到端的吞吐量,导致算法性能 的下降。此外,在无线信道中的数据传输过程中,只要数据块中有一个比特发生错误就会 导致该数据块无法使用;而一旦发生t c p 报文段损坏,就会导致t c p 进入快速重传或者 慢启动阶段,从而也造成算法性能的降低。 针对上述情况,本文首先分析了无线t c p 性能下降的根本原因,对主流无线t c p 算 法进行分类研究,并深入分析了具有代表性的t c pr e n o 算法。提出了一种在8 0 2 1 1 b 环 境下能预测未来时刻误码率,并能动态调整t c p 报文段尺寸的t c pr e n oa d 算法。 为了验证该算法的有效性,本文通过网络仿真工具n s 2 ( n e ts i m u l a t o r2 ) 在变误码率 的信道环境中对该算法进行了仿真,同时分析了算法改进前后平均吞吐量、往返时间以及 拥塞窗口等网络参数的变化。结果表明改进后的t c pr e n oa d 算法能提高无线网络通信 中的t c p 算法性能。 关键词:无线网络,拥塞控制,t c p 报文段,平均吞吐量,往返时间,拥塞窗口 南京邮电大学硕士研究生学位论文 a b s t r a c t w i t ht h ed e v e l o p m e n to fc o m p u t e rn e t w o r ka n dc o m m u n i c a t i o nt e c h n o l o g y , w i r e l e s s n e t w o r kh a sc h a n g e df r o mt h ea c c e s s o r yt ot h ec o m p e t i t o ro ft h ew i r e dn e t w o r k b u t ,c o m p a r e d t ot h ew i r e dn e t w o r k ,w i r e l e s sn e t w o r kp r o c e s s e sm o r ec h a r a c t e r i s t i c so fh i 曲b e r ( b i te r r o r r a t e ) ,c h a n g i n gb a n d w i d t h , l a r g e rd e l a y sa n dc o n t i n u a lm o b i l i t yt h a ta l s or e s u l ti nm o r e a f f e c t i o no nt c p p r o t o c 0 1 t r a d i t i o n a lt c pa l g o r i t h mi n c o r r e c t l yr e g a r dd a t al o s to fw i r e l e s s b e ra n dm o b i l i t ys w i t c ha sar e s u l to fn e t w o r kc o n g e s t i o nt h e na d o p tc o n g e s t i o nc o n t r o lb u t t h i sm e a s u r ec e r t a i n l yr e d u c ep o r tt op o r tt h r o u g h p u ta n dl e a dt ot c p a l g o r i t h mp e r f o r m a n c e d r o p m o r e o v e r , i nt h ed a t at r a n s p o r to fw i r e l e s sc h a n n e l ,t h ed a t ab l o c kw i l lb eu s e l e s sa sl o n g a so n ee r r o rb i ti nd a t ab l o c k a n dt c pa l g o r i t h mw i l la d o p tf a s tr e t r a n s m i s s i o na n ds l o w s t a r tm e c h a n i s mw h e nt c p s e g m e n ti sd e s t r o y e d i nt h i sp a p e r , w ef i r s t l ya n a l y z et h er e a s o no fp e r f o r m a n c er e d u c t i o ni nw i r e l e s st c ew e s t l l d yt h ep r i m a r yw i r e l e s st c pa l g o r i t h ms e p a r a t e l ya n dg od e e pi n t or e p r e s e n t a t i v et c pr e n o a l g o r i t h m b e s i d e st h i s ,w ep r o p o s ean e wt c pr e n oa l g o r i t h mn a m e dt c pr e n o a d a l g o r i t h mi n8 0 2 1lbe n v i r o n m e n tw h i c hc a ne s t i m a t eb e ri nt h ef u t u r ea n da d j u s tt c p s e g m e n ts i z ea d a p t i v e l y w eh a v es i m u l a t e dt h ea l g o r i t h mu s i n gn ss i m u l a t i o nt o o l su n d e rt h ec h a n g i n gb e r w i r e l e s se n v i r o n m e n ta n da n a l y z et h ea v e r a g et h r o u g h o u t ,r 1 陌( r o u n tt r i pt i m e ) ,c w n d ( c o n g e s t i o nw i n d o w ) o ft c pr e n o a da l g o r i t h m t h es i m u l a t i o nr e s u l t si n d i c a t et h a tt h e m o d i f i e da l g o r i t h mi sa b l et om a i n t a i nh i i g ht h r o u g h p u to v e rt h ew i r e d w i r e l e s sl i n k ,i m p r o v e t h ep e r f o r m a n c eo ft e e k e y w o r d s :w i r e l e s sn e t w o r k ,c o n g e s t i o nc o n t r o l ,t c ps e g m e n t ,r t t ,c w n d i i 南京邮电大学硕士研究生学位论文缩略词 缩略词 缩略词英文全称译文 t c pt r a n s m i s s i o nc o n t r o lp r o t o c o l 传输控制协议 n s n e t w o r ks i m u l a t i o n网络模拟 b e rb i te r r o rr a t e 误比特率 m s sm a x i m u ms e g m e n ts i z e 最大报文段 a i m da d d i t i v ei n c r e a s em u l t i p l i c a t i v ed e c r e a s e 加性增乘性减 i pi n t e r n e tp r o t o c o l 因特网协议 a r q a u t o m a t i cr e p e a tr e q u e s t 自动重发请求 f e c f o r w a r de r r o rc o r r e c t i o n 前向差错检测 m s lm a xs e g m e n tl i f e t i m e 最大报文生存期 r t or e t r a n s m i s s i o nt i m e o u t 超时重传 s s t h r e s hs l o ws t a r tt h r e s h 慢启动门限 i s ni n i t i a ls e q u e n c en u m b e r 初始序列号 c w n d c o n g e s t i o nw i n d o w 拥塞窗口 r t tr o u n tt r i pt i m e 往返时间 i u c r e q u e s tf o rc o m m e n t 请求注解 a c k a c k n o w l e g e m e n t 应答 s a c ks e i e c t i v ea c k n o w l e g e m e n t 选择性应答 i e e ei n s t i t u t eo fe l e c t r i c a la n de l e c t r o n i c s美国电器与电子工程师协 e n g i n e e r i n g 会 e l n e x p l i c i tl o s sn o t i c a t i o n 显式丢失通知 e c n e x p l i c i tc o n g e s t i o nn o t i c a t i o n显式拥塞通知 o s i o p e ns y s t e mi n t e r c o n n e c t i o n 开放系统互连 南京邮电大学学位论文原创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包 含其他人已经发表或撰写过的研究成果,也不包含为获得南京邮电大学或其它 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的 任何贡献均已在论文中作了明确的说明并表示了谢意。 研究生签名:粒日期:芈 南京邮电大学学位论文使用授权声明 南京邮电大学、中国科学技术信息研究所、国家图书馆有权保留本人所送 交学位论文的复印件和电子文档,可以采用影印、缩印或其它复制手段保存论 文。本文电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文 外,允许论文被查阅和借阅,可以公布( 包括刊登) 论文的全部或部分内容。 论文的公布( 包括刊登) 授权南京邮电大学研究生部办理。 研究生签名: 扯导师签名: 叁至 日期: 南京邮电大学硕士研究生学位论文第一章绪论 1 1 无线网络概述 第一章绪论 近年来随着无线网络的标准化以及无线产品性能的不断提升,无线网络作为有线网络 的延伸,为有线网络无法扩展到的区域提供了最佳的接入方式。同时,以i e e e8 0 2 1 1 、 g s m 、g p r s 、c d m a 、b l u e t o o t h 等协议为代表的无线接入技术的相继出现并且获得广泛 应用。未来,随着开放办公的流行,人们对移动性访问和存储信息的需求越来越多,因而 无线网络将会在办公、生产和家庭等领域扮演更为重要的角色。 从2 0 世纪7 0 年代到9 0 年代早期,人们对无线连接的需求日益增长,无线网络起源 可以追溯到1 9 7 1 年代夏威夷大学的a l o h a n e t 研究项目,然而真正促使其成为2 1 世纪 初发展最为迅速的技术之一,则是1 9 9 7 年i e e e8 0 2 1 1 标准的颁布、w i f i 联盟( 以前 称为无线网络标准化组织,w i r e l e s se t h e m e tc o m p a t i b i l i t ya l l i a n c e ,w e c a ) 互操作性保 证的发展等关键事件。从1 9 9 8 年开始,基于i e e e 8 0 2 1 1 的无线接入设备开始上市,从而 加速了无线网络通信的发展。 1 1 1 无线网络的分类 根据无线网络的不同连接方式,可以把无线网络泛泛地分为3 类: 1 蜂窝无线网络 此网络模型中的移动用户是通过基站和固定网络连接的,这是目前使用最为广泛的无 线网络。在这种无线网络模型中,只需要解决无线终端与基站之间的t c p 传输问题,也 就是所谓的单跳问题,这也是目前无线t c p 研究和提出解决方法最多的无线网络模型, 常见的手机网络就是属于此种类型。 2 a dh o c 网络 这种网络不需要基站,移动主机通过无线链路相互连接自动地组成一个网络。主要需 要解决路由中断后t c p 传输的问题。目前,这种网络模型中的t c p 研究还不是很多。 3 卫星网络 发送端和接收端之间使用卫星链路连接。主要需要解决大时延带宽乘积和不对称链 路的问题。 得益于蜂窝无线网络自身的优点,蜂窝网络在全世界得到了广泛的应用,本文主要研 1 南京邮电大学硕士研究生学位论文 第一章绪论 究的是t c p 在蜂窝无线网络中的应用,以下的叙述如不特殊说明,无线网络均指蜂窝无 线网络。 1 i 2 无线网络的标准 目前常用的无线网络标准主要有美国i e 髓( 电机电子工程师协会, t h ei n s t i t u t eo f e l e c t r i c a la n de l e c t r o n i c se n g i n e e r s ) 所制定的8 0 2 1 i 标准( 包括8 0 2 1l a 、 8 0 2 1 l b 及8 0 2 1 1 9 等标准) ,蓝牙( b l u e t o o t h ) 标准以及h o m e r f ( 家庭网络) 标准 等。i e e e s 0 2 1 1 是美国电机电子工程师协会( i e e e ) 为解决无线网路设备互连,于1 9 9 7 年6 月制定发布的无线局域网标准。 8 0 2 11 是i e e e 制订的第一个无线局域网标准,主要用于解决办公室局域网和校园网 中用户与用户终端的无线接入,业务主要限于数据访问,速率最高只能达到2 m b i v s 。由 于它在速率和传输距离上都不能满足人们的需要,因此,i e e e 小组又相继推出了8 0 2 1 i b 和8 0 2 1 l a 两个新标准,前者已经成为目前的主流标准,而后者也被很多厂商看好。 i e e e 8 0 2 1 l b 是美国电机电子工程师协会( i e e e ) 为了改进其最初推出的无线标准 i e e e 8 0 2 1 1 而推出的第二代无线局域网络协议标准。最开始推出的是8 0 2 1 1 b ,它的传输 速度为1 1 m b s ,因为它的连接速度比较低,随后推出了8 0 2 1 l a 标准。 i e e e 8 0 2 1 1 a 是美国电机电子工程师协会( i e e e ) 为了改进其最初推出的无线标准 i e e e 8 0 2 1 1 而推出的无线局域网络协议标准。是1 e e e 8 0 2 1 1 的有益补充。8 0 2 1 l a 标准 是已在办公室、家庭、宾馆、机场等众多场合得到广泛应用的8 0 2 1 l b ( 传输速度l l m s ) 无线局域网标准的后续标准。8 0 2 1 l a 标准的传输优点是传输速度快,速度可达5 4 m b p s , 完全能满足语音、数据、图像等业务的需要。缺点是无法与8 0 2 1 l b 兼容,致使一些早已 购买8 0 2 1 l b 标准的无线网络设备在新的8 0 2 。1 l a 网络中不能用。 目前8 0 2 1 1 主要有8 0 2 1 l b 、8 0 2 1 l a 、8 0 2 1 1 9 三个标准。它的连接速度可达5 4 m b s 。 但由于前两者不互相兼容, m e e 又正式推出了完全兼容8 0 2 11 b 标准且与8 0 2 1 1 a 速率 上兼容的8 0 2 1 l g 标准,这样通过8 0 2 。1 1 9 ,原有的8 0 2 1 l b 和8 0 2 1 l a 两种标准的设备就 可以在同一网络中使用。i e e e 8 0 2 1 l g 同8 0 2 ,l i b 一样,也工作在2 4 g h z 频段内,比现在 通用的8 0 2 1 1 b 速度要快出5 倍,并且与8 0 2 1 1 完全兼容。 h o m e r f 工作组是由美国家用射频委员会领导、于1 9 9 7 年成立的,其主要工作任务 是为家庭用户建立具有互操作性的话音和数据通信网。它推出h o m e r f 的标准集成了语 音和数据传送技术,工作频段为1 0 g h z ,数据传输速率达到1 0 0 m b i t s ,在w l a n 的安全 2 南京邮电大学硕士研究生学位论文 第一章绪论 性方面主要考虑访问控制和加密技术。 h o m e r f 是对现有无线通信标准的综合和改进:当进行数据通信时,采用i e e e 8 0 2 1 1 规范中的t c p i p 传输协议;当进行语音通信时,则采用数字增强型无绳通信标准。但是, 该标准与8 0 2 1 l b 不兼容,并占据了与8 0 2 1 1 b 和b l u e t o o t h 相同的2 4 g h z 频率段,所以 在应用范围上会有很大的局限性,更多的是在家庭网络中使用。 所谓蓝牙( b l u e t o o t h ) 技术,实际上是一种短距离无线电技术,利用蓝牙技术,能够有 效地简化掌上电脑、笔记本电脑和移动电话手机等移动通信终端设备之间的通信,也能够 成功地简化以上这些设备与因特网i n t e r n e t 之间的通信,从而使这些现代通信设备与因特 网之间的数据传输变得更加迅速高效,为无线通信拓宽道路。现在无线局域网产品已经陆 续支持蓝牙技术。蓝牙产品采用的是一种称之为跳频的技术,能够抗信号衰落;工作于 2 4 g h z 的i s m ( 即工业、科学、医学) 频段,以省去申请专用许可证的麻烦;采用f m 调 制方式,使设备变得更为简单可靠:蓝牙的每一个话音通道支持6 4 k b s 的同步话音,异 步通道支持的最大速率为7 2 1 k b p s 、反向应答速率为5 7 6 k b p s 的非对称连接,或者 4 3 2 6 k b s 的对称连接。r t d 采用无线网络标准的产品有采用蓝牙标准的b t l l o e r 和采样 8 0 2 1 l 【1 3 1 标准的w l a n17 2 0 2 e r 。 1 2 无线网络t c p 1 2 1 无线t c p 存在的问题 t c p t 4 , s 】是目前i n t e m e t 中广泛采用的传输控制协议,为各主机之间提供可靠按序的 传输服务,在保障网络通信性能方面起着非常重要的作用。而拥塞控伟u t 6 j 是其成功应用于 i n t e m e t 的重要因素。t c p 拥塞控制的前提是网络拥塞为数据丢失的唯一原因,这对于链 路质量较好的有线环境是适宜的。随着无线应用的飞跃发展,人们越来越多的把目光投向 了无线网络的通信。由于无线环境与有线环境相比,通常具有误码率高、带宽低、时延大 以及频繁的移动等特性,这样,传统的基于有线环境的t c p 技术已无法适应链路质量相 对较差的无线环境。无线网络中网络拥塞已不再是数据丢失的唯一原因,如果直接沿用现 有的t c p 技术,即便数据丢失不是由网络拥塞引起,而是由链路错误所致,t c p 仍会启 动拥塞控制,造成数据发送速率的不必要降低,导致带宽利用率不高,系统时延加大,吞 吐量下降。 南京邮电大学硕士研究生学位论文第一章绪论 1 2 2 当前的研究现状 为了更好解决无线环境中t c p 存在的问题以及提高无线环境中的t c p 性能,近年来, 国际上许多知名的大学、标准化组织、电信和计算机网络公司以及各国或跨国的研究机构 都积极投入了大量的人力、物力和财力进行这一领域的研究,并取得了一些初步的成果。 这些解决方案主要包括:端到端的传输层方案7 , s l ,分段连接方案 9 , 1 0 】,跨层合作方案【1 1 , 1 2 】, 纯链路层解决方案【1 3 , 1 4 】等,这些成果主要以改善无线网络下的t c p 性能为首要目标, 解决方案涉及: 1 链路层:采用良好的链路层控制机制,对t c p 屏蔽无线链路特性。 2 传输层:考虑无线链路特性,修改t c p 。 3 链路层与传输层协同工作:一方面避免重复的差错控制;另一方面链路层也可将 其了解到的无线链路特性通告给传输层,以便使传输层采取相应的控制策略。 4 网络层:采用良好的路由协议,减少因为移动主机频繁移动而造成连接中断的可 能性。 1 3 本文研究的主要内容及组织结构 本文首先介绍当前t c p 应用于无线网络主流算法,并对它们的优缺点进行分析、比 较。在着重研究t c pr e n o 算法的基础上,提出一个基于t c pr e n o 的改进算法t c p r e n o a d 算法。搭建无线网络环境,选定无线局域网i e e e 8 0 2 1 1 b 标准进行仿真,在n s 网络仿真工具中模拟此算法的运行,分析仿真结果,验证该算法能够有效的改进t c p 的 性能。 论文的组织结构: 第一章:绪论,介绍本论文的研究背景以及目前的研究现状。概述了当前无线网络发 展、标准及其分类、无线网络存在的问题以及针对这些问题学术界的研究现状。 第二章:在简要介绍传统的t c p 协议的基础上,深入分析t c p 拥塞控制算法。 第三章:分析了传统t c p 在无线网络中性能降低的原因,介绍了当前改善无线t c p 性能的方案。 第四章:简单介绍n s 2 仿真工具,提出改进的t c pr e n oa d 算法,并在n s 2 中给出 仿真结果并加以分析,证明理论分析的改进算法的正确性及有效性。 第五章:结论以及后续工作的展望及有待完善之处。 4 南京邮电大学硕士研究生学位论文第二章t c p 协议及拥塞控制机制 第二章t c p 协议及拥塞控制机制 本章将分析有线网络环境下的t c p 协议,介绍t c p 协议的基本工作原理、各种控制 机制以及各种主流的t c p 拥塞控制算法,以便在此基础上进一步研究基于它的改进策略。 2 1t c p 协议简介及报文格式 传输控制协议t c p ( t r a n s m i s s i o nc o n t r o lp r o t o c 0 1 ) 是一种端到端的面向连接、可靠的、 基于字节流的传输层通信协议,为应用层提供可靠的数据传输服务,在保障网络通信性能 方面起着非常重要的作用。 t c p 协议从诞生之初,就不断被改进,从最初的t a h o e 、r e n o 15 1 ,到现在的n e w r e n o 。 其主要的改进就在拥塞控制算法方面。 图2 1 显示了t c p 首部的数据格式。若不计任选字段,通常是2 0 个字节。 1 6 位源端口号1 6 位目的端口号 3 2 位序号 3 2 位确认序号 ua prsf 4 位首部长度 保留( 6 位) rcssyi1 6 位窗口大小 gk htn n 1 6 位校验和1 6 位紧急指针 选项 数据 图2 - 1t c p 首部的数据格式 下面对图2 1 中的各个字段进行简要说明: 1 源端口( 1 6 位) :定义了在主机中发送该报文段的应用程序的端口号,以识 别本地t c p 用户。 2 目的端口( 1 6 位) :义了在主机中接收该报文段的应用程序的端口号,以识 5 南京邮电大学硕士研究生学位论文第二章t c p 协议及拥塞控制机制 别目的t c p 用户。 3 序号( 3 2 位) :指明当前发送数据在发送端数据流中的位置。 4 确认序号( 3 2 位) :指出了本机希望接收下一个数据字段的序号。 5 首部长度( 4 位) :以3 2 比特为单位的首部长度值。 6 保留( 6 位) :保留给将来使用。 7 标志( 6 位) :各标志位置“1 时分别表示以下含义: 1 ) u r g :紧急指针字段有意义。 2 ) a c k :确认字段有意义。 3 ) p s h :本报文段请求急迫( p u s h ) 操作。 4 ) r s t :连接复位。 5 ) s y n :序号同步。 6 ) f i n :发送端不再发送数据。 8 窗口( 1 6 位) :流量控制使用的信用量,表示接收主机能够接收的数据大小, 单位是字节。 9 校验和( 1 6 位) :提供了对包括t c p 首部在内全部数据完整性的校验。 1 0 紧急指针( 1 6 位) :指向紧急数据的最后一个字节。 1 1 选项以及填充( 3 2 位) :为可选部分,用于t c p 具体选项。填充的作用是 确保首部大小是一个3 2 位的整倍数。 2 2t c p 连接过程 2 2 1t c p 连接的建立与关闭 t c p 是一个面向连接的协议。无论哪一方向另一方发送数据之前,都必须先在双方 之间建立一条链接。t c p 使用三次握手( t h r e e w a y h a n d s h a k e ) 协议来建立连接,图2 2 描述了三次握手的报文序列。这三次握手为:请求端( 通常称为客户) 发送一个s y n 报 文段( s y n 为1 ) 指明客户打算连接的服务器的端口,以及初始顺序号( i s n ) 。 1 服务器发回包含服务器的初始顺序号的s y n 报文段( s y n 为1 ) 作为应答。同 时,将确认号设置为客户的i s n 加1 以对客户的s y n 报文段进行确认( a c k 也为 1 ) 。 2 客户必须将确认号设置为服务器的i s n 加1 以对服务器的s y n 报文段进行 6 南京邮电大学硕士研究生学位论文第二章t c p 协议及拥塞控制机制 确认( a c k 为1 ) ,该报文通知目的主机双方已完成连接建立。 客户方事件网络报文服务器方事件 发送s y n 报文段 顺序号- - x 接收s y n + a c k 报文段 发送a c ky + 1 报文段 接收s y n 报文段 发送s y n 报文段 顺序号- - y ,a c kx + l 接收a c k 报文段 图2 - 2t c p 连接的建立过程 建立一个链接需要三次握手,而终止一个链接要经过4 次握手,如图2 3 所示。这是 因为t c p 的半关闭( h a l f - c l o s e ) 造成的。由于一个t c p 连接是全双工( 即数据在两个 方向上能同时传递) ,因此每个方向必须单独地进行关闭。关闭的原则就是当一方完成它 的数据发送任务后就能发送一个f i n 来终止这个方向链接。当一端收到一个f i n ,它 必须通知应用层另一端已经终止了那个方向的数据传送。发送f i n 通常是应用层进行关 闭的结果。 发起方事件 网络报文响应方事件 ( 应用进程关闭连接) 发送f n 报文段 顺序号- x 接收a c k 报文段 接收f i n + a c k 报文段 发送a c ky + l 报文段 接收f i n 煨文段 发送a c kx + 1 报文段 ( 通知应用进程) 发送f i n t 民文段 顺序号= y ,a c kx + l ( 应用进程关闭连接) 接收a c k 报文段 图2 - 3t c p 连接的关闭过程 7 南京邮电大学硕士研究生学位论文第二章t c p 协议及拥塞控制机制 2 2 2t c p 状态变化 t c p 协议的操作可以使用一个具有1 1 种状态的有限状态机( f i n i t es t a t em a c h i n e ) 来表示,图2 4 描述了t c p 的有限状态机,图中的圆角矩形表示状态,箭头表示状态之 间的转换。图中用粗线表示客户端主动和被动的服务器端建立连接的正常过程:客户端的 状态变迁用粗实线,服务器端的状态变迁用粗虚线。细线用于不常见的序列,如复位、同 时打开、同时关闭等。图中的每条状态变换线上均标有“事件动作”:事件是指用户执行 了系统调用( c o n n e c t 、l i s t e n 、s e n d 或c l o s e ) 、收到一个报文段( s y n 、f i n 、 a c k 或r s t ) 、或者是出现了超过两倍最大的分组生命期的情况;动作是指发送一个报 文段( s y n 、f i n 或a c k ) 或什么也没有( 用“一表示) 。 ( 返回到开始状态) 图2 - 4 t c p 的状态变化图 2 3r t t 和r t o 的平滑估计 t c p 判定超时和重传的最主要机制是测量一个给定链接的往返时间r t t 1 7 , z s j 8 南京邮电大学硕士研究生学位论文 第二章t c p 协议及拥塞控制机制 ( r o u n d t r i p t i m e ) 。由于网络路由以及网络流量均会发生变化,所以t c p 跟踪这些变化 并相应的改变其估计的超时门限。 由于数据报文段和a c k 之间通常没有一一对应的关系,t c p 必须测量在发送一个带 有特别序号的字节和接收到包含该字节的确认之间的r 1 陌。称这个r 1 r t 为s a m p l er 1 r t 。 称s r t t 为i m 平滑过的值,称r t t v a r 为砌r ,r 的被平滑的均值方差。r t o 19 】可以按照 以下公式来计算: s r t t = o 一曲x s r t t + g x s a m p l ei m ( 2 1 ) r t t v a r = ( 1 一h ) r t l r - h 母 s a m p l e r t t - s r t t i ( 2 2 ) r 1 f d = s r t t + 4 宰r t t v a r( 2 3 ) 其中增量g 其平均作用,取值为o 1 2 5 ,偏差的增益是h ,取值为0 2 5 。当r t t 变化 时,较大的偏差增益将使r t o 快速上升。 当前这个r t o 估计方法已经被广泛应用于有线网络中。但是在应用到无线网络时, 由于无线网络有别于有线网络的特点,使得这种计算方法性能降低。如果r t o 估计值过 小,将导致大量数据包超时,那么重传次数就会过多。如果r t o 估计值过大,将会导致 t c p 发送速率下降,以上两种情况都会造成t c p 的性能下降。 2 4t c p 流量控制机制 t c p 使用滑动窗口协议的流量控制方法。该协议允许发送方在停止并等待确认前可 以连续发送多个分组。由于发送方不必每发一个分组就停下来等待确认,因此该协议可以 加速数据的传输。滑动窗口的大小不仅取决于接收端,而且取决于网络的拥塞状况。接收 端根据其可用缓存大小及处理能力,在a c k 报文段的通告窗口中向发送端通告其可用 窗口大小,发送端根据a c k 中的通告窗1 2 1 调整滑动窗口大小。 2 5t c p 差错控制机制 t c p 是一个可靠的传输层协议。这就表示,将数据交付给t c p 的应用程序依靠t c p 将整个数据流交付给另一端的应用程序,并且是按序、无差错、没有任何丢失或重复, t c p 通过使用差错控制提供可靠性。差错控制通常包括检测损坏的报文段、丢失的报文 段、失序的报文段和重复的报文段等机制。 t c p 中的差错检测是通过一种简单工具完成:校验和、确认和超时。每一个报文段 都包括校验和字段,用来检查损坏的报文段。若报文段受损,则由目的t c p 将其丢弃。 9 南京邮电大学硕士研究生学位论文 第二章t c p 协议及拥塞控制机制 t c p 使用确认的方法来证实收到了某些报文段,若一个报文段在超时截止期之前未被确 认,则被认为是受到损或已丢失。t c p 将重传受损或丢失的报文段。t c p 对失序的报文 段不确认,直到收到所有它以前的报文段为止。当然,若确认t c p 报文段晚到,源t c p 的失序报文段的计时器会到期而重新发送该报文段,目的t c p 丢弃重复的报文段。 2 6t c p 拥塞控制机制及算法 2 6 1t c p 拥塞控制机制 t c p 的拥塞控制主要原理依赖于一个拥塞窗口( c o n g e s t i o nw i n d o wc w n d ) 来控制, t c p 还有一个对端通告的接收窗口( r e c e i v e r s sw i n d o wr w n d ) 用于流量控制。窗口值的大 小代表能够发送出去但还没有收到a c k 的最大数据报文段,显然窗口越大那么数据发送 的速度也就越快,但是也可能使得网络出现拥塞。如果窗口值为1 ,那么就简化为一个停 等协议,每发送一个数据,都要等到对方的确认才能发送第二个数据包,显然数据传输效 率低下。t c p 的拥塞控制算法就是要在这两者之间权衡,选取最好的c w n d 值,从而使得 网络吞吐量最大化且不产生拥塞。 由于需要考虑拥塞控制和流量控制两个方面的内容,因此t c p 的真正的发送窗口 = r n i n ( r w n d ,c w n d ) 。但是r w n d 是由对端确定的,网络环境对其没有影响,所以在考虑拥 塞的时候一般不考虑r w n d 的值,只讨论如何确定c w n d 值的大小。关于c w n d 的单位, 在t c p 中是以字节来为做单位,假设t c p 每次传输都是按照报文段( m a x i t u ms e g m e n t s i z e m s s ) 大小来发送数据,也可以认为c w n d 按照数据包个数来为单位,所以c w n d 增加1 也就是相当于字节数增加1 个m s s 大小。 2 6 2t c p 拥塞控制算法 数据包在传输过程中可能发生链路错误或者网络拥塞。在有线网络中,链路错误很罕 见,因此t c p 认为数据包发生丢失就意味着网络发生了拥塞,此时需要进行拥塞避免了。 t c p 通过检测重复的a c k 和数据包的超时来判断是否发生网络拥塞。 目前t c p 协议包含有多个版本:t c pt a h o e ,t c pr e n o ,t c pn e w r e n o 和t c ps a c k 等。t c p t a h o e 是早期的t c p 版本,它包括了3 个最基本的拥塞控制算法,“慢启动”、“拥 塞避免”和“快速重传 。t c p r e n o 在t c p t a h o e 基础上增加了“快速恢复 算法。t c p n e w r e n o 对t c p r e n o 中的“快速恢复”算法进行了修正,它考虑了一个发送窗口内多个 1 0 南京邮电大学硕士研究生学位论文 第二章t c p 协议及拥塞控制机制 数据包丢失的情况。在r e n o 中,发送端收到一个新的a c k 后就退出“快速恢复”阶段, 而在n e w r e n o 版中,只有当所有的数据包都被确认后才退出“快速恢复”阶段。t c ps a c k 关注的也是一个窗口内多个数据包丢失的情况,它避免了之前版本的t c p 重传一个窗口 内所有数据包( 包括那些己经被接收端正确接收的数据包) 的情况,只重传那些丢失的数据 包。 1 慢启动( s l o ws t a r t ) t c p 中使用的发送窗口越大,发送t c p 实体在等待一个确认之前可以发送的数据 就越多。正常情况下,t c p 的自同步特性会为t c p 确定适当的速率。然而,当一个连 接刚刚初始化时,不存在这样的同步机制。可以采取的一种策略是:让发送t c p 实体从 某个相对较大的窗口开始发送,希望在此过程中逼近连接最终能提供的窗口大小。这比较 危险,因为发送端从超时认识到流量过量之前就可能造成互联网的流量泛滥。相反地,应 该采取某种逐渐扩展窗口的方法,直到同步机制起作用。 j a c o b s o n 推荐了一种称为慢启动的方法。t c p 使用了一个拥塞窗口,在任意时刻, t c p 传输受限于如下关系式: a w n d = m 1 n c r e d i t ,c w n a ( 2 4 ) 其中a w n d 为允许窗口,是t c p 当前在没有收到进一步确认的情况下被允许发送的 报文段个数;c w n d 为拥塞窗口,是t c p 在启动阶段或在拥塞时为减小流量而使用的窗 口;c r e d i t 为最近一个确认所许可的未被使用的信用量( 这些变量的单位是字节,但是在 拥塞控制中都是以报文段为单位变化的) 。 当与另一个网络的主机建立t c p 连接时,拥塞窗口被初始化为i * m s s 。每收到一个 a c k ,拥塞窗口就增加i * m s s 。发送端取拥塞窗口与通告窗口中的最小值作为发送上限。 拥塞窗口是发送端使用的流量控制,而通告窗口则是接收端使用的流量控制。发送端在开 始时发送一个报文段,然后等待a c k ,当收到该a c k 时,拥塞窗口从i * m s s 增加为2 * m s s , 即可以发送两个报文段。当收到关于这两个报文段的a c k 时,拥塞窗口就增加为4 * m s s , 以此类推。这是一种指数增加的关系。在某些点上可能达到了互联网的最大容量,于是中 间路由器开始丢弃分组,这就通知发送端它的拥塞窗口开得过大。 实际上,慢启动机制通过探测网络来确保不会把大量报文段发送进一个已经拥塞的环 境中。随着确认的到达,t c p 就可以扩大其拥塞窗口,直到流量最终由到来的确认a c k 而非拥塞窗口所控制。 2 拥塞避免【2 0 】( c o n g e s t i o na v o i d a n c e ) 慢启动算法在初始化连接时很有效。它使得发送t c p 实体可以快速地为连接确定合 1 l 南京邮电大学硕士研究生学位论文 第二章t c p 协议及拥塞控制机制 理的窗口大小。具体地,假设一个t c p 实体发起一个连接并经过慢启动过程。某报文段 丢失( 超时) 了,这就是发生拥塞的信号,拥塞的严重程度并不清楚。因此,一种方法是 复位c w n d = i * m s s 并从头开始慢启动过程。这似乎是一种合理的保守的方法,但实际上 它还不够保守。 由于网络进入饱和状态很容易,但让网络从饱和状态中恢复却很难,换一种说法即是 一旦拥塞发生了,要从拥塞中恢复可能需要花费很长时间。因此,慢启动中c w n d 的指 数增加就可能太激进,它可能使拥塞更严重。j a c o b s o n 提出开始使用慢启动然后采用拥 塞避免,即让c w n d 线性增长,这一过程为拥塞避免阶段。该算法假定由于分组受到损 坏引起的丢失是非常少的,因此分组丢失就意味着在源主机和目的主机之间的某处网络发 生了拥塞。有两种分组丢失的指示:发生超时和接收到重复的确认( 如果使用超时作为拥 塞指示,则需要使用一个好的r 1 盯算法) 。拥塞避免算法和慢启动算法是两个目的不同、 独立的算法。但是当拥塞发生时,需要降低分组进入网络的传输速率,可以调用慢启动实 现这一点。在实际应用中这两个算法通常在一起实现。 拥塞避免算法和慢启动算法需要对每个连接维持两个变量:一个拥塞窗v i c w n d 和一个 慢启动s s t h r e s h f 限。算法的工作过程如下: 1 ) 对一个给定的连接,初始化c w n d 为1 * m s s 个字节,s s t h r e s h 为6 5 5 3 5 个字节。 2 ) t c p 发送端的输出不能超过c w n d 和接收端通告窗口的大小。拥塞避免是发送端使用 的流量控制,而通告窗口则是接收端使用的流量控制。前者与发送端估计的网络拥塞状况 有关,而后者则与接收端在该连接上的可用缓存大小有关。 3 ) 当拥塞发生时( 超时或收到重复确认) ,s s t h r e s h 被设置为当前窗口大小的一半 ( c w n d 和接收端通告窗口大小的最小值,但最少为2 幸m s s ) 。此外,如果拥塞引起了超时, 则c 啪d 被设置为i * m s s ( 慢启动) 。 4 ) 当新的数据被对方确认时,就增加c w n d ,但增加的方式依赖于正在进行慢启动还 是拥塞避免。如果c w n d d 、于或等于s s t h r e s h ,则进行慢启动,否则进行拥塞避免。慢启动 一直持续至l j c w n d 增加到上次发生拥塞时s s t h r e s h 的一半,然后转为执行拥塞避免。拥塞避 免算法与慢启动的指数增加比起来,是一种线性增长( a d d i t i v ei n c r e a s e ) 。在一个往返时延内 最多为c w n d 增 j i i * m s s ( 不管在这个r t t 中收到了的a c k 确认了多少个报文段) ,慢启动却 是根据这个往返时间中被确认报文段的个数增力n c w n d 。 如图2 5 说明了慢启动与拥塞避免,以报文段为单位来显示c w n d 和s s t h r e s h ,但它 们实际上都是以字节为单位进行维护的。 在图2 5 中,假定发生拥塞时c w n d 为3 2 个报文段。于是设置s s t h r e s h 为1 6 个报文段,而 1 2 堕室墅皇奎堂堡主堕窒生兰垡丝壅 墨三皇! 里呈堡鲨垦塑鲞丝型塑! 型 c w n d 为1 个报文段。在时刻0 发送了一个报文段,并假定在时n t l 接收到它的a c k ,此时c w n d 增加为2 报文段。接着发送了2 个报文段,并
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 演艺器材租赁合同
- 不良资产处置行业市场格局解析:2025年创新模式应用与发展趋势报告
- 食品加工企业2025年节能减排技术改造项目进度跟踪与成本控制报告
- 深度解析2025年康复医疗器械市场潜力与创新产品研发动态报告
- 中医营养药膳试题及答案
- 装备制造业2025年自主创新能力提升与产业技术创新体系建设创新探索实践路径案例分析报告
- 祈使句考试题及答案
- 音乐产业版权运营与音乐版权交易市场发展机遇:2025年长尾词视角下的科技创新报告
- 2025年葡萄酒产区特色品牌国际化品牌国际化品牌国际化路径优化报告
- 2025年工业互联网平台区块链智能合约安全在智慧物流系统的创新应用
- GB/T 276-2013滚动轴承深沟球轴承外形尺寸
- GB/T 17737.105-2018同轴通信电缆第1-105部分:电气试验方法电缆介质的耐电压试验
- GB 9959.1-2001鲜、冻片猪肉
- 关于创新开发区管理体制机制的思考
- 北京理工大学应用光学课件(大全)李林
- 院前急救120出诊流程图
- 残疾人基本康复服务目录(2021年版)
- 全员安全生产责任制度
- 工作桌面pad相关gec3000通讯协议v2
- 正压式呼吸器使用与管理规范
- GB∕T 37004-2018 国家物品编码通用导则
评论
0/150
提交评论