移动通信网络中ip报头压缩的错误恢复方法及装置的制作方法

文档序号:7594869阅读:146来源:国知局
专利名称:移动通信网络中ip报头压缩的错误恢复方法及装置的制作方法
技术领域
本发明涉及移动通信网络中的VoIP(Voice Over IP)语音业务,特别是涉及一种提高发射单元和接收单元之间传输的数据包的IP(Internet Protocol)报头压缩效率的方法。
背景技术
VoIP语音业务又称IP电话,是一种通过IP网络传输语音的通信技术,即基于IP网络的语音传输技术。目前,VoIP已经广泛应用于有线通信系统中,为用户提供了廉价而高质量的语音业务。
随着移动通信技术的高速发展,在世界范围引进建立了若干张成熟的GSM/CDMA/WCDMA网络,CDMA 1X移动分组交换网络已经可以为用户提供高速数据业务。通过移动分组交换网络为用户提供高质量的VoIP语音业务和其他增值业务是当前的热门话题。
而提供高质量的VoIP语音业务的关键技术之一是IP头压缩(IPHC,IPHeaders Compressing)技术,如RFC2507、RFC2508等压缩协议定义的压缩技术。采用IP头压缩技术RFC2508后,能够将40字节的IP/UDP/RTP头压缩成最小2字节,当使用CheckSum(校验和)时,最小压缩成4字节。
所述IP头压缩技术RFC2508可以参阅Casner,S.and V.Jacobson,″Compressing IP/UDP/RTP Headers for Low-Speed Serial Links″,RFC 2508,February 1999.
IP头压缩技术RFC2508可以应用于固定通信系统和移动通信系统中。在发射站,整个报头信息被报头压缩器进行压缩,并且这个被压缩的报头信息通过无线通信链路被传送;在接收站,一个报头解压缩器从接收的所述被压缩的报头信息中重建整个报头,从而减少为传送报头信息所必需的无线通信链路资源的数量。
在通信过程中,经常由于各种因素而导致出现错误。RFC2508协议中描述了其建议的错误恢复机制
除FULL_HEADER包外,当出现会话环境的系列号增量不为1的情况时,报头解压缩器认为当前会话环境无效,并发送CONTEXT_STATE数据包给报头压缩器;并且,报头解压缩器认为当前接收到的压缩数据包无效而将其丢弃,直到收到FULL_HEADER包才重新建立会话环境。
所述IP头压缩技术RFC2508虽然可以实现有效的错误恢复以保证通话质量。但是当其应用于移动分组交换网络时,具有一些不足之处。
首先,基于移动分组交换网络实现VoIP语音业务时,由于移动终端(MS)与基站(BTS)之间的无线通信链路在语音数据包的传输中,发生丢失数据包的概率较大,并且无线资源较为有限,且少量数据包的丢失并不会影响VoIP语音质量。如果按照RFC2508协议的规定,当系列号增量不为1时,报头解压缩器将会话环境置为无效,并发送CONTEXT_STATE包给报头压缩器;报头压缩器收到CONTEXT_STATE数据包,发送一个FULL_HEADER帧以重新建立会话环境。这样会导致解压器频繁的发送CONTEXT_STATE数据包,会占有过多的压缩的反向信道带宽,影响无线链路的传输效率。
其次,VoIP语音业务为实时语音媒体流业务,通话过程中,虽然个别语音媒体数据包的丢失不会影响VoIP话音质量,允许丢弃个别语音媒体数据包。但是按照RFC2508协议的规定,当系列号发生跳变时,无论跳变多少,报头解压缩器认为已经不能完整的解压原始数据包,故建议丢弃该数据包。而由上述分析可知,无线通信链路在语音数据包的传输中,发生丢失数据包的概率较大,这样将导致报头解压缩器频繁丢弃数据包,从而增加由于压缩导致语音质量下降的可能。

