CN104967498B - 一种基于历史的卫星网络数据包压缩传输方法 - Google Patents
一种基于历史的卫星网络数据包压缩传输方法 Download PDFInfo
- Publication number
- CN104967498B CN104967498B CN201510317915.XA CN201510317915A CN104967498B CN 104967498 B CN104967498 B CN 104967498B CN 201510317915 A CN201510317915 A CN 201510317915A CN 104967498 B CN104967498 B CN 104967498B
- Authority
- CN
- China
- Prior art keywords
- packet
- data packets
- decompression machine
- receiving terminal
- compressor reducer
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1621—Group acknowledgement, i.e. the acknowledgement message defining a range of identifiers, e.g. of sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/185—Space-based or airborne stations; Stations for satellite systems
- H04B7/1853—Satellite systems for providing telephony service to a mobile station, i.e. mobile satellite service
- H04B7/18569—Arrangements for system physical machines management, i.e. for construction operations control, administration, maintenance
- H04B7/18571—Arrangements for system physical machines management, i.e. for construction operations control, administration, maintenance for satellites; for fixed or mobile stations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/185—Space-based or airborne stations; Stations for satellite systems
- H04B7/18578—Satellite systems for providing broadband data service to individual earth stations
- H04B7/18586—Arrangements for data transporting, e.g. for an end to end data transport or check
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Astronomy & Astrophysics (AREA)
- Aviation & Aerospace Engineering (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Radio Relay Systems (AREA)
Abstract
本发明公开一种基于历史的卫星网络数据包压缩传输方法,涉及卫星通信网络技术领域。在双向卫星链路上,本发明的压缩传输方法中压缩器和解压器均维护一个历史区和一个缓存区。压缩器将已发送的原始数据包存入到缓存区中,在得到解压器从返向链路上反馈回来的数据包已接收消息后,再将缓存区中的数据包移入到历史区中。解压器将收到的数据包暂存到缓存区中,并通过返向链路向压缩器反馈数据包接收的情况;在获悉压缩器已更新历史区的消息后,再将缓存区中的数据包移入历史区,从而达到解压器与压缩器的历史区数据的同步与一致。压缩器对数据包的压缩以及解压器对数据包的解压,均基于各自的历史区数据,而不采用缓存区数据。
Description
技术领域
本发明涉及基于TCP/IP协议族的卫星通信网络技术领域,具体涉及卫星通信链路上基于历史的传输网络IP数据包的压缩传输方法。本发明所公开的方法同样适用于地面蜂窝移动通信链路及地面其他的有线或无线链路。
背景技术
基于TCP/IP协议族的卫星通信网络其优点在于业务接入方便,组网灵活,适用范围广;缺点在于业务接入采用IP数据包进行封装与承载而引入了包头开销;而且,通常情况下,所传输的业务中存在大量重复冗余数据。因此,如果能够有效消减链路传输中的冗余数据,则可以节约带宽资源,提高卫星链路带宽的利用率,提高业务接入的容量。
对于TCP/IP网络,数据的传输以IP包为单位,消减传输冗余的一种方法是采用数据包压缩技术。根据压缩所利用的历史信息来区分,可分为基于单包的压缩和基于会话的压缩。基于单包的压缩,即每个数据包的压缩都是独立的,不利用历史数据;压缩后每个数据包的解压不依赖于历史状态,传输过程中数据包的丢失不会影响其他数据包的解压;数据包的乱序到达亦不会影响解压的正确性。基于单包的压缩只是消减了单个数据包内的重复冗余,没有消减数据包之间的重复冗余,因此在压缩效果上一般低于基于会话的压缩。基于会话的压缩充分利用数据包之间,甚至不同TCP/UDP连接之间的冗余性,能够挖掘更多的重复冗余数据,压缩效果更优。基于会话的压缩技术利用了历史数据包构建字典,压缩后的数据包之间不再相互独立,解压器需要维持与压缩器同步一致的字典,才能对压缩包进行正确解压。传输过程中数据包的丢失或者乱序到达会导致双方的历史数据失去同步,因此必须采用一定的机制进行修复,例如解压器通过返向链路向压缩器发送反馈消息,以维护解压器和压缩器两端历史数据的同步。
卫星链路具有长时延、高误码率的特点,与地面有线的广域网链路相比,压缩器和解压器失去同步的概率高于地面广域网链路。而且由于卫星链路的长时延,当压缩器接收到解压器的反馈消息时,已经有更多的数据包发送出去,而这些数据包由于采用了解压器没有收到的数据包作为历史数据进行压缩,因而无法被解压器正确解压,即由于链路误码导致个别数据包被动丢失的后果将蔓延到后续数据包,造成主动丢包情况的发生。
发明内容
本发明的目的在于避免背景技术中的不足之处而提供一种基于历史的卫星网络数据包压缩传输方法。本发明方法既有效压缩卫星链路上的数据传输,同时不会造成由于链路误码所导致的丢包蔓延。
为解决上述技术问题,本发明通过以下技术方案来实现。
本发明公开一种基于历史的卫星网络数据包压缩传输方法,包括以下步骤:
(1)发送端压缩器和接收端解压器在启动时各自分别建立一个历史区和一个缓存区;发送端压缩器和接收端解压器为各自的历史区均维护一个版本号;
(2)发送端压缩器接收来自于地面IP网的原始数据包;
(3)发送端压缩器将原始数据包变换为压缩数据包;
所述步骤(3)包括以下步骤:
(31)发送端压缩器将原始数据包存入到其缓存区中,并根据来自于接收端解压器的反馈消息将其缓存区中的数据包移入到其历史区中;
(32)发送端压缩器通过指纹比对确定原始数据包与其历史区中数据包中的所有相同部分,并用压缩描述符替换相同部分得到压缩数据包;所述的压缩描述符含有唯一标识、其长度比相同部分的字节串短;压缩数据包中附加一个发送端压缩器的当前历史区的版本号以及唯一的序号;
(4)发送端压缩器通过卫星链路将压缩数据包发送到接收端解压器;
(5)接收端解压器将压缩数据包解压还原为原始数据包;
所述步骤(5)包括以下步骤:
(51)接收端解压器将接收到压缩数据包存入到其缓存区中,并将其缓存区中已经发送过反馈消息的序号窗口内的数据包移入到其历史区中,并递增接收端解压器历史区的版本号;
(52)接收端解压器识别和读取压缩数据包中的所有压缩描述符,并定位其历史区中的历史数据,把压缩描述符全部替换还原为原始数据,接收端解压器输出原始数据包;
(53)接收端解压器将压缩数据包所在的序号窗口内压缩数据包是否已正确接收的情况形成反馈消息,并通过返向卫星链路反馈给发送端压缩器;
(6)接收端解压器将解压还原的原始数据包转发到地面IP网。
其中,所述的历史区是一个预先分配的内存块,由数据区和索引表两部分组成;历史数据包存放于数据区中;发送端压缩器和接收端解压器的历史区大小相同、组织方式相同、更新方式相同,两者的历史区内容保持同步和一致;当历史区已填满的时候,根据先进先出原则,删除旧的数据包以腾出存储空间存放新的数据包;发送端压缩器和接收端解压器为各自的历史区均维护一个版本号,每次对历史区更新后都递增版本号。
其中,所述的指纹为原始数据包中从任一位置开始的固定长度字节串的哈希值,从指纹可以唯一地索引到所对应的原始数据包和原始数据包中的字节串;这些指纹作为索引存放在哈希表形式的索引表中。
其中,发送端压缩器和接收端解压器的缓存区大小保持一致,并且缓存区空间的最小值M依据链路传输的往返时延RTT和数据包速率PacketRate确定,满足M≥2·PacketRate·RTT的约束条件;
发送端压缩器的缓存区暂时存放已经发送但尚未得到接收端解压器反馈确认的原始数据包,接收端解压器的缓存区暂时存放已经接收但尚未移入历史区的压缩数据包。
其中,所述的序号窗口由W个数据包的序号组成,其中W=PacketRate·RTT,RTT为链路传输的往返时延,packetRate为数据包速率,则第0个序号窗口的数据包序号为0,1,2,…,W-1,第k个序号窗口的数据包序号为kW,kW+1,…,(k+1)W-1。
其中,所述的步骤(31)具体为:
(311)发送端压缩器判断第N个原始数据包是否是该数据包所在序号窗口的第一个数据包,若是,则执行步骤(312),否则转入步骤(315);所述的N为发送端压缩器当前处理的原始数据包序号,判断依据为N mod W≡0,其中,mod为整除取余数运算符,W为一个序号窗口所能容纳的数据包个数;
(312)发送端压缩器判断第N/W-2个序号窗口的反馈消息是否已经收到;若收到,则执行步骤(313),否则转入步骤(314);
(313)发送端压缩器将其缓存区中第N/W-2个序号窗口内的W个数据包移入到其历史区中,执行步骤(314);
(314)发送端压缩器清空其缓存区中第N/W-2个序号窗口内的W个数据包所占据的存储空间,执行步骤(315);
(315)发送端压缩器将第N个原始数据包存入到缓存区中Nmod2W的位置。
其中,所述的步骤(51)具体为:
(511)接收端解压器判断第N个压缩数据包中附带的版本号V是否大于其历史区版本号Vd;如果V>Vd,则执行步骤(512);如果V=Vd,则转入步骤(514);所述的N为接收端解压器当前处理的压缩数据包的序号;
(512)接收端解压器将其缓存区中已经发送过反馈消息的第N/W-2个序号窗口内的W个数据包移入到其历史区中,并递增历史区的版本号Vd;其中,W为一个序号窗口所能容纳的数据包个数;
(513)接收端解压器清空其缓存区中第N/W-2个序号窗口所占据的存储空间,结束本流程;
(514)接收端解压器判断第N个压缩数据包是否为N所在序号窗口的接收到的第一个数据包,如果是,则转入步骤(513),否则结束本流程。
其中,所述的步骤(53)具体为:
(531)接收端解压器判断第N个压缩数据包所在的序号窗口是否已被反馈给发送端压缩器,若已反馈,则转入步骤(534),否则执行步骤(532);
(532)接收端解压器将第N个压缩数据包存入到其缓存区中第Nmod2W的位置;
(533)接收端解压器判断第N个压缩数据包是否为所在序号窗口的最后一个压缩数据包,如果是,则执行步骤(534),否则接收端解压器对第N个压缩数据包的解压处理结束;
(534)接收端解压器生成N所在窗口的反馈消息,并通过返向卫星链路发送给发送端压缩器,接收端解压器对第N个压缩数据包的解压处理结束。
其中,所述的反馈消息包含对应数据包序号窗口内接收端解压器未收到数据包的序号,或对应整个窗口的位矢量;
当对应整个窗口的位矢量长度超过链路最大传输单元时,将整个窗口的所有数据包进行分组,使得位矢量的每一位对应一组,每一位的值表示对应组内的所有数据包都未被接收端解压器收到,或至少有一个数据包未被接收端解压器收到。
其中,若接收端解压器发送的反馈消息在返向链路传输过程中丢失,则发送端压缩器将用已发送过的原始数据包持续覆盖其缓存区中的原有数据。
本发明相比背景技术的优点:
与一般的基于会话的数据包压缩方法相比,一种基于历史的卫星网络数据包压缩传输方法,其优点在于可以有效压缩卫星链路上的数据传输,同时不会造成由于链路误码所导致的丢包蔓延。
附图说明
图1为本发明的一种基于历史的卫星网络数据包压缩传输方法部署应用中的简化模型;
图2为本发明的缓存区的一个示例布局;
图3为本发明的发送端压缩器的数据包压缩处理示例流程;
图4为本发明的接收端解压器的数据包解压处理示例流程;
图5为本发明的反馈消息的示例格式。
具体实施方式
下面结合附图和实施例对本发明做进一步详细的说明。
图1为一种基于历史的卫星网络数据包压缩传输方法部署应用的简化模型,适用于点到点的骨干网、点到多点的星型网和多点到多点的网状网等组网应用中。压缩器和解压器位于卫星终端中,运行数据包压缩和解压方法。
如图1所示的一个卫星组网的简化示例中,卫星终端100A和卫星终端100B通过卫星200的中继进行通信。前向链路中,卫星终端100A将来自网络LAN1的IP数据包发送到卫星链路之前,由压缩器101A对数据包进行压缩,压缩后的数据包经卫星200转发之后,由卫星终端100B接收,解压器102B对压缩包进行解压,解压后的数据包转发到网络LAN2;返向链路中,卫星终端100B将来自网络LAN2的IP数据包发送到卫星链路之前,由压缩器101B对数据包进行压缩,压缩后的数据包经卫星200转发之后,由卫星终端100A接收,解压器102A对压缩包进行解压,解压后的数据包转发到网络LAN1。
压缩器101和解压器102各自维护一个历史区和缓存区。在一个典型的实施例中,历史区是一个预先分配的内存块,由数据区和索引表两部分组成。历史数据包存放于数据区中。对每一个数据包计算一组称为指纹的特征值,这些指纹作为索引存放在哈希表形式的索引表中。压缩器101对新的数据包的压缩通过指纹的比对定位该数据包与历史数据包中重复的部分,并用相对较短的描述符替换重复部分,从而达到压缩的目的。解压器102根据数据包中的描述符定位历史区中的历史数据,把描述符替换成原始的数据,达到解压的目的。历史区的大小可根据卫星终端的物理内存容量酌情确定。当历史区已填满的时候,根据先进先出或者其它原则,删除旧的数据包以腾出空间存放新的数据包。压缩器101和解压器102为各自的历史区维护一个版本号,每一次对历史区更新后都递增版本号。压缩器101和解压器102采用相同大小的历史区、相同的组织方式和替换原则,以保持两者历史区的同步和一致。
压缩器101的缓存区暂时存放已经发送但尚未得到解压器确认的数据包。解压器102的缓存区暂时存放已经接收但尚未移入历史区的数据包。如图2所示,在一个典型的实施例中,缓存区是一个线性存放数据包的内存空间。缓存区的大小2W根据链路传输的往返时延RTT和平均包速率PacketRate确定。为了使压缩器101能够及时收到解压器102的反馈消息,W必须满足W≥PacketRate·RTT的约束条件。例如,假设卫星链路的带宽为1Mbps,数据包的平均长度为1024字节,在链路带宽饱和的情况下,则平均包速率为PacketRate=122pps,假设卫星链路的往返时延为0.54s,则W≥66,即缓存区应至少能容纳132个数据包。
根据本发明提供的方法,链路上传输的每一个数据包均被赋予一个唯一的序号。每W个数据包的序号组成一个序号窗口,即第0个序号窗口的数据包序号为0,1,2,…,W-1,第k个序号窗口的数据包序号为kW,kW+1,…,(k+1)W-1。因此,缓存区正好能够容纳两个序号窗口内的数据包。假设缓存区已经被第k个序号窗口和第(k+1)个序号窗口的数据包所填充,那么接下来第(k+2)个序号窗口内的数据包将顺序覆盖缓存区中第k个序号窗口的数据包。
本发明公开一种基于历史的卫星网络数据包压缩传输方法,包括以下步骤:
(1)发送端压缩器和接收端解压器在启动时各自分别建立一个历史区和一个缓存区;发送端压缩器和接收端解压器为各自的历史区均维护一个版本号;
(2)发送端压缩器接收来自于地面IP网的原始数据包;
(3)发送端压缩器将原始数据包变换为压缩数据包;
图3图示了在本发明的一个实施例中发送端压缩器对数据包进行压缩处理的流程,具体包括以下步骤:
(301)假设发送端压缩器当前处理的原始数据包序号为N,发送端压缩器判断第N个原始数据包是否是N所在序号窗口的第一个数据包,判断依据为N mod W≡0,若是,则执行步骤(302),否则转入步骤(305);其中,mod为整除取余数运算符;
(302)发送端压缩器判断第(N/W-2)个序号窗口的反馈消息是否已经收到;若收到,则执行步骤(303),否则转入步骤(304);
(303)发送端压缩器将其缓存区中第(N/W-2)个序号窗口内的W个数据包移入到其历史区中,执行步骤(304);
(304)发送端压缩器清空其缓存区中第(N/W-2)个序号窗口内的W个数据包所占据的存储空间,执行步骤(305);
(305)发送端压缩器将第N个原始数据包存入到缓存区中(N mod 2W)的位置;
(306)发送端压缩器通过指纹比对定位第N个原始数据包与其历史区中的数据包中的相同部分,并用较短的压缩描述符替换相同部分,将原始数据包变换为压缩数据包;
(307)发送端压缩器通过卫星链路将压缩数据包发送到接收端解压器,发送端压缩器对第N个原始数据包的压缩处理结束。
(4)发送端压缩器通过卫星链路将压缩数据包发送到接收端解压器;
(5)接收端解压器将压缩数据包解压还原为原始数据包;
图4图示了在本发明的一个实施例中接收端解压器对数据包进行解压处理的流程,具体包括以下步骤:
(501)假设接收端解压器当前处理的压缩数据包的序号为N,接收端解压器判断第N个压缩数据包中附带的版本号V是否大于其历史区版本号Vd;如果V>Vd,说明压缩器的历史区已经过更新,则执行步骤(502);如果V=Vd,说明压缩器与解压器的历史区一致,则转入步骤(504);
(502)接收端解压器将其缓存区中已经发送过反馈消息的第(N/W-2)个序号窗口内的W个数据包移入到其历史区中,并递增历史区的版本号Vd;
(503)接收端解压器清空其缓存区中第(N/W-2)个序号窗口所占据的存储空间,转入步骤(505);
(504)接收端解压器判断第N个压缩数据包是否为N所在序号窗口的接收到的第一个数据包(由于链路上丢包的存在,存在以下可能:接收端解压器接收到的第一个数据包不一定是N所在窗口的第一个数据包,即N不一定是W的倍数),如果是,则转入步骤(503),否则执行步骤(505);
(505)接收端解压器识别和读取第N个压缩数据包中的所有压缩描述符,并定位其历史区中的历史数据,把压缩描述符全部替换还原为原始数据,将压缩数据包解压变换为原始数据包;
(506)接收端解压器输出原始数据包;
(507)接收端解压器判断第N个压缩数据包所在的序号窗口是否已被反馈给发送端压缩器,若已反馈,则转入步骤(510),否则执行步骤(508);
(508)接收端解压器将第N个压缩数据包存入到其缓存区中第(N mod 2W)的位置;
(509)接收端解压器判断第N个压缩数据包是否为所在序号窗口的最后一个压缩数据包,如果是,则执行步骤(510),否则接收端解压器对第N个压缩数据包的解压处理结束;
(510)接收端解压器生成N所在窗口的反馈消息,并通过返向卫星链路发送给发送端压缩器,接收端解压器对第N个压缩数据包的解压处理结束。
由于卫星链路存在误码,因此需要考虑丢包或误包情况的影响,图3所示的压缩器处理流程已充分考虑丢包或误包的情况,若接收端解压器发送的反馈消息在返向链路传输过程中丢失,则发送端压缩器将用已发送过的原始数据包持续覆盖其缓存区中的原有数据。即,如果发送端压缩器没有收到来自接收端解压器的反馈消息,发送端压缩器在处理新的序号窗口的数据包时,将会覆盖缓存区两个窗口中较旧窗口的数据包(步骤(302)和(304)),后者不会被纳入历史区,因此也不会被作为后续数据包的压缩依据,不影响后续数据包的解压。
对于前向链路上丢失的压缩数据包,接收端解压器通过返向链路反馈给压缩器(步骤(510))。如果相应序号窗口中丢失的数据包较少,步骤(510)中的反馈消息包可直接包含丢失数据包的序号。如果丢失的数据包较多,使得链路最大传输单元MTU无法容纳所有丢失数据包的序号,则可以用位矢量来表示数据包的接收情况。因此,反馈消息包含对应数据包序号窗口内接收端解压器未收到数据包的序号,或对应整个窗口的位矢量;当对应整个窗口的位矢量长度超过链路最大传输单元时,将整个窗口的所有数据包进行分组,使得位矢量的每一位对应一组,每一位的值表示对应组内的所有数据包都未被接收端解压器收到,或至少有一个数据包未被接收端解压器收到。
图5所示是接收端解压器反馈消息包的一个示例格式,反馈消息包由包头601、反馈窗口序号k 602和一个位矢量603组成。位矢量的长度为W位,每一位i表示解压器是否收到序号为(kW+i)的数据包。例如,假设W=16,k=10,则位矢量1101011111110111可表示解压器未收到序号为162、164和172的数据包。
当W>8·MTU时(MTU的单位为字节),链路上的一个包无法容纳整个窗口的位矢量,此时可将一个窗口的数据包进行分组,位矢量中的一位表示一组数据包的接收情况。例如上例中,如果用一位表示相邻两个数据包的接收情况,则位矢量的长度可缩小一半:10011101。只要一组中有数据包丢失,对应的位就设为0,反馈至压缩器后,压缩器在更新历史区时就不会采纳该组的所有数据包。
由于链路丢包或误包的存在,图4所示的解压器流程应用到实际中时,还应考虑两个方面的问题。一个是接收端解压器未必能收到某序号窗口的最后一个数据包,即步骤(509)中的判断对于某序号窗口而言可能一直不会成立,因此无法生成该序号窗口的反馈消息。虽然此种情况不会影响发送端压缩器和接收端解压器的正常运行,但是会造成发送端压缩器和接收端解压器不把各自缓存区中该序号窗口内的其它数据包移入到各自的历史区,从而影响压缩的效果。一个弥补措施是,发送端解压器可以在某序号窗口开始接收后,根据平均包速率,预测序号窗口的结束时间,启动一个定时器在该结束时间点产生中断。接收端解压器在定时器中断后发送反馈消息。而后接收的该序号窗口的其它数据包不再存入到缓存区,当然也不会被纳入历史区。
接收端解压器要应对的另外一个问题是在比较极端的情况下,整个序号窗口的数据包可能都会丢失。遇此情况,当下一个序号窗口(假设为第k个窗口)的数据包到达解压器时,它要占据的不是其缓存区中第(k-2)个序号窗口的位置,而是第(k-3)个序号窗口的位置。因此,在更一般的实施例中,步骤(502)和(503)要处理的不是第(N/W-2)个序号窗口,而是缓存区中两个序号窗口中比较旧的那个,并用它的空间来存放N所在序号窗口的数据包,步骤(508)中将数据包N存入缓存区时,选取的存储位置不再是(N mod 2W),而应该是当前序号窗口的序号为(N mod W)的位置。
(6)接收端解压器将解压还原的原始数据包转发到地面IP网;
完成基于历史的卫星网络数据包压缩传输。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于历史的卫星网络数据包压缩传输方法,其特征在于包括以下步骤:
(1)发送端压缩器在启动时分别建立一个历史区和一个缓存区,接收端解压器在启动时分别建立一个历史区和一个缓存区;发送端压缩器和接收端解压器为各自的历史区均维护一个版本号;
(2)发送端压缩器接收来自于地面IP网的原始数据包;
(3)发送端压缩器将原始数据包变换为压缩数据包;
所述步骤(3)包括以下步骤:
(31)发送端压缩器将原始数据包存入到其缓存区中,并根据来自于接收端解压器的反馈消息将其缓存区中的数据包移入到其历史区中;
(32)发送端压缩器通过指纹比对确定原始数据包与其历史区中数据包中的所有相同部分,并用压缩描述符替换相同部分得到压缩数据包;所述的压缩描述符含有唯一标识、其长度比相同部分的字节串短;压缩数据包中附加一个发送端压缩器的当前历史区的版本号以及唯一的序号;
(4)发送端压缩器通过卫星链路将压缩数据包发送到接收端解压器;
(5)接收端解压器将压缩数据包解压还原为原始数据包;
所述步骤(5)包括以下步骤:
(51)接收端解压器将接收到压缩数据包存入到其缓存区中,并将其缓存区中已经发送过反馈消息的序号窗口内的数据包移入到其历史区中,并递增接收端解压器历史区的版本号;
(52)接收端解压器识别和读取压缩数据包中的所有压缩描述符,并定位其历史区中的历史数据,把压缩描述符全部替换还原为原始数据;
(53)接收端解压器将压缩数据包所在的序号窗口内压缩数据包是否已正确接收的情况形成反馈消息,并通过返向卫星链路反馈给发送端压缩器;
(6)接收端解压器将解压还原的原始数据包转发到地面IP网。
2.根据权利要求1所述的一种基于历史的卫星网络数据包压缩传输方法,其特征在于:所述的历史区是一个预先分配的内存块,由数据区和索引表两部分组成;历史数据包存放于数据区中;发送端压缩器和接收端解压器的历史区大小相同、组织方式相同、更新方式相同,两者的历史区内容保持同步和一致;当历史区已填满的时候,根据先进先出原则,删除旧的数据包以腾出存储空间存放新的数据包;发送端压缩器和接收端解压器为各自的历史区均维护一个版本号,每次对历史区更新后都递增版本号。
3.根据权利要求2所述的一种基于历史的卫星网络数据包压缩传输方法,其特征在于:所述的指纹为原始数据包中从任一位置开始的固定长度字节串的哈希值,从指纹可以唯一地索引到所对应的原始数据包和原始数据包中的字节串;这些指纹作为索引存放在哈希表形式的索引表中。
4.根据权利要求1所述的一种基于历史的卫星网络数据包压缩传输方法,其特征在于:发送端压缩器和接收端解压器的缓存区大小保持一致,并且缓存区空间的最小值M依据链路传输的往返时延RTT和数据包速率PacketRate确定,满足M≥2·PacketRate·RTT的约束条件;
发送端压缩器的缓存区暂时存放已经发送但尚未得到接收端解压器反馈确认的原始数据包,接收端解压器的缓存区暂时存放已经接收但尚未移入历史区的压缩数据包。
5.根据权利要求1所述的一种基于历史的卫星网络数据包压缩传输方法,其特征在于:所述的序号窗口由W个数据包的序号组成,其中W=PacketRate·RTT,RTT为链路传输的往返时延,PacketRate为数据包速率,则第0个序号窗口的数据包序号为0,1,2,…,W-1,第k个序号窗口的数据包序号为kW,kW+1,…,(k+1)W-1。
6.根据权利要求1所述的一种基于历史的卫星网络数据包压缩传输方法,其特征在于所述的步骤(31)具体为:
(311)发送端压缩器判断第N个原始数据包是否是该数据包所在序号窗口的第一个数据包,若是,则执行步骤(312),否则转入步骤(315);所述的N为发送端压缩器当前处理的原始数据包序号,判断依据为N mod W≡0,其中,mod为整除取余数运算符,W为一个序号窗口所能容纳的数据包个数;
(312)发送端压缩器判断第N/W-2个序号窗口的反馈消息是否已经收到;若收到,则执行步骤(313),否则转入步骤(314);
(313)发送端压缩器将其缓存区中第N/W-2个序号窗口内的W个数据包移入到其历史区中,执行步骤(314);
(314)发送端压缩器清空其缓存区中第N/W-2个序号窗口内的W个数据包所占据的存储空间,执行步骤(315);
(315)发送端压缩器将第N个原始数据包存入到缓存区中Nmod2W的位置。
7.根据权利要求1所述的一种基于历史的卫星网络数据包压缩传输方法,其特征在于所述的步骤(51)具体为:
(511)接收端解压器判断第N个压缩数据包中附带的版本号V是否大于其历史区版本号Vd;如果V>Vd,则执行步骤(512);如果V=Vd,则转入步骤(514);所述的N为接收端解压器当前处理的压缩数据包的序号;
(512)接收端解压器将其缓存区中已经发送过反馈消息的第N/W-2个序号窗口内的W个数据包移入到其历史区中,并递增历史区的版本号Vd;其中,W为一个序号窗口所能容纳的数据包个数;
(513)接收端解压器清空其缓存区中第N/W-2个序号窗口所占据的存储空间,结束本流程;
(514)接收端解压器判断第N个压缩数据包是否为N所在序号窗口的接收到的第一个数据包,如果是,则转入步骤(513),否则结束本流程。
8.根据权利要求7所述的一种基于历史的卫星网络数据包压缩传输方法,其特征在于所述的步骤(53)具体为:
(531)接收端解压器判断第N个压缩数据包所在的序号窗口是否已被反馈给发送端压缩器,若已反馈,则转入步骤(534),否则执行步骤(532);
(532)接收端解压器将第N个压缩数据包存入到其缓存区中第Nmod2W的位置;
(533)接收端解压器判断第N个压缩数据包是否为所在序号窗口的最后一个压缩数据包,如果是,则执行步骤(534),否则接收端解压器对第N个压缩数据包的解压处理结束;
(534)接收端解压器生成N所在窗口的反馈消息,并通过返向卫星链路发送给发送端压缩器,接收端解压器对第N个压缩数据包的解压处理结束。
9.根据权利要求1或8所述的一种基于历史的卫星网络数据包压缩传输方法,其特征在于:所述的反馈消息包含对应数据包序号窗口内接收端解压器未收到数据包的序号,或对应整个窗口的位矢量;
当对应整个窗口的位矢量长度超过链路最大传输单元时,将整个窗口的所有数据包进行分组,使得位矢量的每一位对应一组,每一位的值表示对应组内的所有数据包都未被接收端解压器收到,或至少有一个数据包未被接收端解压器收到。
10.根据权利要求1所述的一种基于历史的卫星网络数据包压缩传输方法,其特征在于:若接收端解压器发送的反馈消息在返向链路传输过程中丢失,则发送端压缩器将用已发送过的原始数据包持续覆盖其缓存区中的原有数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510317915.XA CN104967498B (zh) | 2015-06-11 | 2015-06-11 | 一种基于历史的卫星网络数据包压缩传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510317915.XA CN104967498B (zh) | 2015-06-11 | 2015-06-11 | 一种基于历史的卫星网络数据包压缩传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104967498A CN104967498A (zh) | 2015-10-07 |
CN104967498B true CN104967498B (zh) | 2018-01-30 |
Family
ID=54221452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510317915.XA Active CN104967498B (zh) | 2015-06-11 | 2015-06-11 | 一种基于历史的卫星网络数据包压缩传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104967498B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105577557B (zh) * | 2015-12-18 | 2018-10-09 | 中南大学 | 一种卫星网络中并发tcp连接复用方法 |
CN109983744B (zh) * | 2016-11-23 | 2022-01-04 | 哈曼贝克自动系统股份有限公司 | 客户端装置到双频带传统接入点的频带引导 |
CN107786259B (zh) * | 2017-11-10 | 2021-02-02 | 成都新橙北斗智联有限公司 | 一种利用推送数据实现北斗短报文回执消息的方法 |
CN110062425A (zh) * | 2019-04-08 | 2019-07-26 | 京信通信系统(中国)有限公司 | 网络传输速率的控制方法、装置、计算机设备和存储介质 |
CN113518081B (zh) * | 2021-06-24 | 2021-11-30 | 成都谐盈科技有限公司 | 一种giop消息传输方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102694554A (zh) * | 2011-01-19 | 2012-09-26 | 三星电子株式会社 | 数据压缩设备、其操作方法以及包括该设备的数据处理装置 |
CN102882879A (zh) * | 2012-10-08 | 2013-01-16 | 中国电子科技集团公司第五十四研究所 | 一种适用于卫星信道的ip数据压缩传输方法 |
CN103379136A (zh) * | 2012-04-17 | 2013-10-30 | 中国移动通信集团公司 | 一种日志采集数据压缩方法、解压缩方法及装置 |
CN104221003A (zh) * | 2012-05-17 | 2014-12-17 | 阿卡麦科技公司 | 利用异步数据词典在多租户共享的基础设施中的基于流的重复数据删除 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1846252B (zh) * | 2003-09-30 | 2010-05-12 | 索尼株式会社 | 数据再现设备、方法和程序 |
US9451000B2 (en) * | 2012-12-27 | 2016-09-20 | Akamai Technologies, Inc. | Stream-based data deduplication with cache synchronization |
-
2015
- 2015-06-11 CN CN201510317915.XA patent/CN104967498B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102694554A (zh) * | 2011-01-19 | 2012-09-26 | 三星电子株式会社 | 数据压缩设备、其操作方法以及包括该设备的数据处理装置 |
CN103379136A (zh) * | 2012-04-17 | 2013-10-30 | 中国移动通信集团公司 | 一种日志采集数据压缩方法、解压缩方法及装置 |
CN104221003A (zh) * | 2012-05-17 | 2014-12-17 | 阿卡麦科技公司 | 利用异步数据词典在多租户共享的基础设施中的基于流的重复数据删除 |
CN102882879A (zh) * | 2012-10-08 | 2013-01-16 | 中国电子科技集团公司第五十四研究所 | 一种适用于卫星信道的ip数据压缩传输方法 |
Non-Patent Citations (1)
Title |
---|
卫星IP网络包头压缩技术分析;张亚生;《无线电工程》;20101031;第40卷(第10期);62-64 * |
Also Published As
Publication number | Publication date |
---|---|
CN104967498A (zh) | 2015-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104967498B (zh) | 一种基于历史的卫星网络数据包压缩传输方法 | |
CN100454920C (zh) | 扩展标题压缩 | |
CN105610744B (zh) | 一种ip报文分片与重组方法及装置 | |
CN103329491B (zh) | 通信装置和通信系统 | |
US8160106B2 (en) | Method, device and system for transmitting Ethernet packets | |
RU2424627C2 (ru) | Динамическое надежное уплотнение заголовка | |
US8234491B2 (en) | Packet-based and pseudo-packet based cryptographic communications systems and methods | |
US8036219B2 (en) | Efficiency improvement for shared communications networks | |
CN104917591B (zh) | 一种适用于单向有损链路的卫星网络数据包压缩方法 | |
CN101488912B (zh) | 一种ip分片方法和装置 | |
CN102647361A (zh) | 数据分组发送方法和接收方法、发送装置和接收装置 | |
MX2010011822A (es) | Mecanismo de compresion de encabezado para transmitir paquetes de rtp en enlaces inalambricos. | |
CN106162374B (zh) | 一种低复杂度的帧内编码帧鲁棒传输方法及系统 | |
CN113784437A (zh) | 一种FlexE承载小颗粒业务的实现方法和装置 | |
Moons et al. | Using SCHC for an optimized protocol stack in multimodal LPWAN solutions | |
US7330902B1 (en) | Header compression | |
EP1198917A1 (en) | Method and system for data reception acknowledgement | |
CN102420672A (zh) | 无线局域网无线接入点向无线控制器进行数据转发的方法 | |
EP1710942A1 (en) | Method and devices for digital data transfer | |
CN114339488B (zh) | 光传输网络中以太网业务保护方法和装置 | |
CN105763375B (zh) | 一种数据包发送方法、接收方法及微波站 | |
CN102006295A (zh) | 基于atm承载ip语音的数据压缩方法 | |
CN101110638B (zh) | 一种链表编码方法及系统 | |
JP2020519100A (ja) | フレックスイーサネットプロトコルにおいてトラヒックを伝送する方法、装置及びシステム | |
Papadopoulos et al. | RFC 4944: per-hop fragmentation and reassembly issues |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |