Ip数据包的封装方法和ip数据包的包头压缩方法

文档序号:7775300阅读:387来源:国知局
Ip数据包的封装方法和ip数据包的包头压缩方法
【专利摘要】一种IP数据包的封装方法和IP数据包的包头压缩方法,其中IP数据包的封装方法包括:在各个基带帧帧头中设置数据类型为IP数据包以及基带帧的工作模式;从当前的基带帧数据域的第一字节起填入待发送的IP数据包,其中所述第一字节是根据上一基带帧剩余的IP数据包的长度来确定;若当前的基带帧数据域的剩余空间不足以承载一个IP数据包,则将该IP数据包中的部分数据填满所述剩余空间以封装完成当前的基带帧。本技术方案提高了信道利用率以及IP数据包的传输效率。
【专利说明】IP数据包的封装方法和IP数据包的包头压缩方法
[0001]
【技术领域】
[0002]本发明涉及数字电视广播,特别涉及一种IP数据包的封装方法和IP数据包的包头压缩方法。
【背景技术】
[0003]现有的数字电视广播中,包括音视频在内的各类数据都是通过传输流(TransportStream, TS)的格式进行封装和传输的。随着技术演进与应用的发展,以IP数据包为中心的数据封装与传输得到了广泛的应用,是下一代数字电视广播系统的必要组成部分。
[0004]通常,传输IP数据包的方法是:将IP数据包通过特定协议封装成传输流包(即TS包)后再传输。由于这样的传输方法需要将长度较长的IP数据包进行多次分割以形成较短的TS包,从而增加了系统复杂度、更引入了大量的无用数据,降低了传输速率。根据文献记载,IP数据包封装为传输流包时,协议开销(Overhead)可达10%以上。
[0005]为了解决上述问题,可以采用直接支持IP数据包传输的数字电视广播通信协议,但实践中由诸多困难,例如,IP数据包的长度不定且变化范围较大,设计IP数据包的封装方法需要考虑周全;每一个IP数据包都有一个IP包头(IP Header),根据不同的IP协议,IP包头长度至少分别为20字节(对于IPv4)和40字节(对于IPv6),因此在数据传输过程中,需要相当比例的信道容量用于传输冗余的IP包头,降低了信道利用率。

【发明内容】