发明内容
本发明解决的技术问题在于提供一种移动通信网络中IP报头压缩的错误恢复方法及装置,可以有效地提高无线链路的传输效率。
为此,本发明解决技术问题的技术方案是提供一种移动通信网络中IP报头压缩的错误恢复方法,用于提升发射单元和接收单元之间的数据传输效率,包括步骤1)在接收单元设置数据包系列号增量门限值;
2)当接收单元接收到语音数据包时,报头解压缩器判断其系列号相对前一语音数据包的系列号的增量是否小于前述门限值,如果是,则表示压缩通信过程正常;如果否,则进入步骤3);3)报头解压缩器将会话环境置为无效。
优选的,所述步骤3)中还包括报头解压缩器发送CONTEXT_STATE包给发射单元的报头压缩器。
优选的,所述步骤3)之后还包括报头压缩器接收到CONTEXT_STATE数据包,发送FULL_HEADER帧给报头解压缩器。
优选的,所述步骤3)之后还包括报头压缩器重建会话环境。
优选的,还包括步骤当报头解压缩器检测到语音数据包的系列号发生跳变时,判断是否为相同会话环境,如果是,则报头解压缩器保存已经正确解压的语音数据包。
优选的,还包括步骤4)在发射单元设置定时器;5)当发射单元发送语音数据包时,报头压缩器判断其与前一语音数据包的时间间隔是否小于定时器的值,如果是,则压缩报头后发送;如果否,则在发送后续发送的第一个数据包时重建会话环境。
优选的,所述步骤5)中报头压缩器采用全头帧格式发送后续发送的第一个数据包。
本发明还提供了一种移动通信网络中IP报头压缩的错误恢复装置,用于提升发射单元和接收单元之间的数据传输效率,包括报头压缩器、报头解压缩器;还包括位于接收单元的数据包系列号增量门限值设置器,用于设置数据包系列号增量门限值;所述报头解压缩器在接收到语音数据包时,根据所述系列号增量门限值决定是否将会话环境设为无效。
优选的,还包括位于发射单元的定时器;所述报头压缩器在发送语音数据包时,根据定时器的值决定是否重建会话环境。
优选的,所述定时器集成在报头压缩器内或与报头压缩器分立。。
相对于现有技术,本发明的有益效果是首先,由于本发明设置系列号增量门限值,仅仅当系列号增量大于门限值,报头解压缩器才将会话环境置为无效并发送CONTEXT_STATE包给压缩器。能够有效的减小报头解压缩器发送CONTEXT_STATE数据包的频率,从而不至于占有过多的压缩的反向信道带宽,减少对无线链路的传输效率的影响。
此外,由于在相同会话环境,当系列号发生跳变时,无论跳变多少,解压器均不丢弃已经解压的数据包,能够最大限度的保护语音的完整,减少由于压缩导致语音质量下降的可能。这是由于虽然部分头域解压错误,但数据包的内容正确,并不影响路由。
另外,由于设置定时器,在长时间没有数据包发送后,,后续发送的第一个数据包使用全头帧FULL_HEADER格式发送。这样能够有效地避免会话环境的不同步。保证一定时间空闲之后不会出现错包,对报头压缩器与报头解压缩器之间的压缩环境的稳定提高了保证。


