一种应用于IPOVERDVB的IP数据封装方法及系统.pdf

上传人:54 文档编号:4453123 上传时间:2018-10-03 格式:PDF 页数:14 大小:511.91KB
返回 下载 相关 举报
一种应用于IPOVERDVB的IP数据封装方法及系统.pdf_第1页
第1页 / 共14页
一种应用于IPOVERDVB的IP数据封装方法及系统.pdf_第2页
第2页 / 共14页
一种应用于IPOVERDVB的IP数据封装方法及系统.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《一种应用于IPOVERDVB的IP数据封装方法及系统.pdf》由会员分享,可在线阅读,更多相关《一种应用于IPOVERDVB的IP数据封装方法及系统.pdf(14页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102916936 A (43)申请公布日 2013.02.06 C N 1 0 2 9 1 6 9 3 6 A *CN102916936A* (21)申请号 201110223791.0 (22)申请日 2011.08.05 H04L 29/06(2006.01) H04L 12/951(2013.01) (71)申请人中国科学院声学研究所 地址 100190 北京市海淀区北四环西路21 号 (72)发明人王劲林 王献冠 刘磊 徐剑 杨中臻 郑艳伟 (74)专利代理机构北京法思腾知识产权代理有 限公司 11318 代理人杨小蓉 高宇 (54) 发明名称 一种应用于I。

2、P over DVB的IP数据封装方法 及系统 (57) 摘要 本发明公开一种用于IP over DVB的多IP 数据封装方法及系统,该方法将若干个IP数据包 封装到同一DVB段中进行传输,该DVB段的格式 符合DSM-CC段格式,所述方法包含如下步骤:将 一设定时间段内的若干个IP数据包采用优化的 DSM-CC段格式封装在同一DVB段中进行发送;终 端对接收的DVB段进行解封装,该解封装为拼接 和校验TS包,还原DVB段中的IP数据包。所述优 化的DSM-CC段格式基于DSM-CC段格式,该优化 的DSM-CC段格式还包含如下字段:偏移量域指示 符:用以指示是否在同一个DVB段中同时传输多 。

3、个IP数据包;偏移量、负载个数和偏移量域等字 段以支持将多个IP数据包封装在一个DVB段。本 发明将多个IP数据包放在一个DVB段中传输,增 加了传输有效负载,提高网络利用率和传输效率。 (51)Int.Cl. 权利要求书2页 说明书8页 附图3页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 8 页 附图 3 页 1/2页 2 1.一种用于IP over DVB的多IP数据封装方法,该方法将若干个IP数据包封装到同 一DVB段中进行传输,所述方法包含如下步骤: 步骤1,将一设定时间段内的若干个IP数据包采用优化的DSM-CC段格式封装在同一 DVB段。

4、中进行发送; 步骤2,终端对接收的TS包拼接得到该DVB段,还原并分发该DVB段中包含的若干IP 数据包; 其中,优化的DSM-CC段格式为基于DSM-CC段格式的能同时传输若干IP数据包的段格 式。 2.根据权利要求1所述的用于IP over DVB的多IP数据封装方法,其特征在于,所述 优化的DSM-CC段格式基于DSM-CC段格式,该优化的DSM-CC段格式还包含如下字段: 偏移量域指示符:用以指示是否在同一个DVB段中同时传输多个IP数据包; 偏移量:用于指向第二个IP数据包的起始位置,即第一数据包的起始位置到第二个数 据包起始位置的距离; 负载个数:用于记载一个DVB段中包含的IP数。

5、据包的个数; 偏移量域:用于指示第一个IP数据包的起始位置到本IP数据包起始包的起始位置的 距离。 3.根据权利要求2所述的用于IP over DVB的多IP数据封装方法,其特征在于, 所述偏移量域指示符占用DSM CC段中私有指示符之后的reserved字段,长度为 1bit; 所述偏移量占用DSM CC段中私有指示符之后的table_id_extension字段的低 12bit; 所述负载个数占用DSM CC段中table_id_extension字段之后的reserved和 version_number字段共7bit; 所述偏移量域位于DSM CC格式的段头部之后,包含“n-2”个16b。

6、it的偏移量字段,其 中n表示负载个数的大小,每个16bit的偏移量字段指向段负载中对应数据包的起始位置。 4.根据权利要求1所述的用于IP over DVB的多IP数据封装方法,其特征在于,所述 步骤2进一步包含如下步骤: 1)终端利用解复用器模块对接收到的TS包进行拼装和校验,获取完整DVB段结构; 2)终端解析DVB段头部,获取偏移量域指示符字段、偏移量字段、负载个数字段以及偏 移量域字段; 3)根据上步骤获取的字段,对该DVB段的IP数据包依据负载进行拆解,按序获得多个 IP数据包。 5.根据权利要求4所述的用于IP over DVB的多IP数据封装方法,其特征在于,所述 拆解方法为:。