[0006]本发明解决的问题是数字电视广播通信传输IP数据包的效率不高。
[0007]为解决上述问题,本发明实施例提供了一种IP数据包的封装方法,包括:在各个基带帧帧头中设置数据类型为IP数据包以及基带帧的工作模式;从当前的基带帧数据域的第一字节起填入待发送的IP数据包,其中所述第一字节是根据上一基带帧剩余的IP数据包的长度来确定;若当前的基带帧数据域的剩余空间不足以承载一个IP数据包,则将该IP数据包中的部分数据填满所述剩余空间以封装完成当前的基带帧。
[0008]可选地,IP数据包的封装方法还包括:在将该IP数据包中的部分数据填满所述剩余空间以封装完成当前的基带帧的情况下,将该IP数据包中的剩余数据填充至下一基带帧数据域中。
[0009]可选地,所述将该IP数据包中的剩余数据填充至下一基带帧数据域是指:在下一基带帧数据域中优先填充上一基带帧剩余的IP数据包,并依照该剩余的IP数据包的长度确定所述第一字节。
[0010]本发明实施例还提供了一种基带帧中IP数据包的包头压缩方法,其中所述基带帧是采用上述IP数据包的封装方法对IP数据包进行封装后得到的,所述包头压缩方法包括:从当前的基带帧数据域的第一字节开始依次获取各个IP数据包;以第一个IP数据包为基准,分别将后续的IP数据包的包头与第一个IP数据包的包头进行比较;若所有后续的IP数据包的包头与第一个IP数据包的包头的比较结果符合预定条件,则依照预定方式对后续的IP数据包的包头进行压缩以减少数据域的长度;其中,所述预定条件和预定方式是基于该基带帧的工作模式来确定的。
[0011]可选地,若当前的基带帧的工作模式为第一模式,则所有后续的IP数据包的包头与第一个IP数据包的包头的比较结果符合预定条件包括:
比较所有后续的IP数据包的包头中的IP地址与第一个IP数据包的包头中的IP地址是否都相同,其中所述IP地址包括发送端地址和接收端地址;
若上述判断结果为是,将所有后续的IP数据包的包头中的IP地址删除,并将这些IP数据包依次前移以填补删除的IP地址所占用的空间。
[0012]可选地,在比较所有后续的IP数据包的包头中的IP地址与第一个IP数据包的包头中的IP地址是否都相同之前还包括:
根据各个IP数据包的包头中的字段判断IP协议版本;
基于IP协议版本来查找各个IP数据包的包头中的IP地址所处的位置。
[0013]可选地,若当前的基带帧的工作模式为第二模式,则所有后续的IP数据包的包头与第一个IP数据包的包头的比较结果符合预定条件包括:
比较所有后续的IP数据包的包头与第一个IP数据包的包头中除包长字段和校验字段外的内容是否都相同;
若上述判断结果为是,将所有后续的IP数据包的包头删除,并在这些IP数据包前插入对应的IP包长以及将这些IP数据包依次前移以填补删除的包头所占用的空间。
[0014]与现有技术相比,本发明技术方案具有以下有益效果:
根据本发明实施例提供的IP数据包的封装方法,在基带帧数据域中直接填充IP数据包,IP数据包不需要主动进行分割切片,降低了系统复杂度;且封装得到的基带帧可直接用于数字电视广播传输,提高了 IP数据包的传输效率。
[0015]进一步地,在当前基带帧数据域的剩余空间不足以承载一个IP数据包时,将待填充的IP数据包分割切片,并将其中一部分填满该剩余空间,而超出剩余空间部分的IP数据包填充至下一基带帧数据域,从而提高了信道利用率。而且在基带帧数据域中设置第一字节来划分剩余部分的IP数据包和新填充的IP数据包,从而便于接收端通过查找第一字节所处的位置来获取IP数据包。
[0016]基带帧中IP数据包的包头压缩方法,从基带帧数据域的第一字节依次检测各个IP数据包。基于各个基带帧的不同工作模式,其承载的IP数据包的包头具有不同的特性,对符合预定条件的IP数据包的包头进行压缩以减少数据域的长度,从而进一步提高了信道利用率以及IP数据包的传输效率。
【专利附图】