图1是基于CDMA 1X分组交换网络的VoIP语音通信系统的总体架构图;图2是本发明错误恢复方法的流程图;图3是本发明错误恢复方法中进一步稳定会话环境的流程图;图4是本发明错误恢复装置的示意图。
具体实施例方式
在移动通信系统中,无线链路具有高误码率、有限带宽和环回时间长的特点,VoIP语音数据包在传输过程中偶尔丢失一个对语音质量几乎没有影响;并且具有静音期间终端不发送语音数据包的特点。结合无线链路的特点以及VoIP语音业务的特点,本发明对现有的IP头压缩协议进行有效的优化。通过优化以提高压缩效率,为VoIP语音质量提供有力的保障。
请参阅图1,是基于CDMA 1X分组交换网络的VoIP语音通信系统的总体架构图。其中,移动终端(MS)110与CDMA 1X分组交换节点(PDSN)120之间建立PPP连接,互为发射方与接收方,VOIP业务的会话控制由VOIP控制中心130负责。
在移动通信网的VOIP业务过程中,移动终端110将模拟语音信号经过模/数转换、进行编码压缩后,按一定的打包规则将压缩帧转换成IP数据包,通过分组交换节点(PDSN)120传输到互联网(Internet),IP数据包在Internet上路由到被叫移动终端(图未示)所在的分组交换节点(图未示);在被叫移动终端进行数据解压、数/模转换复原成语音,从而达到语音通信的目的。
在移动终端110与固定电话140互通时,当固定电话140为主叫时,由媒体网关150负责将模拟信号转换为数字信号并压缩打包,成为可以在Internet上传输的分组语音信号,然后通过Internet传送到移动终端110。当固定电话140为被叫时,由媒体网关150进行分组数据的解包、解压和解码,还原为可被识别的模拟语音信号,再通过公共电话网络(PSTN)传到固定电话140。
为了节省无线链路资源,在VoIP业务过程中,在移动终端110与CDMA1X分组交换节点120之间实现IP头压缩技术。
需要说明的是,本发明的实施例中,基于RFC2508(CompressingIP/UDP/RTP Headers for Low-Speed Serial Links)协议实现IP报头压缩,并且实现了错误恢复过程的优化。
IP报头压缩的压缩目标为在不发送UDP校验的情况下,将大部分数据包的IP/UDP/RTP头压缩到2个字节,在带UDP校验和时则压缩至4个字节。
压缩技术的基本思想是在串行链路建立后,在链路保持期间,由于IP/UDP/RTP头域中大部分字段保持不变,根据这一特点,在发送一个未压缩的数据包后,可以将这些字段从后续压缩头中删除,并且对变化字段进行差分编码,以便减小字段长度。
其中,对TCP头压缩的研究发现,IP和TCP头有一半的字节在整个连接期间保持不变,这正是降低数据率的两个要素中的首要因素。因此,在发送一次未压缩头之后,可以将这些字段从其后的压缩头中除去。其余的压缩来自对变化字段进行区分编码以减少长度,以及在通常情况下根据包长度计算变化而完全删除掉变化字段。这一长度由链路层协议指示。
对于RTP头的压缩也可以采用一些相同的技术。尽管每个包中总有几个字节要发生变化,但包与包之间的区别却是恒定的,因此二次差分为0。在会话期间,通过维护压缩与解压器共享的未压缩头与一次差分序列,所需通信的便只有二次差分为0的指示了。在这种情况下,如果不考虑任何信息丢失,则解压器在收到一个压缩包后可以通过将一次差分结果加到保存的未压缩头来重建原始包头。
在RTP头中,作为特定环境标识的一部分,给定的环境的SSRC标识符是恒定不变的。对大多数包而言,只有系列号和时间戳是因包而异的。如果没有包丢失或者乱序,系列号应按步进值1逐包改变。对音频包,时间戳应按采样周期增加。对于视频,时间戳在每帧的第一个包是发生改变,而在后面该帧的其它包中保持不变。如果每个视频帧只占据一个包,且视频帧按照恒定的速率产生,则帧与帧之间时间戳的变化也是恒定的。
注意到每当这种情况出现,系列号和时间戳字段的二次差分均为0,所以下一个包头的相应字段值可通过前一个未压缩包头的该字段加上存在会话环境一次差分值得到。当二次差分不为0时,变化量通常也要远小于字段中所有位的数目,所以可通过对新的一次差分进行编码并传输该编码来达到压缩的目的,不用传输绝对值。
在报头压缩器与报头解压缩器之间维持一个状态可靠的共享信息集。对于每个IP/UDP/RTP数据包流根据数据包的源IP地址、目的IP地址、UDP端口对、RTP的SSRC字段的组合建立一个会话环境,并使用会话环境ID标识。通常,每个会话环境通过一个8位或者16位的标识符来标识,具体范围要根据协商的环境数量决定,所以最大值为65536。会话环境中包含如下信息1、完整的IP/UDP/RTP头2、IPV4 ID字段的一次差分结果3、RTP时间戳的一次差分结果4、最后一个数据包中的系列号,检测通信过程中数据包的丢失情况。
当然,会话环境中还可以包括一些其他信息。
在一个会话环境中,报头压缩器与报头解压缩器之间发送数据包的顺序使用系列号进行标识,通过所述系列号就可以检测在压缩通信过程中数据包是否丢失。
也就是说,未压缩和压缩的包都必须携带会话环境ID和一个4位的用来检测包通信中丢失的系列号。每个会话环境都有自己的系列号空间,所以单个包的丢失只会影响到一个会话环境。
报头解压缩器在实现时可以对这些字段使用哈希函数来检索存储的会话环境列表。压缩包携带一个称为会话环境标识符或者CID的小整数来指示该数据包应该解释到哪个会话环境中。解压缩方可以使用CID直接在存储的环境列表中来进行检索。
为了顺利地实现压缩通信过程,RFC2508协议中定义了4种类型的数据包FULL_HEADER,未压缩IP头的数据包或称为全头帧,该数据包中携带有会话环境ID和系列号等信息用来建立双方的同步。报头解压缩器在接收到该数据包后建立会话环境。
COMPRESSED_UDP,压缩IP/UDP头的数据包,其中的RTP头未经过压缩。用于传送压缩到6字节或更少字节(如禁用UDP校验和则通常为2字节)的IP和UDP头,后面是任何未压缩形式的后续头(可能为RTP)和数据。当RTP头的常量字段有所不同时才使用该数据包类型。
COMPRESSED_RTP,压缩IP/UDP/RTP头的数据包。
CONTEXT_STATE,报头解压缩器发送给报头压缩器的特殊数据包,用于传输已经或可能已经失去同步的会话环境ID。该数据包仅通过点到点链路发送,所以它不需要IP头。
该压缩方案还可使用另一种包类型COMPRESSED_NON_TCP,无须进行差分编码传输定义的压缩IP/UDP包。如果用于IPv4,为了能携带IPv4 ID字段,它比前面所讲的COMPRESSED_UDP要多用1到2个字节。而IPv6没有ID字段,这种非差分压缩在包丢失时更有弹性。
本发明认识到,基于移动分组交换网络的VoIP语音通信系统具有如下特点移动终端MS与基站BTS之间的无线链路数据包丢失率较高。并且无线资源非常有限。
VoIP语音业务为实时语音媒体流业务,通话过程中,个别语音媒体数据包的丢失不会影响VoIP话音质量,故允许丢弃个别语音媒体数据包。
在传输过程中,需要尽量减小VoIP语音媒体数据包的端到端的传输时延和时延抖动。
请参阅图2,针对基于移动分组交换网络的VoIP业务的特点,本发明提出的错误恢复方法包括首先,设置数据包系列号增量门限值。所述系列号增量门限值存储于互为发射方与接收方的移动终端(MS)和CDMA 1X分组交换节点(PDSN),其设置可以通过软件升级或添加系列号增量门值设置器等方式实现。
当然,所述系列号增量门限值还可以寄存于报头解压缩器内,其值可以根据业务需要设定。
其次,当报头解压缩器接收到数据包时,计算系列号的增量,并进行相应处理。
如果接收到一个FULL_HEADER,则将整个头存在由环境ID选择的会话环境中。4位系列号也存在环境中,从而可实现报头解压缩器和报头压缩器的同步。在使用COMPRESSED_NON_TCP包时,系列号插入到该包的“Data字段”中,在接收到COMPRESSED_NON_TCP包后,将Generation号和存在环境中的值进行比较。如果不同,则环境已经过期,需要用该FULL_HEADER包来进行刷新。如果一致,则将压缩的IP和UDP头信息、系列号、以及RTP头都存入已保存的环境中。
除了由FULL_HEADER和COMPRESSED_NON_TCP包数据设置外,如果系列号的增量小于门限值,则表示压缩通信过程正常,报头解压缩器不将会话环境置为无效并且不发送CONTEXT_STATE包回报头压缩器;反之报头解压缩器则将会话环境置为无效并发送CONTEXT_STATE包给报头压缩器,表示会话环境已经无效。无效会话环境的所有当前包都必须丢弃,直到收到一个FULL_HEADER或COMPRESSED_NON_TCP重建稳定状态为止。
由于在基于移动分组交换网络的VoIP语音业务过程中,语音数据包的传输发生丢失数据包的概率较大,少量数据包的丢失并不会影响VoIP语音质量,如果使用RFC2508协议规定的系列号增量为1时,报头解压缩器将会话环境置为无效,并发送CONTEXT_STATE包给报头压缩器。报头压缩器收到CONTEXT_STATE数据包,发送一个FULL_HEADER帧。这样会导致报头解压缩器频繁的发送CONTEXT_STATE数据包,会占有过多的压缩的反向信道带宽,影响无线链路的传输效率。通过本优化,能够有效的减小报头解压缩器发送CONTEXT_STATE数据包的频率。
此外,当报头解压缩器检测到语音数据包的系列号发生跳变时,判断是否为相同会话环境,如果是,则报头解压缩器保存已经正确解压的语音数据包。所谓正确解压是指虽然部分头域解压发生错误,但是数据包的内容是正确的。
RFC2508协议认为此时报头解压缩器已经不能完整解压原始数据包,故建议丢弃该数据包。但是,经过分析,在相同环境,当系列号发生跳变时,报头解压缩器解压出的数据包的IP头的ID字段和UDP的校验和CheckSum字段与原报文不一致。但不影响报文的传送及报文内容,所以不丢弃该数据包。这样处理能够最大限度的保护语音的完整,减少由于压缩导致语音质量下降的可能。
请参阅图3,本发明的错误恢复方法还包括进一步稳定会话环境的过程。
首先,在发射方设置定时器;所述定时器的设置可以通过软件升级或添加硬件的方式实现。
当然,所述定时器可以集成在报头压缩器内或与报头压缩器分立;定时器的时间长度可以根据业务需要确定,如定义为30S。
如发射方定时器的时间长度内无数据传送时,后续发送的第一个数据包使用全头帧FULL_HEADER格式发送以重建会话环境。
一种实施例是当发送语音数据包时,报头压缩器判断其与前一语音数据包的时间间隔是否小于定时器的值,如果是,则压缩报头后发送;如果否,则在发送后续发送的第一个数据包时重建会话环境。
这是由于在报头压缩器与报头解压缩器之间如果长时间没有数据包发送后,随后发送的压缩数据包导致会话环境不同步的可能性较大,尤其在VoIP语音业务中。如果发送FULL_HEADER格式的数据包,能够在报头压缩器与报头解压缩器之间建立新的会话环境。这样能够有效地避免会话环境的不同步。保证一定时间的空闲之后不会出现错包,对报头压缩器与报头解压缩器之间的压缩环境的稳定提高了保证。
请参阅图4,对应于前述错误恢复方法,本发明给出移动通信网络中IP报头压缩的错误恢复装置的一种实施例。
所述错误恢复装置包括报头压缩器200、报头解压缩器300、数据包系列号增量门限值设置器400和定时器500;所述报头压缩器200设置在互为发射方和接收方的移动通信网络的移动终端及分组交换节点内;所述报头解压缩器300也设置在互为发射方和接收方的移动通信网络的移动终端及分组交换节点内。其中,位于同一单元的报头压缩器200和报头解压缩器300可以集成也可以分立。
所述数据包系列号增量门限值设置器400设置于接收方,用于设置数据包系列号增量门限值;所述报头解压缩器300在接收到语音数据包时,根据所述系列号增量门限值决定是否将会话环境设为无效。
所述定时器500设置于发射方,用于预设一定的时间长度。所述报头压缩器200在发送语音数据包时,根据定时器的值决定是否重建会话环境。
可以理解,所述定时器500集成在报头压缩器200内或与报头压缩器200分立。
综上所述,对于基于移动分组交换网络的VoIP语音业务,通过采用本发明描述的技术方案,能够有效的提高应用于VoIP业务的RFC2508压缩协议的压缩效率。减小了VoIP语音的端到端传输时延和时延抖动,为VoIP语音质量提供了有效保障。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种移动通信网络中IP报头压缩的错误恢复方法,用于提升发射单元和接收单元之间的数据传输效率,其特征在于,包括步骤1)在接收单元设置数据包系列号增量门限值;2)当接收单元接收到语音数据包时,报头解压缩器判断其系列号相对前一语音数据包的系列号的增量是否小于前述门限值,如果是,则表示压缩通信过程正常;如果否,则进入步骤3);3)报头解压缩器将会话环境置为无效。
2.根据权利要求1所述的错误恢复方法,其特征在于所述步骤3)中还包括报头解压缩器发送CONTEXT_STATE包给发射单元的报头压缩器。
3.根据权利要求2所述的错误恢复方法,其特征在于所述步骤3)之后还包括报头压缩器接收到CONTEXT_STATE数据包,发送FULL_HEADER帧给报头解压缩器。
4.根据权利要求1所述的错误恢复方法,其特征在于所述步骤3)之后还包括报头压缩器重建会话环境。
5.根据权利要求1所述的错误恢复方法,其特征在于,还包括步骤当报头解压缩器检测到语音数据包的系列号发生跳变时,判断是否为相同会话环境,如果是,则报头解压缩器保存已经正确解压的语音数据包。
6.根据权利要求1所述的错误恢复方法,其特征在于,还包括步骤4)在发射单元设置定时器;5)当发射单元发送语音数据包时,报头压缩器判断其与前一语音数据包的时间间隔是否小于定时器的值,如果是,则压缩报头后发送;如果否,则在发送后续发送的第一个数据包时重建会话环境。
7.根据权利要求5所述的错误恢复方法,其特征在于,所述步骤5)中报头压缩器采用全头帧格式发送后续发送的第一个数据包。
8.一种移动通信网络中IP报头压缩的错误恢复装置,用于提升发射单元和接收单元之间的数据传输效率,包括报头压缩器、报头解压缩器;其特征在于还包括位于接收单元的数据包系列号增量门限值设置器,用于设置数据包系列号增量门限值;所述报头解压缩器在接收到语音数据包时,根据所述系列号增量门限值决定是否将会话环境设为无效。
9.根据权利要求8所述的错误恢复装置,其特征在于还包括位于发射单元的定时器;所述报头压缩器在发送语音数据包时,根据定时器的值决定是否重建会话环境。
10.根据权利要求9所述的错误恢复装置,其特征在于所述定时器集成在报头压缩器内或与报头压缩器分立。
全文摘要
本发明公开了一种移动通信网络中IP报头压缩的错误恢复方法,用于提升发射单元和接收单元之间的数据传输效率,包括步骤在接收单元设置数据包系列号增量门限值;当接收单元接收到语音数据包时,报头解压缩器判断其系列号相对前一语音数据包的系列号的增量是否小于前述门限值,如果是,则表示压缩通信过程正常;如果否,则报头解压缩器将会话环境置为无效。本发明还公开了一种应用该方法的错误恢复装置。
文档编号H04Q7/22GK1735071SQ200410058429
公开日2006年2月15日 申请日期2004年8月11日 优先权日2004年8月11日
发明者赵建国, 漆宝剑 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1