7、终端解析DVB段头部信息,根据传输数据包个数字段以及偏移量域对负载进 行拆解,还原DVB段中的IP数据包。 6.一种用于IP over DVB的多IP数据封装系统,该装置将若干个IP数据包封装到同 一DVB段中进行传输,该DVB段的格式符合DSM-CC段格式,所述系统包含: 将一设定时间段内的若干个IP数据包采用优化的DSM-CC段格式封装在同一DVB段中 的封装发送单元;和 权 利 要 求 书CN 102916936 A 2/2页 3 对接收的封装多IP数据包的DVB段进行解封装,还原并分发该DVB段中的IP数据包 的终端; 其中,所述终端与封装发送单元分别位于DVB网络的终端与头端。 7.。

8、根据权利要求6所述的用于IP over DVB的多IP数据封装系统,其特征在于,所述 优化的DSM-CC段格式基于DSM-CC段格式,该优化的DSM-CC段格式还包含如下字段: 偏移量域指示符:用以指示是否在同一个DVB段中同时传输多个IP数据包; 偏移量:用于指向第二个IP数据包的起始位置,即第一数据包的起始位置到第二个数 据包起始位置的距离; 负载个数:用于记载一个DVB段中包含的IP数据包的个数; 偏移量域:用于指示第一个IP数据包的起始位置到本IP数据包起始包的起始位置的 距离。 8.根据权利要求7所述的用于IP over DVB的多IP数据封装方法,其特征在于, 所述偏移量域指示符占。

9、用DSM CC段中私有指示符之后的reserved字段,长度为 1bit; 所述偏移量占用DSM CC段中私有指示符之后的table_id_extension的低12bit; 所述负载个数占用DSM CC段中table_id_extension之后的reserved和version_ number字段共7bit; 所述偏移量域位于DSM CC段头部之后,包含“n-2”个16bit的偏移量字段,其中n表 示负载个数的大小,每个16bit的偏移量字段指向段负载中对应数据包的起始位置。 9.根据权利要求7所述的用于IP over DVB的多IP数据封装方法,其特征在于,所述 解封装如下步骤: 1)终。

10、端利用DEMUX模块对接收到的TS包进行拼装和校验,获取完整DVB段结构; 2)终端解析段头部,获取偏移量域指示符字段、偏移量字段、负载个数字段以及偏移量 域字段; 3)根据上步骤获取的字段,对同一DVB段的IP数据包依据负载进行拆解,按序获得多 个IP数据包。 10.根据权利要求9所述的用于IP over DVB的多IP数据封装方法,其特征在于,所述 拆解方法为:终端解析DVB段头部信息,根据传输数据包个数字段以及偏移量域对负载进 行拆解,还原DVB段中的IP数据包。 权 利 要 求 书CN 102916936 A 1/8页 4 一种应用于 IP over DVB 的 IP 数据封装方法及系。