【附图说明】
[0017]图1是本发明的一种IP数据包的封装方法的【具体实施方式】的流程示意图;
图2是本发明的一种基带帧的结构示意图;
图3是本发明的一种基带帧中IP数据包的包头压缩方法的【具体实施方式】的流程示意
图;图4A是本发明的基带帧处于第一模式下经IP数据包的包头压缩后的基带帧结构示意
图;
图4B是本发明的基带帧处于第二模式下经IP数据包的包头压缩后的基带帧结构示意图。
【具体实施方式】
[0018]发明人发现现有技术中数字电视广播通信传输IP数据包的效率不高。
[0019]针对上述问题,发明人经过研究,提供了一种IP数据包的封装方法以及基带帧中IP数据包的包头压缩方法,提高了信道利用率以及IP数据包的传输效率。
[0020]为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的【具体实施方式】做详细的说明。
[0021]如图1所示的是本发明的一种IP数据包的封装方法的【具体实施方式】的流程示意图。参考图1,所述IP数据包的封装方法包括如下步骤:
步骤Sll:在各个基带帧帧头中设置数据类型为IP数据包以及基带帧的工作模式;步骤S12:从当前的基带帧数据域的第一字节起填入待发送的IP数据包,其中所述第一字节是根据上一基带帧剩余的IP数据包的长度来确定;
步骤S13:若当前的基带帧数据域的剩余空间不足以承载一个IP数据包,则将该IP数据包中的部分数据填满所述剩余空间以封装完成当前的基带帧。
[0022]在数字电视广播传输领域,要在广播信道中传输IP数据包,需要将IP数据包封装为数字电视广播所使用的基带帧结构。
[0023]如图2所示的是一种基带帧的结构示意图。参考图2,所述基带帧包括基带帧帧头(BBHEADER)、数据域(DATA FIELD)以及用于填零和带内信令的区域(PADDING AND/ORIN-BAND SIGNALING)ο
[0024]其中,基带帧帧头具体包括MATYPE字段(2 byte)、DFL字段(2 byte)、SYNCD字段(2 byte)、INDICATORS 字段(I byte)以及 CRC-8 字段(I byte)。所述 MATYPE 字段还包括Stream Type字段(3 bits)和保留位字段(13 bits);INDICATORS字段还包括HDRI字段(2bits)和保留位字段(6 bits)。
[0025]数据域用于填充各个IP数据包。所述基带帧结构可适用于IPv4协议和IPv6协议,根据IP协议的不同,IP数据包的包头长度也不同,对于IPv4协议,IP数据包的包头至少20个字节,而对于IPv6协议,IP数据包的包头至少40个字节。
[0026]与现有技术不同的是,在本实施例中,将IP数据包直接填充至基带帧数据域中,且IP数据包不需要主动进行分割切片,降低了系统复杂度。
[0027]具体来说,如步骤Sll所述,在各个基带帧帧头中设置数据类型为IP数据包以及基带帧的工作模式。
[0028]例如,在基带帧帧头(BBHEADER)中设置MATYPE字段中Stream Type寄存器为“001”,以表示基带帧数据域所承载的数据类型为IP数据包。基带帧的工作模式通过基带帧帧头中INDICATORS字段中HDRI寄存器控制。例如,HDRI= “00”时,不使用IP数据包的包头压缩;HDRI= “01”时,使用IP数据包的包头压缩方法且工作于模式一 ;HDRI= “10”时,使用IP包头压缩方法且工作于模式二 ;HDRI= “11”的情形预留。[0029]其中,基带帧的工作模式主要包括高效模式(模式一)和更高效模式(模式二 )。在后续对基带帧数据域中的IP数据包的包头进行压缩时,需要根据不同的工作模式来确定不同的包头压缩方式,这将在后文中详细描述。
[0030]如步骤S12所述,从当前的基带帧数据域的第一字节起填入待发送的IP数据包。
[0031]具体来说,在基带帧数据域中填充IP数据包的过程中,在当前数据域有足够空间(至少能存储一个完整的IP数据包)存放IP数据包的情况下,并不需要主动对IP数据包进行分割切片。
[0032]在本步骤中,从当前的基带帧数据域的第一字节起填入的待发送的IP数据包是完整的IP数据包。其中,所述第一字节是根据上一基带帧剩余的IP数据包的长度来确定的。也就是说,当上一基带帧有剩余的IP数据包未填充至上一基带帧数据域时,该剩余的IP数据包将优先填充至当前的基带帧数据域中,存放的位置为当前的基带帧数据域的起始位置至第一字节所处的位置。然后,下一个IP数据包(完整的IP数据包)以及后续IP数据包将从第一字节所在位置开始依次填充至基带帧数据域。
[0033]如步骤S13所述,若当前的基带帧数据域的剩余空间不足以承载一个IP数据包,则将该IP数据包中的部分数据填满所述剩余空间以封装完成当前的基带帧。
[0034]具体来说,在当前的基带帧数据域的剩余空间小于一个IP数据包的情况下,需要被动地将IP数据包进行分割切片,其中一部分IP数据包填满数据域的剩余空间以封装完成当前的基带帧,剩余的IP数据包将填充至下一基带帧数据域中(具体填充的过程如上述步骤S12中所述)。
[0035]在其他实施例中,也可以舍弃当前的基带帧数据域的剩余空间,该剩余空间用零数据填充以封装完成当前的基带帧。在这种情况下,还需要更新基带帧帧头中的数据域长度(DFL)字段为实际数值,即将原数据域长度减去零数据的长度。
[0036]利用本实施例提供的IP数据包的封装方法降低了系统复杂度,封装得到的基带帧可直接用于数字电视广播传输,提高了 IP数据包的传输效率。
[0037]进一步地,发明人还提供了一种对基带帧数据域中各个IP数据包的包头进行压缩的方法,以进一步提高信道利用率以及IP数据包的传输效率。
[0038]如图3所示的是本发明的一种基带帧中IP数据包的包头压缩方法的【具体实施方式】的流程示意图。参考图3,所述包头压缩方法包括如下步骤:
步骤S21:从当前的基带帧数据域的第一字节开始依次检测各个IP数据包;
步骤S22:以第一个IP数据包为基准,分别将后续的IP数据包的包头与第一个IP数据包的包头进行比较;
步骤S23:若所有后续的IP数据包的包头与第一个IP数据包的包头的比较结果符合预定条件,则依照预定方式对后续的IP数据包的包头进行压缩以减少数据域的长度;其中,所述预定条件和预定方式是基于该基带帧的工作模式来确定的。
[0039]发明人经研究发现,基于各个基带帧的不同工作模式,其承载的IP数据包的包头具有不同的特性,利用这些特性可以进一步对IP数据包的包头进行压缩以使数据域获得额外的空间。
[0040]具体来说,如步骤S21所述,从当前的基带帧数据域的第一字节开始依次检测各个IP数据包。[0041]在本实施例中,所述基带帧是对IP数据包采用上述实施例提供的IP数据包的封装方法进行封装后得到的。因此,在本步骤中,需要从基带帧数据域的第一字节开始一次检测各个IP数据包,这样可以保证开始检测的第一个IP数据包是一个完整的IP数据包(即包含IP数据包的包头)。
[0042]如步骤S22所述,以第一个IP数据包为基准,分别将后续的IP数据包的包头与第一个IP数据包的包头进行比较。如步骤S23所述,若所有后续的IP数据包的包头与第一个IP数据包的包头的比较结果符合预定条件,则依照预定方式对后续的IP数据包的包头进行压缩以减少数据域的长度
在本实施例中,根据各个基带帧的不同工作模式,其具体比较的对象以及压缩处理方式也有所不同。也就是说,所述预定条件和预定方式是基于该基带帧的工作模式来确定的。
[0043]具体来说,若当前的基带帧的工作模式为第一模式(即高效模式),则所有后续的IP数据包的包头与第一个IP数据包的包头的比较结果符合预定条件包括如下步骤:
比较所有后续的IP数据包的包头中的IP地址与第一个IP数据包的包头中的IP地址是否都相同,其中所述IP地址包括发送端地址和接收端地址。
[0044]若上述判断结果为是,将所有后续的IP数据包的包头中的IP地址删除,并将这些IP数据包依次前移以填补删除的IP地址所占用的空间。反之,若上述判断结果为否,则不进行IP数据包的包头压缩处理。
[0045]需要说明的是,该判断结果为否是指:在比较所有后续的IP数据包的IP地址与第一个IP数据包的IP地址过程中,只要发送端地址或者接收端地址中的一个地址不同,即确定判断结果为否。
[0046]进一步地,由于IPv4协议和IPv6协议的IP数据包的包头结构不同,因此,检测时,还需要根据IP数据包包头中的Version字段(第0-3比特)判断IP协议版本,然后再基于IP协议版本来查找到各个IP数据包包头中的IP地址所处的位置。
[0047]上述第一模式下,对基带帧的IP数据包的包头进行压缩后的基带帧的结构示意图如图4A所示。
[0048]若当前的基带帧的工作模式为第二模式(即更高效模式),则所有后续的IP数据包的包头与第一个IP数据包的包头的比较结果符合预定条件包括:
比较所有后续的IP数据包的包头与第一个IP数据包的包头中除包长字段和校验字段外的内容是否都相同。
[0049]若上述判断结果为是,将所有后续的IP数据包的包头删除,并在这些IP数据包前插入对应的IP包长以及将这些IP数据包依次前移以填补删除的包头所占用的空间。反之,若上述判断结果为否,则不进行IP数据包的包头压缩处理。
[0050]需要说明的是,由于在满足上述预定条件的情况下,是将后续的所有IP数据包的包头都删除,将这些IP数据包(除去包头后)依次前移以填补删除的包头所占用的空间后,接收端将无法将这些IP数据包进行区分。因此,需要在这些IP数据包(即除第一个IP数据包之外的后续IP数据包)前插入对应的IP包长后再依次前移以填补删除的包头所占用的空间。
[0051] 上述第二模式下,对基带帧的IP数据包的包头进行压缩后的基带帧的结构示意图如图4B所示。[0052]进一步地,若基带帧在处理过程中采用了本发明实施例提供的包头压缩方法进行压缩,则数据域将获得了额外的剩余空间。因此,在将待传输的IP包依次按照“第一模式”或“第二模式”的规则与数据域中第一个完整IP数据包进行比较。若符合条件,则进行同样的操作删除该待传输的IP数据包的IP地址或IP包头并填充入数据域中,直至数据域空间用尽。若不符合条件,则舍弃数据域的剩余空间,更新基带帧帧头中的数据域长度(DFL)字段,并开始下一基带帧的处理。
[0053]综上所述,采用本技术方案提供的IP数据包的封装方法和基带帧IP数据包的包头压缩方法,提高了信道利用率以及IP数据包的传输效率。
[0054]本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
【权利要求】
1.一种IP数据包的封装方法,其特征在于,包括: 在各个基带帧帧头中设置数据类型为IP数据包以及基带帧的工作模式; 从当前的基带帧数据域的第一字节起填入待发送的IP数据包,其中所述第一字节是根据上一基带帧剩余的IP数据包的长度来确定的; 若当前的基带帧数据域的剩余空间不足以承载一个IP数据包,则将该IP数据包中的部分数据填满所述剩余空间以封装完成当前的基带帧。
2.如权利要求1所述的IP数据包的封装方法,其特征在于,还包括: 在将该IP数据包中的部分数据填满所述剩余空间以封装完成当前的基带帧后,将该IP数据包中的剩余数据填充至下一基带帧数据域中。
3.如权利要求2所述的IP数据包的封装方法,其特征在于,所述将该IP数据包中的剩余数据填充至下一基带帧数据域是指: 在下一基带帧数据域中优先填充上一基带帧剩余的IP数据包,并依照该剩余的IP数据包的长度确定所述第一字节。
4.如权利要求1所述的IP数据包的封装方法,其特征在于,所述IP数据包支持IPv4协议和IPv6协议。
5.一种基带帧中IP数据包的包头压缩方法,其中所述基带帧是采用如权利要求1所述的IP数据包的封装方法对I P数据包进行封装后得到的,其特征在于,所述包头压缩方法包括: 从当前的基带帧数据域的第一字节开始依次检测各个IP数据包; 以第一个IP数据包为基准,分别将后续的IP数据包的包头与第一个IP数据包的包头进行比较; 若所有后续的IP数据包的包头与第一个IP数据包的包头的比较结果符合预定条件,则依照预定方式对后续的IP数据包的包头进行压缩以减少数据域的长度;其中,所述预定条件和预定方式是基于该基带帧的工作模式来确定的。
6.如权利要求5所述的基带帧中IP数据包的包头压缩方法,其特征在于,若当前的基带帧的工作模式为第一模式,则所有后续的IP数据包的包头与第一个IP数据包的包头的比较结果符合预定条件包括: 比较所有后续的IP数据包的包头中的IP地址与第一个IP数据包的包头中的IP地址是否都相同,其中所述IP地址包括发送端地址和接收端地址; 若上述判断结果为是,将所有后续的IP数据包的包头中的IP地址删除,并将这些IP数据包依次前移以填补删除的IP地址所占用的空间。
7.如权利要求6所述的基带帧中IP数据包的包头压缩方法,其特征在于,在比较所有后续的IP数据包的包头中的IP地址与第一个IP数据包的包头中的IP地址是否都相同之前还包括: 根据各个IP数据包的包头中的字段判断IP协议版本; 基于IP协议版本来查找各个IP数据包包头中的IP地址所处的位置。
8.如权利要求5所述的基带帧中IP数据包的包头压缩方法,其特征在于,若当前的基带帧的工作模式为第二模式,则所有后续的IP数据包的包头与第一个IP数据包的包头的比较结果符合预定条件包括:比较所有后续的IP数据包的包头与第一个IP数据包的包头中除包长字段和校验字段外的内容是否都相同; 若上述判断结果为是,将所有后续的IP数据包的包头删除,并在这些IP数据包前插入对应的IP包长以及将这些IP数据包依次前移以填补删除的包头所占用的空间。
【文档编号】H04L29/06GK103595660SQ201310533077
【公开日】2014年2月19日 申请日期:2013年11月4日 优先权日:2013年11月4日
【发明者】张文军, 徐洪亮, 管云峰, 夏平建, 何大治 申请人:上海数字电视国家工程研究中心有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1