报文类型识别方法及装置、报文首部压缩方法及系统的制作方法

文档序号:7973896阅读:174来源:国知局
专利名称:报文类型识别方法及装置、报文首部压缩方法及系统的制作方法
技术领域
本发明涉及数据通信技术领域,尤其涉及一种数据通信技术领域中报文类型识别方法及装置、报文首部压缩方法及系统。
背景技术
目前随着实时传输协议(RTP)成为正式的请求注解(RFC)发行,人们对于利用RTP实现不同的网络音视频应用程序间互操作的兴趣也日益增长。然而,值得注意的是,当使用低速链路如14.4Kb/s或28.8Kb/s拨号时,12字节的RTP报文首部对于仅有20字节的负载而言占用字节数过多,为了减少报文首部占用的字节,采用压缩技术来令IP/UDP/RTP报文首部变小。这时,压缩可以针对仅RTP报文首部或者网际协议(IP),用户数据报协议(UDP),RTP的组合首部,将40字节的组合首部一起进行压缩比仅压缩12字节的RTP报文头更具实际效果,因为两种情况下的压缩结果大小均为约2~4字节。
现有技术中采用IP首部压缩技术(IPHC)对上述组合首部进行压缩,技术原理是在同一个报文流中,报文首部中的大部分字段内容是保持不变的,比如,标识源地址、目的地址,源端口号、目的端口号等的字段,所述内容不变的首部字段称为报文流的压缩、解压缩上下文,只要在通信链路两端建立起该报文流对应的压缩、解压缩上下文,那么在后续发送报文时,就可以从报文首部中删除内容不变的字段,而发送只携带随机变化字段的报文首部即可,实现了对报文首部的压缩,压缩后的报文首部仅占有2~4字节,节约了系统资源。
但是在对报文首部进行压缩前需要识别报文的类型,如果报文是基于UDP应用的RTP报文,则对该报文首部进行RTP压缩;如果报文是纯粹的UDP报文、或基于UDP应用的其他协议报文,比如,基于UDP应用的实时传输协议(RTCP)报文,对该报文首部进行UDP压缩或放弃压缩;其中,RTP压缩与UDP压缩是两种压缩原理基本相同的IPHC技术,但是在压缩细节上二者有所区别,比如,在进行RTP压缩时,在通信链路两端建立起该报文流对应的压缩、解压缩上下文后,后续发送的报文首部只携带首部中随机变化的字段,而在进行UDP压缩时,在通信链路两端建立起该报文流对应的压缩、解压缩上下文后,后续发送报文首部时需要间隔的发送一些完整的报文首部。
但组合首部的UDP首部中并没有用于标识基于UDP应用的上层协议类型字段,对于上层协议类型是通过UDP首部中的端口号区分的,RTP协议并没有规定必须采用哪个端口号,只要求使用偶数端口号,奇数端口号由RTCP协议使用,并且RTP协议给出一个默认的UDP端口号5004,但在实际应用中由于一个系统通常会建立起多个RTP应用,所以其使用的UDP端口号常常不是5004。
所以,对报文首部进行压缩时需要识别报文类型,以便分别对其进行相应的压缩处理。对于如何识别报文类型,IPHC协议推荐采用试探的方法,因为RTP首部中有部分字段的值是不变的或者仅会取某几个固定值,比如RTP协议号取固定值2,净荷类型取某几个固定的值,RTP首部格式如图1所示,所以通过判断UDP首部中端口号是否为偶数,以及封装在UDP首部后面的RTP首部的某几个字段值是否为某个固定值来确定该报文是基于UDP应用的RTP报文,还是纯粹的UDP报文对报文的识别及压缩过程如图2所示,包括以下步骤步骤201判断是否启动RTP压缩,如果是,则进入步骤202,如果否,则进入步骤205;步骤202判断报文的UDP首部所携带端口号是否为偶数,如果是,则进入步骤203,如果否,则进入步骤205;步骤203判断封装在UDP首部后面某个字段的值是否为某个固定值,如果是,则所述输入报文识别为基于UDP应用的RTP报文,进入步骤204,如果否,则所述输入报文识别为纯粹的UDP报文或基于UDP应用的其他协议报文,进入步骤205;其中,所述基于UDP应用的其他协议报文可以是基于UDP应用的RTCP报文;
比如,可以判断UDP首部后面某个字段的值是否为2,如果是,则表明该报文为基于UPD应用的RTP报文;如果否,则表明该报文为纯粹的UDP报文或基于UDP应用的其他协议报文;步骤204对报文首部进行RTP压缩;步骤205对报文首部进行UDP压缩或者不进行压缩。
采用以上试探法对输入报文类型进行识别会产生以下问题试探法中根据UDP首部携带端口号的奇偶特性,以及封装在UDP首部后面的净荷字段值是否与RTP协议报文要求的固定值取值相同,比如,RTP协议版本号取值固定为2,来判断所述输入报文是否为基于UDP应用的RTP报文,但是一个纯粹的UDP报文其端口号也可能是偶数,且封装在纯粹的UDP报文首部后面的净荷字段值与RTP协议要求的固定值的取值也会相同,那么采用现有的试探法进行判断就会将该纯粹的UDP报文误认为是基于UDP应用的RTP报文。对纯粹的UDP报文进行RTP压缩,会降低系统处理报文的效率,并且占用系统其他压缩资源。

