(计算机软件与理论专业论文)ad+hoc网络传输改进研究.pdf_第1页
(计算机软件与理论专业论文)ad+hoc网络传输改进研究.pdf_第2页
(计算机软件与理论专业论文)ad+hoc网络传输改进研究.pdf_第3页
(计算机软件与理论专业论文)ad+hoc网络传输改进研究.pdf_第4页
(计算机软件与理论专业论文)ad+hoc网络传输改进研究.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(计算机软件与理论专业论文)ad+hoc网络传输改进研究.pdf.pdf 免费下载

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

文档简介

摘要 a dh o c 网络是不需要网络基础设施,移动节点之间通过无线信道自主通信, 临时构建的一种多跳无线通信网络。a dh o e 网络具有机动性高、部署快速等特 点,可应用于现代化战场、紧急搜救、移动会议等许多场合,故而引起了军方和 学术界的广泛关注。但是,a dh o c 网络本身的发展并不成熟,节点的移动性、无 线信道的高误码率、完全的分布式环境等造成了很多问题,迄今为止,该技术还 处于研究探索阶段。作为a dh o c 网络的关键技术与研究热点之一,a dh o c 网络 传输的研究具有很高的理论价值与实用意义,目前该研究主要集中在t c p 协议 的改进上。由于t c p 协议是为有线网定制设计的,其性能在a dh o c 网络中下降很 大,因此,如何在a d h o e 网络中设计一种高效的网络传输机制就成了一大难题。 本文介绍了a dh o e 网络的特性及其对传输协议的影响,栅p 协议在a d h o e 网络中面临的问题进行了总结,并针对不同环境给出了两个a dh o e 网络 传输改进方法:r s p t p ( 短报文可靠传输协议) 与v e g a sd d ( 回落探测的t c p v e g a s ) 。r s p r p 针对t c p 不适合传输短报文业务的弱点,借助同步时钟,构建了 一种新的连接建立机制初次传输机制,通过避免三次握手过程,提高了网络 效率与实时性。v e g a sd d 对t c pv e g a s 在拥塞控审4 阶段不能识别路由变化的缺点 进行了改善,通过同时观测窗口变化和往返时间的变化,预测路由变化,调节发 送窗口,改善了网络性能。此外,在传输层上下都设计了相应机制增强a d h o e 网 络传输的性能。在传输层之上提出了应用传输协议a a t p ,通过定期删除过期报 文、消息流重组、自适应分包、容错与自动重连等技术对a d h o e 网络的传输服务 进行了增强;在传输层之下,提出了一种新的分布式拓扑控制算法l s s g ,通过 使用次小生成图降低了副效应的影响,减少了链路干扰,提高了网络容量。 关键词二无线自组网;t c p ;端到端算法;短报文;三次握手 a b s t r a c t a dh o en e t w o r k si sa t e m p o r a r i l yf o r m e dm u l t i - h o pw i r e l e s sc o m m u n i c a t i o nn e t - w o r kw i t h o u ta n yi n f r a s t r u c t u r e i na dh o cn e t w o r k s ,m o b i l en o d e sc o o p e r a t ew i t h e a c ho t h e rb yt h e m s e l v e sv i aw i r e l e s sl i n k s f o rt h e i rh i 曲m o b i l i t y , f a s td e p l o y m e n t a n de t e ,i tc a nb ea p p l i e dt om o d e mb a t t l ef i e l d ,d i s a s t e rr e s c u e ,m o b i l ec o n f e r e n c e a n dm a n yo t h e re n v i r o n m e n t s ,s oi th a sd r a w nw i d ea t t e n t i o nf r o mt h em i l i t a r yt ot h e a c a d e m i c h o w e v e r ,t h e r ea r es t i l ls e v e r a lp r o b l e m s ,s u c ha st h eo n e sc a u s e db yn o d e m o b i l i t y , h i g hb e rr a t e ,c o m p l e t e l yd i s t r i b u t e de n v i r o n m e n ta n de t e u pt or o w , t h e t e c h n o l o g yi ss t i l li nt h er e s e a r c hp e r i o d a so n eo ft h ek e yt e c h n o l o g ya n dr e s e a r c h f o c u so fa dh o e1 1 e t w o r k s , t h er e s e a r c ho ft r a n s p o r tp r o t o c o lh a sg r e a tt h e o r e t i c a la n d p r a c t i c a ls i g n i f i c a n c e u n t i ln o w , t h er e s e a r c hf o c u si so nt c pi m p r o v e m e n t si na d h o c n e t w o r k s h o w e v e r , t c p w a s c a r e f u l l y d e s i g n e d i n t h e c o n t e x t o f w i r e d n e t w o r k s i g n o r i n gt h ep r o p e r t i e so fw i r e l e s sa dh o en e t w o r k sc a nl e a dt ot c pi m p l e m e n t a t i o n s w i t hp o o rp e r f o r m a n c e s oi t sag r e a tc h a l l e n g et od e s i g nat r a n s p o r tp r o t o c o lo f h i i g h p e r f o r m a n c ei na dh o cn e t w o r k s i nt h i st h e s i s ,a dh o en e t w o r k sp r o p e r t i e sa n dh o wi ti n l l u e n tt h et r a n s f e rp e r f o r - i n a n c e si si n e d u c e d 。t h ep r o b l e mo ft c pi na dh o en e t w o r k si ss u m m e du p 。f o r d i f f e r e n te n v i r o n m e n t s ,w eg i v et w od i f f e r e n tm e t h o d sf o ra dh o et r a n s p o r ti m p r o v e - m e n t s :r s p t p ( r e l i a b l es h o r tp a c k e tt r a n s p o r tp r o t o c 0 1 ) a n dv e g a sd d ( v e g a sw i t h d e c r e a s ed e t e c t i o n ) r s 盯pi sd e s i g n e df o rs h o r tp a c k e tt r a n s f e ri 1 1a dh o en e t w o r k s i t sk e yt e c h n o l o g yi sc a l l e df i r s tt r a n s p o r t ,w h i c hg r e a t l yi m p r o v e st h es h o r tp a c k e t t r a n s f e ra n dr e a l t i m ea b i l i t yt h r o u g ht h ea v o i d a n c eo ft h r e e - w a yh a n ds h a k ew i t ha s y n c h r o n i z e dt i m e r b yo b s e r v i n gt h ec h a n g e so fs e n d e r sw i n d o wa n dr t r , v e g a s d dg a ne s t i m a t et h er o u t ec h a n g e0 1 1t h ec o n g e s t i o na v o i d a n c ep h a s ea n da d a p ti t s w i n d o wt ot h ep r o p e rv a l u e s i m u l a t i o nr e s u l t sd e m o n s t r a t et h a tv e g a sd df e a t u r e s h i g h e rp e r f o r m a n c et h a nv e g a si na dh o cn e t w o r k s w ed e s i g n e do t h e rp r o t o c o l s f o ra dh o en e t w o r k st r a n s f e ri m p r o v e m e n te x c e p tt h en a n s p o r tp r o t o c 0 1 a b o v ei ti s a a t p ( a dh o ea p p l i c a t i o nt r a n s p o r tp r o t o e 0 1 ) ,w h i c hp r o v i d ea d v a n c e ds e r v i c e sf o r t r a n s f e ri na dh o en e t w o r k sl i k eo v e r d u ep a c k a g ed e l e t i n g ,m e s s a g ef l o wr e g r o u p i n g , a dh o e 网络传输改进研究 中国科学技术大学硕士学位论文 s e l fa d a p t i v ep a c k e ts # i t t i n g ,f a u l tt o l e r a n c ea n da u t o m a t i c r e c o n n e c t i n g b e l o wi ti sa n e wd i s t r i b u t e dt o p o l o g yc o n t r o lm e t h o dc a l l e dl s s g ( l o c a ls u b - m i n i m u ms p a n n i n g g r a p h ) ,w h i c hc a r lr e d u c et h ei n t e r f e r e n c ea n da c h i e v eh i g ht h r o u g h p u tb yc r e a t i n ga s u b m i n i m m ns p a n n i n gg r a p h k e y w o r d s :a dh o cn e t w o r k ;t c p ;e n d - t o - e n d ;s h o r tp a c k e t ;t h r e e - w a yh a n ds h a k e 中国科学技术大学学位论文相关声明 本人声明所呈交的学位论文,是本人在导师指导下进行研究工作 所取得的成果。除已特别加以标注和致谢的地方外,论文中不包含任 何他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究 所做的贡献均已在论文中作了明确的说明。 本人授权中国科学技术大学拥有学位论文的部分使用权,即:学 校有权按有关规定向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅和借阅,可以将学位论文编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 保密的学位论文在解密后也遵守此规定。 作者签名: 王穸象 驷1 年写旯4e t 第一章序言 1 1研究背景 a dh o c 网络( 图1 1 ) 是由一组移动或固定的无线节点组成的,不依赖于任 何基础设施( 如基站、接入点) 的自组织网络,网络中每个节点可以和其发射范 围内的其他节点直接通信,并可利用其他节点作为中继与发射范围外的节点通 信。按照组网节点是否移动,又可划分为两类:静态自组织网络s a n e t ( s t a t i c a d h o e n e t w o r k s ) 与移动自组织网络m a n e t ( m o b i l e a d h o c n e t w o r k s ) 。 计算帆同络 有线同络 无线同络 图1 1 :a c t h o e 网络 蜂高网络 使用a l p 的无线局域鄹 a d h e c 同络 a dh o e 网络起源于1 9 7 2 年美国国防部的分组无线网络( p a c k e tr a d i on e t - w o r k , p r n e t ) 项目,9 0 年代以后,随着笔记本电脑的普及和各种基于无线和 红外技术的通信设备的大量出现,a dh o c 网络得到了长足发展,其商业应用 变得可能。目前可使用多种技术构建a dh o e 网络,如b l u e t o o t h 【”,i e e e8 0 2 1 1 1 2 ,h y p e r l a n 【3 】( 表1 1 ) ,相比传统网络而言,a d h o c 网络具有自组织、无中 心等特点,无须预先部署的固定设施即可快速组网,并具有很好的鲁棒性,因而 适用于需要临时、快速组网的场合,如军事应用、传感器网络、紧急搜救、移动 一 一 厂l a dh o c 网络传输改进研究 中国科学技术大学硕士学位论文 会议、无线家庭网络等。此外,由于a dh o e 网络多跳转发的特性,节点使用的功 率更小,信道利用率更高,对人体的辐射更小,因而有着广泛的应用前景。 8 0 2 1 l a8 0 2 1 l b 8 0 2 ,1 l g h y p e r i a nb l u e t o o t h 频带 5 g2 4 ( 32 4 g5 g2 4 g 空中接口 o f d md s s so f d m ,p b c co f d mf h s s 数据速率 5 4 m b i t sll m b i t s5 4 m b i t s5 4 m b i t s 小于i m b i t s 传输范围 1 0 0 m1 0 0 m1 0 0 m1 0 0 m 1 0 m 应用领域数据 数据数据 数据 数据,语音 由于t c p f l p 协议已经成为事实上的网络互联标准,因此a dh o c 网络的体系 结构也是基于t c p ,i p 的。然而,由于a dh o e 网络中的高误码率无线信道和动态 变化的网络拓扑等特点,传统协议栈并不适用于a dh o c 网络,从链路层到传输 层都有大最的问题有待解决,如链路层的隐藏终端问题,网络层的单向路径和 多径问题,传输层的拥塞控制问题等。对此,国内外学者进行了长期而细致的 研究,取得了丰硕的成果,然而,目前并没有一个比较完善的解决方案。 a dh o c 网络的传输层协议以t c pf 4 5 】的改进为多,这主要是考虑到t c p 本 身比较成熟,以及有线无线网络组成混合网络互联互通的可能性。作为目 前i n t e r n e t 上使用最为广泛的传输层协议,t c p 为用户提供了可靠、健壮的端到 端数据流通信服务。据m c i 的统计,i n t e r n e 止总字节数的9 5 及总数据报文数 的9 0 使用t c 呦议传输1 6 1 。然而,t c p 协议是针对有线网络设计的。在有线网 络中,数据包的丢失绝大部分是由于网络拥塞,缓冲区溢出造成的,因此t c p 假 设所有的丢包都是由网络拥塞造成,并在丢包发生时采取拥塞控制降低数据传 输速率,从而取得较好的性能。然而在a d h o e 网络中,路由失败和链路错误均会 导致丢包和乱序报文的发生,这会严重影响t c p 的拥塞控制机制,导致网络传 输性能低下。此外,a dh o e 环境的特殊性对t c p 还有诸多影响,后文会有详细阐 述。因此,如何针对a dh o e 环境改进已有的传输层协议,设计高效的新协议就成 了a dh o e 网络研究中的一个热点。 1 2 国内外研究现状 作为a dh o e 网络中必须解决的关键技术难题之一,传输层协议的主要任务 2 中国科学技术大学硕士学位论文第一章序言 包括可靠传输和拥塞控制。国内外已经出现了很多试图改善传输层协议性能的 方案。这些方案可分为对砌协议进行改进以及设计基于速率的新协议两大类。 前者又可细分为端到端改进方案与跨层改进方案。 端到端改进方案中,t c pf i x e ar 1 o 忉方案致力于减小网络分离对1 p 的 影响。其思想是在识别出网络分离后锁定超时回退计时器,以便当网络恢复 后尽早利用可用带宽。t c p - d o o r 【8 l 方案考虑了a dh o e 网络中经常产生的失 序报文对t c p 的影响,通过识别失序报文,防l t c p 错误地进入快速重传阶 段。t c pf r e e z e - p r o b i n g 9 1 方案考虑了a dh o e 网络中的短期异常与长期异常,通 过一个状态机来区分这两种异常,以做出正确的反应。e i f e l t o l 方法主要是想减 轻t c p 在a dh o e 网络中错误进入超时重传带来的影响,其思想是通过加入时戳 来区分重传的报文。延迟a c k | i i , 1 2 a 3 1 4 , 1 5 1 系列方案包括,i c p - l d a i t l 、t c p - a d a 1 1 2 1 、t c p - d a a1 1 4 、t c p - d b a 等,其思想是通过减小反向数据流来降低反向 链路冲突,提高正向流量。 跨层改进方案中,t c p - f0 6 1 、t c p o e l f n l 、a t c p 【l 町、t c p b u s 【1 9 1 等方 案注重于区分网络拥塞丢包和路由失败丢包。这些方案需要修改网络层,并由 中间节点提供额外的信息。分段连接方案s p l i t - t c p 2 0 l 注重于降低路由失败的影 响,其思想是将一个端到端连接变为多个分段的连接。a d t c pf 2 l l 方案考虑了多 种网络状态,如拥塞、链路断开、信道差错、路由变化、正常等,并针对不同情 况进行相应处理。此外,还有学者提出将拓扑控制和拥塞控制结合起来改进传 输效率的方案1 2 2 ,2 3 1 。 基于速率的新协议以a t p 剀为代表,其思想是在路由过程中,在网络层收 集必要信息,由中间节点传给发送端,发送端计算并选择合适的速率传递报文。 1 3 本文所做的工作 本文主要设计了一种新的传输层协议:短报文可靠传输协议r s p r p ( r e l i a b l e s h o r tp a c k e tt r a n s p o r tp r o t o c 0 1 ) 。r s p t p 通过避免三次握手过程改善数据传输的 实时性和短报文传输的吞吐量,通过简短而灵活的报文格式设计使得协议在a d h o e 网络中的数据传输更加高效,同时,在协议实现上,通过独特的时序时间引 擎使得协议的实现结构化更好,容易修改和调试。 本文的另一工作是针对m a n e t 中t c pv e g a s 在拥塞避免阶段对路由变化的 错误反应进行了修改,通过同时观察窗口变化和往返时间变化来推测路由变化, 3 a dh o c 网络传输改进研究 中国科学技术大学硕士学位论文 对窗口做出相应的调节。算法被称为v e g a s - d d ( v e g a sd e c r e a s ed e t e c t i o n ) 。仿 真表明,它有效提高了t c pv e g a s 在m a n e t 中的性能。 本文做出的与传输层紧密相关的其它研究成果包括一个通用的应用传输加 强层a a t p ( a dh o ea p p l i c a t i o nt r a n s p o r tp r o t o c 0 1 ) ,这是构建在应用层与传输层 之间的,为应用层提供发送端流控、自适应拆包、消息流重组、容错与自动重连 等强大而实用的各种传输加强服务的子层。此外,本文还分析了副效应对拓扑 控制的影响,并给出了一种新的分布式功率控制方法l s s g ( l o c a ls u b - m i n i m u m s p a n n i n gg r a p h ) 。该方法着眼于降低网络干扰,通过使用次小生成图来为网络 传输提供更高的网络容量。 本文的组织结构如图1 2 所示。第一章介绍了研究的背景,国内外的研究 现状,并对本文的主要工作进行了归纳。第二章讲述了a dh o c 中的t c p 协议,包 括t c p 的基本工作机制,在a d h o c 中的问题以及常见的改进策略。第三章是本文 的核心,对短报文可靠传输协议进行了详细的介绍。第四章讲述了在m a n e t 中 对t c pv e g a s 所做的改进协议v e g a s - d d 。第五章介绍了本文在传输层之外改 进a dh o c 网络传输性能的工作,包括传输层之上的应用传输加强层a a t p ,以及 传输层之下的一个分布式拓扑控制算法l s s g 。第六章中对全文的方法进行了总 结,指出了其优缺点和下一步研究的方向。 应用层 e i i 。乡;夕,j ;j 矿彩0 7 ,z ,一j i 复 r s p t p ( 3 ) v c g a s - d d ( 4 ) 传输层俯u d p 网络层 l s s g ( 5 2 )链路层 图1 2 :文章结构 4 第二章a dh o c 网络中的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 ) 协议,即传输控制协议,是为了在不可 靠的互联网络上提供一个可靠的端到端的字节流而设计的。1 9 8 9 年的r f c i1 2 2 瞵1 中给出了t c p 的慢启动算法、k a m 算法、r 朋瞄计算法和r t o 指数回退算 法。1 9 8 8 年v a nj a c o b s o n 提出t c p 拥塞控制机制,i i i t c pt a h o e 嘲,它拥有快速 重传机制,依赖于a c k 的慢启动算法与拥塞避免算法,并给出了拥塞避免算法的 依据:传输错误和拥塞会导致数据丢失,前者发生的可能 1 。 1 9 9 0 年的r e n o 算法 2 7 z s l 改进了快速重传算法,并加入了快速恢复算法。随 后的n e w r e n o 算法【2 9 3 0 修改了快速恢复算法:只有等到全部遗失报文都重送后 才会结束快速恢复算法。因此在n e w r e n o 中,收到部分确认时,传送端会继续重 传报文,直到所有的遗失的报文都重传后才结束快速恢复算法,不需等到超时 就能恢复所有的遗失报文。 1 9 9 4 年的v e g a s 算法【3 1 3 2 1 的基本思想是在包丢失前探测早期拥塞,当早期 拥塞被探测到之后,拥塞窗口线性减少或不变。这是一种基于钡5 量的算法,其特 征在于:拥塞避免阶段相对平滑,可线性增减窗口;快速重传阶段,采用细粒度 的计时器,细粒度超时后窗口变为原来的 ,并且不等3 个a c k 就可以重传报文; 慢启动阶段,每隔一个m 指数增加窗口,探测到拥塞队列就转入拥塞避免。研究 表明1 3 3 】,t c pv e g a s 比t c pr e n o 拥有更好的性能。 1 9 9 6 年的s a c k 算法1 3 4 1 允许一次确认多个数据,从而发送端可以在一 个r t r 时间内重传一个以上的报文。随后的两种算法也相当重要,b 1 2 0 0 1 年 的v e n o 算法【3 5 瑚和w e s t w o o d 算法f 3 7 1 。v e n o 基于测量来区分误码丢包和拥塞丢 包,慢启动分两步走;判定误码丢包造成的快速重传,窗口变为! ;超时后进入 慢启动,拥塞避免和快速重传算法都根据网络测量值在r e n o 的基础上有所修 正。w e s t w o o d 在r e n o 的基础上修正了快速重传和拥塞避免算法,利用测量技术 来计算s s t h 。表2 1 对以上方法进行了简单比较。 a dh o c 网络传输改进研究中国科学技术大学硕士学位论文 慢启动拥塞避免3 d a p a c kr m t a h o ec u r e d = c u r e d 1 c u r e d = c u m d + i 晶 s s t h = ;c 删s e t h = ;a 删 c u r e d = 1c w n d = 1 r e n oc w a d = c w n d + 1 c u r a d = e t c l + 南 8 s t h = ;a 岍d b a t h = c u 州 c u r e d = s s t hc u r e d = 1 v e g a s n d每两个m 加倍窗口c u r e d = d w a d + 1 s s t h = 删 f 酊 = ;d 埘l d 口n 口 c u r e d = c w n de w n d = 8 s t hc w n d = 1 口 3 1 n r t o ,则拒绝此报文,否则接受并新建连接。 2 连接关闭过程:主动关闭方当所有数据报文都已经传输完毕后启动主动关 闭过程,发送f i n ( f i l l - 1 1 0 ,f i n - m ) 。其中f i n - n o 为结束序列号,t i nt s 为结束时 戳,并满足f i n - t s = 黜( 连接最后发送的s y n 报文对应的s y n - t s ,当前时刻) 。 被动关闭方接收到f n 报文( f i n - n o ,f i n - t s ) 后启动被动关闭过程,若此时时 刻n o w f i n - t s ,清除连接。否则在f i n t s 时刻清除连接。注意,当发送l i n 之 后,不允许s y n 报文的重传发送。 算法的基本思想是保证网络中不存在两个同时有效的s y n 报文,从 而有效地解决问题一与问题二。设前后发送两个s y n 报文s y n l ( s y n n o 。s y n t s l ) 与s y n 2 ( s y n ,n o ,s y n - t s 2 ) 。对于问题一,如果s y n l 并在s y n 2 建立连接后并传输 结束后到达,则有s y n l 至l | 达时亥l j s y n 2 到达时刻 s y n 2 发送时间 s y n - t s l ,从 而s y n l 被拒绝,如图3 2 所示。对于问题二,设接收端在n o w 时刻接收到s y n ( s y n - n o ,s y n t s ) ,如果此时连接并未关闭,则根据l a s t - a c k 的值可以过滤s y n - n o ,如图 3 3 所示。如果此时连接已关闭,n n o w f i n t s s y n - t s ,从而s y n 被拒绝,如图 1 8 中国科学技术大学硕士学位论文 第三章短报文可靠传输协议 3 4 所示。为防止机器崩溃后产生错误连接,开机后须等待m s l 的平静时间。 连接清除 图3 3 :过期报文引发错误连接图3 4 :过期报文引发错误连接 3 2 3 适用环境 在网络延迟很大的a dh o e 环境中,只要时钟漂移不超过单跳最小延时,就 可以使用初次传输机制来代替三次握手机制,避免三次握手中的前两次握手过 程。值得一提的是,这种环境并不罕见,例如传输节点拥有g p s 等全局授时设 备,或者当单跳延时很大时,完成初始对时的节点在相当长的时间内时钟漂移 不会超过单跳延时。随着g p s 的逐渐普及和小型化,其适用范围会越来越广。 3 2 4 评价 使用初次数据传输机制避免了三次握手所需的等待时间,减小了网络中 的报文数量,并且无需接收端在连接之外维护任何信息。由于只在传输开始 的s y n 报文和传输结束的f i n 报文中添加时戳,因此平均附加的报文长度开销 几乎为0 。记收发双方单程时间为t ,当数据在一个m t u p q 时,接收方只需要t 时 问即可接收到数据,而三次握手机制接收方需要3 t 时间才能接收到数据,在这 1 9 a dh o c 网络传输改进研究 中国科学技术大学硕士学位论文 种情况下,初次连接机制的实时性提高了3 倍。对于短报文的传输,网络中交换 报文的数量也大幅减少。由于初次传输机制能够大幅减小连接建立的延迟与网 络开销,因此对于频繁产生短报文传输特别有效。 值得注意的是,使用全局时钟的t c p 改进协议还包括s y n c - t c p 5 9 t 5 9 , 6 0 1 , 其着眼点是通过全局时钟来获得更精确的正向延迟估计,从而更有效地进行拥 塞控制。然而s y n c - t c 晦个报文都增加了时戳,是否适合短报文的传输值得 进一步评估。 3 3 。1 报文格式 3 3 协议设计 ”0 1 5 “ 一 i 一 。 0 “- “1 6 3 l : 。+” i r c e p c c t d e s t i n a t o np c c t t s e l o e h c a d l e nr e s 簟v a c t s e 带 a d d i t i c n 缸h e a d e f d 吐a 图3 5 :报文格式 报文格式如图3 5 所示,详细说明如下: s o l l l - c ep o r t 和d e s t i n a t i o np o r t 分别代表发送端i :l 和目的端口。 v p c 各位依次为起始报文标志位s y n 、结束报文标志位f 玳、捎带确认标 志位a c k 、捎带选择确认标志位s a c k ,时戳标志位t s 、校验和标志位c s 、 重置位r s t 、保留1 位。s y n 、f i n 都可以携带数据,其语意与t c p 的区别在 于,只有r e q u e s t 会设置s y n 、f i n ,a c c e p t 不会设置s y n 、f i n 。 h e a dl e n 为头部长度,以双字节为单位进行计数。 r e s e r v e d 为保留字段。 s e z l # 为窗口序号。针对相对较低的信道速率,序列号使用2 个字节。 a d d i t i o n a lh e a d e r e l 前包括1 6 位的确认头部,1 6 位的校验和头部,3 2 位的 时戳头部和1 6 位的选择确认头部。 中国科学技术大学硕士学位论文第三章短报文可靠传输协议 a c k 头部表示期望下一包的序列号。同序列号一样,其长度为2 个字节。 s a c k s 示 a c k ,a c k + 1 6 ) i 为的接收窗口状态。 t s 表示时戳,其掩码精度可以在本地配置。 c h e c k s u m 是校验和字段,可以逐连接配置。 3 3 2 与t c p 的比较 r s p l p 的报文格式比t c p 简单,并且没有三个重复的a c k 导致丢包重传,也 没有流交付,这意味着大的数据应由一个配套的上层协议进行切割( 如a a = 】限) , 或者由网络层分包,传输层本身并不会拆成多包发送,这一点类似于u d p 。当 然,最大的特性是免去了三次握手过程。 报文传递以数据确认的方式进行,可以捎带确认,也可以进行选择性确认。 由于a dh o c 中接收方缓存相对于信道速率来说通常不是问题,因此窗口大小的 控制只包括拥塞窗日的控翩,而无需类似于t c p 的接收端窗口通告。由于没有 接收方窗口通知,因此也就免去了坚持计时机制。为处理突发情况,窗口的初 值通常为2 。窗口的调节采用m d 策略,由于只用于短报文的传递,故没有复 杂的慢启动机制,实现相对简单。 通常数据报文头部长8 字节,捎带确认和选择确认的数据报文头部长1 2 字 节,远远小于t c p2 0 + 字节的头部开销,在带宽极其有限的a dh o c 环境中传输 短报文,8 个字节以上的开销节省是可观的改进,选择性确认与捎带确认也减少 了网络上传输的报文数量。 协议的报文具有一定的可配置性,路由改变不频繁,没有严重的时序报文 的环境可以不使用s a c k ,有一个较可靠的底层和协议实现时,可以不使用校验 和。时戳的精度可根据是否加载g p s 和网络最小时延来优化配置。当然,可配置 性是以主机处理速度为代价的,然而,低速的a dh o e 网络中通常瓶颈在网络带 宽而不是主机处理速度,因此根据实际使用的网络特性来配置报文格式,节省 网络开销无疑是值得的。 2 l a dh o c 网络传输改进研究 中国科学技术大学硕士学位论文 3 4 时序事件引擎 时序事件引擎是在现代基于事件驱动的设计方法和面向对象的设计方法的 基础上发展而来的,由于提供了复杂数据的传递和延时触发机制,因此特别适 合于网络协议的高效实现,并能使协议的实现易于理解、修改和扩展。 3 4 1 基本架构 时序事件引擎本身可分为两个部分:时序事件元引擎与特化时序事件引擎。 时序事件元引擎包括: 1 事件处理函数接口。所有的事件处理函数在此定义。 2 事件元素。包括( 事件d 、事件类别、延时、耗时、附属数据) 。此处的事 件d 在不同的特化时序事件引擎中互相独立,无需保持全局一致。 3 事件元引擎。包括事件注册与退出、申请事件、重置事件、开启和关闭事 件循环、线程安全保证、时序调度等的实现。 特化对序事件引擎包括: 1 自定义事件代码与事件对象。 2 从通用事件接口派生的特化事件接口,其中定义了事件处理函数。 3 从事件元引擎派生出的特化事件引擎,关联自定义事件与事件处理函数。 完成特化引擎的定义后,可按下述三个步骤进行事件处理: 1 向特化事件引擎注册。 2 实现特化事件接口定义的事件响应函数。 3 在合适的地方提出投递事件。投递的事件在指定时问到达后,由时序事件 引擎自动触发注册的事件响应函数,完成事件的处理过程。 中国科学技术大学硕士学位论文 第三章短报文可靠传输协议 3 4 2 使用时序事件引擎高效实现协议 使用时序事件引擎实现的协议,模块间是松散耦合的,因而模块化更好,并 且由于集成了超时调度机制,实现的效率也更高。 1 模块划分与职责 如图3 6 所示,通过使用时序事件引擎,可以将协议实现划分为:事件引擎 与超时管理模块、主控模块、输出模块、输入模块、控制表模块。下面描 述各模块的职责以及如何通过时序事件引擎进行交互 套接字对譬理衰 图3 6 :模块划分:职责与交互 事件调度与超时管理模块的主体包括事件引擎和一个抽象的事件接 1 2 1 ,负责进行事件的调度和超时机制的实现,保证所有事件被按序处 理,从而可在一个线程中高效实现,计时器包括重传计时器、a c k 延时 计时器、输入队列空闲计时器、同步超时计时器。 a dh o e 网络传输改进研究 中国科学技术大学硕士学位论文 主控模块负责响应所有的事件,并决定调用输入或是输出模块进行 处理,其具体职责包括:拆除连接、进行状态切换、对报文进行合 法性检查和预处理、进行异常处理和非正常数据传输报文处理、过 滤过期报文、分离数据和a c k 、对数据调用输入模块进行处理、对 于a c k 调用输出模块进行处理。由于主控模块负责报文格式的解析, 一定程度上允许报文格式的扩展修改只波及主控模块。同样,由于主 控模块负责报文状态的维护更新与判断,只有主控模块知道状态的 存在,因此状态机的变更只可能波及主控模块。 输出模块负责发送数据,对输出队列进行操作,其具体职责包括将应 用层数据加入对应套接字对的输出队列中、尝试发送窗口之内的新 数据、重传超时未获确认的数据、发送a e k 以及在a c k 到达后滑动发送 窗口。 输入模块负责接收数据,对输入队列进行操作,其具体职责包括向应 用层缓存填充接收到的有序数据、将从口层收到的数据放入相应套接 字对的输入队列中、滑动接收窗口并申请延时a c k 计时器。 控制表模块为主控模块提供支持,主要包括套接字分配管理表、套接 字对管理表。其中套接字分配管理表记录所有正在使用的地址端口 二元组及其绑定的数据i d 、原始套接字等。套接字对管理表记录收发 双方的地址端口二元组及其绑定的收发队列指针,发送窗口大小、 接收窗口位置与大小、r 1 1 瞄计值、r t o 大小等状态。 2 基本调度方式 基于事件引擎的运行方式为:输入、输出、主控模块向事件引擎申请内部 超时事件,外部应用程序和网络层向事件引擎投递外部事件;事件引擎对 事件进行调度,触发到期的事件,调用主控模块注册的事件响应函数进行 处理。 3 优点 传统t c p 的实现使用了庞大的条件分支语句和大量的g o t o 语句,使德协议 臃肿、强耦合、低内聚,既难于理解,也难于排错、修改和扩展。同时,多 个计时器难于管理,增加了系统线程数与处理开销。时序事件引擎支持复 杂数据的传递,提供线程安全性,基于此的自底向上的设计方式极大地简 中国科学技术大学硕士学位论文第三章短报文可靠传输协议 化了协议的实现,使得协议的模块化更高,可读性更好,并且易于扩展。 同时,时序事件引擎将计时器高效地整合到事件处理系统中,从而减少了 协议实现中使用的线程数目,提高了系统执行效率。 3 5 完整的报文传输过程 3 。5 。1正常报文的情况 图3 7 演示了一个完整的报文传输过程。 图3 7 :完整的报文传输过程图3 8 :异常情况的处理 1 发送方发起连接,发送报文( d a t a , s y n , t s ) ,其中d a t a 表示数据,s y n 表示连接 建立请求标志,l s = 当前时刻+ 超时计时器定时。接收方收到( d a t a , s y n , t s ) 后, 取出t s ,发现i s 当前时刻,故接受报文并建立连接。 2 发送方与接收方随后采用d a t a a c k 交互方式进行通信,对于大小不超 过2 个m t u 的短报文,可以一次投递完毕。 3 发送方在最后一包数据投递完毕后,即可发出连接关闭请求( d a t a , f i n , t s ) , 其q a f i n 表示连接关闭请求标志,t s = m a x ( 当前时刻,连接最后发送的s y n _ j t l : 文中包含的时戳) 。接收方收到关闭请求后,记录t s 至t j f i n t s ,并启动关闭过 程,在不早于t i n t s 的某时刻关闭连接。 a dh o e 网络传输改进研究 中国科学技术大学硕士学位论文 3 5 2 异常报文的情况 图3 8 演示了当出现过期、重复的s y n 报文时协议的处理过程。 1 t l 时刻,发送方请求建立连接,发送s y n l ( d a t a , s y n ,t 2 ) ,其中心为下一包s y n 的 发送时刻。 2 位时刻,发送方超时,重新请求建立连接,发送s y n 2 ( d a t a , s y n ,t 3 ) ,其中t 3 为 第三个s y n 的发送时刻。 3 心t 3 时段,连接顺利建立,并交付数据,但没有a e k i 区回。 4 t 3 时刻,发送方再次超时,发送s y n 3 ( d a t a ,s y n ,t 4 ) 其中t 4 为第四个s y n 的发 送时刻。 5 t 3 科时段,a c k 返回,所有数据被确认,随后连接顺利终止。 6 t 4 时刻,接收方延时关闭计时器超时,顺利关闭连接。 7 之后,s y n l 姗姗来迟,由于s y n l 早在比时刻即己过时,因此被接收方拒绝。 8 最后,s y n 3 到达,由于s y n 3 在t 4 时刻即以过时,因此被接收方拒绝。 3 6 协议状态机与实现技巧 3 。6 1 协议状态机 协议状态机如图3 9 所示。 1 事件驱动的状态转换 使用s t a t e 设计模式实现状态机,凡是与状态有关的操作都使用s t a t e 将其 分散化,能简化协议的实现,并易于扩充。状态事件响应列表如表3 1 3 3 所示。 2 内部事件说明 内部事件是由主控模块进行判定,并且只触发一次的事件,包括接 收f i n 事件和接收f i n - a c k 事件,详细说明如下; 2 6 中国科学技术大学硕士学位论文第三章短报文可靠传输协议 图3 9 :协议状态机 事件 r e c va c kr e c vd a t af 矾 f q a c k n o r l n a l调用输出模块 调用输入模块 发送f i n a c k ,切换l j c l o s e w a i t 错误 f i n l 调用输出模块调用输入模块 发送n n a c k ,切换0 c i o s i n g 到f i l l 2 c l o s i n g 调用输出模块申请延时a c k不处理 切换到t i m e d w a i t f

温馨提示

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

评论

0/150

提交评论