(通信与信息系统专业论文)ip报头压缩技术的改进方法研究.pdf_第1页
(通信与信息系统专业论文)ip报头压缩技术的改进方法研究.pdf_第2页
(通信与信息系统专业论文)ip报头压缩技术的改进方法研究.pdf_第3页
(通信与信息系统专业论文)ip报头压缩技术的改进方法研究.pdf_第4页
(通信与信息系统专业论文)ip报头压缩技术的改进方法研究.pdf_第5页
已阅读5页,还剩46页未读 继续免费阅读

(通信与信息系统专业论文)ip报头压缩技术的改进方法研究.pdf.pdf 免费下载

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

文档简介

摘要 随着无线通信技术的发展,业务种类和数据量急剧增加,使得有限的频带资 源变得更加紧张。在无线i p 网络里,对数据包进行压缩,可以提高频带资源的利 用率,有两种方法可以对数据包进行压缩:压缩负载数据和报头,本文主要研究 报头压缩。 本文先阐述了i e t f 提出的m 报头压缩理论r f c l l 4 4 、2 5 0 7 、2 5 0 8 协议, 重点研究r f c 3 0 9 5 ,并对各种协议提出的算法进行仿真、分析了它们的优缺点。 针对r f c 3 0 9 5 建立压缩状态需要的时间较长,论文采用f b h c ( f r e q u e n c yb 髂e d h e a d c rc o m p r c s s i o n ) 对压缩算法进行改进,实现了对生存时间短的数据包报头压 缩。论文最后采用分层压缩技术对压缩算法进行改进,可提高a dh o c 网络的传输 效率,节省了收发功率、减小报头压缩所需的存储空间。 通过0 p n e t l o o a 分别对r o h c 和改进压缩算法进行仿真后的结果证明了算 法的可行性和高效性。 关键词:i p 报头压缩r o h cf b h c多跳压缩 a b s t r a c t d u et ob a n d w i d t hc o n s 仃a i n t so nt t l cw i r e l e s sl i n ki i l 孤i pn e t w o r k i ti su s e f i l lt o c o m p r e s st h eh e a d e r ss oa st om a x i m i z et h eu t i l i z a l i o no ft h el i n k t h e r ee x i s th e a d e r c o m p r e s s i o na l g o r i t h i n s 1 a tm a | 【cl l s eo fm es i m i l a r i t yi nc o i l s e c u t i v eh e a d e r si na p a c k e tn o w t oc o m p r e s st l l e s eh e a d e r s f i r s t ,w ei n 仃o d u c et h et 墙d i t i o n a lh e a d e rc o m p r e s s i o n :v m c ,删1 c ,c r 皿卸d r o h c s e c o n d ,w ei n t r o d u c ea 弼wh e a d e rc o m p f e s s i o ns c h e m e ,al l s e r - b a s e d 舭q u e n c y d e p e n d e n ti ph e a d e rc o m p r e s s i o n ( f b h c ) a r c l l i t e c t u r et h a tm a l ( e s 璐eo f m e s i m i l 撕t yi nc o n s e c u t i v ef l o w s 丘o mo rt oag i v e nm o b i l et e m i n a lt oc o m p r e s st h e s e h e a d e r s w ea l s oi n t m d u c ea r c h i t e c t t i 碍t od i s 埘b u t et h ei n f o m a t i o nn e c e s s a 叮f o ro t l r h e a d e rc o m p r e s s i o ns c h e m et 0t h en e t 、r ke m i t i e s p a n i c i p a t i n g i i lt 1 1 eh e a d e r c o m p r e s s i o nb ym e 锄so fc o n t e mt 椰s f e lo l l rs c h e m ei sc o m p l e m e n t a r ya r l dt h e b c n c f i t sa r ea d d i t i o n a lt ot h e 仃a d j t i o n a la p p r o a c ht oh e a d e rc o m p r e s s i o n l a s t ,m e r ei s as u c c e s s i o no fw i r e l e s sl i n k si na na dh o cn e 咖r k s ,i nt h e s es c e n a f i o s al i m 【b a s e d c o m p r e s s i o nm i 曲tb ec o s t l y ,a se a c hh o ph 船t od c c o m p r e s st h ei ph e a d e r sa n d r e c o m p r e s sm e m f o rf i 盯t h e rf b r w a r d i n g w ep r e s e n th e r ea t e c 王l i l i q u et oa l l c v i a t ct l l i s i s s u ea n dp m v i d em u i t i h o pc o m p 隋s s i o n t h ei d e ai st o s p i i t t h ec o m p r e s s i o n a c c o r d i n gt ot h en e t 、o r kp a no ft h eh e a d e r a 1 1 dt l l et r a i l s p o np a no ft h eh e a d e lw e i l l t r o d u c eas i 掣l a l i n gt h 砒a l l o w st h en o d e sp a n i c i p a t i n gi nt h ec o m p r e s s i o nt oe s t a b l i s h t h cc o m p 碍s s i o ne n d - t o e n d 1 1 1 em u m h o pc o m p r c s s i o nm i 曲tb ee s p e c i a l l yb e n e f i c i a l i ns e n s o rn e t w o r k s ,w h e r et y p i c a l l yp a y l o a di ss m a l la n dt h ec o s to ft r a n s m i n i n ga n y b i t i s q u i t e l l i 曲 k e ) w o r d s : i ph e a d e rc o m p r e s s i o n m u i t i h o pc o m p 代s s i o n r o h c f b h c 创新性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或 其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:鲞耋 日期:饼2 z 5 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕 业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全 部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论文 在解密后遵守此规定) 本学位论文属于保密在年解密后适用本授权书。 本人签名: 导师签名: 耋是 ! 丑查垫 日期:q g z :经 日期: 理:! :堑 第一章绪论 第一章绪论 1 1 引言 伴随着社会和经济的发展,社会信息化程度越来越高,互联网和多媒体的发 展、技术进步以及世界范围内经济和技术的竞争加剧,人们对移动性、个性化、 人性化和智能化提出了越来越高的要求。而各种无线通信技术就在这种情况下应 运而生了,并经过一段时间的发展,逐步向3 g 方向迈进。从而使得无线通信的 数据业务和数据量不断增加,数据的传输速率要求越来越高,所以频带资源就更 加紧张。 由于物理条件的限制,无线链路和有线链路相比传输速率较低、误码率较高、 往返时间( r o u n d pt i m e ,r t t ) 较长,在g s m 系统中传输语音数据的速率为 9 6 k b p s 1 1 5 2 k b p s ,在第三代移动电话标准中传输速率可达2 m b p s ,但是和有线 链路中百兆、千兆比特的传输速率相比仍相差很远。3 g 的核心网络不再使用传统 的电路交换,而是采用分组交换,不但和p s t n 口u b l i cs 埘t c h e dt c l e p h o n e n e m o r k ) 连接,还可与i n t e m e t 相连。3 g 除了有语音业务外,还提供视频网页浏览收发 e m a i l 以及游戏等服务。由于无线网络的特点对传统的t c p ,m 协议提出了新的要 求移动性和高效率传输。移动性是指移动终端可在不同无线链路间自由切换 而不用中断其与i n t e m e t 的连接:高效是指要合理利用有限的带宽传输分组的开 销,用尽量小的传输资源完成业务。 在无线带宽较窄,误码率高的链路上传输i p v 4 分组的最大问题,就是大报头 会降低频谱利用率和服务质量,例如:基于i p 的音频的应用要求2 0 字节的m 报 头或4 0 字节的v 6 报头、8 字节的u d p 报头和1 2 字节的r t p 报头,总共的报 头开销是4 0 字节( i p v 4 ) 或6 0 字节( i p v 6 ) ,而要传输的负载数据仅1 5 3 2 字节。 由具体的编码决定通常语音业务分组发送间隔为2 0 m s ,则其总报头消耗的带宽分 别为1 6 k b p s ( i p v 4 ) 或2 4 k b p s ( i p v 6 ) ,这种带宽的浪费是惊人的。 一种解决方案是在到达空中接口前结束i p v 4 ( 或i p v 6 ) 协议,但这样i p v 4 协议 缺乏端对端的透明度,使要求端对端之间相互作用的协议( 如m s e c 等) 的使用受到 限制,并且也不符合a l l t h e 、a y 的概念。 另一个解决方案保持了i p 层的灵活性,即对分组的报头进行压缩,同一个业 务流在传输的过程中有很多域是相同的,在大多数情况下可只发送分组报头中变 化的信息,这样就可以更加有效的利用带宽。并且数据包变小后,在传输过程中 出错的概率就小了,需要重传的可能性也相应的降低了;在无线链路里需要发送 的比特也减小了,节省了发射功率。所以在无线网络里使用报头压缩提高通信的 i p 报头压缩技术的改进方法研究 传输效率。在一般情况下,多媒体等业务的有效负载数据是在应用层进行压缩的, 所以本文只研究报头压缩。 1 2i p 报头压缩技术 在上个世纪九十年代初,由美国人、j a c o b s o n 提出了最早的口报头压缩方 案j h c ( 、j a c o b s o nh e a d e rc o m p r e s s i o n ) o ,被i e t f ( i m e m e te n g i n e e m g 协kf o r c e ) 接收并列入r f c l l 4 4 。它是对t c p i p 报头进行压缩,一般情况下可将 4 0 字节的t c p 口报头压缩到4 个字节,为报头压缩提供了早期的压缩思想,后 面的i p h c 【2 】c r t p 【3 】和r o h c 【4 1 也主要都是根据这个思想提出的。 在国外,目前做i p 报头压缩做得最好的是瑞典吕鲁乐大学的 e f f n e t ( 1 l t i p :, w v e 自陆e t c o m ) ,主要的报头压缩协议都是该校在i e t f 的成员提 出的,已经做出了几套仿真平台软件:e 筋e t 口h c t m 、e f b l e tc r t p t m 、e 筋e t h c s n “和e 锄e t r o h c “,可以用于在不同的通信环境下进行测试和改善。在 2 0 0 4 年的时候,美国的华盛顿大学已经把r o h c 应用于网络处理器i x p 2 4 0 0 【5 1 。 在国内,华为a r - 2 8 系列的路由器支持i p h c 【6 】;在2 0 0 6 年,提出了在r o h c 算 法中u 模式出错时的一种新的处理方法,并申请了专利【”。 报头压缩广泛应用在无线通信领域里。如:卫星通信、u m t s 、c d m a 2 0 0 0 、 g p r s 、v o 口等。图1 1 是蜂窝网里应用报头压缩技术,其中h c = h e a d e r c o m p r e s s i o n ,报头压缩可以在每一个终端的协议标准中使用。 图1 1 报头压缩在蜂窝网中的应用 在2 5 g ( g p r s ) 或3 g ( w c d m a c d m a 2 0 0 0 ) 网络里,无线链路具有很高的误 码率,这些标准中也包括了使用报头压缩来提高对无线资源的利用,在某些应用 中,如i m s ( i pm u l t i m e d i as u b s y s t e m ) ,报头压缩是其关键处理技术之一。报头压 缩的模块可在r n c 中的u m t s ,或s g s n 中的g p r s ,或p d s n 中的c d m a 2 0 0 0 移动终端里。 第一章绪论 1 3 本文的内容安排 本文基于对报头压缩的研究,先研究报头压缩的基本原理;然后对r o h c 压缩算法仿真;最后分别用f b h c 【8 l 和分层压缩对压缩算法进行改进。全文共分 为六章,具体安排如下: 第一章主要阐述了报头压缩的意义和耳的,技术发展的现状,以及报头压缩 在各无线领域中的应用; 第二章主要研究m 报头压缩的原理,并对v j h c 、p h c 、c i 盯p 的特性和 功能进行分析; 第三章把鲁棒性报头压缩r o h c 分为两部分进行阐述:提高鲁棒性的措施 和自适应机制,并分析研究其鲁棒性; 第四章先分析报头的特性,用f b h c 在传统的压缩算法不能压缩的数据包 的领域实现报头压缩,并在多跳网络里采用分层压缩对压缩算法进行改进,其中 解压缩节点是通过r s v p 协议等传输的信令来确定的; 第五章先描述o p n e t l o a 的仿真流程和方法,再创建无线环境,分别对 r o h c 、f b h c 和多跳报头压缩进行仿真,并综合分析比较各算法; 第六章对本次研究工作进行总结,对存在的问题和不足应给予客观的说明, 并提出进一步的设想。 第二章传统报头压缩算法 第二章传统报头压缩算法 本章先举一个例子来说明报头压缩的基本原理;接着阐述早期的压缩算法 v c 、i p h c 、c r r p 和各自的性能。 2 1 报头压缩的基本原理 i p 报头之所以需要压缩,主要是因为以下两个原因: 1 对一些业务而言,报头占整个包长度的相当一部分,特别是使用口v 6 和 移动m 以后,报头占有的比例将更大; 2 报头里存在大量的冗余信息,如:某两个用户使用口进行通信的时候, 在它们传输的数据包的报头里,在同一传输方向上,目的口地址和源口地址是 不变的。 在图2 1 中,用来传输实时多媒体流的m v 4 ,u d p i u 甲协议,仅报头就引入了 4 0 字节的额外开销。其中包括2 0 个字节的i p v 4 报头,8 个字节的u d p 报头和 1 2 个字节的r t p 。 图2 1r 皿,u d p ,i p 报头压缩基本原理 如果采用i p v 6 协议,整个报头的额外开销就增加到6 0 个字节。如果话音编 码器采用g s m 编码,则话音的有效负载数据只有3 3 字节( 1 3 2 k b p s 2 0 m s ) 。i p v 4 的报头占了整个包长度的5 5 。用i p v 6 传输时,比例将更大。在一个i p 数据包 里,不同报头的各个字段存在冗余,尤其是在一个微数据流( m i c r on o w ) 里的连 续的两个包之间的报头的对应字段存在更大的冗余,如图2 2 所示。图中冗余分 为三类: 1 保持不变的部分,如i p 地址、版本号等; 6 i p 报头压缩技术的改进方法研究 2 通过其它方法可以推算出来的部分,如:i p 校验和、数据包长度: 3 两相邻的数据包的某些字段是按增量变化的,并且变化量很小的部分,如: i p i d ,t c p 的序列号等。 o81 6 l2 4 版本 i p 报头长度服务类型 识标志片偏移 怫议幸存时间 源i p 地址 目的i p 地址 源端口 序列号 确认号 卫 数据预留 譬 甚 赛 蜗 窗口 。 紧急指针 。纛 校验和 1 9 9 0 年,、j a c o b s o n 针对t c p 协议,提出了最早的口报头压缩的方案 v j h c 【”,即r f c l l 4 4 。v j h c 算法能够在低速串行链路上将总共4 0 个字节的 t c p i p 报头压缩到4 个字节,它是基于如图2 3 所示的差分编码。 图2 3 v j h c 算法 虿卜 一 ,凇 第二章传统报头压缩算法 2 2 1 原理 v j h c 机制利用可以从链路层来获得包长度的功能,因此口报头里的总长度 字段就可以不用再表示包的大小了。把正常的i p 报头里的总长度字段用来传输 c d ,而其他字段不变的报头叫做全报头。对于属于同一微数据流的那些包,在 压缩端先发送一个全报头,并存储这个全报头信息,其它包都根据存储的全报头 进行压缩,每压缩一次,都要更新全报头里的第3 类冗余字段( 详见2 1 节) 。在 解压缩端,收到全报头后,就存储下来;如果收到压缩包,根据和压缩报头里的 c d 具有相同的c i d 的全报头进行解压缩。 2 2 2v j h c 的性能 所谓的“差分”即是前后两个口包的报头相应字段的差值。在传送一个全报 头后,就只需传送差分,而不是整个报头。通过这种方法,可以大幅减小传送的 报头大小,从而压缩报头。然而,这种差分编码的方法非常脆弱,如果链路上任 意一个差分编码后的报头丢失或出错,这个包之后的所有包在解压端都将无法正 确解压缩重建。为了从差错中恢复,并重建当前的全报头,v j h c 将以不压缩的 形式发送所有t c p 需要重传的包,这样v m c 不需要压缩器和解压器之间的额外 信令。这种差错恢复的方法的缺点就是对链路上的差错极其敏感,它只压缩 t c p i p v 4 这一类报头的包,适用范围比较窄。 2 3 1 i p h c 头压缩算法的功能 2 3i p h c 7 i p h c ( i ph e a d e rc o m p r e s s i o n ,r f c 2 5 0 7 【3 】) 头压缩算法主要处理t c p 佃和 u d p ,i p 业务数据包,通常情况下典型的t c p 或者u d p 数据包报头可以压缩到4 7 个字节,压缩头包括两个字节的t c p 或者u d p 校验和以及基本报头变化字段 的信息。原理和v j h c 一致,只是压缩的报头类型增加了。i p h c 头压缩算法支 持的功能点如下: 1 i p h c 压缩算法支持的协议类型包括t c p 、u d p 、口v 4 、i p v 6 、a h 、e s p 等等; 2 i p h c 压缩算法支持的数据包类型,包括全头数据包、增量压缩t c p 数据 包、非增量压缩t c p 数据包、压缩的非t c p 数据包和上下文更新请求数据包; 3 t c p i p 数据包的头压缩处理; 4 u d p i p 数据包的头压缩处理; 5 t c p 压缩数据包的低差错率保护,包括二次算法和全头请求功能; 8 i p 报头压缩技术的改进方法研究 6 重排序功能。 2 3 2i p h c 头压缩算法特性描述 1 支持协议字段的特性描述 i p h c 压缩算法支持t c p 、u d p 、v 4 、i p v 6 、a h 、e s p 等协议类型。根据 协议组合的特性,对于同一报流的数据包,一些字段用来标识该报流的特征信息, 在数据传输中保持不变,例如u d p 头中源端口号和目的端口号,i p 头中源地址 和目的地址等字段;另外一些字段可以通过其他字段的组合信息恢复,例如口头 的校验和m 头长度等字段;而其他在数据传输中不断变化的字段就是需要压缩的 字段,也就是需要传递的压缩数据信息,包括t c p 校验和,u d p 校验和等字段。 对于前两种类型的字段,在进行初始同步后就不需要进行传递,后续的数据处理 只需要传递变化字段的压缩信息,这样就大大节省了带宽资源。 2 算法的包特性描述 根据处理数据包的协议组合,m h c 压缩算法中定义了五种数据包的类型, 每种数据包分别完成不同的功能,具体描述如下: ( 1 ) 全头数据包 该数据包主要用来初始化或者更新解压缩端的上下文,维护两端上下文的一 致性,确保数据包正确压缩和解压缩。该数据包由未压缩的数据包组成,其中i p v 4 协议字段的长度字段用来传递压缩数据的信息c i d 。对于t c p 佃全头数据包, 头的长度字段由压缩上下文的c d 值和数据包序列号( 支持重排序功能) 代替; 当发送非t c p 数据包全头数据包时,头的长度字段则由压缩上下文c i d 和非 t c p 数据报流的g e n e f a t i o n 代替。 ( 2 ) 增量压缩t c p 数据包 该数据包用来传递压缩的t c p m 数据,数据包中包括了上下文的c i d 值、 压缩标识位( 标识变化了的字段) 、变化字段的增量变化d e u a 和报头中的 r a n d o m 字段以及原始数据包的负载数据。其格式如图2 4 所示,其中: r :标识t c p 报头的r e s e r v e d 字段是否发生了变化。如果发生了变化则该标 志位置1 ,否则清o ; o :标识t c p 报头的选项字段是否发生了变化: i :标识i p 报头的p a c k e ti d 字段是否发生了变化,如果发生了变化则该标志 位置1 ,否则清o ,如果口报头之后紧跟的不是t c p 报头,则该标志位应清o : p :标识t c p 报头的p u s h 位是否置l ,如果置1 ,则该标志位也置l ,否则 清o : s :标识t c p 报头的序列号是否发生了变化,如果发生了变化则该标志位置 第二章传统报头压缩算法 l ,否则清o ; a :标识t c p 报头的确认序列号是否发生了变化。如果发生了变化则该标志 位置l ,否则清o ; c i d roipsal w iu t c p 校验和 随机字段( 如果存在) * + h + 一 保留字节 - - - - + h 1 + 一 紧急指针 - - - - - - - _ - 一 窗口增量 确认号增量 序列号增量 l p v 4 的标识号增量 选项 负载数据 图2 4t c p 增量压缩数据包格式 w :标识t c p 报头的接收窗口是否发生了变化,如果发生了变化则该标志位 置1 ,否则清o ; u :标识t c p 报头的紧急指针是否发生了变化,如果发生了变化则该标志位 置l ,否则清0 。 ( 3 ) 非增量压缩t c p 数据包 该数据包是在传输过程中由于链路丢包而造成解压缩端无法正确解压缩时, 压缩端收到解压缩端发送的上下文请求后可以选择发送的数据包类型。解压缩端 通过接收该数据包来更新受损的全报头,使解压缩端的上下文与压缩端保持一致。 当链路上丢包率很高时,压缩端可以选择只发送这种类型的报头。与增量压缩数 据包不同,该数据包携带数据报头中完整的动态变化字段,包括上下文的c i d 值、 随机字段( 携带i pi d 信息) 、t c p 报头中除过端口号之外的其它所有字段以及 原始数据包的负载数据,格式如图2 5 所示。 9 以鼢 娜娜 钟 醐删州 州 纠 州 h 渊 l o i p 报头压缩技术的改进方法研究 c i d 随机字段( 如果存在) 除去端口字段的1 p 报头 负载数据 变长f 可以 推测出来) 图2 5t c p 非增量压缩数据包格式 ( 4 ) 压缩的非t c p 数据包 对于压缩的非t c p 数据包,采用该数据包类型进行传输。该数据包包括上下 文的c i d 值、g e n e r a t i o n 值、报头中的随机字段以及原始数据包的负载数据,其 中动态变化字段采用原值传递而不进行增量压缩。根据上下文c d 的大小分为两 种格式,如图2 6 所示。 c i d od : g e n e r a t i o n 特殊数据 随机字段( 如果存在) 负载数据 d = l 变长f 可以推 测出来) c i d 的高字节 0d g e n e 伯t i o n c i d 的低字节 特殊数据 随机字段( 如果存在) 负载数据 d = l 变长( 可以推 测出来) (a)8位cid(”16位cid 图2 6 非t c p 压缩数据包格式 ( 5 ) 上下文更新请求数据包 当数据传输过程中由于链路丢失数据包或者误码导致解压缩失败时,解压缩 端会标识当前上下文无法使用,从而向压缩端发送该上下文的c d 要求压缩端更 新该上下文。该数据包只用在传输t c p i p 数据包的情况下,并且一个全头请求中 可以携带多个损坏上下文的c d 值,格式如图2 7 所示。u d p m 数据包进行周期 性上下文刷新,因此不使用该类型数据包。 第二章传统报头压缩算法 t c p 报头请求标志= 3 c i d 个数 c i d c l d :c d : 图2 7 上下文更新请求数据包格式 3 t c p 口数据包的报头压缩特性描述 对于t c p p 数据包,协议报头中的字段可以分为三类:一类字段呈现规律变 化,而另外一类字段则始终保持不变,剩下的那些字段则可以通过其他字段的信 息推算出来。根据这些特性,当收到一个t c p i p 报流的第一包数据时,压缩端发 送全头数据包传递协议字段的静态信息,其后压缩端只需要传递这些动态字段变 化的增量即可。当链路质量稳定,数据传输中没有解压缩失败时,允许连续发送 压缩的t c p 数据包。当出现解压缩失败时,则再次发送一次全头数据包更新解压 缩端的上下文,然后再继续发送压缩的t c p 数据包。需要压缩的协议字段信息包 括t c p 报头的s e q u e n c en 啪b c r 字段增量、a c k n o w l e d g n l e mn 啪b e r 字段增量、 r e s e r v e d 字段、w i n d o w 字段增量、u r g e n tp o i n t e r 字段、c h e c k s 啪字段和i p v 4 报头口i d 字段的增量。 解压缩端收到t c p i p 压缩数据包后,解压缩的流程如下: ( 1 ) 若收到的数据包为f u l lh e a d e r 数据包,则根据c i d 查找对应的解压 缩上下文,读取全头数据包携带的内容对上下文进行静态信息的更新( 如果没有 则创建新的上下文) 。 ( 2 ) 若收到的数据包类型为c o m p i 也s s e dt c p 数据包,将做以下处理: a 根据c i d 值查找相应的解压缩上下文。 b 根据标识字段中各字段的标识读取u r g e mp o i t c r 、w i n d o w 、a c k 、s e q u e n c e n 啪b e r 、i d e n t i f i c a t i o n 和o p t i o i l s 等字段的变化增量。 c 根据恢复的动态字段和当前解压缩上下文的静态内容计算该数据包的 t c p 校验和,如果计算的值与压缩数据包携带的校验和不相同则解压缩失败。 d 恢复数据报的长度字段。 e 恢复i p 报头的校验和字段。 ( 3 ) 若收到的是t c pn o nd e i 胎数据包,在根据c i d 查找到相应的解压缩 上下文后,提取压缩数据包中携带的动态字段值结合上下文中的静态信息恢复原 始数据包。 i p 报头压缩技术的改进方法研究 4 u d p m 数据包的头压缩特性描述 与t c p ,口协议组合不同,u d p ,i p 协议组合没有确认机制,i p h c 协议中规定 该类型的数据采用与t c p ,口数据包不同的处理机制。 u d p ,i p 头压缩流程涉及全头数据包和非t c p 压缩数据包两种类型,详细的 数据包格式见“口h c 头压缩算法的包特性描述”章节。图2 8 为u d p 口压缩数 据包的发送规律,其中“i ”代表全头数据包,“”代表压缩的u d p ,m 数据包,“一” 代表不同报流之间的切换。 i i l i l 图2 8 全数据包发送 由于没有上层协议保证数据传输的正确性,压缩端将无法知道数据包的解压 缩情况,为了保证最小的解压缩失败率,压缩端通过周期性的发送全头数据包来 刷新解压缩端的上下文,发送周期呈2 0 的趋势,在同一个周期内则发送2 0 个压缩 的u d p i p 数据包。同时,为了防止低速率传输过程中下上下文变更导致报流中 断连接,算法设置了数据包之间的发送时间间隔门限,当两包数据的发送时间超 过了间隔门限时发送全头数据包来保证解压缩的正确性。考虑到压缩端和解压缩 端的上下文资源循环使用,当上下文重复使用时,压缩通过更新g e n e r a t i o n 参数 来区分不同报流,同时更新压缩端的周期参数,而解压缩也通过该参数来识别不 同报流的数据来防止错误处理。 5 t c p 压缩数据包的低差错率保护的特性描述 由于t c p ,i p 压缩数据包采用差分编码,一个数据包的丢失就会导致后续许多 压缩数据包的解压缩失败,为了保证t c p m 数据包解压缩过程中的成功率,i p h c 提供了两种低差错率保护方法:二次算法和全头请求功能。 二次算法通过二次计算t c p 检验和的方法来进行上下文修复。当t c p 口压 缩数据包流稳定的时候,其变化字段的增量变化可以认为是基本恒定不变的。因 此当一包数据丢失导致其后压缩数据包的t c p 校验和失败时,利用当前压缩数据 包携带的动态字段增量再次进行上下文更新,就有可能获得正确的t c p 校验和, 从而恢复当前的上下文,节省了上下文更新的过程。 全头请求过程主要用于解压缩出错的过程中。虽然t c p 口协议层具有数据接 收保证机制,但是依靠t c p p 协议层发现数据包解压缩失败而进行重传可能需要 一段时间,在这段时间内可能会有大量的压缩数据包由于上下文的错误而无法正 确解压缩。这里,i p h c 算法提供了全头请求机制,即在解压缩端发现数据包解 压缩失败时主动向压缩端发起上下文更新的请求而不依赖t c p 口的保证机制。当 压缩端发送全头数据包更新解压缩端的上下文后,在继续发送压缩数据包,从而 第二章传统报头压缩算法 保证后续压缩数据包的正确解压缩,降低了数据传输过程中的解压缩失败率。 6 i p h c 压缩算法重排序功能的特性描述 由于口数据包的传输通常会经过不同的路由,因此可能会出现数据包乱序的 情况。针对这种情况,i p h c 压缩算法提供了重排序功能,不同的协议组合类型 采用不同的重排序机制。 ( 1 ) u d p 数据包的重排序机制 协议规定,u d p ,口数据包采用非增量压缩,压缩的u d p i p 数据包不更新上 下文。重排序机制的实现只需要考虑不同报流切换时数据包的按序传输即可,理 想情况下,新报流的第一包数据肯定是全头数据包,随后才会发送压缩数据包, 实际中需要考虑以下两种情况: a g e n e r a t i o n 为g 的全头数据包较g e n e r a t i o n 为g 一1 的压缩数据包先到,这种 情况会导致后续压缩数据包解压缩出现错误。 b g e n e r a t i o n 为g 的全头数据包较g e n e r a t i o n 为g 1 的压缩数据包后到,这种 情况会导致全头数据包之前的压缩数据包解压缩出现错误。 ( 2 ) t c p i p 数据包的重排序机制 由于t c p i p 数据包采用增量压缩,每一包正确解压缩的数据都会更新上下 文,因此一个数据包的丢失或者乱序就会导致后续的一系列数据包的解压缩失败。 为了保证数据包的按序传输,当支持重排序功能时,压缩端会将当前压缩数据包 序号的信息通过全头数据包i p 头长度字段的高字节或者压缩t c p 数据包的 r a n d o m 字段传递到解压缩端,而解压缩端通过恢复这个序号来保证压缩数据包 的按序解压缩。考虑到解压缩可以同时处理多个报流,为了保证各个报流间的数 据按序传输不会互相影响,协议规定每个报流单独拥有一个重排序窗口来保证数 据的按序传输。这里,数据包序列号的恢复机制和重排序的实现机制尤为重要。 2 4 c r t p r f c 2 5 0 8 【2 】中提出了c r l 呼( c o m p r e s s e dr t p ) 报头压缩方案。主要针对网络里 的实时多媒体的数据包的报头r t p 舢d p ,进行压缩。在使用u d p 校验和时,可 以将4 0 个字节的i p v 4 d p 册p 报头压缩到4 个字节,不使用u d p 校验和时, 可压缩到2 个字节。在r t p 报头中有部分字段的值是可以预测的。而其它的部分 在一般情况下是不变的。这些可预测变化的字段可以推导出来,而不用再次发送 差值。它的压缩报头格式采用i p h c 的非t c p 压缩包的格式,如图2 6 所示。文 献一1 对c r 瞪做出了性能评价。 r o c c o ( r o b u s tc h e c k s 啪b a s e dc 0 m p r e s s i o n ) ”1 对c i 汀p 进行了改进,它在 每个压缩的报头中包含了一个在原来非压缩报头上计算出的校验和。这个校验和 有助于在本地修复上下文的同步丢失。该方案还为每种特定的应用,如音频流, i p 报头压缩技术的改进方法研究 视频流等设计了不同的压缩类。设定了一个专门的“代码”字段可以指示压缩报 头的字段的变化。 2 5 本章小结 本章主要研究了传统报头压缩算法的理论和它们的性能。各种报头压缩增益 见表2 1 。 表2 1 压缩增益 报头类型压缩前的长度压缩后的最小长度压缩增益 i p v 4 ,r c p 4 0 字节4 字节 9 0 i p v 4 ,u d p2 8 字节l 字节9 6 4 i p v 4 ,u d p r t p 4 0 字节1 字节 9 7 5 i p v 6 厂r c p6 0 字节4 字节 9 3 3 l p v 6 u d p 4 8 字节 3 字节9 3 7 5 诤6 m d p f 髓p6 0 字节3 字节9 5 早期的压缩算法都是根据v j h c 的方法提出来的,都是采用差分压缩的方式; 都只是在误码率比较低,往返时延比较小的无线链路上使用;稳定性都不高。不 同点是:在修复机制上,v j h c 不包含修复,它利用了t c p 协议的重传机制;而 i p h c 和c r t p 都使用了二次算法和全报头重传法对出错的机制进行修复。 第三章鲁棒性报头压缩r o h c 第三章鲁棒- 性报头压缩r o h c 在很多无线链路里,误码率比较高,往返时间比较长,在这些链路里,传统 压缩算法已经不能满足通信的要求。本章主要研究在这种恶劣的无线环境里使用 的报头压缩算法一r o h c 【4 】( r o b i l s t h e a d e rc o m p r e s s i o n ) 。 3 1 问题的提出 3 1 1 传统算法的不足 在蜂窝链路上,在一个数据包里出错的概率相当高;一端发送数据后,再收 到回应的时间也很长。如果用c i m ( 见2 4 节) 机制来进行压缩,在压缩端和解 压缩端传输的数据极易受到破坏,并且破坏性极大,通过简单的二次算法是很难 修复的,从而使得两端的上下文不同步,又由于往返时间比较长,所以当上下文 不同步时,在往返时间里会丢失许多数据包,通信质量也就得不到保障。 3 1 2 解决方案 最直接的方法是:缩小链路往返时间。未来的蜂窝技术也有可能获得低的链 路往返时间,但是必须要低于两个包的发送时间,这很不容易实现,并且还要付 出代价。即使链路的往返时间满足要求了,按照报头压缩的目的:丢失少和占用 带宽小,如果能在本地修复被破坏的上下文,这比缩短链路往返时间的方案更明 显。从表面来看,解决问题的最好的方法是提高蜂窝链路的性能,这样也就不太 可能发生报文丢失了。但是,这种改变并不是免费的,因为如果要使链路几乎没 有差错,系统可能就不能支持每个小区中的足够大的用户数量,这样反而降低了 资源的利用率,在经济上的考虑也不可行。还有一种方案是利用语音编码来处理 由c i u 甲引起的报文丢失【l l 】。但是当i u p 流穿越英特尔网时,按照这种方案的要 求语音编码无论如何都必须要能够处理报文丢失,而事实上在这种情况下它很难 处理由c r t p 引起的丢失。并且当超过1 0 0 m s 的声音完全丢失时,通常不可能完 全隐藏一个丢失事件,如果此类时间经常发生在端到端的路径上,语音质量就会 下降,不满足用户的需求。 综上所述,最好的解决方案就是增强压缩算法的鲁棒性,在收到破坏的数据 包时可以自行修复,尽量避免丢失数据包。 3 2r o h c 的总体框架 r o h c 的压缩思想都是基于以前的算法( 如:i p h c 、c i 汀p 等) ,并添加了一 1 6 i p 报头压缩技术的改进方法研究 些用来提高算法的鲁棒性的措施和能够对链路的通信质量自动的适应的调整的机 制,接下来将分别研究它们。 3 2 1 自适应机制 在不同的无线环境里,通信质量的好坏也不同,并还随着时间不断的变化。 所以在r o h c 中采用了白适应的压缩机制。 r o h c 协议通过在链路两端,即压缩器和解压器端,建立状态信息来获得压 缩增益。状态的不同部分以不同的次数和频率建立;然而,其中有一些状态信息 更具有动态性。 一些状态信息是在信道建立的时候建立的,r o h c 假定存在一个带外协商协 议( 例如p o i n t t o p o i n t p m t o c o l ,p p p ) ,或预定义的信道状态( 对单向链路最有用) 。 以上的两种情况,这里称为“协商的信道状态”。r o h c 里不假定这个状态在信 道生命期内能够动态改变。例如,压缩器的最大上下文i d 号( m a xc d ) 就属 于一个协商的信道状态。 其它状态信息与信道中的单个报文流有关;这个状态被认作上下文的一部分。 使用上下文标识符( c i d ) ,携带不同上下文的多个报文流可以共享一个信道。协 商的信道状态指示所使用的最高上下文标识符,同时选择以上两种方法之一来指 示压缩报头中的c i d 。 压缩器决定哪些报文与一个上下文相关( 即哪些报文组成一个单独的流) ;但 是,r o h c 只在一个流的所有报文共享确定的属性时才有效,例如,“静态”域 有相同的值,( 例如:i p 地址、端口号、r t p 负载数据类型等) 。 流不需要共享所有重要的压缩特性。r o h c 有一个压缩框架的观点:一个压 缩框架指示这些特性的一个预定义的集合。为了提供可扩展性,协商的信道状态 包含解压器可接收的框架集合。上下文状态包含当前上下文使用的框架。 上下文状态还可以包括所有报头域的当前值,以及不属于一个未压缩报头的 附加的压缩上下文( 例如:t ss 砌e 、i p i d 特性) ,一些1 日的参考报头,以及 压缩器解压器状态机。 r o h c 实际定义了四个r o h c 框架:一个无压缩框架、一个主要的r o h cr 1 限 压缩框架、两个r o h c 形r p 压缩框架的变型,压缩报文的报头链分别以u d p 和 e s p 结束而i h p 压缩不可用。本节剩下的部分描述主要的r o h ci 汀p 压缩框架。 r o h c 的报头压缩可被定义压缩器状态机和一个解压器状态机之间的相互作 用,每个上下文实例化一个状态机对。压缩器和解压器都有三个状态,虽然两者 的状态的意义有轻微的不同,但在许多方面是相互关联的。两种状态机都是从最 低的压缩状态开始,逐步转移到更高的状态。两个状态机之间的转移不需要同步。 第三章鲁棒性报头压缩r o h c 在正常运行中,只有压缩器l 临时转移回较低的状态,而解压器只有在检测到上下 文破坏时才转移回较低的状态。 1 压缩器状态 r o h c 压缩器的三个状态是初始化和刷新( i i l i t i a l i z a t i o r 氓e 舭s h ,i r ) ,第一 级( f i r s to r d e r ,f o ) ,第二级( s e c o n d0 r d e r s o ) 状态。压缩器从最低压缩状态 i r 开始,逐步转移到更高的压缩状态。只要压缩器能够确定解压器有足够的信息 来正确解压一个根据当前状态压缩的报头,它就总是运行在可能的

温馨提示

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

评论

0/150

提交评论