(计算机软件与理论专业论文)tcp协议在移动设备上的优化设计与实现.pdf_第1页
(计算机软件与理论专业论文)tcp协议在移动设备上的优化设计与实现.pdf_第2页
(计算机软件与理论专业论文)tcp协议在移动设备上的优化设计与实现.pdf_第3页
(计算机软件与理论专业论文)tcp协议在移动设备上的优化设计与实现.pdf_第4页
(计算机软件与理论专业论文)tcp协议在移动设备上的优化设计与实现.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(计算机软件与理论专业论文)tcp协议在移动设备上的优化设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

t c p 协议在移动设备上的优化设计与实现 摘要 t c p 协议在移动设备上的优化设计与实现 随着i n t e m e t 技术和无线数据通信技术的不断发展,无线互联网接入成为新 的热点。使用p d a 和智能手机等移动设备来访问i n t e l n e t 则是无线互联网接入比 较典型的应用模式。由于t c p 协议软件最初的设计思路并没有考虑到无线网络 和移动设备的特性,在使用移动设备访问互联网上的资源时,t c p 的性能表现在 吞吐量和能耗等方面均不令人满意。 本课题设计完成的t c p 协议软件的优化设计可在一定程度上弥补这个问题, 通过对t c p 协议软件的拥塞控制机制的改进,包括在拥塞避免阶段降低发送报 文的频率,使用t c p 头部的时间戳选项,来判断丢包的类型和当前是否错误的 进入了错误恢复阶段,最终实现提高t c p 的性能,同时降低移动设备功耗的目 的。 本论文首先简单介绍t c p 协议的基本原理和目前最常用的t c p 协议软件 r e n o ,然后介绍了使用移动设备进行互联网接入的方式和特点,然后提出了对 t c p 协议软件进行的优化设计,并着重介绍了拥塞避免机制和丢包检测机制的优 化。最后介绍了通过在安装w i n d o w s 操作系统的p c 上连接g p r s 无线模块而建 立的移动设备模拟环境,并在该模拟环境下对优化后的t c p 协议软件进行调试 和测试。测试表明,优化后的t c p 协议的有效吞吐量可提高2 0 至3 0 。 关键词:移动设备、无线互联网接入、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 fi m e r n e tm a dw i r e l e s sd m ac o m m u n i c a t i o nt e c h n o l o g i e s , w i r e l e s si n t e m e ta c c e s sb e c o m e san e wh o ts p o tm o b i l ed e v i c e s ,s u c ha sas m a r t p h o n ea n dp d a ,e t c ,a r ew i d e l yu s e d b e c a u s et h et c pp r o t o c o li sn o td e s i g n e d a c c o l d i n gt ot h ec h a r a c t e r o fw i r e l e s sn e t w o r ka n dm o b i l ed e v i c e ,i t sp e r f o r m a n c ei s i t c p 协议在移动设备上的优化设计与实现 u n d e s i r a b l eo n t h r o u g h p t i t a n d e n e r g yc o n s u m p t i o n t h ep r o b l e mc a l lb er e s o l v e di n p a r t sb yo p t i m i z i n gt h ec o n g e s t i o nc o n t r o l a l g o r i t h mo ft c p , i n c l u d i n gt h es e n d i n gr a t es l o w i n gd o w nd u r i n gt h ea v o i d i n g c o n g e s t i o nc o u r s ea n du s i n gt h et i m e s t a m po p t i o nt oj u d g ew h e t h e ri tb e g i n sal o s s r e c o v e r yp h a s ei n c o r r e c t l y t h et c p sb e h a v i o rc a l lb eb e n e f i tf r o mt h eo p t i m i z a t i o n a n dt h ed e v i c e se n e r g yc o n s u m p t i o na l s oc a l lb er e d u c e d a tf i r s t ,t h i sp a p e ri n t r o d u c e dt h eb a s i cp r i n c i p l eo ft c p p r o t o c o la n dt h em o s t p o p u l a rt c pp r o t o c o l s o f t w a r e t c pr e n o a n dt h em e t h o da n dc h a r a c t e ra r e r e s e a r c h e dw h e nm o b i l ed e v i c ei su s e dt oa c c e s si n t e r a c tb yw i r e l e s sn e t w o r k t h e na o p t i m i z i n gd e s i g no fc o n g e s t i o na v o i d i n gm e c h a n i s ma n dl o s sd e t e c t i n gm e c h a n i s m a r ep r o p o s e d a tl a s tt h ep a p e ra l s op r e s e n t sar e s u l to fc o n t r a s t i v et e s tb e t w e e nr e n o a n dt h eo p t i m i z e dt c pi nas i m u l a t ee n v i r o n m e n tw h i c hi se s t a b l i s h e db yap ca n da g p r sm o d u l e i ts h o w st h a tt h eo p t i m i z e dt c pc a l la c h i e v eb e t w e e n2 0a n d3 0 e f f e c t i v et h r o u g h p u t k e y w o r d s :m o b i l ed e v i c e 、w i r e l e s si n t e m e ta c c e s s 、t c p p r o t o c o lo p t i m i z a t i o n i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:亟益耋 日期妒蟛年够月 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:导师签名: 日期:。蒯年华月2 厂日 t c p 协议在移动设备上的优化设计与实现 第一章引言 本章介绍了课题的研究背景、研究内容和目标,以及论文的组织结构。 1 1 课题背景 t c p 协议作为i n t e m e t 上最常用的传输层协议,其目的是在不可靠的i n t e m e t 上提供可靠的、基于连接的、端到端的服务。在有线网络中,网络中的丢包主要 是由于网络拥塞引起的。由于t c p 协议是在有线网络中发展起来的,t c p 协议 软件的设计思路也是以有线网络的这个特点作为出发点。 j a c o b s o n 在1 9 8 8 年提出的t c p 协议软件中首次明确使用了拥塞控制机制, 包括了慢启动算法、线性增加和指数下降算法,以及快速重传算法,该协议软件 被命名为t c pt a h o e :1 9 9 0 年,j a c o b s o n 在t c pt a h o e 基础上增加了快速恢复算 法,该t c p 协议软件被称为t c pr e n o ,t c pr e n o 在包括u n i x 等多个操作系统 上实现,并对i n t e m e t 的发展起到了极大的推动作用,迄今为止,t c p r e n o 仍是 最为常用的t c p 协议软件之一。 2 0 世纪9 0 年代,随着i n t e m e t 的迅猛发展,对t c p 协议软件的研究进入了 高速发展的时期。通过对拥塞控制机制和错误恢复机制进行改进,均使t c p 在 互联网上的性能表现有不同程度的提高,比较典型的有,t c pv e g a s 、w t c p 、 s a c k 等等。这些改进使t c p 协议软件在有线网络上基本趋于成熟,最佳的证 据就是i n t e m e t 上的有许多广泛使用的基于t c p 协议的应用层协议,如h t t p 、 f t p 等等。 随着i n t e m e t 技术和无线数据通信技术的不断发展,人们不仅仅局限在办公 室或在家中使用有线网络连接到i n t e r n e t ,还需要使用无线通信网络随时随地对 i n t e m e t 进行访问。在这种情况下,使用移动设备来访问因特网逐渐成为了无线 互联网接入的比较典型的应用方式之。 目前的无线网络主要包括无线局域网、无线广域网和卫星网络。在这些网络 中,丢包大多是由于网络错误导致,如网络中的随机错误、系统切换、信号抖动 等,所以,当连接中包含无线链路时,t c p 协议软件最初的设计思路反而降低了 通信网络的吞吐量,在一定程度上,t c p 协议软件成为了无线互联网接入的瓶颈, 也在某种程度上制约了移动设备的发展。 t c p 协议在移动设备上的优化设计与实现 从9 0 年代中期开始,随着无线数据网络技术的成熟,无线互联网接入在商用 和民用上的巨大潜力逐渐显现,对无线网络下t c p 协议软件的性能研究也逐渐成 为热点。从目前的研究来看,基本是从以下两个方向来考虑提高t c p 在无线环境 中的性能:( 1 ) 结合链路层修改,向t c p 屏蔽当前网络中的非拥塞丢包;( 2 ) 调 整发送方软件来确定当前丢包为非拥塞丢包,并作针对性的错误恢复处理。根据 这两个思路出现了很多对t c p 协议软件进行优化的方案,按照实现原理划分,可 将这些优化方法分为三类:端到端策略、双连接策略,以及结合链路层来进行性 能优化的本地恢复策略。端到端策略是指在不破坏t c p 语义的情况下,在连接的 节点上对t c p 协议软件进行改进,达到优化的目的,其中连接的节点是指t c p 的 发送方积接牧方,但是某些改进也需要中间节点( 路由器) 的支持,比较典型的 端到端策略有e c n 、s a c k 等;双连接策略则是根据链路的不同性质,将t c p 的 连接分割成两个连接,在具有不同特性的链路上可以采用不同的t c p 协议实现, 如i t c p :本地恢复策略,主要是通过对链路层的修改,减小链路层的出错率, 或改进链路重传机制从而快速从错误中恢复等方式提高链路质量,达到上层性能 的优化,盘t l s n o o p 代理。这些策略在不同程度上提高了t c p 在无线网络环境中的 性能,但是,在使用移动设备进行网络访问时,多数策略在可行性和实用性等方 面上均有不足。 移动设备是区别于传统固定设备的概念,无线性是其最大的特点。移动设备 同时也是一种嵌入式设备。比较典型的移动设备有便携式电脑、移动电话等。移 动设备在具有无线性、便携性、移动性等特性的同时,其硬件环境也受到了限制, 较之传统设备,移动设备有c p u 速度慢、内存少、输入,夸钉出功能有限等特点, 此外,由于移动设备一般采用电池供电,对设备的功耗也有限制。当移动设备上 需要进行无线网络访问时,t c p 协议软件的设计应结合以上特性来进行优化,否 则将难以适应速度和质量上的需求。 随着信息时代的发展,移动设备的应用范围更加广泛。根据预测,到2 0 0 4 年,全球将出现1 0 亿移动电话用户、1 0 亿i n t e m e t 用户,其中5 亿为移动i n t e r n e t 用户;到2 0 0 5 年,将有2 5 的数据业务通过移动通信设备来传输。尽管对无线 网络中t c p 的性能研究只是便月于移动设备进行无线互联网接入中的一个局部技 术,却有很大的实用价值。 目前在国内,也开展了对t c p 协议软件在无线网络环境下性能的研究,但是 t c p 协议在移动设备上的优化设计与实现 对基于移动设备的t c p 协议软件的优化设计还未见到有比较深入的研究,本课 题对移动设备上相关协议软件开发均有理论参考意义。 1 2 研究内容和目标 本课题的研究目标是:分析和研究在无线网络环境下t c p 协议软件的性能表 现,结合移动设备的特点,总结使用移动设备进行无线互联网接入一般特点,并 基于该特点对t c p 协议软件进行优化设计和实现,从而有效的提升t c p 在使用 移动设备进行无线互联网接入时的性能。 根据以上研究目标,本课题的研究内容包括: 1 、研究移动设各的特点,以及使用移动设备进行无线互联网接入时对t c p 的要求: 2 、分析和研究无线网络环境下t c p 协议软件的性能表现; 3 、根据1 ,2 的研究,完成t c p 协议软件的优化设计和实现; 4 、完成对协议软件的测试,分析结果。 1 3 本文的组织结构 本文的组织结构如下: 第一章引言 主要介绍了本课题设计的背景情况,课题研究的内容和目标,最后介绍 了论文的组织结构。 第二章t c p 和t c pr e n o 主要介绍t c p 协议原理及最常用的t c p 协议软件t c pr e n o 。 第三章移动设备上的无线互联网接入 主要介绍了使用移动设备进行无线互联网接入的特点,包括移动设备的 特点及其相关应用;无线环境的分类和特点。 第四章t c p 协议优化设计和实现 根据移动设备进行无线互联网接入的特点,提出了对t c p 协议软件的优 化设计,并介绍了优化模块的实现。 第五章调试和测试 介绍了对t c p 协议软件的调试环境,测试结果,并对测试结果进行了分 t c p 协议在移动设备上的优化设计与实现 析。 第六章结束语 对课题研究工作进行了总结,并展望进一步的工作。 6 t c p 协议在移动设备上的优化设计与买蚬 第二章t c p 协议及其协议软件 本章介绍了t c p 协议的基本原理,并介绍了一种目前在i n t e m e t 上最为常用 的t c p 协议软件t c p r e n o 。 2 1 t 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 ) 是专门设计用于在不可靠 的i n t e m e t 上提供可靠的、端到端的字节流通信的协议。本节概述了t c p 协议的 规则,然后着重介绍了t c p 协议软件的拥塞控制机制和错误恢复机制。 2 1 1 协议概述 当一台主机使用t c p 协议向另一台主机传送数据时,必须首先发送一个t c p 连接请求来建立一个新的t c p 连接。每个t c p 连接都是一个全双工的双向传输 通道,其中的接收和发送的数据单位是报文段( s e g m e n t ) ,在报文段中的每个字 节均与一个唯一的3 2 位序列号( s e q u e n c en u m b e r ) 相关联。对报文段的大小有 两个限制条件:首先,每个报文段必须适合i p 的负载能量,即不能超过6 5 5 3 5 字节;其次,每个网络中都存在一个最大传送单位m t u ( m a xt r a n s f e ru n i t ) , t c p 的报文段必须小于m t u ,否则就会被该网络边界上的路由器分成两个或两 个以上的报文段进行传输。由于以上的限制条件,在t c p 连接建立的过程中, 连接双方要协商一个最大报文段m s s ( m a x i m u ms e g m e n ts i z e ) 值,并使用m s s 来限制连接中发送的报文段的最大值。 当t c p 连接建立后,发送方向网络送出一个报文段的同时,还需启动一个定 时器。当报文段到达接收方时,接收方需要向回发送一个报文段,该报文段可不 带数据,但应包含一个确认( a c k n o w l e d g e m e n t ) 序列号,该序列号等于接收方 希望收到的下一个报文段的顺序号。当发送方收到该确认报文段后,就知道其发 送的数据已经成功的被对方收到。如果在发送方的定时器超时后仍没有收到确认 报文段,则发送方将会重发该报文段。在对等条件下,每个确认报文段的到达都 将触发一个新的报文段的发送,这样发送方就可以使网络中的通道保持利用率。 当连接中的任一方发送了一个中止( f i n ) 报文段来中止传输时,连接就被断开 了。 t c p 协议在移动设备上的优化设计与实现 在t c p 的接收方,如果收到了一个序列号大于其期望值的数据,即收到了无 序数据( o u t o f - o r d e rd a m ) ,则必须马上向发送方重发一个确认号为其期望的序 列号的报文段,这个紧急的确认报文段被称为重复确认报文段( d u p a c k ,a d u p l i c a t ea c k n o w l e d g e m e n ts e g m e n t ) 。在t c p 的发送方,只有收到了接收方的确 认序列号以后,才认为小于该确认号的对应数据己成功发送。另外,在发送方的 定时器设置确保了发送方不会死等,当定时器超时后还未收到某发送报文的确认 报文,则认为该报文丢失,且发送方会等待一段时间后重发其认为丢失的报文。 这个等待的时间被称为重传超时时间r t o ( r e t r a n s m i s s i o nt i m e o u t ) 。 由此可见,通过确认和超时机制,t c p 协议可以保证传输的正确性。但是, 由于互联网是由多个网络组成的,使网络中难免有拥塞或断开的情况,且报文段 的路由不同可能导致数据的分散到达,仅仅有确认和超时机制并不能保证t c p 协议的性能。 在互联网中,路由器( r o u t e r ) 是连接通路中数据转发和路由选择的设备。 通过路由器连接相邻的网络,使网间的数据传输成为可能。然而,如果在短时间 内有过多的报文段到达路由器时,就有可能超过路由器的转发能力。多出的报文 段被保存在路由器的队列缓冲区中,当缓冲区空间不足时,路由器就将丢弃报文 段,从而产生了拥塞丢包( c o n g e s t i o n l o s s e s ) 。 为了避免路由器的被报文段淹没,t c p 协议软件必须使用一组流量控制机制 来适应网络的变化。为了在拥塞发生后较快的从丢包中恢复,t c p 协议软件还应 包含错误恢复机制来提高性能。 需要注意的是,报文的丢失一般是由两种情况引起的,或者是传输线路上的 错误导致丢包,或者是拥塞的路由器丢弃报文。在有线网络中,线路错误导致丢 包的情况很少,多数情况下都是由于拥塞导致丢包。由于t c p 是在有线网络中 发展起来的,故t c p 的算法一般都假设报文丢失是由拥塞导致。当在无线网络 中运行时,由于丢包的主要原因的变化,t c p 的性能有所下降,这一点将在第三 章中作详细的讨论。 2 1 2 拥塞控制机制 在使用t c p 连接的网络中有两个潜在的容量问题,即网络的容量和接收方的 容量。为了防止速度较快的发送方向接收方发送数据时,由于接收方的容量较小 t c p 协议在移动设备上的优化设计与实现 或处理数据能力较慢面导致缓冲溢出,在t c p 连接建立时,连接双方需选定一 个合适的滑动窗口大小,接收方可以根据其缓冲的容量来指定窗口的大小,发送 方根据这个窗口的大小来发送数据,从而避免了接收方容量不足引起的问题。 但是当网络上的负荷超过其容量时,网络中的路由器就会由于缓冲空间不足 而丢弃报文段,即拥塞丢包。如果没有针对拥塞进行控制的机制,网络可能最终 处于这样一个状态:网络的负荷始终处于最重的状态,但整个系统的吞吐量为0 。 在这种情况下,最好的办法就是降低数据传输率。t c p 协议仍然可以通过动态的 调整滑动窗口的大小来达到这一目的,而调整的策略即是t c p 协议的拥塞控制 机制。 2 ,t 2 1 慢启动算法 在t c p 连接中,发送方设置两个窗口:接收方确认的窗口和拥塞窗口 ( c o n g e s t i o n w i n d o w ) ,其中接收方确认的窗口大小通过接收方发送的确认报文 来获取。每个窗口都反应出发送方可以发送的字节数,取两个窗口的较小值作为 可发送的字节数,即有效窗口大小为发送方和接收方分别认为合适的窗口中较小 的一个。 当建立连接时,发送方将拥塞窗口大小初始化为该连接的最大数据段的长度 值,并发送一个最大长度的报文段。如果在定时器超时之前该报文段被接收方确 认,则发送方将拥塞窗口增加一个报文段的大小,并发送两个报文段。如果这两 个报文段都被确认,则拥塞窗口增加两个报文段的大小。这样,当拥塞窗口为n 个报文段大小时,发送方发送n 个报文段,若这n 个报文段都被确认,拥塞窗口 的大小将增加n 个报文的大小。即每次成功的确认将使拥塞窗口的大小加倍。即 在每个r t t ( r o u n dt r i pt i m e ,从发送一个报文段到接收到对该报文的确认报 文段所需要的时间) 时间内,拥塞窗口的大小就要加倍。这就是t c p 的慢启动 算法( s l o ws t m - ta l g t i t h m ) 。由于拥塞窗口的大小保持指数规律增大,直到传输 数据超时或达到了接收方指定的窗口大小,所以慢启动算法其实并不慢。 2 1 2 2 拥塞控制算法 t c p 连接中有两个状态:慢启动状态和据塞避免状态。当t c p 连接开始发送数 据时,处于慢启动状态,当到达预先设定的慢启动临界值( t h r e s h o l d ) 时,就进 入了拥塞避免状态。从临界点开始,每次成功的数据传输要求拥塞窗口线性 t c p 协议在移动设备上的优化设计与实现 州n d o w 一_ 1 0 t c p 协议在移动设备上日刁仉化仅丌与头玑 c o n g e s t i o n w i n d o w 6 4 k b 3 2 k b t i m e 图2 - 2 加入了快速重传和快速恢复算法的拥塞控制算法 尽管快速恢复和快速重传算法在很大程度上提高了t c p 的性能,但从图2 2 中我们也可以看出,算法的启动条件有时难以满足,比如在网络反肉拥塞或报文 丢失的情况下,没有收到更多的d u p a c k ,此时,t c p 仍将根据拥塞控制算法, 将拥塞窗口减小到一个报文段大小。 2 2t c pr e n o t c p r e n o 是j a c o b s o n 于1 9 9 0 年在t c p t a h o e 的基础上增加了快速恢复算法 形成的,包括慢启动算法、a i m d ( 线性增加和加速下降) 算法,以及快速恢复 和快速重传算法。作为t c p 协议软件,t c pr e n o 为i n t e m e t 的发展有极为重要 的推动作用,她也是目前i n t e m e t 上最为常用的t c p 协议软件之一。 2 2 1 基本算法 2 2 1 1 慢启动算法 慢启动算法用于管理t c p 连接的初始化阶段和重传超时以后的阶段。在t c p 连接的初始化阶段,拥塞窗口大小为l 。慢启动算法在每收到一个确认报文后, 就将拥塞窗口的大小加1 ,这样就可以逐渐增加每个r t t 时间内发送报文的数 量,使r e n o 可以较快的达到对当前可用的网络带宽的利用,如图2 3 : t c p 协议在移动设备上的优化设计与实现 w i n d o w = w i n d o w = 2 w i n d o w = 4 发送方接收方 图2 - 3t c pr e n o 的慢启动算法 可见,初始化时拥塞窗口的大小为1 ,在收到一个确认报文后,拥塞窗口的 大小增加到2 ,并在新的r t t 时间内发送2 个报文,如果接收方在定时器超时之 前收到确认报文,则将拥塞窗口的大小增加为4 。可见,在慢启动阶段,拥塞窗 口的大小实际上是以指数方式增长,所以说,慢启动算法并不慢。 在t c pr e n o 中,慢启动算法有两种情况下会自动结束。首先,如果拥塞窗 口的大小到达预先设定的慢启动门限值( t h r e s h o l d ) 以后,t c pr e n o 就从慢启 动状态进入了拥塞避免状态,通过在每个r t t 时间内只增加一个拥塞窗口大小, 变拥塞窗口的指数增长为线性增长。另外,如果在到达慢启动门限值之前出现传 输超时或收到了三个重复的确认报文( d u p a c k s ) ,则t c pr e n o 也将结束慢启动 算法,进入快速恢复阶段。 2 2 1 2 i m d 算法 t c pr e n o 的a i m d 算法包括两个阶段,首先如果传输的吞吐量处于稳定或 下降状态,则a i m d 算法处于探测阶段,t c p 连接线性的增大发送报文的数量, 并探测当前网络的可用带宽:但是,一旦出现网络拥塞的信号,如,收到三个相 同的确认报文,或重传定时器超时,a i m d 算法就将拥塞窗口的大小减伴。可见, a i m d 在拥塞发生时,可以较快的调整发送方的策略以适应当前可用的网络带 宽,但在同时,发送方的发送速率的震荡也比较剧烈。 a i m d 算法的具体描述如下: 1 、当收到新的确认报文时,拥塞窗口的大小线性增大。 t c p 协议在移动设备上盯优化设计匈哭玑 f ( 牧确新的确认擐文) 旷亿w n d t h r e s h o l d ) c w n d = c w n d 4 s e g s i z e + s e g s i z e c w n d e l s e c w n d + + ; 其中c w n d 为拥塞窗口大小,而s e g s i z e 为报文段的大小。可见,当拥塞窗口 大于慢启动门限值时,无论在该r t t 时间内发送方收到多少确认报文,拥塞窗 口在每个r t t 时间内最多增加l 。 2 、当网络出现拥塞时( 收到三个相同的确认报文或重传定时器超时) ,将当 前发送窗口大小的一半作为慢启动的门限值,即: t 收飘三个襁同的确认摄文重传定时器超时) 净丽络出现热塞,? , t h r e s h o l d = m i n c w n d ? 接牧右建议密口 2 ; ( 重传定踺器趣对) c w n d = , e l s e 件收毯三个稳固的确认报文t c w n d = c w n d 2 : , 这个过程被称为m d ( d n 遽减小) 算法。此外,如果出现重传定时器超时的 情况,拥塞窗口的大小还将被设为初始值。 a i m d 算法使t c pr e n o 可以较慢的增大拥塞窗i ;3 的大小,直到出现丢包: 在发生丢包后,通过将拥塞窗口的大小减伴,使瓶颈网络中的路由器较快的从拥 塞中恢复。即,a i m d 算法通过对慢启动门限值的调整和对拥塞窗口的控制,最 终达到对网络带宽的合理利用,尽管这种方式可能使t c p 的吞吐量出现周期性 的震荡变化,但基本上保证了整个系统的平衡,图2 4 是使用a i m d 算法时t c p r e n o 拥塞窗口的变化情况。 t c p 协议在移动设备上的优化设计与买现 图2 4t c pr e n o 的拥塞宙口变化图 2 , 2 1 3 快速重传和快速恢复算法 t c pr e n o 的快速重传算法比较简单,由于在t c p 的接收方,每接收到一个 报文,都会发送对应的一个确认报文通知发送方其发送的报文已被收到,如果报 文丢失,t c p 的接收方就可能会收到一个不是其期望收到的报文( o u t o f - o r d e r p a c k e t ) ,这时,t c p 的接收方就会发送一个重复的确认报文( d u p a c k s ) 。如果 收到超过三个的重复确认报文,t c pr e n o 就启动快速重传算法,重发丢失的报 文。如图2 5 : s e g = s e t = s s e e 2 l z = : s e 窖= 重传s e g = 2 发送方 图2 - 5t c pr e n o 的快速重传算法 a c k = a c k = a c k = a c k = a c k = 2 接收方 在图2 5 中,t c p 发送方的拥塞窗口大小为4 ,在依次发送的4 个报文段中, t c p 发送方发送的第2 个报文段丢失,当t c p 接收方收到了第1 个报文段,就 向发送方发送了确认报文,接收方在收到的第3 、4 个报文段之后,则均向发送 方发送一个重复的确认报文,当t c p 接收方收到了第5 个报文段时,仍会发送 个重复的确认报文。这样,在t c p 的发送方就收到了3 个针对第1 个报文段 1 4 t c p 协议在移动l 芟备上阴优化议t r 与_ 头轨 的确认报文,此时就会重传第2 个报文段。而接收方将会发回一个a c k = 5 的确 认报文,将收到的s e g 2 的报文段全部进行确认。 快速恢复算法用于在快速重传算法完成对丢失报文的发送之后,对t c p 连接 进行管理,直到收到一个正常的确认报文,包括以下方式: 1 、重传丢失的报文,并按照重复确认报文的数量增加拥塞窗口的大小: c w n d = t h r e s h o l d 七3 4s 弘鹳 其中s m s s ( s e n d e rm a xs e g m e n ts i z e ) 表示发送方最大报文段大小。 2 、在每收到一个重复的确认报文时 c w n d = c w n d + s m s s 3 、发送一个新的报文段,其大小为 s e g m e n ts i z e = m i n c w n d 接收夯建议僮日大小1 当收到个确认报文对丢包以后发送的报文均进行了确认,则将此时的拥塞 窗口的大小设为慢启动的门限值,然后从该门限值开始启动a i 算法,拥塞窗口 进入了线性增加阶段。 尽管抉速恢复和快速重传算法很大程度上提高了t c p 的性能,等待更多的 d u p a c k 报文段,在某些情况下是很困难的,例如,在丢失了报文段后,并没 有2 个或以上的重复确认报文段到来,这种情况在线路错误率较高的网络环境中 有可能发生,所以说,使用快速恢复和快速重传算法是对t c p 的超时机制的一 个补充和加强。 2 2 1 4 重传超时机制 t c p 的发送方在发送一个报文段的同时,就启动一个数据重发定时器 ( r e t r a n s m i s s i o nt i m e r ) 。如果在定时器超时前该数据段被确认或者收到三个重 复的确认报文,则关闭该定时器;如果定时器超时,且重发该数据段,且定时器 重新开始计时。由于t c p 连接中预计的连接延迟有可能受到多种因素的影响而 发生变化,一般情况下,确认报文到达时问的概率密度如图2 - 6 ,可见,如果对 超时时间设置的太短,可能导致不必要的重发,而设置的过长的话,必然会对网 络的性能造成影响。所以对定时器的超时时间间隔的设定应采用动态调整的方式 来实现, t c p 协议在移动设备上的优化设计与实现 概率 o 2 0l o 1 02 0 3 0 4 05 0 往返时间( m s ) 图2 6t c p 确认报文到达时间的概率密度 在t c pr e n o 的实现中,首先保存一个变量r t t ,用于存放发送方到接收方 的往返时间的估计值,当发送一个数据段以后,同时启动定时器。如果当定时器 超时之前得到了确认报文,则计算本次数据发送和收到确认的时间m ,然后对 r t t 进行修正,其中口= 7 8 ,是修正因子,决定了以前的r t t 值的权值: r t t = a4 r r r +( i d ) m 根据r t t 的修正公式,可得到一个修正变量d ,即偏差值,其计算公式如下: d = a d + “一口) i r t t m j 从而,可以得出,t c p 的超时间隔的公式: 趣时值= r t t 七4 d 注意,选择4 作为因子有两方面的考虑,首先,乘以4 可以使用移位的方式 实现,其次,可以使不必要的超时和重传达到最小,只有不到百分之一的分组到 达延迟会超过4 个标准偏差。 一般情况下,在每隔一个r t t 时间t c p 计算一次r t t 时间,如果使用了 t i m e s t a m p 选项,则每个确认报文都可以用来对r t t 进行修正计算,从而更精确 的反应r t t 的变化。在r f c l 3 2 3 中,建议使用较大的初始化窗口值以获得更多 的确认报文,来计算每次的i u t 时间,但一般情况下,如果将每次的确认报文 都用于对r t t 的计算,一方面可能会影响算法的效率,另一方面,并不一定能 得到较“公平”的估计值。 2 2 2 对r e n o 的改进 当一个r t t 时间内出现了多个报文段丢失的情况时,快速重传和快速恢复算 法可能来不及启动,重传定时器就超时了,在这种情况下,需要对错误恢复机制 t c p 协议在移动设备上的优化设计与实现 进行改进。比较有效的就是使用s a c k 选项,即s e l e c t i v ea c k n o w l e d g m e n t s o p t i o n 。根据r f c 2 0 1 8 ,t c p 接收方在确认报文中的s a c k 选项中填充被称为 s a c k b l o c k s 附加数据,该附加数据可以向发送方指明在接收窗口中标记为已收 到的所有报文段的范围。当发送方收到包含s a c k 选项的报文时,就可以根据 接收方已收到的报文序列,有选择性的重传丢失的报文,从而使发送的速率提高。 使用s a c k 选项时,不会对r e n o 原来的算法造成影响,而且当在一个r t t 时间内出现多个报文段丢失的情况时,使用s a c k 选项的r e n o 能使t c p 连接在 一个i m 时间内从丢包中恢复。如果将r e n o 中的快速恢复算法部分去掉,在使 用s a c k 选项提供的信息进行快速重传以后,t c p 的拥塞窗口大小更接近网络 的实际带宽,实验证明,在拥塞比较严重的网络环境中,这种方式可使t c p 连 接更快的从丢包中恢复。由于其始终对接收方接收到的序号壤大的报文段保持记 录,故一般称之为f a c k ( f o r w a r da c k n o w l e d g e m e n t ) ,图2 7 显示了f a c kt c p 运行时拥塞窗口的变化情况。目前,在多数操作系统中,如l i n u x 、f r e e b s d 和 w i n d o w s2 0 0 0 ,均使用了f a c kt c p 协议软件。本课题中对t c p 的优化设计就 是在f a c kt c p 的基础上进行的。 2 3 小结 图2 7f a c kt c p 的拥塞宙口变化图 本章对t c p 协议的基本原理进行了简单的介绍,并对一种常用的t c p 协议 软件t c pr e n o 的基本算法和改进方法进行了比较详细的介绍。 通过对t c p 协议及其典型的协议软件的研究,可以得到以下结论:首先, t c p 协议软件的基本协议是滑动窗口协议,通过设定初始化窗口和慢启动门限值 的大小,并在连接过程中根据获得的信息对发送窗口的大小进行调整,可以达到 对网络带宽持续利用;其次,在t c p 协议软件实现中,t c p 的拥塞控制机制和 t c p 协议在移动设备上的优化设计与买现 错误恢复机制可以采用不同的算法来对当前的网络状态作出反应,由于算法的驱 动均是根据网络的实际状态( 包括当前和之前的状态) 来推动的,故t c p 的拥 塞窗口大小总是在当前网络的最佳带宽附近上下震荡;第三,t c p 协议软件对丢 包的原因均假设为拥塞,由于t c p 最初的设计思路基于有线网络,在出现丢包 以后,t c p 协议软件均不同程度的降低拥塞窗口的大小,并重传丢失的报文。 传输层协议的最终目标是向应用层提供有效、可靠的服务,t c p 协议软件中 的拥塞控制机制和错误恢复机制对网络中的丢包进行有效的恢复,从而保证了在 有线网络中t c p 连接的性能。但是,值得注意的是,由于这些机制对网络中的 丢包均当作拥塞丢包来处理,当网络中丢包的性质出现变化时,使用传统机制的 t c p 协议软件的性能将会出现不同程度的下降。另外,t c p 协议软件的拥塞控 制机制和错误恢复机制的重点在于保证数据传输的正确性和对流量的控制,在错 误率较高的网络中,往往会发送较多冗余报文来保证t c p 连接的通畅,此时的 t c p 在节约能耗方面表现欠佳。 t c p 协议在杉功伐备上明怃化仅t r 与头巩 第三章使用移动设备进行无线互联网接入 目前,随着嵌入式技术的快速发展,移动设备的体积越来越小,功能越来越 多,均使移动设备的应用范围越来越广泛,其中比较重要的一个应用模式就是使 用移动设备进行无线互联网接入。在这种情况下,t c p 协议作为互联网上最重要 的传输层协议,其协议性能对移动设备的网络接入至关重要,本章首先对移动设 备及其网络接入环境进行简单的介绍,并深入研究了该环境下使用t c p 协议所 遇到的问题,并指明t c p 协议在该环境中需要改进的几个方面。 3 1 移动设备 3 1 1 移动设备的定义 移动设备,顾名思义,是以移动性为主要特点的设备,移动设备也是与传统 的固定设备相对的概念。广义的移动设备涵盖的范围比较广阔,从笔记本电脑到 p d a ,从移动电话到寻呼机,从数码相机到m p 3 随身听,甚至游戏机和遥控器, 都可以称之为移动设备。移动设备一般都具有以下特征: p o r t a b i l i t y ( 携带方便) :设备体积一般较小,重量较轻; w i r e l e s s ( 无线性) :设备无需连线; m o b i l i t y ( 移动性) :设备在移动中也可以较好的使用。 本论文中讨论的移动设备是指以应用为中心、以计算机技术为基础,具有完 整的软硬件体系结构,可扩展多种应用的移动计算设备。移动计算设备也是一种 嵌入式手持设备,是嵌入式系统的典型应用之一。 3 1 2 移动设备的特性 移动设备是一种嵌入式设各,也具有嵌入式系统的相关特点。嵌入式系统是 指以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对 功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入 式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组 成。同传统的通用计算机系统相比,嵌入式系统一般具有以下特点: i 、嵌入式通常是面向特定应用的。嵌入式c p u 通常都具有低功耗、体积小、 集成度高等特点,从而使嵌入式系统设计趋于小型化,移动能力大大增 9 t c p 协议在移动设备上的优化设计与实现 强,跟网络的耦合也越来越紧密。 2 、嵌入式系统是计算机技术、半导体技术和电子技术等多个行业应用结合 的产物,这一点决定了它必然是一个技术密集、资金密集、高度分散、 不断创新的知识集成系统。 3 、嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余, 力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处 理器的选择更具有竞争力。 4 、嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产 品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。 5 、为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存 储器芯片或单片机本身中,而不是存贮于磁盘等载体中。 6 、嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是 不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进 行开发。 从开发者的角度来看,移动设备作为一种典型的嵌入式系统,也具有以上特 点。这样,在移动设备的开发过程中时,相对通用的固定设备,则往往体现出以 下缺点: l 、c p u 速度慢,由于移动设备的应用的扩展空间不大,且受到嵌入式设备 体积和成本等因素的影响,移动设备的c p u 往往采用速度相对较慢的嵌入 式微处理器; 2 、内存少; 3 、输入输出功能有限; 4 、限制功耗;为了保证移动性和无线性,移动设备一般采用电池供电,整个 系统的功耗大小对设备的有效使用时间多少至关重要。 3 1 3 移动设备上的t c p 协议 根据移动设备的特点,可以从两个方面来考虑在其上的网络应用对t c p 协议 的要求,首先,t c p 协议软件必须满足嵌入式环境下软件的特点:其次,由于移 动设备上功耗的限制,t c p 协议软件的算法实现也必须予以考虑。 t c p 协议任移明仅备上削仉托以v i 司哭 3 1 3 1 嵌入式要求 嵌入式环境下对软件的要求主要体现在实时性、可移植性和可裁减性等几个 方面。 目前,国际上些著名的嵌入式操作系统供应商,都在自己的嵌入式系统产 品中集成了t c p ,i p 网络组件,以便自己的实时系统具备网络通信功能。m 刚公 司( m i c r o t e c r e s e a r c hi n c ) 开发的实时操作系统v r t x s a 中的s n x 就是一个 t c p i p 的网络组件,它利用了v r t x s a 超微内核的特性,在响应速度、吞吐量 上体现了其实时性,还采用了诸如静态分配技术、网络

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论