11、统 技术领域 0001 本发明涉及IP over DVB领域,特别涉及一种应用于IP over DVB的IP数据封装 方法及系统。 背景技术 0002 随着HFC双向网改造的深入开展,具有双向通信能力的终端日益增多,数据业务 形式不仅仅只是单向的数据广播,双向交互数据业务的需求也随之增加,对带宽资源的竞 争也日趋激烈。用户在高峰期会竞争带宽资源,特别是下行带宽资源,而系统的扩容又受到 运营商资金、设备能力、网络规划等多种因素的限制,所以提高网络的利用率和传输效率是 很有意义的。 0003 目前适用于IP over DVB的IP数据封装协议主要包括:DVB提出的 MPE(Multi-protoc。

12、ol Encapsulation)和GSE(Generic Stream Encapsulation)以及 IETF提出的ULE(Unidirectional Lightweight Encapsulation),其中MPE和ULE均采用 MPEG-TS格式的物理层帧结构,而GSE采用DVB新一代广播系统的物理层帧结构。这三种封 装格式效率以GSE最高,ULE次之,MPE封装效率最低,但是GSE采用的是新一代的物理层帧 结构,ULE方式不符合DSM-CC段格式,均无法利用终端DEMUX模块对TS包中的数据进行拼 接和校验,而通过软件对TS包中的数据进行拼接和校验会大量占用终端大量CPU资源,影。

13、 响终端机顶盒的响应速度。同时以上描述的三种封装格式均未考虑将多个IP包封装在同 一个DVB段中的策略,从而导致采用这三种封装格式传输数据包时(尤其当网络负载较小 时),其网络利用率和传输效率均很低。 0004 因此如何在参考当前现有的封装协议的基础上,如何获得一种封装效率高的封装 协议和方法是一个亟待解决的问题。 发明内容 0005 本发明的目的在于,为解决当前IP over DVB数据封装协议均只能在一个DVB段 中封装一个IP数据包进行发送,从而导致的网络利用率和传输效率均很低的问题,提出一 种应用于IP over DVB的IP数据封装方法及系统。 0006 为了实现上述目的,本发明提出。

14、一种用于IP over DVB的多IP数据封装方法,该 方法将若干个IP数据包封装到同一DVB段中进行传输,所述方法包含如下步骤: 0007 步骤1,将一设定时间段内的若干个IP数据包采用优化的DSM-CC段格式封装在同 一DVB段中进行发送。 0008 步骤2,终端对接收的TS包拼接得到该DVB段,还原并分发该DVB段中包含的若干 IP数据包。 0009 其中,优化的DSM-CC段格式为基于DSM-CC段格式的能同时传输若干IP数据包的 段格式。 0010 上述技术方案中,所述优化的DSM-CC段格式基于DSM-CC段格式,该优化的DSM-CC 说 明 书CN 102916936 A 2/8。

15、页 5 段格式还包含如下字段:偏移量域指示符:用以指示是否在同一个DVB段中同时传输多个 IP数据包;偏移量:用于指向第二个IP数据包的起始位置,即第一数据包的起始位置到第 二个数据包起始位置的距离;负载个数:用于记载一个DVB段中包含的IP数据包的个数; 偏移量域:用于指示第一个IP数据包的起始位置到本IP数据包起始包的起始位置的距离。 0011 可选的,所述偏移量域指示符占用DSM CC段中私有指示符之后的reserved字段, 长度为1bit;所述偏移量占用DSM CC段中私有指示符之后的table_id_extension字段 的低12bit;所述负载个数占用DSM CC段中table。

16、_id_extension字段之后的reserved和 version_number字段共7bit;所述偏移量域位于DSM CC格式的段头部之后,包含“n-2”个 16bit的偏移量字段,其中n表示负载个数的大小,每个16bit的偏移量字段指向段负载中 对应数据包的起始位置。 0012 上述技术中,所述步骤2进一步包含如下步骤: 0013 1)终端利用解复用器模块对接收到的TS包进行拼装和校验,获取完整DVB段结 构。 0014 2)终端解析DVB段头部,获取偏移量域指示符字段、偏移量字段、负载个数字段以 及偏移量域字段。 0015 3)根据上步骤获取的字段,对该DVB段的IP数据包依据负载进。

