专利名称:数据封装方法及装置的制作方法
技术领域:
本发明涉及通信技术领域,特别涉及一种数据封装方法及装置。
背景技术:
高速率分组数据(HighRate Packet Data,简称HRPD)是码分多址(CodeDivision Multiple Access,简称CDMA) 2000系统发展的第一个阶段CDMA2000-1X的演进版本,是专 门针对分组数据业务优化的技术。在HRPD网络与异网络系统互通的场景下,异网络系统如长期演进(LongTerm Evolution,简称LTE)网络。以驻留在LTE网络中的演进的通用陆基无线接入网(Evolved Universal Terrestrial Radio Access Network,简称 E-UTRAN)中的接入终端(Access Terminal,简称AT)与HRPD网络中的接入网(Access Network,简称AN)通信为例,当发送 端(AT或AN)要发送消息给接收端(AN或AT)时,首先发送端要对消息进行HRPD网络中的 各个协议层的数据封装,过程如下100、根据所选定的媒质接入控制(Media Access Control,简称MAC)层封装的数 据包格式来确定各个协议层可封装的数据包的最大长度。例如,以控制信道传输的数据包 的包长为1024比特为例,即最终封装到物理层的数据包的长度最大为1024比特,物理层添 加了 22比特的包头,包括16比特的循环冗余校验(CRC)和6比特的尾比特,那么其上一层 MAC层封装的数据包的长度为1002比特,以此类推,从下面的协议层到上面的协议层扣除 各个协议层所添加的包头的长度,可得出各个协议层封装的数据包的最大长度。101、发送端将待发送的数据包发送给信令网络协议(Signaling NetworkProtocol,简称SNP)层,SNP层为该数据包打上统一编号协议层的包头,将数据包 和统一编号协议层的包头封装为封装数据包A病传送给信令链路协议(Signaling Link Protocol,简称 SLP)层。102、SLP发送(SLP-D)层将封装数据包A作为本层的净荷(payload),并打上传 送方式的包头,将封装数据包A和传送方式的包头封装为封装数据包B并传送给SLP分段 (SLP-F)层。该SLP-F层将封装数据包B作为本层的净荷,并打上是否分段的包头,分段和 未分段的包头不同,将封装数据包B和是否分段的包头封装为封装数据包C并传送给流协 议(Stream)层。其中,分段的依据是要根据当前选定的MAC层封装的数据包格式中的包大 小来确定。103、流协议层将封装数据包C作为本层的净荷,并打上流的包头,将封装数据包C 和流的包头封装为封装数据包D并传送给会话协议(Session)层。104、会话协议层未对传送来的封装数据包D作任何处理,之后,将封装数据包D传 送给连接协议(Connection)层。105、连接协议层中的包合并协议(Packet Consolidation Protocol,简称PCP)对 封装数据包D进行分格式处理,共有两种格式,其中A格式是将每一个封装后的封装数据包 D封装一个单独包,成为封装数据包E,且连接协议层对该封装数据包E不作任何处理,即不
6添加任何包头;而B格式是将多个封装数据包D拼装成一个大包,成为封装数据包F,每个 封装数据包F中的各个封装数据包D前都需要添加连接协议层的包头,即8比特的长度字 段表示其后的封装数据包D的长度,如果拼装好的大包还未达到该连接协议层能够封装的 数据包的最大包长,还将添加填充比特。之后,将封装好的封装数据包E或封装数据包F传 送给信令适配协议(Signaling Adaptation Protocol,简称SAP)层。这里的最大包长是根 据当前选定的MAC层封装的数据包格式中的包大小来确定。106,SAP层将封装数据包E或封装数据包F作为本层的净荷,并打上SAP的包头, 将封装数据包E或封装数据包F和SAP的包头封装为封装数据包G。该封装是为了替换直 接使用HRPD网络的空中接口传输数据包时MAC层的包头以及适配使用异系统传递HRPD的 信息时对端的识别。107、发送端对其要发送到对端的数据包进行数据封装后,通过隧道将封装数据包 G发送至对端,由对端对该封装数据包G进行逆序逐层解封装后,即可将发送端得到本来的 数据包。本例子中,隧道包括驻留在E-UTRAN中的AT与E-UTRAN中的基站(eNB)之间的空 中接口、eNB与LTE的核心网移动管理实体(MME)之间的Sl接口以及MME与HRPD网络之 间的SlOl接口。在上述发送端通过HRPD的各个协议层对数据包进行数据封装的过程中,经过 HRPD的协议层处理后的封装数据包相对于E-UTRAN的空中接口而言,是一个纯上层的应用 数据,由于在经过HRPD的各个协议层处理后的封装数据包中已添加了多个包头以及可能 的填充比特,这些与有用数据无关的纯开销数据都将在E-UTRAN的空中接口被当成有用的 信息进行传送,浪费了 E-UTRAN的空中接口的宝贵资源。
发明内容
本发明实施例的目的在于提供一种数据封装方法及装置,以在HRPD与异网络系 统互通场景下,减少数据封装中与有用数据无关的开销数据,以节约异网络系统的空中接 口的传输资源。本发明实施例提供了一种数据封装方法,包括接收第一封装数据包,所述第一封装数据包中封装有发送端向接收端发送的数据 包和高速率分组数据HRPD网络中的信令链路协议分段SLP-F层以上的各个协议层的包头, 所述发送端和所述接收端之一为所述HRPD网络中的接入网;确定所述第一封装数据包的包长大于或等于选定包长,且查询到所述发送端采用 隧道向所述接收端传送所述数据包,则在所述第一封装数据包上添加标识不分段的包头, 将所述第一封装数据包和所述标识不分段的包头封装为第二封装数据包;将所述第二封装数据包发送至下层协议层进行封装处理。本发明实施例还提供了一种数据封装方法,包括接收多个第一封装数据包,所述第一封装数据包中封装有发送端向接收端发送的 数据和高速率分组数据HRPD网络中的连接协议层以上的各个协议层的包头,所述发送端 和所述接收端之一为所述HRPD网络中的接入网;查询到所述发送端采用隧道向所述接收端传送所述数据包,则在各个所述第一封 装数据包上添加对应的连接层包头,并通过包合并协议,在不添加填充比特的条件下,将各个所述第一封装数据包以及对应的所述连接层包头封装为第二封装数据包;将所述第二封装数据包发送至下层协议层进行封装处理。本发明实施例还提供了一种数据封装方法,包括在预设时间内,高速率分组数据HRPD网络中的信令适配协议SAP层接收多个A格 式数据包和/或B格式数据包,所述A格式数据包和/或B格式数据包中封装有发送端向 接收端发送的数据和所述SAP层以上的各个协议层的包头,所述发送端和所述接收端之一 为所述HRPD网络中的接入网;在各个所述A格式数据包上添加所述连接协议层包头,删除各个所述B格式数据 包中的填充比特,将添加所述连接协议层包头的各个所述A格式数据包和/或删除填充比 特的B格式数据包在不添加新的填充比特的条件下合并为新的B格式数据包;在所述新的B格式数据包上添加所述SAP层的包头并发送出去;其中,所述A格式数据包为所述HRPD网络中的连接协议层未做封装处理的数据 包,所述B格式数据包为所述连接协议层将多个接收到的封装数据包分别添加连接协议层 包头后顺序连接且添加填充比特后的数据包。本发明实施例还提供了一种数据封装方法,包括接收封装数据包,所述封装数据包中封装有发送端向接收端发送的数据和高速率 分组数据HRPD网络中的信令适配协议SAP层以上的各个协议层的包头,所述发送端和所述 接收端之一为所述HRPD网络中的接入网;在所述封装数据包上添加所述SAP层的包头并发送出去,所述SAP层的包头中包 括1比特信令适配状态字段、1比特连接层包格式字段以及6比特保留字段。本发明实施例还提供了一种数据封装方法,包括发送端获取所述发送端向接收端发送数据包所通过的异网络的空中接口传输数 据包的包长,其中,所述发送端和所述接收端中的一个为高速率分组数据HRPD网络中的接 入网,另一个为驻留在异网络中的接入终端;计算去除所述异网络的各个协议层的包头开销后,在HRPD网络中的各个协议层 封装后的封装数据包的最大包长;根据计算得到的对应的所述封装后的封装数据包的最大包长,通过所述HRPD网 络中的各个协议层对接收到的数据包进行封装处理。一种数据封装装置,高速率分组数据HRPD网络中的信令链路协议分段SLP-F层包 括接收模块,用于接收第一封装数据包,所述第一封装数据包中封装有发送端向接 收端发送的数据包和所述SLP-F层以上的各个协议层的包头,所述发送端和所述接收端之 一为所述HRPD网络中的接入网;封装模块,用于在确定所述第一封装数据包的包长大于或等于选定包长,且查询 到所述发送端采用隧道向所述接收端传送所述数据包时,在所述第一封装数据包上添加 标识不分段的包头,将所述第一封装数据包和所述标识不分段的包头封装为第二封装数据 包;处理模块,用于将所述第二封装数据包发送至下层协议层进行封装处理。一种数据封装装置,高速率分组数据HRPD网络中的连接协议层包括
接收模块,用于接收第一封装数据包,所述第一封装数据包中封装有发送端向接 收端发送的数据和所述连接协议层以上的各个协议层的包头,所述发送端和所述接收端之 一为所述HRPD网络中的接入网;封装模块,用于在确定所述第一封装数据包的包长小于预置包长,且查询到所述 发送端采用隧道向所述接收端传送所述数据包时,在所述第一封装数据包和包长小于所述 预置包长的多个封装数据包上添加对应的连接层包头,并通过包合并协议,在不增加填充 比特的条件下,将所述第一封装数据包、所述多个封装数据包以及对应的所述连接层包头 封装为第二封装数据包;发送模块,用于将所述第二封装数据包发送至下层协议层进行封装处理。一种数据封装装置,高速率分组数据HRPD网络中的信令适配协议SAP层包括接收模块,用于在预设时间内,高速率分组数据HRPD网络中的信令适配协议SAP 层接收多个A格式数据包和/或B格式数据包,所述A格式数据包和/或B格式数据包中 封装有发送端向接收端发送的数据和所述SAP层以上的各个协议层的包头,所述发送端和 所述接收端之一为所述HRPD网络中的接入网;封装模块,用于在各个所述A格式数据包上添加所述连接协议层包头,删除各个 所述B格式数据包中的填充比特,将添加所述连接协议层包头的各个所述A格式数据包和 /或删除填充比特的B格式数据包在不添加新的填充比特的条件下合并为新的B格式数据 包;发送模块,用于在所述新的B格式数据包上添加所述SAP层的包头并发送出去。—种数据封装装置,高速率分组数据HRPD网络中的信令适配协议SAP层包括接收模块,用于接收封装数据包,所述封装数据包中封装有发送端向接收端发送 的数据和所述SAP层以上的各个协议层的包头,所述发送端和所述接收端之一为所述HRPD 网络中的接入网;封装模块,用于在所述封装数据包上添加所述SAP层的包头并发送出去,所述SAP 层的包头中包括1比特信令适配状态字段、1比特连接层包格式字段以及6比特保留字段。一种数据封装装置,包括获取模块,用于获取所述发送端向接收端发送数据包所通过的异网络的空中接口 传输数据包的包长,其中,所述发送端和所述接收端中的一个为高速率分组数据HRPD网络 中的接入网,另一个为驻留在异网络中的接入终端;计算模块,用于计算去除所述异网络的各个协议层的包头开销后,在HRPD网络中 的各个协议层封装后的封装数据包的最大包长;封装模块,用于根据计算得到的对应的所述封装后的封装数据包的最大包长,通 过所述HRPD网络中的各个协议层对接收到的数据包进行封装处理。由以上技术方案可知,本发明实施例的数据封装方法及装置,通过发送端的HRPD 网络中的各个协议层对数据包的封装处理的改变,可以减少数据包封装中的分段,增加组 包的大小,取消填充比特,从而减少了各个协议层进行数据封装中与有用数据无关的开销 数据,节省异网络系统中的接入终端与HRPD网络中的接入网间的传输资源,提高传输效 率。
9
图1为本发明实施例的AT与AN通过E-UTRAN通信的协议层示意图
图2为本发明实施例的AT与AN通过E-UTRAN通信的连接示意图3为本发明I〔据封装方法第一实施例的流程示意图4为本发明I〔据封装方法第二实施例的流程示意图5为本发明I〔据封装方法第三实施例的流程示意图6为本发明I〔据封装方法第四实施例的流程示意图7为本发明I〔据封装方法第五实施例的流程示意图8为本发明I〔据封装方法第六实施例的流程示意图9为本发明I〔据封装方法第七实施例的流程示意图10为本发明ξ数据封装装置第一实施例的结构示意图11为本发明ξ数据封装装置第二实施例的结构示意图12为本发明ξ数据封装装置第三实施例的结构示意图13为本发明ξ数据封装装置第四实施例的结构示意图14为本发明ξ数据封装装置第五实施例的结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。图1为本发明实施例的AT与AN通过E-UTRAN通信的协议层示意图。需要注意的 是本发明实施例中的AT均为未驻留在HRPD网络的AN中的接入终端,该AT是驻留在异网 络下的接入网中;本发明实施例中的AN均为HRPD网络中的接入网络。另外,本发明实施例 中的异网络可以是除了 HRPD网络外的其他任意网络,本发明实施例中均以LTE网络为例, 此时AT为双模终端,其目前处于LTE网络的E-UTRAN中。在HRPD网络全网覆盖且LTE网 络部分覆盖,HRPD网络和LTE网络互通的场景下,具体描述本发明实施例的AT和AN之间 传送消息时的数据封装技术方案。如图1所示,在AT中包括HRPD网络模块和LTE网络模 块,AT中即具有HRPD网络和LTE网络对应的各个协议层,在AN中具有HRPD网络对应的各 个协议层。图2为本发明实施例的AT与AN通过E-UTRAN通信的连接示意图。结合图1和图 2所示,如果驻留在E-UTRAN中的AT要向HRPD网络中的AN发送消息Al,则需要先将该消 息Al经过HRPD网络中的协议层封装为消息Bl ;该消息Bl相对于E-UTRAN的空中接口,即 AT与eNB之间的空中接口,是一个上层应用类型的消息,该消息Bl经过LTE网络中的协议 层封装为消息Cl,AT将消息Cl经过E-UTRAN的空中接口发给eNB ;eNB经过LTE网络中的 协议层解封装消息Cl,将解封装后的消息Bl经过Sl接口发送给MME ;MME将消息Bl按照 MME与AN间连接的SlOl接口的协议封装为消息D1,并通过SlOl接口将消息Dl发送至AN ; AN首先按照SlOl接口的协议解封装消息D1,得到消息Bi,然后经过HRPD网络中的协议层 解封装消息Bi,得到消息Al,即完成AT到AN的消息发送。
结合图1和图2所示,如果HRPD网络中的AN要向驻留在E-UTRAN中的AT发送 消息A2,则需要先将该消息A2经过HRPD网络中的协议层封装为消息B2 ;AN将消息B2按 照MME与AN间连接的SlOl接口的协议封装为消息C2,并通过SlOl接口将消息C2发送至 MME ;MME按照SlOl接口的协议解封装消息C2,得到消息B2,将消息B2经过Sl接口发送给 eNB ;eNB将该消息B2经过LTE网络中的协议层封装为消息D2,eNB将消息D2经过E-UTRAN 的空中接口发给AT,该消息D2相对于E-UTRAN的空中接口,即AT与eNB之间的空中接口, 是一个上层应用类型的消息;AT经过LTE网络中的协议层解封装消息D2,得到消息B2,然 后经过HRPD网络中的协议层解封装消息B2,得到消息A2,即完成AN到AT的消息发送。图3为本发明数据封装方法第一实施例的流程示意图,如图3所示,包括步骤301、接收第一封装数据包,所述第一封装数据包中封装有发送端向接收端发 送的数据包和HRPD网络中的SLP-F层以上的各个协议层的包头,所述发送端和所述接收端 之一为所述HRPD网络中的接入网。该步骤301中具体包括发送端将发送至接收端的数据包发送给SNP层,通过SNP 层为该数据包打上统一编号协议层的包头,将数据包和包头封装为封装数据包31并传送 给SLP层;SLP-D层将由SNP发送来的封装数据包31作为本层的净荷,并打上传送方式的包 头后,将封装数据包31和传送方式的包头封装为第一封装数据包并传送给SLP-F层;SLP-F 层接收该第一封装数据包。步骤302、确定该第一封装数据包的包长大于或等于选定包长,且查询到发送端采 用隧道向接收端传送数据包,则在该第一封装数据包上添加标识不分段的包头,将该第一 封装数据包和标识不分段的包头封装为第二封装数据包。该步骤302中,可以通过设定的所述选定包长的值,SLP-F层来判断是否对接收到 的第一封装数据包进行分段,是为了使得原先已达到要分段的包长的数据包在本发明实施 例的方案中不再进行分段操作。本发明实施例中所述的选定包长可以为选定的HRPD网络 中的MAC层封装的数据包格式中的包长,或选定的MAC层封装的数据包格式中的包长减去 从MAC层到SLP-F层封装数据包时添加的包头的长度后的长度。另外,该步骤302中还要查询发送端是否采用隧道向接收端传送数据包,具体可 以为,发送端通过查询隧道模式的状态变量,如果隧道模式的状态变量置0表示直接使用 HRPD网络的空中接口传送数据包,即发送端和接收端均在HRPD网络中;如果隧道模式的状 态变量置1表示使用隧道传送数据包,在本发明实施例中即通过SlOl接口、Sl接口和LTE 网络的空中接口传送数据包。步骤303、将第二封装数据包发送至下层协议层进行封装处理。步骤303具体包括流协议层将该第二封装数据包作为本层的净荷,并打上流的 包头,之后,将第二封装数据包和流的包头封装为封装数据包32并传送给会话协议层;会 话协议层不对传送来的封装数据包32作任何处理,之后,将该封装数据包32传送给连接协 议层;连接协议层中的PCP对从会话协议层接收来的封装数据包32进行分格式处理,共有 两种格式,其中A格式数据包是将每一个封装后的封装数据包32封装一个单独包,成为通 过连接协议层封装后的封装数据包33,且连接协议层对该封装数据包33不作任何处理,即 不添加任何包头;而B格式数据包是将多个封装后的封装数据包32拼装成一个大包,成为 封装数据包33’,每个封装数据包33’中的各个封装数据包32前都需要添加连接协议层的包头,如果拼装好的大包还未达到最大的包长,还将添加填充比特。之后,将封装好的封装 数据包33或封装数据包33’传送给SAP层。这里的最大包长是根据当前选定的MAC层封 装的数据包格式中的包大小来确定。在本实施例中,步骤303中接收到的第二封装数据包的包长可能要比该步骤303 中设定的最大包长要长,此时,在步骤303中,PCP只需要将接收到的第二封装数据包作为A 格式数据包即可。本实施例提供的数据封装方法,取消了 SLP-F层对封装数据包的分段操作,从而 适当地减少了分段的段数以及分段后各个数据包的包头开销,进一步减少了 SLP-F以下的 各个协议层对接收到的各个封装数据包添加包头的开销,节约了数据传输资源,可以提高 AT和AN之间的数据传输效率。图4为本发明数据封装方法第二实施例的流程示意图,如图4所示,包括步骤401、接收多个第一封装数据包,该第一封装数据包中封装有发送端向接收端 发送的数据和HRPD网络中的连接协议层以上的各个协议层的包头,所述发送端和所述接 收端之一为HRPD网络中的接入网。步骤401具体包括发送端将待发送的数据包发送给SNP层,SNP为该数据包打上 统一编号协议层的包头,将该数据包和包头封装为封装数据包41传送给SLP层;SLP-D层 将封装数据包41作为本层的净荷,并打上传送方式的包头,之后,将该封装数据包41和传 送方式的包头封装为封装数据包42并传送给SLP-F层;该SLP-F层将封装数据包42作为 本层的净荷,并打上是否分段的包头,分段和未分段的包头不同,之后,将封装数据包42和 是否分段的包头封装为封装数据包43并传送给流协议层,其中,分段的依据可以是根据当 前选定的MAC层封装的数据包格式中的包大小来确定;流协议层将封装数据包43作为本层 的净荷,并打上流的包头,之后,将封装数据包43和流的包头封装为第一封装数据包并传 送给会话协议层;会话协议层不对传送来的第一封装数据包作任何处理,之后,将第一封装 数据包传送给连接协议层;连接协议层接收该第一封装数据包。步骤402、查询到发送端采用隧道向接收端传送数据包,则在各个第一封装数据包 上添加对应的连接层包头,即添加额定长度的包头字段,字段的取值代表了其后的净荷的 长度,并通过PCP,在不添加填充比特的条件下,将各个第一封装数据包以及对应的连接层 包头封装为第二封装数据包。该步骤402中,可以不限定封装第二封装数据包的长度,将接收到的多个第一封 装数据包合并为一个不限包长的大的数据包。当然,为了适配隧道可传输的数据包的最大 包长,也可以设定一个预置包长,并确定各个第一封装数据包的包长小于预置包长时才合并。该预置包长可以为任意值,该值只要小于或等于隧道可传输数据包的最大长度即 可。该预置包长的取值的限制条件为1)单位若为比特,则其长度必须是8的整数倍,以 便传送时凑成整字节;2)取值不能太大,不能大于隧道传输数据包的最大长度(65535*8 = 524280比特)。条件2)中的这个值远远超出了 HRPD网络的空中接口每次发送消息的大小。 目前,在多载波DO. B的情况下,最长的消息TCA也只有2万多比特,但一般在网络中实际使 用的常常是3千多比特。因此,该设定包长可以是满足上述两个条件的任意值。在本实施例中,该预置包长可以为隧道传送的数据包的最大长度,或隧道传送的数据包的最大长度减去SAP层封装数据包时添加的包头的长度后的长度。另外,在该步骤402中对各个从上层接收的封装数据包添加包头并顺序进行组 包,且无需在组包的长度没有达到设定包长时增加填充比特,组成B格式的第二封装数据 包。步骤403、将该第二封装数据包发送至下层协议层进行封装处理。该步骤403具体可以包括SAP层将该第二封装数据包作为本层的净荷,并打上 SAP的包头,将第二封装数据包和SAP的包头封装为最终要通过隧道发送出去的数据包。本实施例提供的数据封装方法,设置了一个PCP组包的更宽泛的范围,使得大部 分封装数据包均可以进行组包,从而可以将多个数据包组成一个大包传递至下一协议层, 使得下一协议层添加的包头的开销减少,并且取消了填充比特,从而进一步节省了数据传 输资源,可以提高AT和AN之间的数据传输效率。图5为本发明数据封装方法第三实施例的流程示意图。如图5所示,包括步骤501、HRPD网络中的SLP-F层接收第三封装数据包,该第三封装数据包中封装 有发送端向接收端发送的数据和SLP-F层以上的各个协议层的包头。步骤501具体包括发送端将待发送的数据包发送给SNP层,SNP为该数据包打上 统一编号协议层的包头,将该数据包和包头封装为封装数据包51并传送给SLP层;SLP-D 层将封装数据包51作为本层的净荷,并打上传送方式的包头,之后,将该封装数据包51和 传送方式的包头封装为第三封装数据包并传送给SLP-F层;SLP-F层接收该第三封装数据 包。步骤502、确定第三封装数据包的包长大于或等于第一设定包长且小于第二设定 包长,且查询到发送端采用隧道向接收端传送数据包,则在该第三封装数据包上添加标识 不分段的包头,将第三封装数据包和标识不分段的包头封装为第四封装数据包。其中,所述第一设定包长为选定的所述HRPD网络中的MAC层封装的数据包格式 中的包长,或选定的所述MAC层封装的数据包格式中的包长减去从所述MAC层到所述SLP-F 层封装数据包时添加的包头的长度后的长度;所述第二设定包长为适配所述包合并协议 的净荷长度域所能表示的数据包的包长最大值减去在所述连接协议层和所述SLP-F层之 间的各个协议层封装数据包时添加的包头的长度后的长度。在本实施例中,除了考虑尽量不对封装数据包进行分段外,对于分段的依据还需 要考虑在PCP组包时,B格式数据包的包头中长度域所能指示的最大数据包长度。若以长 度域为8比特为例,那么B格式数据包中的净荷的最大长度为2040比特。即封装数据包不 分段的上限还要满足封装到连接协议层时的封装数据包的大小不能大于2040比特。即如 果在SLP-F层接收到的封装数据包的长度为2500比特,那么是需要对其进行分段的。步骤503、将该第四封装数据包发送至连接协议层和SLP-F层之间的协议层进行 封装处理,并将封装处理后得到的第一封装数据包发送至连接协议层。步骤503具体包括将第四封装数据包传送给流协议层;流协议层将该第四封装 数据包作为本层的净荷,并打上流的包头,之后,将第四封装数据包和流的包头封装为第一 封装数据包并传送给会话协议层;会话协议层不对传送来的第一封装数据包作任何处理, 之后,将第一封装数据包传送给连接协议层。步骤504、连接协议层接收多个第一封装数据包,该第一封装数据包中封装有发送
13端向接收端发送的数据和HRPD网络中的连接协议层以上的各个协议层的包头,所述发送 端和所述接收端之一为HRPD网络中的接入网。步骤505、确定各个第一封装数据包的包长小于预置包长,且查询到所述发送端采 用隧道向所述接收端传送所述数据包,则在各个所述第一封装数据包上添加对应的连接层 包头,即添加额定长度的包头字段,字段的取值代表了其后的净荷的长度,并通过包合并协 议,在不添加填充比特的条件下,将各个所述第一封装数据包以及对应的所述连接层包头 封装为第二封装数据包查询到发送端采用隧道向接收端传送数据包。该步骤505中,预置包长可以为任意值,该值只要小于或等于隧道可传输数据包 的最大长度即可。该预置包长的取值的限制条件为1)单位若为比特,则其长度必须是8的 整数倍,以便传送时凑成整字节;2)取值不能太大,不能大于隧道传输数据包的最大长度 (65535*8 = 524280比特)。条件2)中的这个值远远超出了 HRPD网络的空中接口每次发 送消息的大小。目前,在多载波DO. B的情况下,最长的消息TCA也只有2万多比特,但一般 在网络中实际使用的常常是3千多比特。因此,该设定包长可以是满足上述两个条件的任意值在本实施例中,该预置包长可以为隧道传送的数据包的最大长度,或隧道传送的 数据包的最大长度减去SAP层封装数据包时添加的包头的长度后的长度。另外,在该步骤505中对各个从上层接收的封装数据包添加包头进行组包,且无 需在组包的长度没有达到设定包长时增加填充比特,,组成B格式的第二封装数据包。步骤506、将该第二封装数据包发送至下层协议层进行封装处理。该步骤506具体可以包括SAP层将该第二封装数据包作为本层的净荷,并打上 SAP的包头,将第二封装数据包和SAP的包头封装为最终要通过隧道发送出去的数据包。本实施例提供的数据封装方法,设置了一个PCP组包的更宽泛的范围,使得大 部分封装数据包均可以进行组包,从而可以将多个数据包组成一个大包传递至下一协议 层,使得下一协议层添加的包头的开销减少,并且取消了填充比特;另外,在组包之前又对 SLP-F层对封装数据包的分段操作进行了进一步限定,使得封装数据包的分段操作也减少 了,进一步降低了添加包头的开销。从而节省了数据传输资源,可以提高AT和AN之间的数 据传输效率。图6为本发明数据封装方法第四实施例的流程示意图。如图6所示,包括步骤601、在预设时间内,HRPD网络中的SAP层接收多个A格式数据包和/或B格 式数据包。A格式数据包中封装有发送端向接收端发送的数据和SAP层以上的各个协议层的 包头。其中A格式数据包为连接协议层未对其接收到的数据包进行处理,即SAP层接收到 的为A格式的数据包;B格式数据包为连接协议层的PCP对其接收到的数据包进行了处理 后的数据包;即A格式数据包和B格式数据包为现有的连接协议层处理后的数据包。所述 发送端和所述接收端之一为HRPD网络中的接入网。该步骤601具体包括发送端将待发送的数据包发送给SNP层,SNP为该数据包打 上统一编号的包头,将该数据包和包头封装为封装数据包61传送给SLP层。SLP-D层将封 装数据包61作为本层的净荷,并打上传送方式的包头,之后,将该封装数据包61和传送方 式的包头封装为封装数据包62并传送给SLP-F层。该SLP-F层将封装数据包62作为本层的净荷,并打上是否分段的包头,分段和未分段的包头不同,之后,将封装数据包62和是 否分段的包头封装为封装数据包63并传送给流协议层,其中,分段的依据可以是根据当前 MAC包的大小来确定的。流协议层将封装数据包63作为本层的净荷,并打上流的包头,之 后,将封装数据包63和流的包头封装为封装数据包64并传送给会话协议层。会话协议层 不对传送来的封装数据包64作任何处理,之后,将封装数据包64传送给连接协议层。连接 协议层中的PCP对封装数据包64进行分格式处理,共有两种格式,A格式和B格式,在本发 明实施例中实现的是由SAP对接收到的A格式数据包和B格式数据包分别进行处理。其中 A格式是将每一个封装后的封装数据包64封装一个单独包,成为封装数据包65,即A格式 数据包,且连接协议层对该A格式数据包不作任何处理,即不添加任何包头。其中B格式是 将多个封装后的封装数据包分别添加连接层包头后并顺序连接并在未达到最大长度时需 添加填充比特。在预设时间内,SAP层会接收到多个由连接协议层发送来的封装数据包,其中可能 会包括多个A格式数据包和/或B格式数据包。步骤602、在各个A格式数据包上添加连接协议层包头,删除各个B格式数据包中 的填充比特,将添加连接协议层包头的各个所述A格式数据包和/或删除填充比特的B格 式数据包在不添加新的填充比特的条件下合并为新的B格式数据包。在该步骤602中,SAP层在一个定时器设置的时间内,接收到多个连接协议层的 PCP封装的A格式数据包和/或B格式数据包,那么,为了节省SAP的包头的开销,在SAP层 对所有的A格式数据包均添加上连接协议层包头,在所有B格式数据包包中去删除填充比 特,并强制将多个A格式数据包和/或B格式数据包顺序连接为新的更长的B格式数据包, 并且不对新的更长的B格式数据包添加任何填充比特。步骤603、将新的更长的B格式数据包添加SAP层的包头并发送出去。具体地,将该经过HRPD网络的协议层封装后的数据包发送至AT或AN的处理参见 图2及其详细描述,在此不再赘述。本实施例提供的数据封装方法,改进了 SAP层对数据包封装的方法,使得SAP层对 接收到的A格式数据包可以强制封装为B格式数据包,若还存在B格式数据包,则可以去掉 原有B格式数据包中的填充比特,也可减少冗余比特,再由SAP层对A格式数据包和/或B 格式数据包进行合并,组成新的更长的B格式数据包,再添加SAP层的包头即可,使得SAP 层添加的包头的开销减少,从而节省了数据传输资源,可以提高AT和AN之间的数据传输效 率。图7为本发明数据封装方法第五实施例的流程示意图。如图7所示,包括步骤701、HRPD网络中的SLP-F层接收第一封装数据包,该第一封装数据包中封装 有发送端向接收端发送的数据和SLP-F层以上的各个协议层的包头。步骤701具体包括发送端将待发送的数据包发送给SNP层,SNP为该数据包打上 统一编号协议层的包头,将该数据包和包头封装为封装数据包71并传送给SLP层;SLP-D 层将封装数据包71作为本层的净荷,并打上传送方式的包头,之后,将该封装数据包71和 传送方式的包头封装为第一封装数据包并传送给SLP-F层;SLP-F层接收该第一封装数据 包。步骤702、确定第一封装数据包的包长大于或等于第一设定包长且小于第二设定包长,且查询到发送端采用隧道向接收端传送数据包,则在该第一封装数据包上添加标识 不分段的包头,将第一封装数据包和标识不分段的包头封装为第二封装数据包。其中,所述第一设定包长为选定的所述HRPD网络中的MAC层封装的数据包格式 中的包长,或选定的所述MAC层封装的数据包格式中的包长减去从所述MAC层到所述SLP-F 层封装数据包时添加的包头的长度后的长度;所述第二设定包长为适配所述包合并协议 的净荷长度域所能表示的数据包的包长最大值减去在所述连接协议层和所述SLP-F层之 间的各个协议层封装数据包时添加的包头的长度后的长度。在本实施例中,除了考虑尽量不对封装数据包进行分段外,对于分段的依据还需 要考虑在PCP组包时,B格式数据包的包头中长度域所能指示的最大数据包长度。若以长 度域为8比特为例,那么B格式数据包中的净荷的最大长度为2040比特。即封装数据包不 分段的上限还要满足封装到连接协议层时的封装数据包的大小不能大于2040比特。即如 果在SLP-F层接收到的封装数据包的长度为2500比特,那么是需要对其进行分段的。步骤703、将该第二封装数据包发送至连接协议层和SAP层之间的协议层进行封 装处理,并将封装处理后得到的封装数据包发送至SAP层。步骤703具体包括将第二封装数据包传送给流协议层;流协议层将该第二封装 数据包作为本层的净荷,并打上流的包头,之后,将第二封装数据包和流的包头封装为封装 数据包72并传送给会话协议层;会话协议层不对传送来的封装数据包72作任何处理,之 后,将封装数据包72传送给连接协议层。连接协议层中的PCP对封装数据包72进行分格 式处理,共有两种格式,A格式数据包和B格式数据包,在本发明实施例中要根据封装数据 包的长度进行组包或不组包的处理。步骤704、在预设时间内,HRPD网络中的SAP层接收多个A格式数据包和/或B格 式数据包。A格式数据包中封装有发送端向接收端发送的数据和SAP层以上的各个协议层的 包头。其中A格式数据包为连接协议层未对其接收到的数据包进行处理,即SAP层接收到 的为A格式的数据包;B格式数据包为连接协议层的PCP对其接收到的数据包进行了处理 后的数据包;即A格式数据包和B格式数据包为现有的连接协议层处理后的数据包。所述 发送端和所述接收端之一为HRPD网络中的接入网。步骤705、在各个A格式数据包上添加连接协议层包头,删除各个B格式数据包中 的填充比特,将添加连接协议层包头的各个所述A格式数据包和/或删除填充比特的B格 式数据包在不添加新的填充比特的条件下合并为新的B格式数据包。在该步骤705中,SAP层在一个定时器设置的时间内,接收到多个连接协议层的 PCP封装的A格式数据包和/或B格式数据包,那么,为了节省SAP的包头的开销,在SAP层 对所有的A格式数据包均添加上连接协议层包头,在所有B格式数据包包中去删除填充比 特,并强制将多个A格式数据包和/或B格式数据包顺序连接为新的更长的B格式数据包, 并且不对新的更长的B格式数据包添加任何填充比特。步骤706、将新的更长的B格式数据包添加SAP层的包头并发送出去。具体地,将该经过HRPD网络的协议层封装后的数据发送至AT或AN的处理参见图 2及其详细描述,在此不再赘述。本实施例提供的数据封装方法,在组包之前又对SLP-F层对封装数据包的分段操作进行了进一步限定,减少了封装数据包的分段操作;改进了 SAP层对数据包封装的方法, 使得SAP层对接收到的A格式数据包可以强制封装为B格式数据包,若还存在B格式数据 包,则可以去掉原有B格式数据包中的填充比特,也可减少冗余比特,再由SAP层对A格式 数据包和/或B格式数据包进行合并,组成新的更长的B格式数据包,再添加SAP层的包头 即可,使得SAP层添加的包头的开销减少,从而节省了数据传输资源,可以提高AT和AN之 间的数据传输效率。图8为本发明数据封装方法第六实施例的流程示意图。如图8所示,包括步骤801、接收封装数据包,该封装数据包中封装有发送端向接收端发送的数据和 HRPD网络中的SAP层以上的各个协议层的包头,所述发送端和所述接收端之一为HRPD网络 中的接入网。该步骤801具体包括发送端将待发送的数据包发送给SNP层,SNP为该数据包打 上统一编号的包头,将该数据包和包头封装为封装数据包81传送给SLP层。SLP-D层将封 装数据包81作为本层的净荷,并打上传送方式的包头,之后,将该封装数据包81和传送方 式的包头封装为封装数据包82并传送给SLP-F层。该SLP-F层将封装数据包82作为本 层的净荷,并打上是否分段的包头,分段和未分段的包头不同,之后,将封装数据包82和是 否分段的包头封装为封装数据包83并传送给流协议层,其中,分段的依据可以是根据当前 MAC包的大小来确定的。流协议层将封装数据包83作为本层的净荷,并打上流的包头,之 后,将封装数据包83和流的包头封装为封装数据包84并传送给会话协议层。会话协议层 不对传送来的封装数据包84作任何处理,之后,将封装数据包84传送给连接协议层。连接 协议层中的PCP对封装数据包84进行分格式处理,共有两种格式,A格式和B格式。其中 A格式是将每一个封装后的封装数据包84封装一个单独包,成为封装数据包85,即A格式 数据包,且连接协议层对该A格式数据包不作任何处理,即不添加任何包头。B格式数据包 是将多个封装后的封装数据包84拼装成一个大包,成为封装数据包85’,每个封装数据包 85’中的各个封装数据包84前都需要添加连接协议层的包头,如果拼装好的大包还未达到 最大的包长,还将添加填充比特。之后,将封装好的封装数据包85或封装数据包85’传送 给SAP层。这里的最大包长可以是根据当前MAC包的大小来确定的。SAP层接收封装数据 包85或封装数据包85,。步骤802、在封装数据包85或封装数据包85 ’上添加SAP层的包头并发送出去,所 述SAP层的包头中包括1比特信令适配状态字段、1比特连接层包格式字段以及6比特保 留字段,如表一所示。表一
1权利要求
1.一种数据封装方法,其特征在于,包括接收第一封装数据包,所述第一封装数据包中封装有发送端向接收端发送的数据包和 高速率分组数据HRPD网络中的信令链路协议分段SLP-F层以上的各个协议层的包头,所述 发送端和所述接收端之一为所述HRPD网络中的接入网;确定所述第一封装数据包的包长大于或等于选定包长,且查询到所述发送端采用隧道 向所述接收端传送所述数据包,则在所述第一封装数据包上添加标识不分段的包头,将所 述第一封装数据包和所述标识不分段的包头封装为第二封装数据包;将所述第二封装数据包发送至下层协议层进行封装处理。
2.根据权利要求1所述的方法,其特征在于,所述选定包长为选定的所述HRPD网络 中的媒质接入控制MAC层封装的数据包格式中的包长,或选定的所述MAC层封装的数据包 格式中的包长减去从所述MAC层到所述SLP-F层封装数据包时添加的包头的长度后的长度。
3.一种数据封装方法,其特征在于,包括接收多个第一封装数据包,所述第一封装数据包中封装有发送端向接收端发送的数据 和高速率分组数据HRPD网络中的连接协议层以上的各个协议层的包头,所述发送端和所 述接收端之一为所述HRPD网络中的接入网;查询到所述发送端采用隧道向所述接收端传送所述数据包,则在各个所述第一封装数 据包上添加对应的连接层包头,并通过包合并协议,在不添加填充比特的条件下,将各个所 述第一封装数据包以及对应的所述连接层包头封装为第二封装数据包;将所述第二封装数据包发送至下层协议层进行封装处理。
4.根据权利要求3所述的方法,其特征在于,在所述接收多个第一封装数据包和所述 查询到所述发送端采用隧道向所述接收端传送所述数据包之间,还包括确定各个所述第一封装数据包的包长小于预置包长,所述预置包长为所述隧道传送 的数据包的最大长度,或所述隧道传送的数据包的最大长度减去信令适配协议SAP层封装 数据包时添加的包头的长度后的长度。
5.根据权利要求3或4所述的方法,其特征在于,在所述接收多个第一封装数据包之前 还包括所述HRPD网络中的信令链路协议分段SLP-F层接收第三封装数据包,所述第三封装数 据包中封装有所述发送端向所述接收端发送的数据和所述SLP-F层以上的各个协议层的 包头;确定所述第三封装数据包的包长大于或等于第一设定包长且小于第二设定包长,且查 询到所述发送端采用隧道向所述接收端传送所述数据包,则在所述第三封装数据包上添加 标识不分段的包头,将所述第三封装数据包和所述标识不分段的包头封装为第四封装数据 包;将所述第四封装数据包发送至所述连接协议层和所述SLP-F层之间的协议层进行封 装处理,并将封装处理后得到的所述第一封装数据包发送至所述连接协议层。
6.根据权利要求5所述的方法,其特征在于,所述第一设定包长为选定的所述HRPD网络中的媒质接入控制MAC层封装的数据包 格式中的包长,或选定的所述MAC层封装的数据包格式中的包长减去从所述MAC层到所述SLP-F层封装数据包时添加的包头的长度后的长度;所述第二设定包长为适配所述包合并协议的净荷长度域所能表示的数据包的包长最 大值减去在所述连接协议层和所述SLP-F层之间的各个协议层封装数据包时添加的包头 的长度后的长度。
7.一种数据封装方法,其特征在于,包括在预设时间内,高速率分组数据HRPD网络中的信令适配协议SAP层接收多个A格式数 据包和/或B格式数据包,所述A格式数据包和/或B格式数据包中封装有发送端向接收 端发送的数据和所述SAP层以上的各个协议层的包头,所述发送端和所述接收端之一为所 述HRPD网络中的接入网;在各个所述A格式数据包上添加所述连接协议层包头,删除各个所述B格式数据包中 的填充比特,将添加所述连接协议层包头的各个所述A格式数据包和/或删除填充比特的 B格式数据包在不添加新的填充比特的条件下合并为新的B格式数据包;在所述新的B格式数据包上添加所述SAP层的包头并发送出去;其中,所述A格式数据包为所述HRPD网络中的连接协议层未做封装处理的数据包,所 述B格式数据包为所述连接协议层将多个接收到的封装数据包分别添加连接协议层包头 后顺序连接且添加填充比特后的数据包。
8.根据权利要求7所述的方法,其特征在于,在所述在预设时间内,HRPD网络中的SAP 层接收多个A格式数据包和/或B格式数据包之前还包括所述HRPD网络中的信令链路协议分段SLP-F层接收第一封装数据包,所述第一封装数 据包中封装有所述发送端向所述接收端发送的数据和所述SLP-F层以上的各个协议层的 包头;确定所述第一封装数据包的包长大于或等于第一设定包长且小于第二设定包长,且查 询到所述发送端采用隧道向所述接收端传送所述数据包,则在所述第一封装数据包上添加 标识不分段的包头,将所述第一封装数据包和所述标识不分段的包头封装为第二封装数据 包;将所述第二封装数据包发送至所述SAP层和所述SLP-F层之间的协议层进行封装处 理,并将封装处理后得到的各个所述封装数据包发送至所述SAP层。
9.根据权利要求8所述的方法,其特征在于,所述第一设定包长为选定的所述HRPD网络中的媒质接入控制MAC层封装的数据包 格式中的包长,或选定的所述MAC层封装的数据包格式中的包长减去从所述MAC层到所述 SLP-F层封装数据包时添加的包头的长度后的长度;所述第二设定包长为适配所述包合并协议的净荷长度域所能表示的数据包的包长最 大值减去在所述连接协议层和所述SLP-F层之间的各个协议层封装数据包时添加的包头 的长度后的长度。
10.一种数据封装方法,其特征在于,包括接收封装数据包,所述封装数据包中封装有发送端向接收端发送的数据和高速率分组 数据HRPD网络中的信令适配协议SAP层以上的各个协议层的包头,所述发送端和所述接收 端之一为所述HRPD网络中的接入网;在所述封装数据包上添加所述SAP层的包头并发送出去,所述SAP层的包头中包括1比特信令适配状态字段、1比特连接层包格式字段以及6比特保留字段。
11.一种数据封装方法,其特征在于,包括发送端获取所述发送端向接收端发送数据包所通过的异网络的空中接口传输数据包 的包长,其中,所述发送端和所述接收端中的一个为高速率分组数据HRPD网络中的接入 网,另一个为驻留在异网络中的接入终端;计算去除所述异网络的各个协议层的包头开销后,在HRPD网络中的各个协议层封装 后的封装数据包的最大包长;根据计算得到的对应的所述封装后的封装数据包的最大包长,通过所述HRPD网络中 的各个协议层对接收到的数据包进行封装处理。
12.—种数据封装装置,其特征在于,高速率分组数据HRPD网络中的信令链路协议分 段SLP-F层包括接收模块,用于接收第一封装数据包,所述第一封装数据包中封装有发送端向接收端 发送的数据包和所述SLP-F层以上的各个协议层的包头,所述发送端和所述接收端之一为 所述HRPD网络中的接入网;封装模块,用于在确定所述第一封装数据包的包长大于或等于选定包长,且查询到所 述发送端采用隧道向所述接收端传送所述数据包时,在所述第一封装数据包上添加标识不 分段的包头,将所述第一封装数据包和所述标识不分段的包头封装为第二封装数据包; 处理模块,用于将所述第二封装数据包发送至下层协议层进行封装处理。
13.一种数据封装装置,其特征在于,高速率分组数据HRPD网络中的连接协议层包括 接收模块,用于接收第一封装数据包,所述第一封装数据包中封装有发送端向接收端发送的数据和所述连接协议层以上的各个协议层的包头,所述发送端和所述接收端之一为 所述HRPD网络中的接入网;封装模块,用于在确定所述第一封装数据包的包长小于预置包长,且查询到所述发送 端采用隧道向所述接收端传送所述数据包时,在所述第一封装数据包和包长小于所述预置 包长的多个封装数据包上添加对应的连接层包头,并通过包合并协议,在不增加填充比特 的条件下,将所述第一封装数据包、所述多个封装数据包以及对应的所述连接层包头封装 为第二封装数据包;发送模块,用于将所述第二封装数据包发送至下层协议层进行封装处理。
14.一种数据封装装置,其特征在于,高速率分组数据HRPD网络中的信令适配协议SAP 层包括接收模块,用于在预设时间内,高速率分组数据HRPD网络中的信令适配协议SAP层接 收多个A格式数据包和/或B格式数据包,所述A格式数据包和/或B格式数据包中封装 有发送端向接收端发送的数据和所述SAP层以上的各个协议层的包头,所述发送端和所述 接收端之一为所述HRPD网络中的接入网;封装模块,用于在各个所述A格式数据包上添加所述连接协议层包头,删除各个所述B 格式数据包中的填充比特,将添加所述连接协议层包头的各个所述A格式数据包和/或删 除填充比特的B格式数据包在不添加新的填充比特的条件下合并为新的B格式数据包; 发送模块,用于在所述新的B格式数据包上添加所述SAP层的包头并发送出去。
15.一种数据封装装置,其特征在于,高速率分组数据HRPD网络中的信令适配协议SAP层包括接收模块,用于接收封装数据包,所述封装数据包中封装有发送端向接收端发送的数 据和所述SAP层以上的各个协议层的包头,所述发送端和所述接收端之一为所述HRPD网络 中的接入网;封装模块,用于在所述封装数据包上添加所述SAP层的包头并发送出去,所述SAP层的 包头中包括1比特信令适配状态字段、1比特连接层包格式字段以及6比特保留字段。
16. 一种数据封装装置,其特征在于,包括获取模块,用于获取所述发送端向接收端发送数据包所通过的异网络的空中接口传输 数据包的包长,其中,所述发送端和所述接收端中的一个为高速率分组数据HRPD网络中的 接入网,另一个为驻留在异网络中的接入终端;计算模块,用于计算去除所述异网络的各个协议层的包头开销后,在HRPD网络中的各 个协议层封装后的封装数据包的最大包长;封装模块,用于根据计算得到的对应的所述封装后的封装数据包的最大包长,通过所 述HRPD网络中的各个协议层对接收到的数据包进行封装处理。
全文摘要
本发明实施例涉及一种数据封装方法及装置。本发明实施例的数据封装方法及装置,通过发送端的HRPD网络中的各个协议层对数据包的封装处理的改变,可以减少数据包封装中的分段,增加组包的大小,取消填充比特,从而减少了各个协议层进行数据封装中与有用数据无关的开销数据,节省异网络系统中的接入终端与HRPD网络中的接入网间的传输资源,提高传输效率。
文档编号H04W28/06GK101998508SQ20091016528
公开日2011年3月30日 申请日期2009年8月14日 优先权日2009年8月14日
发明者许明霞 申请人:华为技术有限公司