已阅读5页,还剩48页未读, 继续免费阅读
(通信与信息系统专业论文)基于lwip平台的无线tcp性能研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 基于l w i p 平台的无线t c p 性能研究 摘要 网络的无线接入需要在无线信道下保持传输数据时信息的高效 性。自动重传请求( a r q ) 和传输控制协议( t c p ) 经常被分别用 作链路层和传输层的错误控制机制。在无线环境下,研究者提出了 很多改善现有t c p 协议性能的算法,其中一个比较受关注的策略就 是通过链路层a r q 差错控制来减小无线衰落信道中的差错率。但是 随着a r q 重传次数的增加,在大大降低帧差错率的伺时,也增加了 t c p 端到端的时延,严重时会导致t c p 超时。因此,研究a r q 对 t c p 流量的影响就成为实现链路层和传输层联合优化,以提高下一 代无线网络性能的一个迫切问题。 在本文中,我们将通过l w i p 的实际网络环境来研究当链路最后 一跳为无线网络时,a r q 矛t ! t c p 之间的相互影响。 链路层重传可以减少t c p 层的重传,同时避免t c p 将包的丢失作 为拥塞加以处理。尽管无线信道存在很多缺点,但是只要我们根据 无线信道时变的特点恰当的调整链路层和传输层的参数设置,便可 以获得可靠的通信链路。a r o 策略的重传次数$ 1 t c p 报文的大小等 参数可以根据当前链路条件和传输层所要求的o o s 加以确定。为了 使得协议参数设置可以满足q o s 要求并且进行准确的实际模拟,我 们使用完全符合实际无线环境的马尔可夫模型来模拟无线链路。 仿真结果表明,在给定目标分组丢失率的条件下,可以得到满 足要求的链路层p d u 最大重传次数,通过恰当的设置a r o 的重传次 数可以有效的降低分组差错率,使得t c p 流量增加。 关键词:a r q t c pm a r k o v 模型l w i p a b s t r a c t t h et h r o u g h p u tp e r f o r m a n c eo fw i r e l e s s t c pb a s e d0 n t h ei 肼i pp l a r f o r m a b s t r a c t w i r e l e s sa c c e s st ot h ei n t e r n e tr e q u i r e st h a ti n f o r m a t i o ni n t e g r i t y b ep r e s e r v e dw h i l et r a n s m i t t i n gd a t ao v e rt h er a d i oc h a n n e l a u t o m a t i c r e p e a tr e q u e s to 堰q ) s c h e m e sa n dt r a n s p o r tc o n t r o lp r o t o c o l ( t c p ) a r e o f t e nu s e da se r r o r c o n t r o lt e c h n i q u e sa tt h el i n kl a y e ra n da tt h e t r a n s p o r tl a y e r , r e s p e c t i v e l y i nt h i s p a p e r , w es t u d yt h ei n t e r a c t i o n sb e t w e e na na r qp r o t o c o l a n dt c pw h e nt h el a s th o po ft h ec o n n e c t i o np a t hi sw i r e l e s sb yt h e a c t u a ln e t w o r ke n v i r o n m e n tp r o v i d e db yl w i e l i n kl a y e rr e t r a n s m i s s i o n sa r eu s e dt oh i d el o s s e so v e rt h ew i r e l e s s l i n kt ot c pa n dt oa v o i dt h a tt c p i n t e r p r e t st h e s el o s s e sa ss i g n so f n e t w o r kc o n g e s t i o n b ya d a p t i n gt h ep r o t o c o lp a r a m e t e rs e t t i n ga tt h e 1 i n ka n dt r a n s p o r tl a y e r st ot h et i m e v a r y i n gc h a r a c t e r i s t i c so ft h e w i r e l e s sc h a n n e l ,w eo b t a i nar e l i a b l ec o m m u n i c a t i o nl i n ki ns p i t eo f d i s a d v a n t a g e o u sr a d i oc h a n n e lc o n d i t i o n s t h en u m b e ro fr e t r a n s m i s s i o n s o ft h ea r qs c h e m ea n dt h et c p s e g m e n ts i z ec a n b es e tt op r o p e rv a l u e s t h a t ,g i v e nc e r t a i np r o p a g a t i o nc o n d i t i o n s ,e n a b l et h ed e s i r e dq u a l i t yo f s e r v i c e ( o o s ) a tt h et r a n s p o r tl a y e r i no r d e rt od e r i v et h ep r o t o c o l p a r a m e t e rs e t t i n gf u l f i l l i n gt h eq o sr e q u i r e m e n t s ,w ed e v e l o pd e t a i l e d m o d e l so ft h ea r q p r o t o c o la n dt c pb yu s i n gs t a n d a r dm a r k o v i a n t e c h n i q u e s 。 o u rs i m u l a t i o nr e s u l t ss h o wt h a tb ys e t t i n ga p p r o p r i a t en u m b e ro f a r qr e t r a n s m i s s s i o n s ,s y s t e mo o sc a nb es a t i s f i e da n dt c pt h r o u g h p u t c a nb eo p t i m i z e d k e yw o r d s :a r qt c pm a r k o vl w i p i l 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及 取得的研究成果。尽我所知,除了文中特别加以标注和致谢中所罗 列的内容以外,论文中不包含其他人已经发表或撰写过的研究成 果,也不包含为获得北京邮电大学或其他教育机构的学位或证书而 使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已 在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:丛槛日期:伽6 歹、7 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文 的规定,即:研究生在校攻读学位期间论文工作的知识产权单位属 北京邮电大学。学校有权保留并向国家有关部门或机构送交论文的 复印件和磁盘,允许学位论文被查阅和借阅;学校可以公布学位论 文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保 存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 书。 书。 保密论文注释:本学位论文属于保密在一年解密后适用本授权 非保密论文注释:本学位论文不属于保密范围,适用本授权 本人签名: 导师签名: 日期:型笪兰:兰l 日期:盅皇盟:- i :2 一 第一章前言 1 1 研究背景 第一章前言 近年来,无线网络技术和应用快速增长。无线广域网技术也从2 g 走向 3 g ,4 g ,通信业务i 由单一的话音发展到话音,短信息类数据业务并重,未来还 将支持多媒体等实时业务。无线l a n 除了支持传统的尽力而为的数据业务,还 要支持语音,视频等实时业务。业务需求的多样化为无线网络的设计提出了新 的挑战,未来的网络必须能够支持各式各样不断变化的业务类型及其服务质量 要求( q o s ) ,并支持网络拓扑结构的变化。 传统的t c p i p 等网络协议是针对差错率很低的有线链路提出来的,为了提 供高速移动接入业务,需要对无线通信系统的网络层、数据链路层以及物理层 加以修改,使其更加适用于未来高速无线蜂窝因特网。国内外许多学者在这方 面的研究大都局限于网络体系结构的某一个层面孤立地进行,他们都没有对多 个层面进行全面的整体性的考虑,最终很可能导致土下层协议的相互抵触,从 而降低通信系统的效率。 基于此,m a c 层和t c p 层之间的联合优化就显得尤为重要,当前对这两 层的研究也非常多。但就现在的研究来讲,大家都是在o p n e t 或者n s 2 上进行 的模拟仿真,即所有的数据均是模拟所得,而不是在实际网络中传输的。那么 这种模拟是否符合真正的实际情况,以及如何对m a c 层和t c p 层的联合优化 进行实际网络的模拟就是本论文工作的主要内容。 1 2 无线t c p 与有线信道相比,无线信道的环境更加复杂,有很多独特的特性。首先, 无线传输的开放性导致信号的衰落与干扰,如多径衰落、多普勒频移、阴影效 应、远近效应等,从而导致无线信道的有效带宽不是一成不变的。,而是随时间 而动态变化的;另外,由于信道的时变特性以及发射接收功率的不同,处于小 区不同位置的用户具有不同的信道特性,无线信道还具有位变的特性。也正是 由于无线信道的低带宽及高误码特性,使得某些上层的协议如t c p 等在无线链 路的环境下效率低下,并导致吞吐量恶化。 t c p 为各主机之间提供可靠按序的传输服务,即目前i n t e m e t 中广泛采用的 传输控制协议,而拥塞控制是其成功应用于i n t e m e t 的重要因素。t c p 拥塞控 第一章前言 制的前提是网络拥塞为数据丢失的唯一原因,这对于链路质量较好的有线环境 是适宜的。 随着无线应用的飞跃发展,人们越来越多的把目光投向了无线网络的通 信。由于无线环境与有线环境相比,通常具有误码率高、带宽低、时延大以及 频繁的移动等特性,这样,传统的基于有线环境的t c p 技术已无法适应链路质 量相对较差的无线环境。无线网络中网络拥塞已不再是数据丢失的唯一原因, 如果直接沿用现有的t c p 技术,即便数据丢失不是由网络拥塞引起,而是由链 路错误所致,t c p 仍会启动拥塞控制,造成数据发送速率的不必要降低,导致 带宽利用率不高,系统时延加大,吞吐量下降。 无线链路的误码类型和有线的不同,主要有随机丢失、突发性丢失和与位 置相关的差错。随机丢失可用贝努利分布描述单比特的丢失,用二项分布描述 一个分组内丢失( 错误) 的比特数分布。突发性丢失将信道状态分为g o o d ( g ) 和 b a d ( b ) 两种状态,在各状态的停留时间为负指数分布,可以描述错误发生的相 关性。还可以将信道状态进一步细分,形成多状态的m a r k o v 信道模型。理论证 明,任一随机过程,均可以用多态的m a r k o v 模型来逼近。另外,由于干扰、衰 落以及多径,一个小区在某一时刻内发生错误的链路数是一个随机值,形成的 错误与位置相关,这是无线网络中特有的性质。 目前无线t c p i p 面临的挑战包括流量控制、重传机制和定时估计3 个方 面。流量控制方面的主要问题有:在有大带宽延时积的网络中t c p 的窗口控制 过于粗糙,端对端反馈机制的响应时间过长;无线非拥塞丢失导致产生错误的 拥塞避免动作;多连接共享缓存时对长延时连接的不公平带宽分配。重传方面 的主要问题有:端对端的分组丢失重传效率低、速度慢和累计确认对丢失分组 的检测能力有限。在定时估计方面主要是无法适应链路重传导致的端到端延时 的突发变化 针对t c p 协议在移动无线网络中性能改进的研究主要集中在两个方面,一 个是解决无线链路丢包问题,一个是解决移动终端断连特别是移动切换问题。 人们在这方面作了大量的探索和研究,提出了多种t c p 改进方案,其实质是让 发送端能够有效区分拥塞丢包和误码丢包,在拥塞丢包时调用拥塞控制机制, 在误码丢包时不降低数据发送速率。根据实现机制的不同,可以将这些改进方 案分为三类: ( 1 ) 端到端的改进方案 端到端的改进方案,一方面是改进原有的t c p 拥塞控制算法,使之能够在 高误码率的无线环境中正确及时的进行拥塞控制和差错恢复;另一方面,就是 改进报文的确认方式,使发送方能够尽早的得知报文丢失,从而快速进行报文 2 第一章前言 恢复。 改进t c p 原有的拥塞控制算法,目前主要的思路就是让t c p 发送端能够判 断报文丢失的原因,从而采取相应的拥塞控制策略。典型的改进算法有t c p v e n o ,t c pv e g a s ,t c pw e s t w o o d 。v e n o 通过对往返时间( r 1 r r ) 的计 算,估计连接所处的状态,并依据该状态信息,采取相应的窗口调整策略。 w e s t w o o d 稍有不同,它是通过可用带宽的估计值直接设置门限值。 改进报文的确认方式有两种思路,一种是采用选择性确认机制,这样可使 t c p 迅速恢复一个窗口内的多个报文段丢失,而不会导致t c p 重传定时器超 时。典型的算法是t c ps a c k 。另一种思路是采用显式丢失指示( e l n ) ,它能 够使t c p 区分报文丢失的真正原因,因此在误码丢包时t c p 就可不必采用拥塞 控制机制,降低发送速率。 采用端到端的改进方案有很多优点,首先,通过采用更加复杂精确的拥塞 控制策略,做到正确区分误码丢包和拥塞丢包,正确估计网络状态,使t c p 能 够可靠高效的控制传输数据;第二,这种方案能够改善很多伴随无线网络的问 题,不仅包括无线链路的高误码率,对切换和移动性带来的连接中断也有一定 的改善。缺点在于需要改变目前的t c p 协议栈,而对于目前广泛应用的t c p r e n o 算法,需要考虑很多共存和过渡方案。 二( 2 ) 分裂连接的t c p 改进方案 一这种改进方案的思路是:包含无线链路的t c p 连接在中间节点( 基站) 处 分为了两段,一段是基站与远端固定主机的连接,另一段是基站与移动终端之 间的连接。基站与远端固定主机的t c p 连接采用传统的t c p 协议,而基站同移 动终端间的t c p 连接采用改进的协议,以适应于无线链路高误码率,低带宽, 高时延等固有特性。典型的代表方案有m t c p 、i - t c p 等。 该方案将不可靠的无线链路同可靠的有线链路分开来考虑,对t c p 发送方 隐藏了无线链路的特性,无线链路段短暂的连接中断不会对有线链路段的连接 造成影响。两端传输层协议参数可以独立优化,提高通信的端到端性能。但是 这破坏了t c p 端到端的语义,在使用了i p s e c 等安全协议的环境中不能应用, 因此,这种改进方案并不可取。 ( 3 ) 链路层的解决方案 为了克服无线链路高误码率和高丢包率的缺点,许多无线接入技术都在链 路层采用了前向纠错( f o r w a r de r r o rc o r r e c t i o n ,f e c ) 矛n 自动重传请求( a u t o m a t i c r e p e a tr e q u e s t ,a r q ) 的技术来尽可能地保证链路层的可靠传输。 a r q 主要有以下优点:首先,a r q 作为低层协议,不需要检查i p 和t c p 头部,可以传输加密封装后的报文段;第二,a r q 有自己的链路层确认机制,不 3 第一章前言 受t c p 确认策略的影响,超时计时器使a r q 口j 以更快地发现报文段的丢失;第 三,不需要为每条连接维护一条报文段队列,a r q 缓存为高层所共享,而且,源 端和目的端的t c p 实现都不需要修改。 链路层方案也不可能完全消除无线链路上的误码和丢包,数据通信的可靠 性最终要靠传输层协议来保证。链路层和传输层的重传会相互作用,有可能使 整体性能更加恶化。 采用何种链路层策略对t c p 有很大的影响,主要体现在三个方面: ( 1 ) 尝试重传的次数 研究表明当t c p 观察到报文差错率达到1 2 时,t c p 的性能就会急剧 恶化,因此,链路层协议必须能够恢复大部分的链路层差错,使t c p 能够感知 到的报文差错率低于1 ( 2 ) 报文的失序。 链路层的重传可能会导致t c p 收到的报文段次序混乱,这就会使t c p 启动 拥塞控制机制,因此,链路层应该有一定的缓存,将t c p 报文段进行排序,按 序送给上层t c p 处理。 ( 3 ) 链路层和t c p 层的重传竞争。 两者有可能同时在恢复同一个报文段的丢失,这就会使系统性能严重下 降。 因此,可以得出这样的结论:链路层协议必须保证一定的重传次数以恢复 差错,但重传次数不能太大,否则将会导致t c p 超时重传;数字蜂窝网络 t d m a 和c d m a 都采用了这种策略,但是差错恢复方面有根本的不同:t d m a 保证可靠的、按序的数据帧重传,而c d m a 只提供数据帧差错的部分恢复,而 不能恢复的差错则上交给t c p 层来处理。 3 g 中的主要解决方案u m t s 和c d m a 2 0 0 0 都采用了链路层重传策略,来 提供高速蜂窝数据业务。u m t s 采用基于m r a r q 多丢弃机制的r l c 协议来 保证流量控制和差错恢复;而c d m a 2 0 0 0 采用基于s r - a r q 选择重传机制的纯 n a k 方式的无线链路协议( r l p ) 来保证帧差错的部分恢复。 针对链路层与t c p 的重传竞争问题,有人提出了根据信道状态的好坏,自 动调整重传次数的链路层重传机制,信道状态好时,采用较低的重传次数,状 态变差时,采用较高的重传次数。同时,应保持两者之间的平滑过渡,否则会 使上层t c p 观察到的r t t 波动很大,r t o 调整跟不上就会导致重传计时器超 时。 还有一点不可忽视的是,目前基于数据报协议( u d p ) 的实时多媒体应用日 益增多,但互联网中存在大量的u d p 应用会导致对t c p 的不公平性。因为 4 第一章前言 t c p 会随着网络带宽的变化调节数据的发送速率,在拥塞时降低自己的带宽需 求,而u d p 则无视拥塞的存在,继续按照需要的带宽发送数据。如果不考虑网 络的实际容量而大量发送非拥塞控制的u d p 应用,很容易导致网络过载和高丢 失率,还会大量侵占t c p 应用的带宽。因此,基于u d p 的应用需要增加相应 的控制机制,做到与t c p 应用公平地分享网络资源,使网络具有较高的利用率 和较低的丢包率。这就是s a l l yf l o y d 等人提出的t c p 友好( t c p f r i e n d l y ) 控制机 制的概念。 t c p 友好数据流是长期的到达速率不大于任何在同等网络条件下t c p 数据 流速率的应用流,非t c p 友好流则正好相反。根据采用拥塞控制和不采用拥塞 控制还可将应用分为响应流和非响应流。非响应流一定是非t c p 友好流,而非 t c p 友好流不_ 定是非响应流。针对这种t c p 友好的概念,研究人员陆续提出 了许多t c p 友好控制机制,主要分成两类:基于t c p 的加性增乘性降( a i m d ) 窗口机制的拥塞控制和基于建模的t c p 友好控制机制。 基于a i m d 的控制机制的优势在于它的工作原理以及稳定性、公平性等特 性已经被大家所熟识,实现非常简单。但它的缺陷在于每个丢包都引起发送速 率的减少,发送速率改变的幅度过大,应用流的突发性强、抖动大,只适用于 希望以t c p 友好方式尽快发送数据而对实时性要求不是很高的应用。该算法的 另一个问题在于,如何针对不同性能要求的应用设计合适的参数还没有通过理 论分析或实验得到理想的依据。 基于建模的友好控制机制一方面可以使实时多媒体流不再像非响应流那样 侵略性地抢占可获得的带宽,而是根据丢失事件速度的减小而平滑地增加发送 速率;另一方面,它的应用流量也不会因为单个包的丢失而将速率减半造成抖 动,只是在多个连续的丢失事件发生后才将速率减小为一半,比较适合实时媒 体流的流量控制。 随着t c p 协议在移动互联网中的改进,t c p 应用的流量特性也发生了改 变,t c p 友好控制机制需要进行新的设计和改进,才能真正适合移动互联网的 网络环境。 1 3 网络跨层优化的概念和发展现状 在过去的通信系统中,分层的开放系统互连( o s i ) 设计方法应用得很好,但 演进的无线网络正在挑战这种设计哲学。正在出现的网络必须支持各式各样不 断变化的业务类型及其服务质量( q o s ) 要求,并支持网络拓扑结构变化。 在设计网络时,为了应对无线接入的挑战,各网络功h 匕( i io s i 的各层) 必 5 第一章前言 须统一考虑。各种应用的q o s 需求变化,要求网络层在优化网络输出时考虑物 理层设计。另外,不同的应用可以从不同的优化中得到更多好处,导致了模糊 层间界限的设计方法,它试图跨过层间功能进行优化。 跨层设计将会在未来的无线通信( 3 g , 超3 g ) 系统中发挥重要的作用,这 种系统具有以下几个显著的特点:全i p 的网络,不同种类的接入网以及多媒体 数据业务。从以下几个方面来考虑,可以看出层次化的网络设计已不适应于未 来的无线网络了。 第一,有线i p 网络中的假设已不适应无线网络了,一个众所周知的假设就 是t c p 协议假设所有的分组丢失都是网络拥塞造成的,然而无线网络中分组丢 失通常是由于无线链路的高误码率以及频繁的切换导致。这时如果启动拥塞避 免阶段只会使系统性能更糟。如果采用跨层的设计,可以从链路层传递信号指 示当前的分组丢失是由于链路故障引起而不是网络拥塞,问题就容易解决了。 第二,异质网络和不同的业务需要多个层次的协调工作,相互适应才能够 有效地利用系统资源。 第三,稀有的无线资源和受限的发送功率也使得网络性能的优化变得十分 迫切。这种优化通过有线网络中严格的分层结构是很难达到的,举例来说,链 路层和传输层都提供了差错控制机制,为了克服不可靠的无线信道造成的差 错,这些差错机制会被频繁的调用,两者的协作将会更好的完成差错控制功 能。 最后,最近涌现出的短距离网络如自组织网络更需要完整一体的设计方 法,在传统的网络中,链路层完成点到点的通信,而传输层完成各个链路上端 到端的通信,在短距离网络中,对等的通信更多的发生在点到点的层面上,通 过跨层设计,相关层的工作就可以避免。 真正的优化不仅要求跨层设计,还要求有跨层适应性。传统网络具有一定 的适应能力,例如许多通信系统使用信号处理方法来适应信道环境的变化,通 过调整路由表来适应业务负载的变化。然而,这样的调整是隔绝在特定层中 的。跨层适应性将允许所有网络功能在不同功能之间传送信息并适应,以便满 足q o s 需求变化、网络负载变化和信道条件变化的要求。跨层网络设计要求网 络各层的静态优化,而适应性要求跨层动态优化。 网络跨层优化有待解决的问题: ( 1 ) 全网络设计和优化极其复杂,特别是试图实时动态优化时; ( 2 ) 优化时使用的尺度。网络各层( 功能) 传统上有各自隔离的优化准则,例 如物理层的设计基本上集中在减小误比特率,网络层的设计要求时延或路由效 率。用什么尺度能代表所有这些要求? 如何把这些要求一起优化,或者给它们排 6 第一章前言 出优先级? 动态优化的相关问题是,在动态优化时,信息在网络层问传递,设计者必 须选择要传递的信息,它不能太复杂,以致产生很大时延或大量优化过程的计 算,但也不能太简单,以致传递的信息太少。因此这类系统的设计需要复杂的 建模( 仿真) 过程。动态网络优化的最后一个问题是网络控制,当允许适应跨层 功能时,重要的是需要控制这个过程,问题是由谁来控制。 层问联合优化既不是废除原来所有的层重新建立一个体系架构,也不是将 原来所有的层混在一起。层间联合优化的关键在于对无线网络有一个完整一体 的认识和理解,在此基础上协调各层的性能从而使系统性能最优化。 目前对系统联合优化的研究主要集中对协议中两个层面的联合优化上,包 括联合物理层和m a c 层动态资源分配;联合物理层和链路层的f e c a r q 技 术,联合传输层和链路层的t c p r l p 性能研究等。这些研究也主要集中在仿真 和实验,理论研究较少。 1 4 研究内容 。在无线环境下,多数的数据丢失是由于信道特性不理想,例如阴影衰落, 多径衰落等,或者是由于移动台的移动和切换造成的。但是标准t c p ( t c p t a h o e ;t c pr e n o ;t c ps a c k 等) 都将数据的丢失归结为由拥塞引起,并采取 很多不必要的拥塞控制措施,造成资源浪费以及产生较长的时延,从而影响了 数据的快速传输。基于此,提出了很多改善现有t c p 协议性能的算法。其中一 个比较受关注的策略就是通过链路层a r q 差错控制来减小无线衰落信道中的差 错率。但是随着a r q 重传次数的增加,尽管会大大降低误帧率,同时也增加了 t c p 端到端的时延,严重时会导致t c p 超时。因此,研究a r q 对t c p 流量的影响 就成为实现链路层和传输层联合优化,以提高下一代无线网络性能一个迫切问 题。 本论文采用m a r k o v 模型联合考虑链路层a r q 技术和t c p 的相互影响,通过 l w i p 系统的实际仿真来分析a r q 和t c p 之间的关系,并与n s 一2 上的模拟仿真进 行对比,验证模拟仿真的正确。 7 第二章t c p 工作原理 2 1 传输控制协议 第二章t c p 工作原理 尽管计算机通过安装i p 软件,可以保证计算机之间发送和接收数据,但i p 协议还不能解决数据分组在传输过程中可能出现的问题。因此,若要解决可能 出现的问题,连上i n t e r n e t 的计算机还需要安装t c p 协议来保证可靠的并且无 差错的通信服务。 i n t e r n e t 在传输层主要有两种协议,一个是面向连接的t c p 协议,一个是无 连接的u d p 协议。t c p 用于在互联网络上提供端到端的可靠的字节流的传送服 务。 u d p 是一个简单的面向数据报的传输层协议,它提供协议端口,使得应用 进程能够向其他进程发送数据报,进行进程间的数据通信。u d p 数据报是无连 接,不可靠的,不提供确认,消息反馈控制,与i p 数据报相同。可靠性需要由 应用程序本身提供。 ( 1 ) t c p 和u d p 都使用相同的网络层( i p ) ,但t c p 向应用层提供与u d p 完全不同的服务。t c p 提供一种面向连接的,可靠的字节流服务。应用进程间 发送的数据报被看作是字节流,而不是如同在u d p 中的那样( 一个应用程序的 输出就封装为一个数据报) 。这样可以带来两方面的优势:由于传送是面向字节 流的,因而应用进程产生的数据可以被协议模块分隔成最合适的大小来发送, 或者通过缓存,组合成合适的数据块大小后发送。 ( 2 ) 字节流的方式利用t c p 协议把应用程序和网络传输相分隔,这就为流 传输服务提供了一个一致的接口。 2 2t c p 的流量控制 , - p 。c - n d 具有流量控伟i j 和拥塞控制机制,其中,流量控制使得接收方能够限制 发送方在给定时间内所能发送的数据量,防止发送方超限额使用接收方的容 量。而拥塞控制机制使得发送方能够根据网络的拥塞状况自适应地调整发送的 速率,从而用来防止过多的数据发往网络,造成交换和链路的负担过重。所 以,流量控制是处理端到端的问题,而拥塞控制是处理主机与网络交互的问 题。 8 第二章t c p 工作原理 2 2 1 滑动窗口的概念 t c p 把数据流当作八位组或字节的序列,而为了便于传输又把这个序列化 分成若干个报文段( s e g m e n t ) 。每个报文段包括净荷和t c p 首部。通常,每个 段被放置到单个i p 数据报中在互联网上传输。 t c p 使用一个专门的滑动窗口机制来解决两个重要问题:传输效率和流量 控制。t c p 窗口机制可以在收到确认信息之前发送多个报文段,这种机制使得 网络处于忙碌状态,提高了整个网络的吞吐效率。t c p 的滑动窗口机制还解决 了端到端流量控制的问题,它允许接收方在拥有容纳数据的足够缓冲空间之前 对传输进行限制。 t c p 的滑动窗口机制是按八位组操作而不是按报文段或分组操作的。数据 流的八位组被编上序号,发送方对每个连接保留了三个指针。这些指针定义了 一个滑动窗口。如图2 1 所示。位于滑动窗口左边的第一个指针把已经发送并 得到确认的八位组与尚未得到确认的八位组区分开来。第二个指针标出了窗口 的右边界,指出序列中在未得到确认的情况下可以发送的最高八位组的序号。 第三个指针位于窗口的内部,它划分出已经发送的八位组和尚未发送的八位组 之间的界限。协议软件不加延迟地发送窗口内的八位组,所以窗口内的界限很 快地从左向右移动。 3456 789 ljlj 图2 1t c p 的滑动面口示意图 图2 - 1 中2 号以前的八位组已经发送并已经得到了确认,3 到6 号的八位组 已经发送但尚未得到确认,7 到9 号的八位组还没有发送出去,但即将发送, 而1 0 号及更高序号的八位组在窗口滑动之前不能发送。 t c p 利用“顺序号”( s e q u e n c en u m b e r ) 来区分每个分组。需要传输的数据 被视为字节流,顺序号表示分组载荷的第一个字节在整个字节流中的顺序。顺 序号占用分组t c p 头部的3 2 b i t s 。假设分组长度均为1 0 0 0 字节,源端准备发送 字节流中的1 5 0 0 1 、1 6 0 0 1 、1 7 0 0 1 整个t c p 连接所传送第一个字节的顺序号( 初始顺序号) 在连接建立时确 定,可以随机选择或者简单地选择某个预设常数为实现可靠传输,目的端必须 要回送确认。t c p 是一种双向的传输协议,使用了“捎带”( p i g g y b a c k ) 方式的 确认。目的端在反向的分组中携带确认信息,确认号( a c k n o w l e d g e m e n t n u m b e r ) 表示目的端期望收到的下一个字节的顺序号。确认号也在分组的t c p g 第二章t c p 工作原理 头部中占据3 2 b i t s 。在上述例子中,目的端在收到源端发出的分组后,回送的 确认号分别是1 6 0 0 1 、1 7 0 0 1 、1 8 0 0 1 如果没有反向的数据分组可供利用, 目的端可以通过回送一个载荷长度为0 的分组来实现确认。 顺序号在设计上考虑到了分组长度的可变。在图2 2 中当传输中分组长度 变化时,顺序号和确认号变化。图中虚线为目的端回送的确认分组,大分组长 度为1 0 0 0 字节,小分组长度为5 0 0 字节。 罔国罔罔罔 图2 - 2 分组长度趸化时的t c p 顺序号 t c p 的确认机制是一种“累计”确认。例如:源端直接接收到了确认号 1 8 0 0 1 ,这表明所有顺序号小于1 8 0 0 1 的分组都已经正确地到达了目的端;即使 源端没有收到确认号1 6 0 0 1 和1 7 0 0 1 ,它也可以确定这两个分组被正确地接收 了。因此,在一定情况下,可以减少回送确认的数目,并且不影响源端的正常 工作。对于移动用户终端而言,减少回送的确认,可以减少反向链路上的带宽 占用,降低功耗和干扰,增加电池使用时间。对于卫星信道等不对称网络而 言,减少确认可以避免反向信道上的“确认拥塞”。一种常用的确认策略称为“延 迟确认”( d e l a y e da c k ) ,目的端每收到两个分组,回送一个确认。为了防止长 时问不回送确认而导致源端超时,如果目的端在收到一个分组5 0 0 m s 后仍未收 到第二个分组,也必须马上回送一个确认。此外,如果有分组丢失,则目的端 必须回送分组确认,以便源端进行差错检测和恢复。 2 2 2 可变窗口大小与流量控制 t c p 滑动传口协议与简单的滑动窗口协议的不同点之一是t c p 允许随时改 变窗口的大小。在每个确认中,除了指出已经收到的字节之外,还包括了一个 窗口通告来说明接收方还能接收多少字节的数据。相应于窗口通告值的增加, 发送方增大发送滑动窗口,继续发送尚未收到确认的字节,而相应于窗口同告 1 0 第二章t c p 工作原理 值的减少,发送方降低发送窗口的大小并停止发送窗口边界之外的字节。t c p 软件不会因为窗口收缩以至于越过了以前在字节流中的位置而造成冲突。变小 的通告值是随着确认信息而来的,也就是说窗口的大小在向前滑动时改变。 使用大小可变的窗口的优点是:不仅提供可靠传输,而且还提供流量控 制。如果接收方的缓冲区快满了,不能接收更多的分组,这时它就发出小的窗 口通告值。在极端的情况下,接收方使用0 通告值来停止所有的传输。而在缓 冲区空间又可用之后,接收方通告一个非0 的窗口值来再次触发数据流。 拥有流量控制机制对互联网环境非常重要,在互联网中有各种速率和规模 的机器通过各种速率,容量的网络和路由器进行通信。实际上存在两个独立的 流量问题。第一,互联网协议需要源主机和目的主机之间端到端的流量控制。 例如,当一台微机与一台大型主机通信时,微机需要调节数据的流入速率,否 则协议软件很快就超载了。因此,t c p 协议必须实现端到端的流量控制来确保 可靠的交付服务。第二,互联网协议需要一个流量控制机制,使得中间系统 ( 如路由器) 能够控制一个源主机,以免它发送的通信量超过机器的承受能 力。 当中间机器超载时,这种状况称为拥塞,解决这个问题的机制称为拥塞控 制机制。 2 2 3 滑动窗口大小对吞吐量和r t t 的影响 通常用吞吐量和分组的尺玎两个指标来衡量t c p 的性能。 这里吞吐量( t h r o u g h p u t ) 定义为源端在单位时间内发送的数据量。在等长 分组的前提下,也可以定义吞吐量为源端在单位时间内发送的分组数目。本文 使用后一种定义。 图2 3 网络是对实际网络的简化,前向和反向路径用一条链路代替,服务速 率( 带宽的倒数) 、时延分别为蜥,咋和,;前项链路上可能出现拥塞, 一个容量为一的f i f o 队列用于缓存没有及时发送的分组;分组和确认的长 度分别为l p k , 弄hl 一。 第二章t c p 工作原理 弘f t f 图2 - 3 买际网络的简化模型源端 发送分组的最大速率为等于前向的服务速率( 以分组为单位) : = f 础 ( 2 - 1 ) 也是吞吐量的最大可能取值。 当源端的发送窗口s w n d 较小时,网络中的分组数目较少,a c k c l o c k i n g 保证 分组不需要进行排队,这时分组的尺玎计算如下: r z 丁= r f + f 三咖+ + t a 尺l o 砖= 丁( 常数) ( 2 2 ) 如果s m d 丁 ( 2 4 ) 如果s w ,z d 一丁 c w ,这时队列容量不够容纳所有的分组,造成分组丢 失,t c p 的差错检测和重传会使传输停滞,吞吐量严重降低,分组的尺玎急剧 1 2 第二章t c p 工作原理 增长,网络出现拥塞。 上述分析表明,当丁s 5 w n d s 肛丁+ 一e 时,链路的利用率高达1 0 0 , 排队使得分组得r t t 增长,但不会造成丢包,这是s w n d 的最佳大小。 2 3t c p 的拥塞控制 t c p 的拥塞控制一般有四个阶段:慢启动阶段、拥塞避免阶段、快速重传 和快速恢复阶段。拥塞控制是通过控制一些重要参数的改变而实现的。t c p 用 于拥塞控制的参数主要有: ( 1 ) 拥塞窗口( c w n d ) :拥塞控制的关键参数,它描述源端在拥塞控制情 况下每次最多能发送的数据包的数量。 ( 2 ) 通告窗口( a w n d ) :接收端给源端预设的发送窗1 3 大小,它只在t c p 连接建立的初始阶段发挥作用。 ( 3 ) 发送窗口( s w n d ) :源端每次实际发送数据的窗口大小。 发送窗口的大小同时受到源端和目的端的控制。源端执行拥塞控制算法, 在不导致网络拥塞的情况下,不断增大s w n d 以提高吞吐量,计算得到的发送窗 口上界称为“拥塞窗口”c w n d ( c o n g e s t i o nw i n d o w ) 。目的端维护一个有限大的 缓存,缓存的容量称为“通知窗口”a w n d ( a d v e r t i s e m e n tw i n d o w ) ,通过确认回传 给源端。如果在传输中某个分组丢失,则后续分组必须被存储在缓存中,不能 提交给高层。因此源端不能发送多于目的端缓存容量的分组,a w n d 构成发送窗 口的另一个上界。s w n d 计算如下: s w n d = m a x ( c w n d ,a w n d )( 2 5 ) a w n d 在分组的t c p 头部中占据1 6 b i t s ,以字节为单位,这限制了a w n d 最 大为6 5 5 3 5 字节。各种t c p 实现中,a w n d 的典型值为8 k b 、1 6 k b 和3 2 k b 。 为了提高吞吐量,s w n d 应大于p t 。目前网络的p t 经常超过6 4 k b 。长 细网络 l t n ( l t n ,l o n gt h j nn e t w o r k ) 的传输带宽( ) 有限,但往返时延 ( t ) 较大,例如各种移动通信网络和长距离广域网。长肥网络( l f n ,l o n g f a tn e t w o r k ) 的传输带宽和往返时延都非常大,例如长距离光纤网和卫星网 络。对于这类网络需要使用“窗口扩大”选项,使源端和目的端可以使用大的窗 口( 3 2b i t s ) 。 ( 4 ) 慢启动阈值( s s t h r e s h ) :拥塞控制中慢启动阶段和拥塞避免阶段的分 界点。初始值通常设为6 5 5 3 6 字节。 ( 5 ) 回路响应时间( 尺玎) :一个t c p 数据包从源端发送到接收端,源端 1 3 第二章t c p 工作原理 收到接收端确认的时问i 、日j 隔。 整个端到端路径的往返时间r t t ( r o u n dt r i pt i m e ) 指从源端发出一个分组 到收到相应的确认之间的间隔。r 1 盯包括正向和反向路径中各跳的链路时延 ( 传输时延和物理传播时延) 和中间节点的处理时延( 排队、路由查找、转 发) 。r 1 厂r 随着各个中间节点的排队情况不同,表现出一定的随机性。如果中间 节点使用较长的队列,i m 的变化会很大。 s r t t 乍门一a 、- s ! r t t a r 丁z 豫玎仁五一j :职玎一卢ir 而一职刀l ( 2 - 6 ) 这里a 和p 是指数平均的权值,0 p o l l i n t e r v a l 大小关系,前者 大则值归零,调用一次p o l l 函数和o u t p u t 函数。然后再调用t c po u t p u t 完成最终的 数据发送,这样有利于使得1 w i p 口7 以每次都发送合适长度的报文。但有些时 候,l t , 女i t e l n e t 或者f t p 应答命令,需要立刻发送时,这种发法就不合适。为此, 可以在应用程序中使用t c pw r i t e 后,直接调用t c po u t p u t 发送。 3 2 3 应用层a p i 接口实现 对l w i p 协议栈的使用来讲,需要编写应用层程序。而在程序中,必须调 用一些t c p 接口,这样才可以实现t c p i p 协议栈的应用。 为此,l w i p 实现了一些在应用层的t c p 层a p i 接口,方便用户编写应用 层代码程序。l w i p 为应用程序提供了两种应用程序接口( a p i s ) 来使用整个 t c p i p 协议栈,序列a p i 和回调a p i 。 其中,序列a p i 提供了一种普通的,序列性的编程接口。与b s d 的s o c k e t 接口非常相似。其执行顺序模型遵从打开一读取一写出一关闭的顺序结构。因 为t c p i p 协议栈是基于事件驱动的,因此这种接e l 导致1 w i p 协议栈和应用程 序必将在不同的线程中,即需要进行多线程的编程实现。 而回调a p i 所提供的a p i 接口比上面所说的序列
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江西省瑞安市六校联盟2027届化学九上期中质量跟踪监视模拟试题含解析
- 廊坊三中2027届九上物理期末教学质量检测试题含解析
- 江苏省盐城阜宁县联考2027届九上物理期末质量跟踪监视试题含解析
- 2027届海南省琼海市化学九上期中预测试题含解析
- 2026中国游戏开发行业竞争格局深度研究及未来发展商业模式创新报告
- 2026汽车内饰材料行业创新材料与环保性能市场研究分析报告
- 山东省青岛市胶州实验2027届九上化学期中考试模拟试题含解析
- 2026中国香水文化渗透率提升与本土品牌突围路径研究报告
- 2026中国高端运动护具品牌建设与消费者认知度提升策略研究报告
- 2026中国涡流泵行业客户细分与精准服务模式研究报告
- 保密工作制度汇编
- 2024年版《陕西省市政工程消耗量定额》第五册 市政管网工程
- 光伏安全生产例会制度
- 2023年跨文化交际学知识点
- 电力共建协议书范本
- 光伏项目施工安全管理方案
- 国家电网劳动合同
- 纺织仓库保管知识培训课件
- Unit 4 Natural Disasters Reading and thinking The Night the Earth Didn't Sleep 教案-2024-2025学年高中英语人教版(2019)必修第一册
- 长短腿矫正课件
- 护理双人铺床法
评论
0/150
提交评论