17、行拆解,按序获得 多个IP数据包。 0016 上述技术方案中,所述拆解方法为:终端解析DVB段头部信息,根据传输数据包个 数字段以及偏移量域对负载进行拆解,还原DVB段中的IP数据包。 0017 基于上述方法,本发明还提供一种用于IP over DVB的多IP数据封装及解封装系 统,该装置将若干个IP数据包封装到同一DVB段中进行传输,该DVB段的格式符合DSM-CC 段格式,所述系统包含:将一设定时间段内的若干个IP数据包采用优化的DSM-CC段格式封 装在同一DVB段中的封装发送单元;和对接收的封装多IP数据包的DVB段进行解封装,还 原并分发该DVB段中的IP数据包的终端;其中,所述终端。

18、与封装发送单元分别位于DVB网 络的终端与头端。 0018 上述技术方案中,所述优化的DSM-CC段格式基于DSM-CC段格式,该优化的DSM-CC 段格式还包含如下字段:偏移量域指示符:用以指示是否在同一个DVB段中同时传输多个 IP数据包;偏移量:用于指向第二个IP数据包的起始位置,即第一数据包的起始位置到第 二个数据包起始位置的距离;负载个数:用于记载一个DVB段中包含的IP数据包的个数; 偏移量域:用于指示第一个IP数据包的起始位置到本IP数据包起始包的起始位置的距离。 0019 可选的,所述偏移量域指示符占用DSM CC段中私有指示符之后的reserved字段, 长度为1bit;所述。

19、偏移量占用DSM CC段中私有指示符之后的table_id_extension的低 12bit;所述负载个数占用DSM CC段中table_id_extension之后的reserved和version_ number字段共7bit;所述偏移量域位于DSM CC段头部之后,包含“n-2”个16bit的偏移量 字段,其中n表示负载个数的大小,每个16bit的偏移量字段指向段负载中对应数据包的起 始位置。 0020 上述技术方案中,所述解封装如下步骤: 0021 1)终端利用DEMUX模块对接收到的TS包进行拼装和校验,获取完整DVB段结构。 0022 2)终端解析段头部,获取偏移量域指示符字段、。

20、偏移量字段、负载个数字段以及偏 说 明 书CN 102916936 A 3/8页 6 移量域字段。 0023 3)根据上步骤获取的字段,对同一DVB段的IP数据包依据负载进行拆解,按序获 得多个IP数据包。 0024 所述拆解方法为:终端解析DVB段头部信息,根据传输数据包个数字段以及偏移 量域对负载进行拆解,还原DVB段中的IP数据包。 0025 采用上述的技术方案后,本发明具有以下优点: 0026 1、封装协议满足DSM-CC段格式,终端可以利用DEMUX模块进行解包,减轻终端的 处理压力。 0027 2、将多个IP数据包放在一个DVB段中传输,增加了传输有效负载,提高网络利用 率和传输效。

21、率。 附图说明 0028 图1-a本发明中封装协议的封装格式示意图; 0029 图1-b本发明基于现有技术的负载、TS包与DVB段的关系示意图; 0030 图2本发明中数据包封装方法的流程示意图; 0031 图3本发明中终端解析数据包流程示意图; 0032 图4本发明中终端对段负载拆解流程示意图。 具体实施方式 0033 下面结合附图及具体实施例对本发明作进一步的描述。 0034 现有技术的MPEG-2系统,ISO/IEC 13818-1定义了一套私有表结构,可以将 DSM-CC的消息封装成私有表的形式,然后进行打包,这样就可以在MPEG-2的传输流进行传 输,DSM-CC段定义了额外的字段来。

22、满足额外的DSM-CC的需求,其结构与私有段结构兼容, 可以用MPEG-2的解码器对其解码。其中现有技术的DSM-CC段的结构如下表所示: 0035 说 明 书CN 102916936 A 4/8页 7 0036 0037 从上表中可以得知现有技术的DSM-CC段格式主要包括如下字段: 0038 1)table_id:表标识符,8位,标识了DSMCC Section净荷中的数据和类型; 0039 2)section_syntax_indicator:段校验指示符,1位,设置为1时代表使用CRC32 字段,当设为0代表使用checksum字段; 0040 3)private_indicator:。

