




已阅读5页,还剩79页未读, 继续免费阅读
(通信与信息系统专业论文)ad+hoc网络的传输服务.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
上海交通大学硕士学位论文 a dh o c 网络的传输服务 摘要 a dh o c 网络是一种有特殊用途的对等式网络,具有无中心、自组织、可快 速展丌、i j 移动等特点,这些特点使得它在战场、救灾等特殊场合的应用日渐受 到人们的重视。a dh o c 网络使用无线通信技术,具有无线通信系统信道质量低、 带宽有限、节点通信距离有限等特点。这些特点使碍将现有的t c p 直接用于a dh o c 网络时,会产生吞吐量的显著下降。信道质量低导致分组可能因损坏而被丢弃; 移动性导致路由经常失效;使用多径路由会产牛大量的重复a c k 。这些情况都会 被t c p 认为是发生了拥塞,从而不正确的引发了拥塞控制。 现有的t c p 的拥塞避免算法假定由丁分组受到损坏引起的丢失是非常少的 ( 远小于1 ) ,因此分组丢失就意味着在源丰机和目的主机之间的某处刚络上 发生了拥塞。而实际上我们必须依靠基于反馈的机制将损耗信道、路由失效和多 径路由与拥塞区别开来。对此,本文提出了一种新的基于反馈和多径路由的t c p 方案:姒一j 1 c p ( m u l t i p a t ha dh o ct c p ) 。 本文的主要贡献如下: 讨论了a dh o c 网络的t c p 性能问题,并分析了个中原因; 研究各种对a dh o c 网络上1 、c p 传输服务的改进建议,并加以比较分析; 提出了基于多径路由的7 f c p 方案m a t c p 。提出了m a t c p 的状态迁移图,讨 论了m a t c p 的实现细节; 以薪的方式使用e c n ( 显式拥塞通知) ,并研究了另外两种反馈通知l f n ( 链 路失败通知) 和l r n ( 链路重建通知) 。以这三种反馈信息为基础,实现m a 一f c p 各状态之间的转换: 改进了s a c k 选项,并运用到m a t c p 方案中; 进行m a t c p 的仿真实验,比较的分析了a t c p 的性能。 关键词:a dh o c 网络,t c p ,多径路由,e c n ,s a c k 上拇交通大学碳上学位论文 t r a n s l m i s s l o ns e r v i c e si nw i r e l e s sa dh 0 0n e t w o r k s a b s t r a c t a dh o cn e t w o r k sa r em u t ih o pw i r e l e s sn e t w o r k sc o n s s t i n go fa ( 1 a r g e ) n u m b e ro ft a d i 0 一e q u i p p e dn o d e st h a tm a yb ea ss i m p l ea sa u t o n o m o u s ( m o b i l e o rs t a r i o n a r y ) s e r t s o r st ol a p t o p sm o u n t e do nv e h i d e so rc a r r i e db yp e o p l e t h e s et y p e so ff i et w o r k sa r eu s e f u li na n ys it u a t i o nw h e r et e m p o r a r y n e t w o r kc o n n e c t i v i t y 】sn e e d e d 、s u c ha sjnd i s a s t e rt e l i e f 。o ri nt h eb a t t l e “e l d j o w e v e r ,t r a n s p o r tc o n n e c t i o n ss e tu pi nw i r e l e s sa dh o en e t w o r k s a y ep l a g u e db yp r o b l e m ss u c ha sh i g hb i te r i 4 0 rr a t e s ( b e r ) ,f r e q u e n tr o u t e c h a n g e sa n dp a r t i t i o i l s i fw e r u nt c po v e rs u c hc o n n e c t jo n s t h e t h r o u g h p u to ft h ec o n n e c t i o ni so b s e r v e dt ob ee x t r e m e yp o o rb e c a u s et c p t r e a t sl o s to rd e l a y e da c k sa sc o n g e s t i o n i nt msp a p e r ,w et u r no u ra t t e n t i o nt ot h et r a n s p o r tl a y e ra n dp r e s e n t as 0 1 u t i o nt h a te n a b l e st c pt of u n c t i o ne f f i c l e n t l yi nt h e o s s ya n d p a r tjt jo np r o n ea dh o cn e t w o r k jn ge n v i r o n m e n t ,w ep r e s e n ta nn e wt c p s c h e m eb a s e do nm u l ti p a t hr o u t i n ga n df e e d b a c k ,c a l l e dm a t c p ( m u l t i p a t h a dh o ct c p ) m a j o rc o n t r i b u tj o no ft h et h e s isin c l u d e s : d is c u s sw h a tt h ep r o b le m so ft c pi na dh o cn e t w o r k sa r ea n dw h y ; s t u d ya n dc o m p a r es e v e r a lp r o p o s e dt c ps c h e m e sf o rw i r e l e s sa dh o c n e t w o r k s : p r o p o s ea nn e wt c ps c h e m e :m a t c p ,i n c l u d i n gi t ss t a t et r a n s i t i o n d i a g r a ma n di m d l e m e n t a t i o nd e t a i l s : i i 圭塑至望查兰型二! 堂堡丝壅 一 i n t r o d u c en e wm e t h o d st ou t j 】i z ee c n : d i s c u s st h ei m p l e m e n t a t i o n0 rl f n ( l i n kf a i l u r en o l j f i c a t i o n ) a n dl r n ( l i n kr e e s t a b l i s h m e n tn o t i f j c a t i o n ) ,a n du t i l i z et h e mi n t h em a t c p s c h e m e ,t o g e t h e rw i t he c n : p r c p o s ei m p r o v e m e n to ns a c k ,a n du t i l i z et h ei m p r o v e ds a c ki nm a t c p s c h e m e s 1 叭h a t em at c po nn s 2p l a t f o r m ,a n dd i s g u s si t sp e r f o r m a n c e a d v a n t a g e s k e y w o r d s :a dh o cn e t w o r k s ,t c p ,m u l t i p a t hr o u t i n g ,e c n ,s a c k r 海交通大学倾士学位论文 符号说明 a 缩略语 a c k :确认( a c k n o w le d g e r n e r l ) a r ? :地址解析协议( a d d r e s sl e s o l u t i or lpr o l o c 0 1 ) a t c i :a dh o c 网络传输控制协议( a dh o ct c p ) a w s i d :通告窗口( a d v e r t i s e dw ir l d o w ) 1 3 s i ) :伯克利软件发行版( b e r k e l e ys o f t w a r ed i s t r i b u t i o t l ) c e :经历拥塞( 码字) ( c o n g e s t i o ne x p e r i e n c e d ) c w n d :搠塞窗口( c o n g e s t i o nw i n d o w ) c w r :拥塞窗口已减小( 标志位) ( c o n g e s t i o nw i n c l o wr e d u c e d ) d - s a c k :重复的s a c k ( d u p l i c a t es a c k ) d s r :动态源路由协议( d y n a m i cs o u r c ei o u l _ i n g ) e c e :e c n 回响( 标志位) ( f , c n e c h o ) e c n :显式拥塞通知( e x p l i c i tc 0 1 t g e s l ,j o r ? n o l 1 jc a t i o n ) e c 1 :支持e c n 的传输( e c n c a p a b l et r a n s p o r t ) e l f n :显式的链路失败通知( e x p 3i c it i i n kf a 】il t en o t i f i c a l 。i o n ) i c m p :i n t e r n e t 控制报文协议( i t l t e r n e tc o n t r o lm e s s a g ep r o t o c 0 1 ) i e t f :互联网工程任务小组( i n t e r n e te n g i n e e r i n gt a s kf o r c e ) i p :互联网协议( i n t e r n e tp r o t o c 0 1 ) i s n :初始序列号( t n i t i a ls e r i a ln u m b e r ) l f n :链路失败通知( l i n kf a i l u r en o t i f i c a t i o n ) l r n :链路重建通知( l i n kr e e s t a b l i s h m e n tn o t i f i c a t i o n ) m a s a c k :基于多径路由的a dh o c 网络选择性确认( m u l t i p a t ha dh o cs a c k ) m at c p :基于多径路由的a c th o c 网络传输控制协议( m u l t i p a t ha dh o ct c p ) m a n e i :移动a dh o c 网络小组( m o b i l ea dh o cn e t w o r k ) m s r :多径源路由协议( m u 】t j p a t hs o u r c er o u t i n g ) n s :网络仿真器( n e t w o r ks i m u t a t o r ) q o s :服务质量( q u a l i t yo fs e r v i c e ) r e d :随机早期检测( r a n d o me a r lyd e t e c t i o n ) r t o :重传超时( t e t r a n s m ls s i o nt i m eo u t ) r t t :往返时间( r o u n d t r i pt i m e ) s a c k :选择性确认( s e e c “v ea c k n o w l e d g e m e n t ) t c p :传输控制协议( t r a n s m js sj0 l qc o n t r o lp r o t o c o t ) t c p f :基于反馈的t c p ( f e e d b a c k b a s e dt c p ) b 部分定义 基于多径路南的a dh o e 删络t c p ( m a t c p ) :种新的基于多径路由和 反馈的t c p 方案。使用网络层反馈实现多个状态之间的迁移。 报文段( s e g m e n t ) 、分组( p a c k ec ) 、数据报( d a t a g r a m ) :报文段是t c p 传给i p 的协议数据单元。本文不考虑i p 分片的情况,所以分组和数据 报也指的是报文段。这二二个概念的含义相同。 发送端( s e n d e r ) 、接收端( r e c e i v e r ) :指的是t ( :p 路径两端发送数据 的一端和接收数据的一端。发送方、接收方和源端fs o u r c e ) 、目的端 ( d e s t i n a t j0 i g ) 也是指相同的概念。 慢肩动( s l o ws t a r t ) 、拥塞避免( c o n g e s t :jo na v o jd d n e e ) 、快速重传 ( f a s tr e t r a n s m i t ) 、快速恢复( f a s tr e c o v e r y ) :这是四种t c p 的流 量控制算法,详见第二章。 重传定时器( r e t r a n s m i s s i o nt i m e r ) :发送方为某一个被发送的分组设 置的定时器。当该定时器过期时,如果发送方还是没有接到该报文段的 确认,将重传该报文段。 显式通知( e x p l i c i tn o t i f i c a t i o n ) :指的是明确通知t c p 端节点关于 对方节点或者网络状态信息的报文。 指数退避( e x p o n e n t i a lb a c k o f r ) :当发送端发送分组超时时,会把重 传定时器的值加倍直至到达。个上限值为止,这一过程称作“指数退避”。 上海交通大学硕士学位论文 上海交通大学 学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本 论文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本 文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。 本人完全意识到本声明的法律结果由本人承担。 ,l 学位论文作者签名:匆j 日期:2 。;年,月f 目 上海交通大学硕士学位论文 上海交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定, 同意学校保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。本人授权上海交通大学可以将本学位沧文的 全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存和汇编本学位论文。 保密d ,在立年解密后适用本授权书。 木学位论文属于 不保密口。 ( 请在以上方框内打“”) 学位论文作者签名:壶1 啦 指导教师签名: 日期:2 。弓年f 2 1 “e t日期:年月 e t 上海交通大学学位论文答辩决议书 所在学科 中请者刘臻通信与信息系统 ( 专业) 沧文题i da dh o c 删络的传输服务 铃辩日划 2 0 0 3 1 1 7 地点 上海交通大学现代通信研究所岬盾似 答辩委员会成员 姓名单位职称签名 ,诤 俩应上迭受遍太蕈觳罐 耘旋鸽上逾翅仃毅搐荡旋饱 杠薪华上海妯# 孓数冶化如铭 、 ”季至红“虏 一t 乙上治铀六薯函嗽 陆,仫耸l 悔专j 自丈菰杉卯戤五耳 、 魏拦瓣徽轳 糠黧篡掣4 戮嚷蒎翟鼢篙鬣麓灞篇锄锻攒 鸽程渤蟹南一鳓秘圭如吝不甥钌一登驹烈肖d 山阐獬弦p 噬够懈躐厶叶争 西妇访娩,嫩:走,1 钆f 现嫩罐躞碍,井逆汉授1 卅t 牛逗嚣纠主:矿灯p 性。 ) 一) 年 j 月,7日 海变通大学坝1 学位论文 1 1 标准的t c p 实现 第一章绪论 现有的互联网中,我们使用t c 叫提供一种面向连接的、i , j 靠的字节流服务。 面向连接意味着两个使用t c p 的应用( 通常足一个客户和一个服务器) 在彼此交 换数据之前必须先建立一个t c p 连接。 t c p 通过如下方式实现可靠性: t c p 把应用数据分割为认为最适合发送的数据块,称为报文段或段 ( s e g m e n t ) 。 当1 c p 发出一个段后,它启动个定时器,等待目的端确认收到这个报 文段。如果不能及时收到一个确认,将重发这个报文段。 当t c pl h 到发自t c p 连接另一端的数据,它将发送一个确认。 t c p j q - 保持它首部和数据的检验和。如果收到段的检验和有差错,t c p 将 丢弃这个报文段和不确认收到此报文段( 希望发端超时并重发) 。 j l c p t k 文段的到达可能会失序。如果必要,t c p 将对收到的数据进行重新 排序,将收到的数据以正确的顺序交给应用层。 t c p 还能提供流量控制。发送端保留两个窗l 1 :一个是通告窗f 1 ( a d v e r t is e d w i i l d 。w ,a w n d ) ,这是接收端告诉发送端自己的缓冲区队列大小;另一个是捌塞 窗e ( c o n g e s t jo nw i n d o w ,c w n d ) 。发送端取这两个窗口的最小值作为自己能 够一次发送数据量的卜限。通告窗口是接收端使用的流量控制,捌塞窗f1 是发送 端使用的流量控制。当遇到拥塞时,发送端会减小自己的拥塞窗口,从而实现自 己的拥塞控制。 t c p 是在b e r k e l e y 的b s d 系统上酋先实现的。随着时削的发展,7 i c p 自q 实现出 现了越米越多的版本口l 。总的说束,有这么几个主要的版本:t a h o et c p 指的是 1 9 8 8 年在4 3b s dt a h o et c p 中首次实现的t c p 版本;r e n ot c p 贝i j 是1 9 9 0 年在4 3 b s dr c n ot c p 中茸次实现的:n e w - r e n ot c p 9 i j 是r e n ot c p 的变种,出现在1 9 9 5 年;v e g a s t c p l 3 1 也足首见_ = 一19 9 5 年。在本文中,我们所说的“标准”t c p 主要是 指r e n o t c p ,该版本保留t t a h o e t c p f l j 慢启动、拥塞避免和快速重传算法,同 列还实现了快速恢复算法,捌有目j f i n t e r n e t 上绝大多数t c p 实现的主要特征。 1 2r e n ot c p 的改进方法 为了解决t c p r e n o 的种种不足,研究者从个个方面对其进行改进。本文主要 使用其中的两种:s a c k 4 1 1 5 1 币u e c n “。标准t c p 使用累积a c k 对收到的报文段进 行确队,电就是说,接收端收到若干个报文段时对它们进行一起确认。使用这种 方法,发送端只有经过一个往返时问才能知道自己丢失了一个报文段。如果在一 个数掘窗口内丢失了多个报文段,那么t c pr e n o 是无法很快知道自己到底丢失 了哪几个报文段的。这样,要么发送端得等上多个往返时间才能重传这些报文段, 要么就得盲目的进行重传,这样或者导致时间的损失( 从而也就影响了吞吐量) , 或者增加了网络的负荷( 因为很有可能重传r 已经被接收端正确接收的报文段) 。 由接收端发送的s a c k ( s e l e c t i v e a c k n o w l e d g e m e n t s ) 选项是解决这一问题的有 效方法。它利用t c p 选项的4 0 个字节,向发送端报告接收端已经收到的不连续的 数据块。这样,发送端就可以比较好的重建接收端的缓存序列,选择该重传哪些 报文段。s a c k 对于象无线通信这样的损耗信道尤其有用,因为在这些情况下, 分组经常因为损坏而被丢失。 t c p r e n o 使用超时和重复确认的机制来通知发生了分组丢失,这是种“隐 式”通知的方法。采用这种方法,t c p 发送端只能通过猜测来判断网络中发生了 拥塞,而无法即u , l i d 得知网络的捌寨情况,或者把拥塞与其他原凶造成的分组丢 失区分丌来( 比如无线信道e 分组的损坏,选路失败等) 。e c n ( e x p l i c i t c o n g e s t i o n n o t i f i c a t i o n ) 则是一种显式通知,可以帮助t c p 更快的了解网络中实际发生的情 况。我们知道,较早的路由器使用一种丢尾( d r o p t a i l ) 策略,当缓冲区溢出时, 直接丢弃某些分纰,t c p 发送端经过超时或收到重复确认,就可以判定l | ( 1 4 络发生 了拥塞。而较新的主动队列管理路由器会设聋一个门限值,该值小于缓冲区队列 的实际容量。当接收队列的平均长度超过门限值时,路由器就会按照概率来有意 识的丢弃一部分分组。基于这种路山器,我们可以实现e c n 。当路由器遇到可能 的拥塞叫( 队列长度超出门限值) ,就在未被丢弃的分组i p 酋部标志c e 码字。接 收端l i 复至l c e 码宁日_ _ f ,立刻在响应发送端的a c k 报文段的t c p 首部设置e c e 比特。 这样发送端就叮以知道网络罩发生了拥塞,执行拥塞避免。与原来裥比,t c p 发 送端不必等待超时或重复a c k ,而只需等待较短的时间( 最多个往返时间) 和 较少晌a c k ( 如果a c k 不丢失,那么只要等一个就可以了) 就可以知道拥塞的 发生,提高了效率。 13a dh o c 网络的t o p 性能问题 a dh o c 网络”1 的概念出现于2 0 世纪7 0 年代,近年来由于便携式设备( 血i p d a 、 手机和笔记本电脑等) 在移动性、储存能力、无线通信能力等方面的迅速发展, 使得不需要固定基站支持的a dh o c 网得到了。一泛应用。k dh o c 剐可以在不能利用 或不便利用现有网络基础设施的情况下提供种通信支撑环境,因此对于军用网 有着特殊意义。另外它可用于偏远地区的援救系统,或者是需要很快扩展网络覆 盖范围的情况,比如大型建筑工地。在大型会议巾j 会者也可利用笔记本电脑或 掌上电脑在a dh o c 网络环境下互相传递信息。 从以上应用环境可看出a dh o c 网是一种无基站支持的多跳无线网络。它具有 高度动态变化的拓扑结构并且网络中各节点可任意移动,各移动终端利用无线技 术传送数据包。由于无线传输覆盖范围的限制,刚络中任意两节点问c j 。能不存存 直接的通信链路,因此分组需要网络中间节点的中转列能实现通信,这使网络中 各节点具有有别于常规网络的重要特点,即在a dh o c 网中,每个用户终端( 每个 节点) 兼备路由器和主机两种功能。 a dh o c 网络的这些特点使得将标准t c p 直接运用到a dh o c 网上时会出现严重的 性能下降1 。首先,a dh o c 网络是一种无线网络,它所使用的无线信道洪码率高、 带宽小,这会导致分组经常因为发生错误而被节点丢弃;其次,a dh o c 网络每个 节点都是移动的,所以它的网络拓扑结构经常变化,经常造成路由的失效。对于 2 。海交通大学坝l 学位论文 分簇的a dh o c 1 ( _ 9 络而言,网络中发生的重新分簇也可能使得两个主机的连接被断 几再次,s dh o c 网络还经常发生分组的重新排序,从而产生大量的重复确认。 对于以上这三利i 情况,t c p i i j 会错误的当作分组丢失处理,启动拥寨控制,从而 降低了吞吐量( 拥塞控制要减小拥塞窗口的值) 或者加重了网络的负载( 遇到重 复的a c k 会不必要的重传分组,或者路径断开时仍然发送报文段) 。这样的结果 就是标准t c p e 、j 性能在移动性较高的网络中会出现严重的下降,降低了信道的利 用率。 1 4m a - t o p 我们认为,之所以会出现上述的情况,是因为t c pr e n o 是针对稳定可靠的有 线网络设计的。在这种网络中,误码率极低,路径非常稳定,因此一旦发生了分 组的丢失,就可以认定是发生了拥塞。而对了。移动a dh o c 网络而言,情况要复杂 的多,这时原有的判断就不再可靠,从而造成了上一节我们描述的问题。 解决这些问题的关键就在于能够正确了解分组丢失时网络中的状况:是发生 了拥塞还是遇到i r 损耗信道、路由断开、网络分簇以及重新排序。然后再针对不 同的情况,做出相应的决定。使用基r 反馈的通知是帮助我们了解网络状态的好 方法。如果收到f c n 通知,我们把可以知道网络f 在拥塞,从而引发拥塞控制。 如果某条链路断开时,该链路的上游节点能够通h t c p 发送端路由已经失效,那 么我们就可以把路由失效以及网络分簇这两种情况与拥塞区别丌米,此时t ( :p 发 送端| = i 以停止发送新的分组直至找到新的路径为止。如果能够使用s a c k ,我们就 可以知i 道到底哪些报文段没有被收到,然后有选择向重传。这些都可以帮助我们 大大提升移动a dh o c 网络的t c p 吞吐量。 现有的传输层改进方案大多是基于上述的反馈机制的。但是它们大多只考虑 了路由失效这一情况,不够全面;或者考虑较为全面但是方法仍有改进的余地。 并且,它们都没有考虑到网络中使用多径路由、负载平衡时,传输协议的设计问 题。因此本文提出r 一种新的t c p 改进方案m at c p ( m u l t i p a t ha dh o ct c p ) 。 在a t c p 中一共有五个状态:f 常状态、拥塞状态、损耗状态、重新计算路由和 网络分簇。我们除了使用传统的超时以及重复a c k 信息之外,还使用了】j f n ( 】i n k f a i l ”en o t if i c a t i o n ) 、l r n ( l j n kr e e s t a b l i s hk o t i f i c a t i o n ) 、e c n 年口m as a c k 通知。利用这些信息,t c p 发送端可以在各个状态之间实现转化,并采取相应的 行为,从而明显的提升了a dh o c 网络的t c p 性能。 1 5 主要的研究和方法 本文分析了现有网络,研究了标准t c p 和a dh o c 网络的一些一般性问题, 并提出了一种新的t c p 方案m at c p :基于多径路由的a dh o c 网络传输控制 协议。本文主要的工作包括: 1 ) 分析了现有的t c p 实现,词论了其中的不足; 2 ) 讨沦了a dh o c 网络的t c p 性能问题,并分析了其中原因; 3 ) 分析已有的a dh o c 网络的t c p 方案,比较其中的异同和不足: 4 ) 提出了m at c p 方案,给出在多径路由情况f ,m a t c p 的状态辽移图、 如何在1 i 同的情况下史现相互转换以及每种状态下t c p 发送端应有的 正确行为; 5 ) 提出了对e c n 的新的使用力法,并应用于m a t c p 体系: 6 ) 提m 了对s a c k 的改进( m as a c k ) ,并把它应用到m at c p 中; 7 ) 对m at c p 和t c pr e n o 进行仿真,比较分析了m a t c p 相对于标准t c p 的优点所在。 1 6 论文安排 全文分六章,第章是绪沦;第二章介绍现有的t c p 实现的各个版本、主 要特点和s a c k 选项。各个版本包括t a h o e 、r o n o 和n e wr e n o ,主要特点有r 1 i t 计算、慢启动、拥塞避免、快速重传和快速恢复算法;第三章介绍了i c m p 报文 和e c n ,尤其是i c m p “目的不可达”报文;第四章介绍了a dh o c 网络的特点、 体系结构和路由算法,尤其是m s r ( m u l t i p a t hs o u r c er o u t i n g ) 多径源路由算 法;第i 章研究了现有的各种解决方案,然后提出了m a t c p 的结构与细节以及 姒s a c k ,并在通过仿真上研究了m at c p 的性能:第六章是总结和展望。 1 7 本章小结 本章简要的介绍标准的t c p 实现以及改进方法,然后介绍了a dh o cl 删的 特点以及其中的t c p 性能问题,提出了m at c p 的主要思想和研究方法,最后 给出了,论文安排。 卜海交通大学顺l 学位论义 第二章t o p :传输控制协议 2 1t o p 概述 2 t o p 的服务 t c p 。提供一种面向连接的、可靠的字节流服务。面向连接意味着两个使用t c p 的应用( 通常是个客户剩 个服务嚣) 在彼此交换数掘之翦必须先建立一个t c p 连接。这一过程与打电话很相似,先拨号振铃,等待对方摘机说“喂”,然后才 说明是谁。 在一个1 c p 连接中,仅有两方进行彼此通信,冈此,1 播和多播不能用于t c p 。 t c p 通过下列方式来提供可靠性: 应用数据被分割成t c p 认为最适合发送的数据块。山7 f c p 传递给l p 的信息 单位称为报文段或段( s e g m e n t ) 。 当,i c p 发出一个段后,它启动一个定时器,等待目的端确认收到这个报文 段。如果不能及时收到一个确认,将重发这个报文段。 当,收到发自。r c p 连接另一端的数据,它将发送一个确认。这个确认不 是立即发送,通常将推迟几分之秒。 f i c p 将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检 测数据在传输过稃中的彳千佃变化。如果收到段的检验和有差错,t c p j , - 丢 弃这个报文段和不确认收到此报文段( 希望发端超时并重发) 。 既然i c p 报文段作为i p 数据报来传输,而i p 数据报的剑达可能会失序,因 此。l 、c 时髓文段的到达也可能会失序。如果必要,r c p 将对收到的数据进行 更新排序,将收到的数据以正确的顺序交给应用层。 既然t p 数据报会发生重复,t c p i 9 接收端必须丢弃重复的数掘。 t c p 还能提供流量控制。t c p 连接的每方都有固定大小的缓冲空间。t c p 的接收端只允许另一端发送接收端缓冲区所能接纳的数据。这将防止较 快主机致使较慢主机的缓冲区溢出。 两个应用程序通过t c p 连接交换8b i t 字节构成的字节流。t c p 不在字节流中 插入汜录标识符。我们将这称为字节流服务( b y t es t r e s r f ls o i w i c o ) 。,如果一 方的应用程序先传】( ) 字节,又传2 0 字节,再传5 0 字节,连接的另一方将无法了解 发方每次发送了多少字节。收方可以分4 次接收这8 0 令字节,每次接收2 0 字节。 一端将字节流放至i t c p 连接上,同样的字节流将出现在t c p 连接的另一端。 另外,7 l 、c p 对字节流的内容不作任伺解释。t c p 不知道传输的数据字节浼是二 进制数掘,还是a s c i i 字符、e b c d i c 字符或者其他类型数据。对字节流的解释由 7 c p 连接双方的庶用层解释。这种列字节流的处理方式与u n i x 操作系统划文件的 处理方式很相似。u n i x 的内核对一个应用读或写的内容不作任何解释,而是交给 应用程序处理。划u n i x 的内核来说,它无法区分一个二进制文件与个文本文件。 2 ,1 ,2t c p 的首部 t c p 数据被封装在一个i p 数据擐中,如图2 一l 所示。 海交通人学碗f 学位论文 i _ 一“,。e r 媚m ,一 卜一。! ;t ) g l i ( ! l l l 一 因2 1t c p 数据在i p 数据报中的封装 f i g m r c2 - 1e n c a p s u l a t i o no f t c pd a t ai na f ti pd a t a g r a m 图2 2 显不t c p 首部的数据格式。如果不计任选字段,它通常是2 0 个字节。 1 6 一b - ts o u :一c cp o r tn u n bl j 3 1j 6 一b t , j e s t l _ a t i o n1 ) o z tn u a b c :。 :;0 - b :te ”o i l ( x n c oi l o i i i9 , l ! f 0 2 一h 二1 ,k ? k a * :pr 】m 【,nti h 】b i _ 】j 。 ;h i l l :, m i e l r e 、! p tr e d k【 t 】6 一 tw n d n fs ? z ( 、 1 “【“ ( t 洳1 1s j ( 一 i i j j 8 - u h i :t c f o i - m c k sl j lj a b it u :。g ( 、1 j tp 3n t ( ! t 7f 功t jc ) n s ( 1 f j ”y ) 7 1 a la ( 3fh n ,) z 图2 - 2t c p 包首邙” f i g 2 r c2 - 2t c ph e a d e r 每个t c p 段都包禽源端和日的端的端口号,用于寻找发端和收端应用进程。 这两个值加上i p 首部中的源端i p 地址和日的端l p 地址唯一确定一个t c p 连接。 有时,一个i p 地址和一个端口号也称为一个套接字( s o c k e t ) 。这个术语出 现在最早的t c p 规范( r f c7 9 3 ) 中,后来它也作为表示伯克利版的编程接口。套 接字对( s o c k e lp a i r ) ( 包含客户l p 地址、客户端口号、服务器i p 地址和服务器 端n 号的四元组) 可唯确定互联网络中每个t c p 连接的双方。 序号用来标识从t c p 发端晦 t c p 收端发送的数据字节流,它表示在这个报文段 中的的第一个数据字节。如果将字节流看作在两个应用程序f 司的单向流动,j j t c p 用序号对每个字节进行计数。序号是3 2b jt 的无符号数,序弓到达2 “一l 后义从0 丌始。 当建立一个新的连接时,s y n 标志变l 。序号字段包含由这个主机选择的该连 接的初始序号i s n ( i nj t i a ls e q u e n c en u m b e r ) 。该主机要发送数据的第一个字 节序号为这个i s n 加【,因为s y n 标志消耗了个序号。 上海交通大学坝士学位论文 既然每个传输的字节都被汁数,确认序号包含发送确认的一端所期望收到的 下一个序号。凶此,确认序号应当是上次已成功收到数据字节序号加l 。只有a c k 标志为l 时确认序号字段才有效。 发送a c k 无需任何代价,冈为3 2b i t 的确认序号字段和a c k 标志一样,总是t c p 首部的一部分。因此,我们看到一旦一个连接建立起来,这个字段总是被漫置, a c l ( 标志也总是被设置为1 。 t c p 为应用层提供全双工服务。这意味数据能在两个方向上独立地进行传输。 因此,连接的每一端必须保持每个方向上的传输数据序号。t c p 可以表述为一个 没有选择确认或否认的滑动窗h 协议。我们说t c p 缺少选择确认是医为t c p 首部中 的确认序号表示发方已成功收到字节,但还不包含确认序号所指的字节。当前还 无法在确认序号字段中对数据流中选定的部分进行确认。例如,如果1 10 2 4 字 节已经成功收到,下一报文段中包含序号从2 0 4 9 3 0 7 2 的字节,收端并不能确认 这个新的报文段。它所能做的就是发回一个确认序号为1 0 2 5 的a c k 。它也无法剥 一个报文段进行否认。例如,如果收到包含1 0 2 52 0 4 8 字节的报文段,但它的榆 验和错,t c p 接收端所能做的就是发回一个确认序号为1 0 2 5 自g a c k 。 苗喑b 长度给出茜部叶3 2b 1t 字的数目。需要这个值是因为任选宁段的长度是 可变的。这个字段占4b i t ,因此t c p 最多有6 0 字节的首部。然而,没有任选字段, 正常的长度是2 0 字节。在t c p 首部中有6 个标志比特。它们中的多个可同时被设置 为l 。 u r ( ;紧急指针( u r g e n tp o i n t e r ) 有效。 a c k 确认序号有效。 p s h 接收方应该尽快将这个报文段交给应用层。 r s t 重建连接。 s y n 同步序号用来发起个连接。 f i n 发端完成发送任务。 t c p 的流量控制由连接的每一端通过声明的窗口大小来提供。窗u 人小为字 节数,起始于确认序号字段指明的值,这个值是接收端正期望接收的字节。窗口 大小是个1 6b i t 字段,因而窗l 】大小最大为6 5 5 3 5 字节。 检验和覆盖厂攀个的,i c p 报文段:t c p 首部和t c p 数据。这是一个强制性的字 段,一定是由发端计算和存储,并巾收端进行验证。 只有当u r g 标志置1 时紧急指针才有效。紧急指针是一个正的偏移量,和序号 字段中的值相加表示紧急数据最后一个宁节的序号。t c p 的紧急方式是发送端向 另一端发送紧急数据的一种方式。 最常见的可选字段是最长报文大小,又称为m s s ( m a x i m u ms e g m e n ts l z e ) 。 每个连接方通常都在通信的第一个报文段( 为建立连接而设置s y k 标志的那个段) 中指明这个选项。它指明本端所能接收的最大长度的报文段。 从图2 2 中我们注意至i t c p 报文段中的数据部分是可选的。在一个连接建立和 一个连接终【f :时,双方交换的报文段仅有t c p 首部。如果一方没有数据要发送, 也使用没有任何数据的首部来确认收到的数据。在处理超时的许多情况中,也会 发送不带仟何数据的报文段。 213t c p 选项 t c p 首部可以包含选项部分( 图23 ) 。仅在最初的t c p 规范巾定义的选项是 选项表结束、无操作和最大报文段长度。在我们的例子中,几乎每个s y n 报文段 中我们部遇到过m s s 选项。 r f c1 3 2 3 定义了一些别的t c p 选项。图2 3 显示了当前t c p 选项的格式,这些 选项的定义出自于r f c7 9 3 f r j r f c1 3 2 3 。 每个选项的开始是1 字节k i n d 字段,说明选项的类型。k i n d 字段为o 和l 的选 项仅占1 个字节。其他的选项在k i n d 字节后还有1c n 字节。它说明的跃度是指总长 度,包括k d 宁节和l e n 字节。 设置无操作选项的原因在于允许发方填充字段为4 字节的倍数。如果我们使 用4 ,4b s d 系统进 j 初始化t c p 连接,在初始的s y n 上显示下面f c p 选项: m s s 选项设置为5 2 ,后面是n o p ,接管是窗口扩大选项。第一个n ( ) p 用来将窗口扩 大选项填充为4 字节的边界。同样,1 ( ) 字节的时间戳选项放在两个n o p 后,占1 2 字节,例时使两个4 字节的时问戳满足4 字节边界。 选顼表结束 无操作 最大报文段长度 窗口扩:走园子 匪四 i 字节 匪习 i 字节 k i n d = 2l e i - i = 4 最大提文 鼹长度 1 字节1 字节l 字节 时闻戳: 亘至垂二 二三亘互 二二二 五耍亘亘二二二工至垂垂垂垂圆 l 享节i 字节4 字节 4 字节 图2 - 5t c p 选项【1 1 f 1 印1 c23 t c po p t i o n s 2 2t o p 连接的建立与终止 2 21t o p 自9 状态变迁图 有关发起和终止t c p 连接的规则都能从图2 4 所示的状态变迁图中得出。 在这个图中要注意的第一点是一个状态变迁的子集是“典型的”。我们用粗 的实线箭头表示正常的客户端状态变迁,用粗的虚线箭头表示正常的服务器状态 变迁。 第一二点是两个导致进入e s t a b i 。1s h e d 状态的变迁对应打开一个连接,而两个 导致从e s7 f a b l i s h e d 状态离开的变迁刺应关闭一个连接。e s7 i a b l i s h e d 状态足连接 双方能够进行双向数据传递的状态。 将图中左下角4 个状态放在一个虚线框内,并标为“主动关闭”。其他两个 状态( c l o s ew a $ 1 1 l a s t a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 核子仪器伦理与社会责任考核试卷
- 《农产品的质量检测》课件
- 装饰材料企业品牌形象塑造考核试卷
- 《农村家禽饲养技术》课件
- 学校安全教育主要内容
- 纺织品的智能生产成本控制考核试卷
- 毛皮服装生产设备选型与采购考核试卷
- 燃气热水器安装与调试考核试卷
- 核电工程施工过程中的质量控制点管理考核试卷
- 建筑造型设计原理
- 《基于杜邦分析法的企业财务分析国内外文献综述》
- 地铁站装修报价
- 《寄冰》-完整版课件
- 内科学-骨髓增生异常综合征(MDS)
- 办公室事故防范(典型案例分析)
- 八年级下册英语七选五专项讲练一
- 两班倒排班表excel模板
- ISO31000风险管理标准中文版
- 《S7-1200-PLC-编程及应用技术》试题试卷及答案2套
- 电土施表4-18混凝土结构工程养护记录.docx
- 医疗质量与安全管理委员会组成与职责
评论
0/150
提交评论