发明内容
本发明的实施例所要解决的技术问题是提供一种报文类型识别方法及装置,以解决采用现有技术的报文类型识别方法,将UDP报文误判断为是基于UDP应用的RTP报文的概率高的缺点。
本发明的实施例还提供了一种相应的报文首部压缩方法及装置。
本发明的实施例的目的是通过以下技术方案实现的一种报文类型识别方法,包括获取已保存的实时传输协议RTP基于用户数据报协议UDP应用的UDP端口号;获取输入报文的UDP首部携带的UDP端口号;将所述RTP基于UDP应用的UDP端口号与所述输入报文的UDP首部所携带的UDP端口号进行匹配,如果相匹配,则识别所述的输入报文为基于UDP应用的RTP报文。
一种报文类型识别装置,包括端口号匹配单元,报文端口号获取单元,已存端口号获取单元;其中,所述报文端口号获取单元,用于获取所述输入报文的UDP首部携带的UDP端口号,并将所述端口号发送给所述端口号匹配单元;所述已存端口号获取单元,用于获取已保存的RTP基于UDP应用的UDP端口号,并将所述端口号发送给所述端口号匹配单元;所述端口号匹配单元,用于将所述RTP基于UDP应用的UDP端口号,与所述输入报文的UDP首部所携带的UDP端口号进行匹配,如果相互匹配,则识别所述输入报文为基于UDP应用的RTP报文。
一种报文首部压缩方法,包括获取已保存的实时传输协议RTP基于用户数据报协议UDP应用的UDP端口号;获取输入报文的UDP首部携带的UDP端口号;将所述RTP基于UDP应用的UDP端口号与所述输入报文的UDP首部所携带的UDP端口号进行匹配,如果相匹配,则识别所述的输入报文为基于UDP应用的RTP报文;对所述基于UDP应用的RTP报文首部进行RTP压缩。
一种报文首部压缩系统,包括报文类型识别装置,报文压缩装置;其中,所述报文类型识别装置包括端口号匹配单元,报文端口号获取单元,已存端口号获取单元;所述报文端口号获取单元,用于获取所述输入报文的UDP首部携带的UDP端口号,并将所述端口号发送给所述端口号匹配单元;所述已存端口号获取单元,用于获取已保存的RTP基于UDP应用的UDP端口号,并将所述端口号发送给所述端口号匹配单元;所述端口号匹配单元,用于将所述RTP基于UDP应用的UDP端口号,与所述输入报文的UDP首部所携带的UDP端口号进行匹配,如果相互匹配,则识别所述输入报文为基于UDP应用的RTP报文;所述报文压缩装置,用于对已经过报文类型识别装置处理后,被识别为基于UDP应用的RTP报文进行RTP压缩。
从以上内容看出,本发明实施例技术方案有以下有益效果本发明实施例所提供的方法采用将预先保存的RTP基于UDP应用的UDP端口号,与报文的UDP首部所携带的UDP端口号进行匹配的方法,来识别基于UDP应用的RTP报文,实现了对报文类型的精确识别,提高了系统处理报文的效率,避免了后续压缩资源的浪费。