23、私有指示符,1位,设置为段校验指示符的反码; 0041 4)reserved:预留字段,设置为11; 0042 5)dsmcc_section_length:段长度,12位,当table_id的值不是0x3C,也不是 说 明 书CN 102916936 A 5/8页 8 0x3B时,该值的定义由用户定义; 0043 6)version_number:版本号,5位,当table_id的值不是0x3A到0x3C中的值时, 该字段的值由用户定义; 0044 7)current_next_indicator:1位,如果table_id值在0x3A到0x3C范围内,该位 被设置为1,其他情况由用户定义;。

24、 0045 8)section_number:段号,8位,如果table_id值在0x3A或0x3B,该字段将为0; 如果table_id的值为0x3C,该字段的值为DDB或DDR消息的moduleNumber字段最低的8 位的值,其他的由用户定义; 0046 9)last_section_number:最后一个段号,8位,记录section_number的最大值; 0047 10)CRC_32:DSM CC段的循环冗余校验和,32位; 0048 11)checksum:DSM CC段的校验和,32位。 0049 本发明优化的DSM-CC段格式基于以上现有技术。 0050 如图1-a是本发明的。

25、基于DSM-CC段格式的封装若干个IP数据包的封装协议的封 装格式示意图。 0051 图1-b是本发明的负载、TS包与DVB段的关系图。首先发送端将多个IP包封装 到一个DVB段中,然后一个DVB段被切割为多个TS包在DVB网络中传输,即TS包为DVB网 络中的基本传输单元。终端接收到TS包,将若干接收的TS包拼接成DVB段,然后再还原出 DVB段中的IP数据包。 0052 本发明的一种应用于IP over DVB的IP数据封装方法,该方法将多个IP数据包 封装到同一DVB段中进行传输,终端对接收到的TS包进行拼接和校验得到段后,对DVB段 中的负载进行拆解,还原DVB段中的IP数据包。即本发。

26、明为支持将多个数据包封装到同 一个DVB段中进行传输,设计了一种应用于IP over DVB的IP数据封装协议,该协议在符 合DSM-CC段格式的同时,增加可选MAC地址域、网络协议类型域以及偏移量域,形成优化的 DSM-CC段格式(如图1-a所示),具体添加如下字段: 0053 MAC域指示符(MAC_flag):1bit,用以指示是否包含MAC字段,0表示不包含,1表 示包含,该字段占用原有DSM CC段中私有指示符之后的reserved字段; 0054 偏移量域指示符(offset_flag):1bit,用以指示是否传输多个数据包在同一个 段中传输,0表示否,1表示是,该字段占用原有DS。

27、M CC段中私有指示符之后的reserved字 段; 0055 协议类型(protocolType):4bit,指示段载荷的网络协议类型,该字段占用原有 DSM CC段中私有指示符之后的table_id_extension的高4位; 0056 偏移量(offset1):12bit,该字段在offset_flag为1时有意义,指向第二个数据 包的起始位置,即第一数据包的起始位置到第二个数据包起始位置的距离,单位为B,该字 段占用原有DSM CC段中私有指示符之后的table_id_extension的低12位; 0057 负载个数(packet_number):7bit,只是段载荷中数据包的个数。

28、,一个段中最多支 持128个数据包,该字段占用原有DSM CC段中table_id_extension之后的reserved和 version_number字段; 0058 MAC地址域(MAC field):64bit,可选的MAC域,在MAC_flag为1时,存在该域,存 储目标MAC地址,原有DSM CC段头部之后; 说 明 书CN 102916936 A 6/8页 9 0059 偏移量域(offset field):16*(n-2)bit,在offset_flag为1时,存在该域,包含 n-2个16bit的offset字段,其中n表示packet_number的大小,每个16bit的o。

