一种传输报文的方法和装置的制作方法

文档序号:7711764阅读:135来源:国知局
专利名称:一种传输报文的方法和装置的制作方法
技术领域
本发明涉及数据通信技术领域,特别地涉及一种传输报文的方法和装置。
背景技术
随着通讯技术的高速发展,无论是在传统的低速串行链路还是3G等无线 链路,基于实时传送协议RTP( Real Time Protocol)的多Jf某体应用越来越广泛, RTP报文通常具有负载小的特点,语音报文的负载甚至比其IP/UDP/RTP报文 头还小,造成了带宽的很大浪费,为了节省带宽,通常会使用报文压缩技术。
目前主流的RTP报文压缩协议包括压缩实时传送协议CRTP、鲁棒头压 缩RoHC (Robust Header Compression)协议,前者设计之初是为了用于低速串 行链路,后经增强型CRTP即ECRTP (Enhanced Compressed RTP)优化增强 后,可适应更广泛的链路环境;后者主要设计用于无线网络。RoHC协议相比 CRTP在对抗丢包、乱序和保持高压缩率等方面更强,缺点是实现相比CRTP 复杂的多。
作为主要的头压缩4支术之一,CRTP协议可将原始IPv4/UDP/RTP共40个 字节的报文头压缩到最小2-4个字节,实际应用中因RTP报文多半携带UDP 校验和,所以最小压缩报文并不是理论上的2字节,而通常是4字节,其结构 见图1 ,这种结构的^艮文称作COMPRESSED—RTP—8或COMPRESSED_RTP—16 报文,该报文由1个字节的上下文标识字段CID字段、1个字节的MSTI字段 和2个字节的UDP校验和字段組成,MSTI字段在RTP的RTP序列号的一次 差分deltaSN、 RTP时间戳的 一次差分deltaTS 、 IPv4序号字段的 一次差分deltaID 或RTP头的标志位M字段发生变化时可自动扩展压缩报头长而不需要使用其 他类型报文。如果现有的CRTP报文能够进一步得到压缩,则可以更加节省带 宽资源。

发明内容
本发明提供一种传输报文的方法和装置,以使现有技术中的CRTP报文能 够进一步得到压缩,以更加节省带宽资源。
为解决上述问题,本发明提供如下的技术方案 一种传输报文的方法,包括
监测待发送的压缩实时传送协议CRTP报文的M、 S、 T标志位的值; 在M、 S、 T标志位都为0时,根据会话上下文标识CID、用户数据才艮文
协议UDP校验和以及实时传送协议RTP数据,构造压缩寺艮文并发送。
所述监测待发送的压缩实时传送协议CRTP报文的M、 S、 T标志位之前
还包括根据预设的准则,确认用于发送所述压缩报文的链路的传输质量允许
传输该压缩纟艮文。
一种传输"R文的装置,包括
监测模块,用于监测待发送的压缩实时传送协议CRTP报文的M、 S、 T 标志位的值;
压缩模块,用于当监测模块确认待发送的压缩实时传送协议CRTP报文的 M、 S、 T标志位都为0时,根据会话上下文标识CID、用户数据报文协议UDP 校验和以及实时传送协议RTP数据,构造压缩才艮文;
发送模块,用于发送压缩模块构造的压缩报文。
所述的装置进一步包括评估模块,用于根据预设的准则,确认用于发送所 述压缩报文的链路的传输质量允许传输该压缩报文。
根据本实施例的技术方案,当确认待发送的压缩实时传送协议CRTP报文 的M、 S、 T标志位都为0时,根据CID、 UDP校验和以及RTP数据构造压缩 报文。通过这样的方式,使得在链路传输质量较好的情况下构造得到的报文比 现有的CRTP报文减少了 l个字节,由此提高了报文的压缩效率,从而进一步 节省了系统的带宽资源。