图1所示为现有技术RTP首部格式示意图;图2所示为现有技术IPHC协议推荐的试探法流程图;图3所示为本发明实施例所提供的报文类型识别方法流程图;图4所示为本发明实施例所提供的报文首部压缩方法流程图;图5所示为本发明实施例所提供的报文类型识别装置示意图;图6所示为本发明实施例所提供的报文压缩系统装置示意图。
具体实施例方式
本发明实施例提供了一种报文类型识别方法,如图3所示,所述方法包括步骤301接收报文,获取已保存的实时传输协议RTP基于用户数据报协议UDP应用的UDP端口号;步骤302获取输入报文的UDP首部携带的UDP端口号;步骤303将所述RTP基于UDP应用的UDP端口号与所述输入报文的UDP首部所携带的UDP端口号进行匹配,如果相匹配,则识别所述的输入报文为基于UDP应用的RTP报文,如果不相匹配,则识别该报文为纯粹的UDP报文或基于UDP应用的其他协议报文。
其中,本发明实施例所述端口号匹配是指输入报文的UDP首部携带的UDP端口号和已保存的RTP基于UDP应用的UDP端口号完全相同,比如,输入报文UDP首部携带的UDP端口号为5006,如果已保存的RTP基于UDP应用的端口号为5006,则所述两个端口号匹配,如果已保存的RTP基于UDP应用的端口号为5004,则所述端口号不匹配;在使用上述识别报文类型的方法时,需要预先保存所述RTP基于UDP应用的端口号,一般情况下在系统使能RTP应用的同时,该应用就已确定了应该使用某个或某几个UDP端口来收发报文,因此,系统会将这些UDP端口对应的端口号保存下来,以便识别报文时使用。
将RTP基于UDP应用的UDP端口号保存下来的方法包含以下两种第一、由用户决定并将其保存;第二、在启动RTP应用同时,确定RTP基于UDP应用的UDP端口号,自动保存所述RTP基于UDP应用的UDP端口号;其中,本领域技术人员知道可以从已编写好的RTP应用程序中确定所述RTP基于UDP应用的UDP端口号。
本发明实施例还提供了一种基于以上报文类型识别方法的报文首部压缩方法,图4所示为本发明实施例的方法流程图,所述方法包括以下步骤步骤401判断是否启动了RTP压缩,如果是,则进入步骤402,如果否,则进入步骤406;步骤402判断是否记录了RTP基于UDP应用的UDP端口号,如果是,则进入步骤403,如果否,则进入步骤407;其中,可以在IPHC配置信息表中扩充一记录项,用于记录RTP基于UDP应用的UDP端口号,该记录项可以记录至少一个RTP基于UDP应用的UDP端口号,亦可保存在其他存储空间并不影响本发明实现;步骤403获取已保存的RTP基于UDP应用的UDP端口号;步骤404接收报文,判断输入报文的UDP首部携带的UDP端口号与已保存的所述RTP基于UDP应用的UDP端口号是否匹配,如果是,则该报文识别为基于UDP应用的RTP报文,如果否,则该报文识别为纯粹的UDP报文或基于UDP应用的其他协议报文;步骤405对所述基于UDP应用的RTP报文首部进行RTP压缩;步骤406对所述纯粹的UPD报文或基于UDP应用的其他协议报文进行UDP压缩或放弃压缩;步骤407用IPHC协议推荐的试探法识别所述报文类型。
以上方法实现了对报文类型的识别及压缩,本发明实施例还提供了一种报文类型识别装置,图5所示,所述装置包括报文端口号获取单元501,已存端口号获取单元502,端口号匹配单元503;其中,所述报文端口号获取单元,用于获取所述输入报文的UDP首部携带的UDP端口号,并将所述端口号发送给端口号匹配单元;所述已存端口号获取单元,用于获取已保存的RTP基于UDP应用的UDP端口号,并将所述端口号发送给端口号匹配单元;所述端口号匹配单元,用于将所述RTP基于UDP应用的UDP端口号,与所述输入报文的UDP首部所携带的UDP端口号进行匹配;如果相互匹配,则所述输入报文识别为基于UDP应用的RTP报文;如果不相匹配,则所述输入报文识别为纯粹的UDP报文或基于UDP应用的其他协议报文。
本发明实施例还提供了一种报文首部压缩系统,如图6所示,所述系统包括报文类型识别装置601,报文压缩装置602;所述报文类型识别装置包括端口号匹配单元,报文端口号获取单元,已存端口号获取单元;所述报文压缩装置包括,RTP压缩单元,UDP压缩单元;其中,所述报文端口号获取单元,用于获取所述输入报文的UDP首部携带的UDP端口号,并将所述端口号发送给端口号匹配单元;所述已存端口号获取单元,用于获取已保存的RTP基于UDP应用的UDP端口号,并将所述端口号发送给端口号匹配单元;所述端口号匹配单元,用于将所述RTP基于UDP应用的UDP端口号,与所述输入报文的UDP首部所携带的UDP端口号进行匹配;如果所述UDP端口号相互匹配,则所述输入报文识别为基于UDP应用的RTP报文;如果所述UDP端口号不相匹配,则所述输入报文识别为纯粹的UDP报文或基于UDP应用的其他协议报文,将识别结果发送给报文压缩装置;所述报文压缩装置,用于对已经过报文类型识别装置,被识别为基于UDP应用的RTP报文进行RTP压缩或进一步用于对已经过报文类型识别装置处理后,被识别为纯粹的UDP报文或基于UDP应用的其他协议报文的输入报文进行UDP压缩或放弃压缩。
其中,所述RTP压缩单元,用于对识别为基于UDP应用的RTP报文进行RTP压缩;所述UDP压缩单元,用于对识别为纯粹的UDP报文或基于UDP应用的其他协议报文的输入报文进行UDP压缩。
以上对本发明的实施例所提供的一种报文类型识别方法及装置、一种报文首部压缩方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种报文类型识别方法,其特征在于,所述方法包括获取已保存的实时传输协议RTP基于用户数据报协议UDP应用的UDP端口号;获取输入报文的UDP首部携带的UDP端口号;将所述RTP基于UDP应用的UDP端口号与所述输入报文的UDP首部所携带的UDP端口号进行匹配,如果相匹配,则识别所述的输入报文为基于UDP应用的RTP报文。
2.根据权利要求1所述方法,其特征在于,所述方法还包括步骤当所述RTP基于UDP应用的UDP端口号与所述输入报文的UDP首部所携带的UDP端口号不相匹配时,识别所述的输入报文为纯粹的UDP报文或基于UDP应用的其他协议报文。
3.根据权利要求1或2所述方法,其特征在于,所述方法还包括在启动RTP应用时,保存RTP基于UDP应用的UDP端口号。
4.根据权利要求1或2所述方法,其特征在于,所述方法还包括用户决定并保存RTP基于UDP应用的UDP端口号。
5.一种报文首部压缩方法,其特征在于,所述方法包括获取已保存的实时传输协议RTP基于用户数据报协议UDP应用的UDP端口号;获取输入报文的UDP首部携带的UDP端口号;将所述RTP基于UDP应用的UDP端口号与所述输入报文的UDP首部所携带的UDP端口号进行匹配,如果相匹配,则识别所述的输入报文为基于UDP应用的RTP报文;对所述基于UDP应用的RTP报文首部进行RTP压缩。
6.根据权利要求5所述方法,其特征在于,所述方法还包括步骤当所述RTP基于UDP应用的UDP端口号与所述输入报文的UDP首部所携带的UDP端口号不相匹配时,识别所述的输入报文为纯粹的UDP报文或基于UDP应用的其他协议报文;对所述纯粹的UPD报文或基于UDP应用的其他协议报文进行UDP压缩或放弃压缩。
7.一种报文类型识别装置,其特征在于,所述装置包括端口号匹配单元,报文端口号获取单元,已存端口号获取单元;所述报文端口号获取单元,用于获取所述输入报文的UDP首部携带的UDP端口号,并将所述端口号发送给所述端口号匹配单元;所述已存端口号获取单元,用于获取已保存的RTP基于UDP应用的UDP端口号,并将所述端口号发送给所述端口号匹配单元;所述端口号匹配单元,用于将所述RTP基于UDP应用的UDP端口号,与所述输入报文的UDP首部所携带的UDP端口号进行匹配,如果相互匹配,则识别所述输入报文为基于UDP应用的RTP报文。
8.根据权利要求7所述装置,其特征在于,所述端口号匹配单元,还用于在所述RTP基于UDP应用的UDP端口号与所述输入报文的UDP首部所携带的UDP端口号不相匹配时,将所述输入报文识别为纯粹的UDP报文或基于UDP应用的其他协议报文。
9.一种报文首部压缩系统,其特征在于,所述系统包括报文类型识别装置,报文压缩装置;其中,所述报文类型识别装置包括端口号匹配单元,报文端口号获取单元,已存端口号获取单元;所述报文端口号获取单元,用于获取所述输入报文的UDP首部携带的UDP端口号,并将所述端口号发送给所述端口号匹配单元;所述已存端口号获取单元,用于获取已保存的RTP基于UDP应用的UDP端口号,并将所述端口号发送给所述端口号匹配单元;所述端口号匹配单元,用于将所述RTP基于UDP应用的UDP端口号,与所述输入报文的UDP首部所携带的UDP端口号进行匹配,如果相互匹配,则识别所述输入报文为基于UDP应用的RTP报文;所述报文压缩装置,用于对已经过报文类型识别装置处理后,被识别为基于UDP应用的RTP报文进行RTP压缩。
10.根据权利要求9所述系统,其特征在于,所述端口号匹配单元,还用于在所述RTP基于UDP应用的UDP端口号与所述输入报文的UDP首部所携带的UDP端口号不相匹配时,将所述输入报文识别为纯粹的UDP报文或基于UDP应用的其他协议报文。
11.根据权利要求10所述系统,其特征在于,所述报文压缩装置还用于对已经过报文类型识别装置处理后,被识别为纯粹的UDP报文或基于UDP应用的其他协议报文的输入报文进行UDP压缩或放弃压缩。
全文摘要
本发明公开了一种报文类型识别方法,其核心思想是,将已保存的RTP基于UDP应用的UDP端口号,与输入报文的UDP首部中携带的端口号进行匹配,若所述两个端口号相匹配,则所述输入报文识别为基于UDP应用的RTP报文,若不相匹配,则所述输入报文识别为纯粹的UDP报文或基于UDP应用的其他协议报文。本发明还公开了一种与所述报文类型识别方法相对应的报文类型识别装置。本发明公开了一种基于以上所述报文类型识别方法,对报文首部进行压缩的方法,及一种报文首部压缩系统。采用本发明所提供方法、装置或系统时,可以精确识别出基于UDP应用的RTP报文,提高了报文处理效率,避免了压缩资源的浪费。
文档编号H04L29/06GK1988543SQ20061016217
公开日2007年6月27日 申请日期2006年12月7日 优先权日2006年12月7日
发明者孙默 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1