29、ffset字 段指向段负载中对应数据包的起始位置,即第一个数据包的起始位置到本数据起始包的起 始位置的距离,单位为B,原有DSM CC段头部之后。 0060 上述方法中,数据封装打包器对数据的封装打包包括如下主要步骤: 0061 1)设定数据包时间间隔上限值ULTime,该参数的作用是,在缓存为空时,ULTime 时间间隔内接收到的数据包,可以封装在同一个段中; 0062 2)在数据封装打包器中缓存IP包; 0063 3)选择缓存中发往同一目的端的多个IP数据包按序放在一个段中,构造以上所 述封装协议的封装头部以及CRC后,打包封装成TS包。其中,选择数据包个数时,所有数据 包负载,封装协议头。

30、部,CRC尾部的总长度不能超过一个DSM-CC段长度上限,4096B;若缓存 中的IP包不足以塞满一个段,但在ULTime时间间隔内,数据封装打包器没有收到新的数据 包,则打包器不再等待,先处理当前缓存中的数据包。 0064 上述方法中,终端对接收的数据的解析还原包括如下步骤:1)终端利用DEMUX模 块对接收到的TS进行拼装和校验,获取完整段结构;2)终端解析段头部,获取offset_flag 字段、offset1字段以及off set域等字段;3),然后根据这些字段,对段的负载进行拆解, 按序获得多个数据包。 0065 其中,所述的终端对段的负载进行拆解,包括如下子步骤: 0066 401。

31、)根据本发明协议格式,解析获取offset_flag、packetNumber、offset域、 MAC_flag等字段; 0067 402)通过MAC_flag字段和offset_flag字段计算头部长度headLen以及负载 长度payLoadLen,headLen初始化为8B,当MAC_flag为1时,存在MAC域,headLen headLen+8 B,当offset_flag为1时,存在offset域,headLenheadLen+(n-1)*2B,其中 n表示段中所传输的数据包的个数。负载长度为整个段的长度减去段头部长度以及CRC的 长度; 0068 403)若offset_fla。

32、g1转405),否则,转404); 0069 404)该段只传输单个IP数据包,整段负载即为数据包,结束; 0070 405)根据offset域,packetNumber计算各个包在section中的起始位置,再根据 各个包起始位置计算每个包的长度; 0071 406)根据每个包起始位置和包长度信息,对负载进行拆分,还原IP数据包。 0072 实施例 0073 为了使本发明的目的、实现方法和优点更加清楚明白,以具体实施例并参照附图, 对本发明做进一步的详细说明。 0074 本发明提出了一种应用于IP over DVB的IP数据封装方法,该方法将多个IP数据 包封装到同一DVB段中进行传输,终端。

33、对接收到的TS包进行拼接和校验得到该DVB段后, 对DVB段中的负载进行拆解,还原DVB段中的IP数据包。 0075 如图1-a所示,说明了一种满足本发明的封装协议封装格式,该协议在符合 DSM-CC段格式的同时,增加可选MAC地址域,网络协议类型域,偏移量域以支持多IP数据包 封装在同一个DVB段中。 说 明 书CN 102916936 A 7/8页 10 0076 具体封装格式包括如下字段: 0077 MAC域指示符(MAC_flag):1bit,用以指示是否包含MAC字段,0表示不包含,1表 示包含; 0078 偏移量域指示符(offset_flag):1bit,用以指示是否传输多个IP。

34、数据包在同一 个段中传输,0表示否,1表示是; 0079 协议类型(protocolType):4bit,指示段载荷的网络协议类型; 0080 偏移量1(offset1):12bit,该字段在offset_flag为1时有意义,指向第二个数 据包的起始位置,即第一数据包的起始位置到第二个数据包起始位置的距离,单位为B; 0081 负载个数(packet_number):7bit,只是段载荷中数据包的个数,一个段中最多支 持128个数据包; 0082 MAC地址域(MAC field):64bit,可选的MAC域,在MAC_flag为1时,存在该域,存 储目标MAC地址; 0083 偏移量域(o。

35、ffset field):16*(n-2)bit,在offset_flag为1时,存在该域,包含 n-2个16bit的offset字段,其中n表示packet_number的大小,每个16bit的offset字 段指向段负载中对应数据包的起始位置,即第一个数据包的起始位置到本数据起始包的起 始位置的距离,单位为B。 0084 数据封装打包器对数据的封装打包包括如下主要步骤:1)设定数据包时间间隔 上限值ULTime;2)在数据封装打包器中缓存IP包;3)选择缓存中发往同一目的端的连续 的多个IP数据包放在一个段中,构造以上所述封装协议的封装头部后,打包封装成TS包。 0085 具体流程如图2所。