图1为现有的CRTP报文结构示意图2为本实施例中的压缩报文结构示意图3为IP层、CRTP层、PPP层的关系示意图4为本实施例中报文压缩端处理流程图5为本实施例中报文解压端处理流程图6为本实施例中的报文传输装置结构示意图。
具体实施例方式
下面结合附图对本发明实施例中的技术方案作出说明。附图用于帮助理解 实施例的技术方案,在实现中可以不限于附图所示的形式。
在本实施例中,对于待发送的CRTP报文,对其M、 S、 T标志位进行监 测,如果这些标志位都为0,则根据CID、 UDP校验和以及RTP数据构造压缩 报文然后发送。在发送这种压缩报文之前,可以先对传输报文所用的链路的质 量进行评估,当确认该链路质量较好时再发送这种压缩报文。另一方面,如果 链路的质量较差,则仍然发送现有的4字节CRTP压缩报文。也就是说本实施 例中的报文传输方法可以和现有方法相结合使用。
本实施例中才艮据CID、 UDP 4交—睑和以及RTP凄史据构造的压缩净艮文的结构 如图2所示,在这里将这种结构的报文称作COMPRESSED_RTP_X—8或 COMPRESSED—RTP_16报文。与图1所示的报文结构相比,二者的差别在于 图2中的压缩报文不包括MSTI字段和SN字段,于是比图1所示的报文要少 一个字节。以下对此差别作进一步说明。
在链路传输质量较好的情况下,报文丟包和乱序不严重,传输的报文很有 规律,此时M值为O,且报文序号SN、时间戳TS的二次差分为0,于是M、 S、 T标志位都为0,所以在这种的情况下可不必传输M、 S、 T标志位。I标志 位因ID字段只用于IP分片用,且CRTP又不处理分片报文,原始CRTP方案
7只是为了实现无损压缩而被携带,并无实际意义,因此可被压缩端直接舍弃而
不传输,至于解压端则自行根据上下文中最后报文的ID值自动+1或+N处理 即可。4-bit SN字段主要用于丢包统计和Twice算法使用,但因其只占4-bit, 能表示的数值范围有限,即区间
,解压端完全可以直接进4亍Twice算法 处理,因没有具体次数的指示,最多估算16次,带来的不利影响仅仅是多占 用运算元件的资源。丢包数也能够通过间接推算得到,所以4-bitSN字段也可 以直接舍弃。
从上面的分析可知,如果M、 S、 T标志位都为0,那么M、 S、 T可以不 必传输,而且由于I和压缩才艮文序号SN也可以不必传^T, >^人图1可以看出, M、 S、 T、 I和SN正好占用一个字节,所以在压缩端可以采用图2所示的结 构来构造压缩报文,而在解压端则有相应的处理方式保证"t艮文的正确传输。以 图3为例,来自IP层的原始的RTP报文在CRTP层的压缩端被压缩,压缩方 式可以选用现有压缩方式或本实施例中的压缩方式,然后传递l^点到点协i义 PPP层,压缩报文在PPP层传输之后,在CRTP层的解压端恢复为RTP 4艮文然 后传递给IP层作后续处理。另一方面,如果M、 S、 T三个标志位不全为O, 则应当根据图1的结构来压缩报文。以下对本实施例中CRTP层的压缩端以及 解压端的处理流程作出说明。图4和图5分别示出了 CRTP层的压缩端和解压 端处理流程的主要步骤。
步骤41:进行PPP链路协商。具体地,PPP链路的NCP协商字段suboptions 采用新类型值例如3或4,或者是其他新类型值,其他参数采用系统的配置值 或默认值进行协商。对于支持本实施例方法的系统,使用上述新类型值能够协 商成功。
步骤42:如链路协商不成功,则用suboptions为l或2作为协商字l殳重新 发起协商,其后根据现有的CRTP的处理流程进行处理;若链路协商成功则转 入步骤43。
步骤43:当压缩端收到RTP报文后,构建上下文,然后发送全头l艮文。可以看出此时系统的工作状态采用传统模式。
步骤44:压缩端开始链路质量探测,对当前链路传输质量进行评估。
步骤45:如果评估结果为链路传输质量较差,则保持工作状态为传统模式, 按照传统CRTP才几制运行,否则在步骤44之后转入步骤46。
步骤46:在评估结果为链路传输质量较好的情况下,系统工作状态迁移为 激进模式,在此状态下系统的做法是监测要发送CRTP报文的M、 S、 T标志 位是否都为0,如果都为0,转入步骤48,否则转入步骤47。
步骤47:构造COMPRESSED_RTP_8或COMPRESSED—RTP—16报文, 然后转入步骤49。在本步骤中,系统的工作状态与传统模式有所不同,在此称 为激进才莫式。
步骤48:构造COMPRESSED—RTP—X_8或COMPRESSED—RTP—X—16报 文。此步骤中即根据图2所示的结构进行报文构造。 步骤49:调用PPP数据通信接口发送数据包。
从上述流程可以看出,系统的运行可以有两种模式,分别是传统模式和激 进模式,二者区别在于按照不同的结构进行报文的构造。系统的运行具体处于 哪种模式中则由链路质量探测的结果来决定,并且如果链路质量是动态变化, 则系统的运行也可以随之在两种状态之间切换。步骤46中的监测是持续进行 的, 一旦监测到M、 SN、 TS的二次差分为0,则系统立即切换到激进才莫式, 也就是此时要构造COMPRESSED—RTP—8或COMPRESSED—RTP—16报文,以 达到提高压缩效率,节省带宽资源的目的。如果在某种环境下能够保证链路质 量持续较好,那么也可以省略对于链路质量的监测,也就是系统持续地在激进 模式下运行,直接对M、 SN、 TS的二次差分进行监测。
对于步骤44中的链路传输质量评估,以下再作出说明。这里对于评估采 用的方法可根据具体系统运行环境,采用任何已有的对于链路质量进行评估的 方法,如类似于RFC3545中2.3. Achieving robust operation描述的"N"的 获取方法,也可以是自定义的方法,如利用过去3或5分钟内统计到的报文丟失个数,是否达到评定质量好坏的阈值等。而衡量链路质量是较好还是较差 的标准,也是与链路质量进行评估的方法相对应。比如是单位时间内丢包个数, 也可能是抖动值或者更复杂的计算公式的结果。具有实际意义的评判断准则需 要根据实际环境进行测试,得出 一个符合系统实际运行状态的经-验值。
解压端处理流程的主要步骤如图5所示,其中以PPP链路的NCP协商新 压缩类型成功为前提,这里的新压缩类型指的是^l姿照图2所示的结构来构造压 缩报文。
步骤51:接收PPP层传送的报文。
步骤52 :判断接收的报文类型,若是现有的CRTP报文即 COMPRESSED—RTP—8或COMPRESSED—RTP— 16类型则4安RFC2508和 RFC3545规范处理,若是新型才艮文即COMPRESSED_RTP_X—8或 COMPRESSED—RTP—X—l6类型,则转入步骤53 。
步骤53:根据CID查找相应解压上下文控制块,如找不到则丟弃该报文, 结束流程;如找到,则转入步骤54。
步骤54:根据上下文内容的IP/UDP/RTP头信息、DeltaSN和DeltaTS构 造解压后的RTP才艮文。
步骤55:对解压出的RTP报文进行校验和检查。校验可采取对收到的所 有报文都校验,也可以采取每隔若干报文进行一次校验,如每隔.6个报文校 验一次。如果校验成功则转入步骤56,否则转入步骤57。
步骤56:将恢复出的RTP报文交由IP层继续处理,结束流程。
步骤57:多次启用Twice算法,对收到的报文进行猜测,直到成功或达到 猜测次数上限。猜测的次数可视处理器性能而定,推荐2-6次之间,而且尽量 猜测后续报文,因PPP作为点到点链路,报文乱序的概率通常不高,很可能是 错误帧或传输过程其他原因导致的偶然丟包。如猜测成功则转入步骤58,否则 转入步骤59。
步骤58:将^1文上交IP层继续处理,结束流程。步骤59:丢弃当前报文,并发送状态回馈报文请求全头报文。这里不推荐 每丟失1个报文就发送一次回馈报文,而是至少连续丢失2或3个才发送回馈, 同一会话连续发送回々贵才艮文的速率也要控制,防止形成溢出(Flood )。
基于上述方法,以下对本实施例中的装置作出说明。本实施例中的装置可 以利用软件、硬件或者二者结合的方式实现。以下按功能模块来划分装置结构, 在实现中各模块可以各自成为设备,或为同一设备的组成部分。本领域普通技
指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中, 如ROM/RAM、磁碟、光盘等。
如图6所示,本实施例中的报文传输装置60可以应用在图3所示的CRTP 层,该装置包括监测模块61、压缩模块62和发送模块63。其中,监测模块61 用于监测待发送的CRTP报文的M、 S、 T标志位的值;压缩模块62用于当监 测模块确认待发送的CRTP报文的M、 S、 T标志位都为0时,根据会话上下 文标识CID、用户数据报文协议UDP校验和以及实时传送协议RTP数据构造 压缩报文;发送模块63用于发送压缩模块62构造的压缩报文。
可以看出报文传输装置60可以应用在CRTP层的压缩端。该装置还可以 包含一个评估模块,用于根据预设的准则,确认用于发送压缩模块62构造的 压缩报文的链路的传输质量允许传输该压缩报文。
报文传输装置60可以进一步包括解压端的模块。解压端的模块可以是包 括恢复模块和校验模块,其中恢复模块用于根据CID得出解压后的RTP报文; 校验模块用于对恢复模块得出的RTP报文进行校验,以及当确认校验成功时, 将所述RTP报文交由IP层继续处理。
解压端的模块也可以是包括恢复模块、校验模块和猜测模块,其中恢复模 块用于根据CID得出解压后的RTP报文;校验模块用于对该RTP报文进行校 验,以及当确认校验不成功时,将该RTP报文交由猜测模块继续处理;猜测模 块用于使用Twice算法对该RTP报文进行猜测,以及当确认在预^i次数内猜测成功时,将该RTP净艮文交由IP层继续处理。
解压端的模块还可以是包括恢复模块、校验模块、猜测模块和反馈模块, 其中恢复模块用于根据CID得出解压后的RTP报文;校验模块用于对该RTP 报文进行校验,以及当确认校验不成功时,将该RTP报文交由猜测模块继续处 理;猜测模块用于使用Twice算法对该RTP报文按照预设的次数进行猜测;反 馈模块用于当猜测模块在预设次数内猜测全部失败时,向报文发送端请求全头 报文。
根据本实施例的技术方案,当确认待发送的压缩实时传送协议CRTP报文 的M、 S、 T标志位都为0时,在构造的压缩报文中省略M、 S、 T、 I字段和 SN字段,根据CID、 UDP校验和以及RTP数据构造压缩报文。在解压端对报 文进行校验,在校验失败时使用Twice算法进行猜测,若猜测失败再请求全头 报文。通过这样的方式,能够一方面使得在链路传输质量较好的情况下提高报 文的压缩效率,节省带宽资源,另一方面又能保证"R文的完整、正确传送。并 且通过链路的协商和对收到的报文的类型进行判断等机制,使本实施例的方案 能与现有的传输CRTP报文的技术相兼容,于是能够充分利用原有CRTP系统 的资源,并提高系统的运行效率。
明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种传输报文的方法,其特征在于,监测待发送的压缩实时传送协议CRTP报文的M、S、T标志位的值;在M、S、T标志位都为0时,根据会话上下文标识CID、用户数据报文协议UDP校验和以及实时传送协议RTP数据,构造压缩报文并发送。
2、 根据权利要求1所述的方法,其特征在于,所述监测待发送的压缩实 时传送协议CRTP报文的M、 S、 T标志位之前还包括根据预设的准则,确 认用于发送所述压缩报文的链路的传输质量允许传输该压缩报文。
3、 根据权利要求1或2所述的方法,其特征在于,发送所述压缩报文之 后还包括根据所述CID得出解压后的RTP报文;对所述RTP报文进行校验,以及当确认校验成功时,将所述RTP报文交 由IP层继续处理。
4、 根据权利要求1或2所述的方法,其特征在于,发送所述压缩报文之 后还包括根据所述CID得出解压后的RTP报文;对所述RTP报文进行校验,当确认校验不成功时,使用Twice算法对所述 RTP报文进行猜测,以及当确认在预设次数内猜测成功时,将所述RTP才艮文交 由IP层继续处理。
5、 根据权利要求1或2所述的方法,其特征在于,发送所述压缩报文之 后还包括才艮据所述CID得出解压后的RTP报文;对所述RTP报文进行校验,当确认校验不成功时,使用Twice算法对所述 RTP报文进行猜测,以及当确认在预设次数内猜测全部失败时,向报文发送端 请求全头报文。
6、 一种传输"f艮文的装置,其特征在于,监测模块,用于监测待发送的压缩实时传送协议CRTP报文的M、 S、 T 标志4立的4直;压缩模块,用于当监测模块确认待发送的CRTP报文的M、 S、 T标志位 都为0时,4艮据会话上下文标识CID、用户凄t据才艮文协i义UDP 4交-睑和以及实 时传送协议RTP数据,构造压缩报文;发送模块,用于发送压缩模块构造的压缩报文。
7、 根据权利要求6所述的装置,其特征在于,还包括评估模块,用于根 据预设的准则,确认用于发送所述压缩报文的链路的传输质量允许传输该压缩 报文。
8、 根据权利要求6或7所述的装置,其特征在于,还包括 恢复模块,用于根据所述CID得出解压后的RTP报文;校验模块,用于对恢复模块得出的RTP报文进行校验,以及当确认校验成 功时,将所述RTP报文交由IP层继续处理。
9、 根据权利要求6或7所述的装置,其特征在于,进一步包括恢复模块、 校验模块和猜测模块,其中恢复模块,用于根据所述CID得出解压后的RTP报文;校验模块,用于对所述RTP报文进行校验,以及当确认校验不成功时,将所述RTP报文交由猜测模块继续处理;猜测模块,用于使用Twice算法对所述RTP报文进行猜测,以及当确认在预设次数内猜测成功时,将所述RTP报文交由IP层继续处理。
10、 根据权利要求6或7所述的装置,其特征在于,还包括恢复模块、校 验模块、猜测模块和反馈模块,其中恢复模块,用于根据所述CID得出解压后的RTP报文; 校验模块,用于对所述RTP报文进行校验,以及当确认校验不成功时,将 所述RTP报文交由猜测模块继续处理;猜测模块,用于使用Twice算法对所述RTP报文按照预设的次数进行猜观'j;反馈模块,用于当猜测模块在预设次数内猜测全部失败时,向"R文发送端 请求全头报文。
全文摘要
本发明提供一种传输报文的方法和装置,以使现有技术中的CRTP报文能够进一步得到压缩,以更加节省带宽资源。实施例中的方法包括监测待发送的压缩实时传送协议CRTP报文的M、S、T标志位的值;在M、S、T标志位都为0时,根据会话上下文标识CID、用户数据报文协议UDP校验和数据以及实时传送协议RTP数据,构造压缩报文并发送。实施例同时给出了相应的装置。根据实施例的技术方案,使得在链路传输质量较好的情况下构造得到的报文比现有的CRTP报文减少了1个字节,由此提高了报文的压缩效率,从而进一步节省了系统的带宽资源。
文档编号H04L29/06GK101616164SQ20091016562
公开日2009年12月30日 申请日期2009年8月12日 优先权日2009年8月12日
发明者宇 杨 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1