CN1913531B - 一种tcp/ip包头的传输方法、压缩方法和装置 - Google Patents
一种tcp/ip包头的传输方法、压缩方法和装置 Download PDFInfo
- Publication number
- CN1913531B CN1913531B CN2006100623313A CN200610062331A CN1913531B CN 1913531 B CN1913531 B CN 1913531B CN 2006100623313 A CN2006100623313 A CN 2006100623313A CN 200610062331 A CN200610062331 A CN 200610062331A CN 1913531 B CN1913531 B CN 1913531B
- Authority
- CN
- China
- Prior art keywords
- packet header
- tcp
- parity check
- packet
- compression
- 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
- 238000007906 compression Methods 0.000 title claims abstract description 59
- 230000006835 compression Effects 0.000 title claims abstract description 59
- 238000000034 method Methods 0.000 title claims abstract description 28
- 230000005540 biological transmission Effects 0.000 title abstract description 27
- 229910002056 binary alloy Inorganic materials 0.000 claims description 13
- 238000012795 verification Methods 0.000 claims description 12
- 238000001514 detection method Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000007689 inspection Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明适用于通信领域,提供了一种TCP/IP包头的传输方法、压缩方法和装置,所述TCP/IP包头中包括用于标识包头的增量域发生哪些变化的变化掩码,所述变化掩码包括七个比特和一个空闲比特,所述方法包括下述步骤:在发送的TCP/IP包头满足压缩条件时,按照RFC1144压缩算法对所述TCP/IP包头进行压缩,并在压缩后的包头的变化掩码中添加一个奇偶校验码;将添加了奇偶校验码的压缩包头发送给接收端。本发明在发送的TCP/IP压缩包头中添加奇偶校验码,接收端对包头进行解压之前,先进行奇偶校验,判断对该包头丢弃还是进行解压,不必在恢复出整个包头后再进行检错,缩短了检错时延,提高了数据传输效率。
Description
技术领域
本发明属于通信领域,尤其涉及一种基于RFC1144压缩算法的数据传输方法。
背景技术
在网络通信中,大量数据都是通过传输控制协议/互联网络协议(Transmission Control Protocol/Internet Protocol,TCP/IP)进行传输的。根据业务等级的需要,网络层会对要传输的数据添加IPv4(Internet Protocol Version 4,网际协议版本4)包头或IPv6(Internet Protocol Version 6,网际协议版本6)包头。因此,每次传输数据时还要传输一定的包头信息,从而加大了网络传输的数据量。
为了解决这个问题,现有技术采用RFC1144压缩算法,将IP/TCP包头划分为不变(NOCHANGE)部分和增量(DELTA)部分。不变部分包含TCP/IP包头中的协议版本(Protocol Version)、包头长度(Header Length)以及业务类型(Type of Service)等信息。增量部分包含TCP/IP包头所封装的TCP包头中的序列号(Sequence Number)、确认号(Acknowledgment Number)等信息。如果仅仅是增量部分发生了变化,则将增量部分所发生的变化传输给对端,而不需要传输一个完整的TCP/IP包头,从而达到了减小网络传输量的目的。
RFC1144压缩算法的具体实现方式如下:
(1)在发送端,首先判断传输的包头是否满足RFC1144压缩算法的可压缩条件,即该包头必须由一个完整且不分段的IP包头与一个完整且不分段的TCP包头组合而成。
如果传输的包头不满足可压缩条件,例如不是IP+TCP包头,或者包头不完整或者分段,则不采用RFC1144压缩算法进行压缩,而进行透明传输。
如果传输的包头满足了可压缩条件,且当前所传输的包头是第一个满足可压缩条件的TCP/IP包头,或者当前所传输包头相对于以前传输的所有TCP/IP包头而言其不变部分均发生了变化,说明该包头是某一类型包头中的首个完整包头,满足以上条件则传输一个完整的包头,并在发送端保留该包头的全部信息,同时记录在发送端这种类型的包头所出现的顺序,即连接号(ConnectionNumber)。该连接号替换原IP包中协议(protocol)域的内容,被用来作为接收端所接收到的TCP/IP包头部阵列的索引值。
如果满足了可压缩条件,且当前所传输包头相对于某个连接号的TCP/IP包头的不变部分没有发生变化,则将增量部分所发生的变化作为压缩包头传输给对端,同时,还要传输对应TCP/IP包头的连接号,为了便于接收端检查压缩包头的有效性和完整性,还要传输TCP包头的校验和信息。
(2)在接收端,如果接收到的包头是未进行压缩的包头,则不必进行解压缩,这些包头未进行压缩可能是因为其不满足压缩条件,这种情况则将其作为普通包头对待,或者因为该包头为同类型包头中的首个完整包头,这种情况则在接收端保留该包头的全部信息。
如果是采用了RFC1144压缩算法的压缩包头,则首先根据其连接号以及增量部分所发生的变化信息得到原始的TCP/IP包头,然后根据TCP的校验和信息检验解压出的TCP/IP包头是否正确。如果发生了错误,则中止解压,等待发送端重传。
在RFC1144压缩算法中,TCP/IP压缩包头的传输格式如图1所示,第一个字节存放的是增量域的变化掩码(Change Mask),标识TCP包头中的增量域发生了哪些变化,变化掩码共七个比特,其中一个为空闲比特。第二个字节存放的是连接号,标识此次传输的包头相对于某个连接号的TCP/IP包头的不变部分没有发生变化。第三个字节存放的是TCP包头的校验和(Checksum),用来在接收端检查包头是否在传输过程中发生了错误。最后就是在第一个字节的变化掩码所对应的发生了变化的增量域。
由上所述可知,现有技术虽然能够有效地减小网络传输量,但是在压缩包头的传输格式中,第一个字节的七个比特中任一个发生错误,都会导致错误解压,而目前只能在恢复出整个包头后利用TCP包头的校验和信息进行检错,其检错时延太长,数据传输效率较低。
发明内容
本发明的目的在于提供一种TCP/IP包头的发送方法,旨在解决现有技术在对包头进行解压时,只能在恢复出整个包头后进行检错,导致检错时延太长,数据传输效率较低的问题。
本发明的另一目的在于提供一种TCP/IP包头的接收方法。
本发明的另一目的在于提供一种TCP/IP包头的压缩方法。
本发明的另一目的在于提供一种TCP/IP包头的压缩装置。
本发明是这样实现的,一种TCP/IP包头的发送方法,所述TCP/IP包头中包括用于标识包头的增量域发生哪些变化的变化掩码,所述变化掩码包括七个比特和一个空闲比特,所述方法包括下述步骤:
在发送的TCP/IP包头满足压缩条件时,按照RFC1144压缩算法对所述TCP/IP包头进行压缩,并在压缩后的包头的变化掩码中添加一个奇偶校验码;所述奇偶校验码添加在变化掩码的所述空闲比特位或一个新增比特位中;
将添加了奇偶校验码的压缩包头发送给接收端。
所述奇偶校验码为所述七个比特的二进制之和。
一种TCP/IP包头的接收方法,所述方法包括下述步骤:
在接收的TCP/IP包头为压缩包头时,对压缩后的包头的变化掩码进行奇偶校验,如果校验成功,则按照RFC1144压缩算法对压缩包头进行解压,如果校验失败,则中止解压,等待发送端重传;所述压缩包头中添加了奇偶校验码,所述奇偶校验码添加在压缩包头的变化掩码的所述空闲比特位或一个新增比特位中。
所述对压缩后的包头的变化掩码进行奇偶校验的步骤具体为:
验证压缩后的包头的变化掩码中所有比特的二进制求和结果是否为0,是则校验成功,否则校验失败。
一种TCP/IP包头的压缩方法,所述TCP/IP包头中包括用于标识包头的增量域发生哪些变化的变化掩码,所述变化掩码包括七个比特和一个空闲比特,所述方法包括下述步骤:
按照RFC1144压缩算法对TCP/IP包头进行压缩;
在压缩后的包头的变化掩码中添加一个奇偶校验码,所述奇偶校验码添加在变化掩码的所述空闲比特位或一个新增比特位中。
一种TCP/IP包头的压缩装置,所述TCP/IP包头中包括用于标识包头的增量域发生哪些变化的变化掩码,所述变化掩码包括七个比特和一个空闲比特,所述装置包括:
压缩模块,用于按照RFC1144压缩算法对TCP/IP包头进行压缩;以及
奇偶校验码添加模块,用于在压缩后的包头的变化掩码中添加一个奇偶校验码,所述奇偶校验码添加在变化掩码的所述空闲比特位或一个新增比特位中。。
本发明在发送的TCP/IP压缩包头中添加奇偶校验码,接收端对包头进行解压之前,先进行奇偶校验,判断对该包头丢弃还是进行解压,不必在恢复出整个包头后再进行检错,缩短了检错时延,提高了数据传输效率。
附图说明
图1是现有技术中TCP/IP压缩包头的传输格式图;
图2是本发明提供的发送端发送TCP/IP包头的流程图;
图3是本发明提供的接收端接收TCP/IP包头的流程图;
图4是本发明一个实施例中TCP/IP压缩包头的传输格式示意图;
图5是本发明提供的TCP/IP包头压缩装置的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明中,在发送端在压缩包头的第一个字节中添加一个奇偶校验码,接收端对压缩包头进行解压之前,先对该第一个字节进行奇偶校验,判断对该包头丢弃还是进行解压,不必在恢复出整个包头后再进行检错,从而缩短了检错时延,提高了数据传输效率。
本发明将奇偶校验码添加在了第一个字节(即变化掩码)中的空闲比特位(即图1中的X位),其值设置为原有七个比特(C、I、P、S、A、W、U)的二进制之和。
这种将奇偶校验码添加在变化掩码的空闲比特位的方式,可以保持与RFC1144压缩算法相兼容,且能保证较好的压缩效率。作为本发明的另一实施例,如果不要求与RFC1144压缩算法相兼容,也可以将奇偶校验码添加在变化掩码的一个新增比特位。
另外,该奇偶校验码的值并不局限于使用变化掩码原有七个比特的二进制之和,也可以根据类似的其他算法得到奇偶校验码,例如计算第一个字节中为1的比特个数是偶数还是奇数等。
图2示出了本发明一个实施例中提供的发送端发送TCP/IP包头的流程,详述如下:
在步骤S201中,判断TCP/IP包头是否满足RFC1144压缩算法的可压缩条件,是则执行步骤S202,否则执行步骤S205;
在步骤S202中,判断TCP/IP包头是否属于某一类型包头的首个完整包头,是则执行步骤S206,否则执行步骤S203;
在步骤S203中,按RFC1144压缩算法对包头进行压缩,并在压缩包头的第一个字节中添加一个奇偶校验码,典型的可将该字节中原有7个比特(C、I、P、S、A、W、U)的二进制之和赋到空闲比特位;
在步骤S204中,将压缩后的TCP/IP包头发送到接收端,并在发送端记录同类型包头出现的连接号;
在步骤S205中,对包头不进行压缩,透明发送给接收端;
在步骤S206中,对包头不进行压缩,发送给接收端,并且在发送后保留包头的全部信息。
图3示出了本发明一个实施例中提供的接收端接收TCP/IP包头的流程,详述如下:
在步骤S301中,判断所接收到的TCP/IP包头是否为采用RFC1144压缩算法进行压缩的包头,是则执行步骤S302;
在步骤S302中,对其第一个字节(即其变化掩码)进行奇偶校验;
在步骤S303中,判断奇偶校验是否成功,作为本发明的一个实施例,即验证包头的变化掩码中所有比特的二进制求和结果是否为0,是则执行步骤S304,否则执行步骤S308;
在步骤S304中,奇偶校验成功,按照RFC1144压缩算法进行正常解压;
在步骤S305中,判断包头是否属于某一类型包头的首个完整包头,是则执行步骤S306,否则执行步骤S307;
在步骤S306中,保留该包头的全部信息;
在步骤S307中,将包头作为普通包头进行处理;
在步骤S308中,奇偶校验失败,判定该压缩包头错误,中止解压,等待发送端重传。
图4示出了本发明一个实施例中TCP/IP压缩包头的传输格式,在该实施例中,数据传输的具体过程如下:
发送端首先判断得知IP/TCP包头满足RFC1144压缩算法的可压缩条件,则将其进行压缩,压缩结果如图4所示的(a),压缩包头中变化掩码的C、I、P、S、A、W、U七个比特位的值分别为:1、0、0、1、1、0、0。
然后对此七个比特进行二进制求和,根据二进制求和公式(1+1=0;1+0=1)可得F=C+I+P+S+A+W+U=1,从而得到发送端的压缩结果如图4中(b)所示,并将其传输给接收端。
若传输过程中没有发生错误,则接收端接收到的压缩包头中,第一个字节的内容为:F=1、C=1、I=0、P=0、S=1、A=1、W=0、U=0,接收端首先对该字节内容进行奇偶校验,得到F+C+I+P+S+A+W+U=0,奇偶校验成功,接收端判定该压缩包头在传输过程未发生错误,则按照RFC1144压缩算法对该压缩包头进行解压;
若传输过程中发生了错误,如图4(c)所示,C比特位由1变为了0,此时接收端进行奇偶校验的结果为:F+C+I+P+S+A+W+U=1,奇偶校验失败,接收端判定该压缩包头在传输过程发生了错误,于是丢弃该压缩包头,等待发送端重传。
图5是本发明提供的TCP/IP包头压缩装置的结构,压缩模块51按照RFC1144压缩算法对TCP/IP包头进行压缩,奇偶校验码添加模块52在压缩后的包头的变化掩码中添加一个奇偶校验码。其中,奇偶校验码可以添加在变化掩码的空闲比特位或者变化掩码的一个新增比特位。作为本发明的一个实施例,奇偶校验码为变化掩码中原有七个比特的二进制之和。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种TCP/IP包头的发送方法,所述TCP/IP包头中包括用于标识包头的增量域发生哪些变化的变化掩码,所述变化掩码包括七个比特和一个空闲比特,其特征在于,所述方法包括下述步骤:
在发送的TCP/IP包头满足压缩条件时,按照RFC1144压缩算法对所述TCP/IP包头进行压缩,并在压缩后的包头的变化掩码中添加一个奇偶校验码;所述奇偶校验码添加在变化掩码的所述空闲比特位或一个新增比特位中;
将添加了奇偶校验码的压缩包头发送给接收端。
2.如权利要求1所述的TCP/IP包头的发送方法,其特征在于,所述奇偶校验码为所述七个比特的二进制之和。
3.一种TCP/IP包头的接收方法,其特征在于,所述方法包括下述步骤:
在接收的TCP/IP包头为压缩包头时,对压缩后的包头的变化掩码进行奇偶校验,如果校验成功,则按照RFC1144压缩算法对压缩包头进行解压,如果校验失败,则中止解压,等待发送端重传;所述压缩包头中添加了奇偶校验码,所述奇偶校验码添加在压缩包头的变化掩码的所述空闲比特位或一个新增比特位中。
4.如权利要求3所述的TCP/IP包头的接收方法,其特征在于,所述对压缩后的包头的变化掩码进行奇偶校验的步骤具体为:
验证压缩后的包头的变化掩码中所有比特的二进制求和结果是否为0,是则校验成功,否则校验失败。
5.一种TCP/IP包头的压缩方法,所述TCP/IP包头中包括用于标识包头的增量域发生哪些变化的变化掩码,所述变化掩码包括七个比特和一个空闲比特,其特征在于,所述方法包括下述步骤:
按照RFC1144压缩算法对TCP/IP包头进行压缩;
在压缩后的包头的变化掩码中添加一个奇偶校验码,所述奇偶校验码添加在变化掩码的所述空闲比特位或一个新增比特位中。
6.如权利要求5所述的TCP/IP包头的压缩方法,其特征在于,所述奇偶校验码为所述七个比特的二进制之和。
7.一种TCP/IP包头的压缩装置,所述TCP/IP包头中包括用于标识包头的增量域发生哪些变化的变化掩码,所述变化掩码包括七个比特和一个空闲比特,其特征在于,所述装置包括:
压缩模块,用于按照RFC1144压缩算法对TCP/IP包头进行压缩;以及
奇偶校验码添加模块,用于在压缩后的包头的变化掩码中添加一个奇偶校验码,所述奇偶校验码添加在变化掩码的所述空闲比特位或一个新增比特位中。
8.如权利要求7所述的TCP/IP包头的压缩装置,其特征在于,所述奇偶校验码为所述七个比特的二进制之和。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100623313A CN1913531B (zh) | 2006-08-25 | 2006-08-25 | 一种tcp/ip包头的传输方法、压缩方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100623313A CN1913531B (zh) | 2006-08-25 | 2006-08-25 | 一种tcp/ip包头的传输方法、压缩方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1913531A CN1913531A (zh) | 2007-02-14 |
CN1913531B true CN1913531B (zh) | 2012-03-21 |
Family
ID=37722298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100623313A Expired - Fee Related CN1913531B (zh) | 2006-08-25 | 2006-08-25 | 一种tcp/ip包头的传输方法、压缩方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1913531B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179564B (zh) * | 2007-08-10 | 2010-12-01 | 华中科技大学 | 基于链路层自动请求重传的tcp分组头部压缩方法及其*** |
CN102118792B (zh) * | 2009-12-31 | 2015-01-21 | 华为技术有限公司 | 一种传输数据包的方法及装置 |
CN102143527B (zh) * | 2010-02-03 | 2013-09-11 | 华为技术有限公司 | 嵌套协议包头的压缩方法及装置 |
CN102469011B (zh) * | 2010-11-11 | 2015-06-17 | 联芯科技有限公司 | 一种数据发送方法和装置 |
CN102255972B (zh) * | 2011-08-10 | 2014-06-25 | 北京邮电大学 | 6LoWPAN网络中面向HTTP协议的TCP首部压缩方法 |
CN111953449B (zh) * | 2017-09-21 | 2023-05-05 | ***通信有限公司研究院 | 校验码处理方法、电子设备及存储介质 |
CN108650264B (zh) * | 2018-05-10 | 2020-12-22 | 平安科技(深圳)有限公司 | 数据传输方法、装置、设备及计算机可读存储介质 |
CN113612516B (zh) * | 2021-07-13 | 2023-05-12 | 深圳震有科技股份有限公司 | 一种卫星通信数据包的压缩测试方法、***及设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1442013A (zh) * | 2000-07-14 | 2003-09-10 | 艾利森电话股份有限公司 | 在报头压缩/解压缩应用中的静态校验和信息的再利用 |
-
2006
- 2006-08-25 CN CN2006100623313A patent/CN1913531B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1442013A (zh) * | 2000-07-14 | 2003-09-10 | 艾利森电话股份有限公司 | 在报头压缩/解压缩应用中的静态校验和信息的再利用 |
Also Published As
Publication number | Publication date |
---|---|
CN1913531A (zh) | 2007-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1913531B (zh) | 一种tcp/ip包头的传输方法、压缩方法和装置 | |
CN102292940B (zh) | 一种采用arq机制的头压缩通信方法和装置 | |
CN102752283B (zh) | 大数据量文件的传输方法及*** | |
US6606037B2 (en) | Qualitative modeling and compression of request sequences in ARQ protocols | |
US20080250299A1 (en) | Method of Transmitting Digital Data Packets and Device Implementing the Method and Receiver | |
CN101594290B (zh) | 一种鲁棒性头压缩上下文标识的处理方法及装置 | |
AU2001277483B2 (en) | Header compression method for network protocols | |
JP2004180295A (ja) | 通信デバイスのモジュール間で伝送された喪失メッセージを検出するためのシステムおよび方法 | |
CN103595661A (zh) | 一种报文分片重组方法及装置 | |
CN1645864A (zh) | 首部复原装置和首部复原方法 | |
CN101449519A (zh) | 解决网际互联协议上数据报损坏的方法 | |
Perkins et al. | Dependency removal for transport protocol header compression over noisy channels | |
US7716559B2 (en) | Method for lost packet reconstruction and device for carrying out said method | |
CN101162973B (zh) | 用于数字数据传送的方法与设备 | |
CN113242109B (zh) | 用于校验报文数据的方法、装置和设备 | |
US20190132085A1 (en) | Fast Detection and Retransmission of Dropped Last Packet in a Flow | |
US20060259845A1 (en) | Method and apparatus for acknowledging a bitwise data chunk in wireline and wireless communication systems | |
CN107209713B (zh) | 按需文件修复的方法和*** | |
CN1617121A (zh) | 传输和处理命令与数据的方法 | |
US8320251B2 (en) | Method and device for transmitting data packets | |
CN112532359B (zh) | 接收端基于数据重传数据进行内容合并的方法及装置 | |
CN1223162C (zh) | 用于tcp/ip协议组的传输控制设备和方法 | |
CN113329442A (zh) | 一种通用的多链路载荷压缩与解压缩方法和*** | |
CN106209565B (zh) | 一种基于喷泉码的隧道可靠传输方法及装置 | |
CN105391766B (zh) | 一种面向端到端性能的dtn网络数据束压缩方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20070214 |
|
CI01 | Publication of corrected invention patent application |
Correction item: Rejection of patent application Correct: Dismiss False: Reject Number: 32 Volume: 26 |
|
ERR | Gazette correction |
Free format text: CORRECT: PATENT APPLICATION REJECTION OF AFTER PUBLICATION; FROM: REJECTION TO: REVOCATION REJECTED |
|
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: 20120321 Termination date: 20180825 |