CN100353727C - 一种鲁棒的IPv6头部压缩方法 - Google Patents
一种鲁棒的IPv6头部压缩方法 Download PDFInfo
- Publication number
- CN100353727C CN100353727C CNB2004100690516A CN200410069051A CN100353727C CN 100353727 C CN100353727 C CN 100353727C CN B2004100690516 A CNB2004100690516 A CN B2004100690516A CN 200410069051 A CN200410069051 A CN 200410069051A CN 100353727 C CN100353727 C CN 100353727C
- Authority
- CN
- China
- Prior art keywords
- compression
- head
- length
- field
- ipv6
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种数据传输技术领域,特别是一种鲁棒的IPv6头部压缩方法。方法如下:对IPv6基础头部的源地址字段、目的地址字段以及协议类型字段进行重编号来缩短头部长度,压缩后的头部包含经过重编号的源地址、目的地址以及协议类型字段。它的主要优点是鲁棒性高,不受数据包乱序到达或出错丢失等外界干扰的影响。本方法不仅适用于点到点链路,还可应用于广播类型的链路,适用范围广。在点到点链路上的压缩率高达97.2%,广播类型链路上的压缩率至少也有92.2%,具有很高的应用价值。
Description
技术领域
本发明涉及一种数据传输技术领域,特别是一种鲁棒(抗干扰性强,在外界有扰动的情况下,仍能有效运行)的IPv6(下一代互联网协议)头部压缩方法。
背景技术
在链路传输速率不高的情况下压缩数据包头部很有必要,可以缩短通信时延,提高带宽利用率,使得相同的链路在给定的时间内传输更多的数据包。
现有的IP头部压缩方法基本上采用差分编码的方式,其主要缺点是鲁棒性不高,在数据包乱序到达或出错丢失的情况下,不但不能提高带宽利用率,反而会降低数据传输速率。另外,目前的IP头部压缩方法一般只适用于点到点链路。本方法通过对IPv6基础头部的源地址、目的地址以及协议类型字段进行重编号来缩短头部长度,以此达到压缩目的。
经过压缩的TCP/IP数据包通常只在单条链路上传输。也就是说,如果在链路的一端对数据包头部进行压缩,那么就在链路的另一端对压缩头部进行解压缩,即恢复成原来的头部。
较早提出且影响很广的一种压缩方法是Van Jacobson在1990年发明的VJ算法,可将普通TCP(传输控制协议,网页、电子邮件、电子公告版等都通过该协议传输数据)数据包的头部由40个字节(20字节的TCP头部和20字节的IPv4头部)压缩成5个字节甚至更少。VJ算法的一个重要思想是采用差分编码方式,即每次传输的是和上一个头部的差值部分。压缩端首先传输一个基准头部H0,解压缩端将这个H0保存起来。假设接下来传输的头部为H1,那么压缩端实际传输的是H1-H0部分,解压缩端收到后在基准头部H0的基础上增加这部分差值,就得到了压缩前的头部H1,并更新基准头部为H1。后续的数据包头部H2、H3...同样以差值方式向解压缩端传输H2-H1、H3-H2...。
VJ算法的缺点是在数据包乱序到达或出错丢失的情况下不能较好的恢复。而在无线环境下,数据包传输出现差错的概率并不低,VJ算法在这种情况下不但不能提高带宽利用率,反而会降低数据包传输速率。现有的各种压缩算法,正是为解决这些问题提出的,但无一例外都继承了差分编码的思想。改进后的压缩算法在一定程度上提高了抗干扰能力,但作用仍然有限。目前,IETF有个ROHC工作组专门研究在各种环境下都能有效执行的鲁棒头部压缩算法。值得一提的是,现有的压缩算法都是针对不同类型的数据包专门设计的,比如对于IP/UDP/RTP数据包,压缩算法的目标包括IP头部、UDP(数据报协议,互联网上音频及视频大多通过该协议进行传输)头部以及RTP(实时传输协议,主要用于传输多媒体流)头部,对于IP/TCP数据包,压缩目标包括IP头部和TCP头部。
发明内容
本发明的目的是提供一种鲁棒的IPv6头部压缩方法,压缩目标只有一个:IPv6基础头部。本方法可以在数据包乱序到达、出错等各种外界干扰下正常执行。本方法不对IPv6扩展头部以及传输层甚至更高层的头部进行压缩。并且,本方法只对UDP或TCP数据包的IPv6基础头部进行压缩。
本发明提出的方法特别涉及一种低速链路下IPv6头部压缩方法,以提高链路的带宽利用率。
技术方案
一种鲁棒的IPv6头部压缩方法,对IPv6基础头部的源地址字段、目的地址字段以及协议类型字段进行重编号来缩短头部长度,压缩后的头部包含经过重编号的源地址、目的地址以及协议类型字段(说明书中分别称之为压缩源地址字段、压缩目的地址字段以及压缩协议类型字段),其压缩步骤包括:
●①压缩端首先向解压缩端传输一个完整的头部以及相应的压缩头部;
●②解压缩端收到完整头部和压缩头部后放入一个列表中保存起来,所述列表记录了不同压缩端和不同目的节点进行TCP或UDP通信时完整头部和压缩头部之间的一一映射关系;
●③压缩端向解压缩端传送头部经过压缩的数据包;
●④解压缩端每收到一个头部经过压缩的数据包,就根据压缩头部从所述列表中查找出对应的完整头部并替换压缩头部,完成数据包的解压缩过程。
所述经过重编号后的目的地址字段长度为8个比特。
所述经过重编号后的协议类型字段长度为1个比特,值为0表示TCP协议,值为1表示UDP字段。
所述经过重编号后的源地址字段长度视链路类型而定,如果是在点到点链路上应用本方法,那么重编号后的源地址字段长度为0,即不需要该字段;如果是在广播类型的链路上应用本方法那么重编号后的源地址字段长度视和解压缩端相连的压缩端数目而定,要求该长度是能够对压缩端进行地址重编号的最小长度值。
附图说明
图1表示本发明的IPv6基础头部结构图。
图2表示适合应用本压缩方法网络模型。
图3表示S_Len长度为2个比特时的压缩头部组成。
图4表示本发明的IPv6头部压缩方法的流程图。
具体实施方式
在此,提出一种利用地址重编号对IPv6基础头部进行压缩的方法。在介绍该方法之前,首先来了解IPv6基础头部的构成。
IPv6基础头部结构如附图1所示,版本号字段长度为4个比特,值为6。流类型字段长度为8个比特,值固定不变。流标签字段长度为20个比特,值固定不变。载荷长度字段有2个字节,值随载荷(包括扩展头部和上层协议数据单元)长度而变。协议类型字段长度为1个字节,值随上层协议的不同而变化。跳数限制长度为1个字节,每经过一跳值减少1。
在点到点链路上,IPv6数据包从链路一端传到另一端,我们可以把数据包的IPv6头部各个字段分为以下几类:
数值固定不变的字段有:版本号、流类型、流标签、跳数限制。
数值可以推断的字段有:载荷长度。
数值可能发生变化的字段有:协议类型、源地址、目的地址。
显然,版本号、流类型、流标签以及跳数限制字段只需传输一次就够了,载荷长度可以从上层协议头部中推算出来,根本不必传输。因此IPv6头部中每次都需要传输的字段有协议类型、源地址、目的地址。本方法的思想就是对IPv6基础头部的源地址、目的地址以及协议类型进行重编号,以此缩短头部长度。
本方法规定:用一个压缩头部替换IPv6基础头部,压缩头部依次包含压缩目的地址、压缩协议类型、压缩源地址共3个字段。压缩目的地址字段的长度为8个比特;压缩协议类型字段的长度为1个比特;压缩源地址字段的长度为S_Len(介于0和16之间,不得大于16,默认值为16)个比特。压缩协议类型字段值为0表示TCP协议,为1表示UDP协议,其余类型协议的数据包不在压缩范围内。压缩源地址字段长度和链路类型有关,对于点到点链路,长度为0,对于广播类型链路,长度视和解压缩端相连的压缩端数量而定,要求该长度是能够对压缩端进行地址重编号的最小长度值。比如,和解压缩端相连的压缩端数量在129和256之间,S_Len长度就可设为8个比特。S_Len长度最多不能超过16个比特。这样,就可以将长度为40个字节的IPv6基础头部压缩成最多3个字节加1个比特的长度,在点到点链路上,压缩后的头部只有9个比特。实际上,将这种IPv6头部压缩方法称为IPv6头部替换方法更为适当。
在压缩之前,压缩端必须知道压缩源地址长度S_Len。如果是点到点链路,S_Len为0;如果是广播类型链路,该值必须向解压缩端获得。
附图2显示了适合应用本方法的网络模型,图中压缩端和解压缩端之间只有一条链路,可以是点到点链路,也可以是广播类型链路。假设链路为广播类型,压缩端数量为3,则S_Len长度为2个比特。接下来以C1向目的节点发送TCP数据包为例说明本方法具体应用过程。
如附图3所示,压缩端C1首先向解压缩端D传输一个完整的头部以及相应的压缩头部,压缩头部的长度共11个比特(8个比特的压缩目的地址,1个比特的压缩协议类型,2个比特的压缩源地址)。
目的地址视和压缩端相连的目的节点数目而定,设和压缩端进行TCP或UDP通信的目的节点已有x-1个,那么和新的目的节点通信的数据包压缩头部的压缩目的地址可以设为x。压缩协议类型为0,表示进行TCP通信。压缩源地址为00(二进制),表示压缩端C1的地址编号。相应的,压缩端C2、C3的地址编号分别为01、10。
解压缩端收到完整头部和压缩头部后放入一个列表中保存起来,该列表记录了不同压缩端和不同目的节点进行TCP或UDP通信时完整头部和压缩头部之间的一一映射关系。解压缩端每收到一个头部经过压缩的数据包,就根据压缩头部从列表中查找出对应的完整头部并替换压缩头部,完成数据包的解压缩过程。
图4表示本发明的IPv6头部压缩方法的流程图。其压缩步骤如下:
●①压缩端首先向解压缩端传输一个完整的头部以及相应的压缩头部;
●②解压缩端收到完整头部和压缩头部后放入一个列表中保存起来,该列表记录了不同压缩端和不同目的节点进行TCP或UDP通信时完整头部和压缩头部之间的一一映射关系;
●③压缩端向解压缩端传送头部经过压缩的数据包;
●④解压缩端每收到一个头部经过压缩的数据包,就根据压缩头部从列表中查找出对应的完整头部并替换压缩头部,完成数据包的解压缩过程。
优点
本方法的优点是鲁棒性强,在数据包乱序传输、出错丢失等外界干扰的情况下,仍能正常执行。它和普通头部压缩方法不同的是没有采用差分编码方式,所以压缩头部的解压缩没有借助于基准头部。本方法的解压缩过程是前后状态无关的,即某个压缩头部的解压缩不需要上一个数据包的相关信息。因此在这种压缩方式下不需要任何错误检测和恢复机制。
本方法的另一个优点是适用范围广。普通压缩方法一般只适用于点到点链路,如通过拨号建立的链路或隧道等。本方法不但适用于点到点链路,而且还可用于广播类型链路。
本方法的第三个优点是压缩率高。在点到点链路上的压缩率高达97.2%,在广播类型链路上的压缩率至少也有92.2%。
本方法的缺点是不能对传输层及其以上协议层头部进行压缩。
Claims (4)
1、一种鲁棒的IPv6头部压缩方法,其特征在于:对IPv6基础头部的源地址字段、目的地址字段以及协议类型字段进行重编号来缩短头部长度,压缩后的头部包含经过重编号的源地址、目的地址以及协议类型字段,其压缩步骤包括:
①压缩端向解压缩端传输一个完整的头部以及相应的压缩头部;
②解压缩端收到完整头部和压缩头部后放入一个列表中保存起来,所述列表记录了不同压缩端和不同目的节点进行TCP或UDP通信时完整头部和压缩头部之间的一一映射关系;
③压缩端向解压缩端传送头部经过压缩的数据包;
④解压缩端每收到一个头部经过压缩的数据包,就根据压缩头部从所述列表中查找出对应的完整头部并替换压缩头部,完成数据包的解压缩过程。
2、根据权利要求1所述的IPv6头部压缩方法,其特征在于,所述经过重编号后的目的地址字段长度为8个比特。
3、根据权利要求1所述的IPv6头部压缩方法,其特征在于,所述经过重编号后的协议类型字段长度为1个比特,值为0表示TCP协议,值为1表示UDP字段。
4、根据权利要求1所述的IPv6头部压缩方法,其特征在于,所述经过重编号后的源地址字段长度视链路类型而定,如果是在点到点链路上应用本方法,那么重编号后的源地址字段长度为0,即不需要该字段;如果是在广播类型的链路上应用本方法,那么重编号后的源地址字段长度视和解压缩端相连的压缩端数目而定,要求该长度是能够对压缩端进行地址重编号的最小长度值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100690516A CN100353727C (zh) | 2004-07-16 | 2004-07-16 | 一种鲁棒的IPv6头部压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100690516A CN100353727C (zh) | 2004-07-16 | 2004-07-16 | 一种鲁棒的IPv6头部压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1595911A CN1595911A (zh) | 2005-03-16 |
CN100353727C true CN100353727C (zh) | 2007-12-05 |
Family
ID=34666779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100690516A Expired - Fee Related CN100353727C (zh) | 2004-07-16 | 2004-07-16 | 一种鲁棒的IPv6头部压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100353727C (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136906B (zh) * | 2006-08-31 | 2010-07-21 | 华为技术有限公司 | 移动IPv6中的通讯方法和移动IPv6通讯系统 |
CN101645823B (zh) * | 2009-09-02 | 2012-01-04 | 杭州华三通信技术有限公司 | 一种6to4隧道的压缩方法及装置 |
CN102035899B (zh) * | 2009-09-24 | 2014-12-10 | 中兴通讯股份有限公司 | 基于IPv6的局域网内的地址确定方法与装置 |
CN101848491A (zh) | 2010-04-21 | 2010-09-29 | 中兴通讯股份有限公司 | 鲁棒性头压缩中一种模式转换的方法及装置 |
CN102291406B (zh) | 2011-08-12 | 2017-02-15 | 中兴通讯股份有限公司 | 鲁棒性头压缩处理方法及鲁棒性头压缩处理器 |
CN103179094B (zh) * | 2011-12-22 | 2019-10-01 | 南京中兴软件有限责任公司 | Ip报文头的发送、接收方法、发送装置以及接收装置 |
US11445047B2 (en) | 2017-09-29 | 2022-09-13 | Apple Inc. | ROHC header compression for MPTCP |
CN110417814A (zh) * | 2019-08-27 | 2019-11-05 | 京信通信系统(中国)有限公司 | 报文的空口传输处理方法、装置和通信设备 |
CN111107051A (zh) * | 2019-11-01 | 2020-05-05 | 京信通信系统(中国)有限公司 | 报文传输方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1279876A (zh) * | 1997-09-24 | 2001-01-10 | 艾利森电话股份有限公司 | 利用异步传输模式第二适配层有效地传输互联网协议数据包 |
WO2002028107A2 (en) * | 2000-09-28 | 2002-04-04 | Nokia Corporation | Enhanced header compression profile |
CN1503527A (zh) * | 2002-11-22 | 2004-06-09 | ض� | 压缩安全协议保护的网际协议分组的方法、设备和系统 |
CN1507286A (zh) * | 2002-12-09 | 2004-06-23 | 中国科学技术大学 | 用于MIPv6的鲁棒性头标压缩/解压方法 |
-
2004
- 2004-07-16 CN CNB2004100690516A patent/CN100353727C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1279876A (zh) * | 1997-09-24 | 2001-01-10 | 艾利森电话股份有限公司 | 利用异步传输模式第二适配层有效地传输互联网协议数据包 |
WO2002028107A2 (en) * | 2000-09-28 | 2002-04-04 | Nokia Corporation | Enhanced header compression profile |
CN1503527A (zh) * | 2002-11-22 | 2004-06-09 | ض� | 压缩安全协议保护的网际协议分组的方法、设备和系统 |
CN1507286A (zh) * | 2002-12-09 | 2004-06-23 | 中国科学技术大学 | 用于MIPv6的鲁棒性头标压缩/解压方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1595911A (zh) | 2005-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7430617B2 (en) | Method and system for header compression | |
KR100359703B1 (ko) | 헤더 압축에 의한 패킷 전송 방법 및 장치 | |
US8065437B2 (en) | Packet header compression system and method based upon a dynamic template creation | |
JP5043975B2 (ja) | パケット通信での性能を改善するためのヘッダフィールドの操作 | |
CN101366261B (zh) | 用于当遭遇静默抑制时增强稳健标头压缩性能的方法和设备 | |
EP1523148A1 (en) | Header compression/decompression device and header compression/decompression method | |
EP1226694A1 (en) | A method and apparatus for header compression | |
CN100471195C (zh) | 用于网络协议的报头压缩及解压方法和适于该方法的装置 | |
JP2004208292A (ja) | 制御トラフィック圧縮方法 | |
CN100591053C (zh) | 一种报文传输方法及网络节点装置 | |
EP1258123B1 (en) | Replacement of transport-layer checksum in checksum-based header compression | |
CN100353727C (zh) | 一种鲁棒的IPv6头部压缩方法 | |
CN100571190C (zh) | 在网络环境中压缩标题和复用分组的装置和方法 | |
CN101534291A (zh) | Ip报文的发送、接收的方法及装置 | |
JP2002290383A (ja) | パケット伝送制御方法及び送信装置 | |
US20020089437A1 (en) | Robust and efficient compression of list of items | |
CN101197823A (zh) | 在压缩/解压缩过程中传输解压缩信息的方法、系统及装置 | |
KR100501713B1 (ko) | 헤더가 압축된 패킷을 전송하는 네트워크 시스템 및 그의제어방법 | |
Rawat et al. | Designing a tunneling header compression (TuCP) for tunneling over IP | |
CN101193062B (zh) | 一种rohc压缩中ts值还原方法 | |
Morais et al. | 5G Transport Payload: Ethernet-Based Packet-Switched Data | |
Knutsson | Evaulation and implemenation of header compression algorithm ECRTP | |
Arango et al. | Header compression for ad-hoc networks | |
Measel | IPv6 Compression Techniques and Performance | |
JP2007028432A (ja) | パケット中継伝送装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20071205 Termination date: 20190716 |