36、示,包括如下步骤: 0086 201)初始化参数包括:数据包时间间隔上限ULTime;一个段中传输数据包最大个 数packetNumMax等,其中packetNumMax为128; 0087 202)记录当前负载长度payloadLen为0,负载包个数n为0; 0088 203)是否需要传输MAC域,若是转205),否转204); 0089 204)段负载最大长度lenMax设置为(4093-5-4)B,4093表示sectionlength字段 之后的最大长度,5表示sectionlength后段头部的长度,不包括MAC域,4表示尾部CRC字 段的长度,转206); 0090 205)段负载。

37、最大长度lenMax设置为(4093-11-4)B,11表示包括MAC域后 sectionlength后段头部的长度,4表示尾部CRC字段的长度; 0091 206)缓存中是否有数据包,若有转208),否则转207); 0092 207)在ULTIME时间间隔内,是否收到新的数据包,若受到转208),否则转212); 0093 208)按序取一个数据包,并获得其长度packetLen; 0094 209)判断是否能够传输该数据包,判定条件如下: 0095 packetLen+payloadLenlenMax&npacketNumMax 0096 若该条件为真,转210),否则转212); 00。

38、97 210)根据该数据包的packetLen,更新payloadLen,n,lenMax等参数,当传输的数 据包个数超过2个时,封装协议头部中需要增加offset域,每个offset字段需要16bit,更 新payloadLen时,需要更新lenMax参数; 0098 211)将该数据包加入发送队列,转206); 说 明 书CN 102916936 A 10 8/8页 11 0099 212)将发送队列中的数据包作为段的负载,构建协议头部,进行封装打包,注:数 据包的存放顺序与数据包的接收顺序一致; 0100 213)Reset payloadLen,n,lenMax等参数,清空发送队列,转。

39、206); 0101 终端对数据包的处理流程如图3所示,包括如下具体步骤: 0102 301)终端利用DEMUX解析获取完整段结构; 0103 302)终端软件解析段头部,获取offset_flag、packetNumber、offset域等字段; 0104 303)根据上一步骤获取的信息对接收的段负载进行切割,还原成多个IP数据包。 0105 其中,所述的终端对段的负载进行拆解,包括如下子步骤: 0106 401)根据本发明协议格式,解析获取offset_flag、packetNumber、offset域、 MAC_flag等字段; 0107 402)通过MAC_flag字段和offset_。

40、flag字段计算头部长度headLen以及负载 长度payLoadLen,headLen初始化为8B,当MAC_flag为1时,存在MAC域,headLen headLen+8 B,当offset_flag为1时,存在offset域,headLenheadLen+(n-1)*2B,其中 n表示段中所传输的数据包的个数。负载长度为整个段的长度减去段头部长度以及CRC的 长度; 0108 403)若offset_flag1转405),否则,转404); 0109 404)该段只传输单个IP数据包,整段负载即为数据包,结束; 0110 405)根据offset域,packetNumber计算各个包在。

41、section中的起始位置,再根据 各个包起始位置计算每个包的长度; 0111 406)根据每个包起始位置和包长度信息,对负载进行拆分,还原IP数据包。 0112 以上所述仅为本发明的一个具体实施方式,并非用于限定本发明的保护范围,本 领域的技术人员应当理解,在不脱离发明原理的前提下,对本发明的技术方案进行修改或 者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的保护范围中。 说 明 书CN 102916936 A 11 1/3页 12 图1-a 图1-b 说 明 书 附 图CN 102916936 A 12 2/3页 13 图2 图3 说 明 书 附 图CN 102916936 A 13 3/3页 14 图4 说 明 书 附 图CN 102916936 A 14 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1