CN101616164A - 一种传输报文的方法和装置 - Google Patents
一种传输报文的方法和装置 Download PDFInfo
- Publication number
- CN101616164A CN101616164A CN200910165626A CN200910165626A CN101616164A CN 101616164 A CN101616164 A CN 101616164A CN 200910165626 A CN200910165626 A CN 200910165626A CN 200910165626 A CN200910165626 A CN 200910165626A CN 101616164 A CN101616164 A CN 101616164A
- Authority
- CN
- China
- Prior art keywords
- message
- module
- verification
- rtp
- rtp message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种传输报文的方法和装置,以使现有技术中的CRTP报文能够进一步得到压缩,以更加节省带宽资源。实施例中的方法包括:监测待发送的压缩实时传送协议CRTP报文的M、S、T标志位的值;在M、S、T标志位都为0时,根据会话上下文标识CID、用户数据报文协议UDP校验和数据以及实时传送协议RTP数据,构造压缩报文并发送。实施例同时给出了相应的装置。根据实施例的技术方案,使得在链路传输质量较好的情况下构造得到的报文比现有的CRTP报文减少了1个字节,由此提高了报文的压缩效率,从而进一步节省了系统的带宽资源。
Description
技术领域
本发明涉及数据通信技术领域,特别地涉及一种传输报文的方法和装置。
背景技术
随着通讯技术的高速发展,无论是在传统的低速串行链路还是3G等无线链路,基于实时传送协议RTP(Real Time Protocol)的多媒体应用越来越广泛,RTP报文通常具有负载小的特点,语音报文的负载甚至比其IP/UDP/RTP报文头还小,造成了带宽的很大浪费,为了节省带宽,通常会使用报文压缩技术。
目前主流的RTP报文压缩协议包括:压缩实时传送协议CRTP、鲁棒头压缩RoHC(Robust Header Compression)协议,前者设计之初是为了用于低速串行链路,后经增强型CRTP即ECRTP(Enhanced Compressed RTP)优化增强后,可适应更广泛的链路环境;后者主要设计用于无线网络。RoHC协议相比CRTP在对抗丢包、乱序和保持高压缩率等方面更强,缺点是实现相比CRTP复杂的多。
作为主要的头压缩技术之一,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标志位之前还包括:根据预设的准则,确认用于发送所述压缩报文的链路的传输质量允许传输该压缩报文。
一种传输报文的装置,包括:
监测模块,用于监测待发送的压缩实时传送协议CRTP报文的M、S、T标志位的值;
压缩模块,用于当监测模块确认待发送的压缩实时传送协议CRTP报文的M、S、T标志位都为0时,根据会话上下文标识CID、用户数据报文协议UDP校验和以及实时传送协议RTP数据,构造压缩报文;
发送模块,用于发送压缩模块构造的压缩报文。
所述的装置进一步包括评估模块,用于根据预设的准则,确认用于发送所述压缩报文的链路的传输质量允许传输该压缩报文。
根据本实施例的技术方案,当确认待发送的压缩实时传送协议CRTP报文的M、S、T标志位都为0时,根据CID、UDP校验和以及RTP数据构造压缩报文。通过这样的方式,使得在链路传输质量较好的情况下构造得到的报文比现有的CRTP报文减少了1个字节,由此提高了报文的压缩效率,从而进一步节省了系统的带宽资源。
附图说明
图1为现有的CRTP报文结构示意图;
图2为本实施例中的压缩报文结构示意图;
图3为IP层、CRTP层、PPP层的关系示意图;
图4为本实施例中报文压缩端处理流程图;
图5为本实施例中报文解压端处理流程图;
图6为本实施例中的报文传输装置结构示意图。
具体实施方式
下面结合附图对本发明实施例中的技术方案作出说明。附图用于帮助理解实施例的技术方案,在实现中可以不限于附图所示的形式。
在本实施例中,对于待发送的CRTP报文,对其M、S、T标志位进行监测,如果这些标志位都为0,则根据CID、UDP校验和以及RTP数据构造压缩报文然后发送。在发送这种压缩报文之前,可以先对传输报文所用的链路的质量进行评估,当确认该链路质量较好时再发送这种压缩报文。另一方面,如果链路的质量较差,则仍然发送现有的4字节CRTP压缩报文。也就是说本实施例中的报文传输方法可以和现有方法相结合使用。
本实施例中根据CID、UDP校验和以及RTP数据构造的压缩报文的结构如图2所示,在这里将这种结构的报文称作COMPRESSED_RTP_X_8或COMPRESSED_RTP_16报文。与图1所示的报文结构相比,二者的差别在于图2中的压缩报文不包括MSTI字段和SN字段,于是比图1所示的报文要少一个字节。以下对此差别作进一步说明。
在链路传输质量较好的情况下,报文丢包和乱序不严重,传输的报文很有规律,此时M值为0,且报文序号SN、时间戳TS的二次差分为0,于是M、S、T标志位都为0,所以在这种的情况下可不必传输M、S、T标志位。I标志位因ID字段只用于IP分片用,且CRTP又不处理分片报文,原始CRTP方案只是为了实现无损压缩而被携带,并无实际意义,因此可被压缩端直接舍弃而不传输,至于解压端则自行根据上下文中最后报文的ID值自动+1或+N处理即可。4-bit SN字段主要用于丢包统计和Twice算法使用,但因其只占4-bit,能表示的数值范围有限,即区间[0-15],解压端完全可以直接进行Twice算法处理,因没有具体次数的指示,最多估算16次,带来的不利影响仅仅是多占用运算元件的资源。丢包数也能够通过间接推算得到,所以4-bit SN字段也可以直接舍弃。
从上面的分析可知,如果M、S、T标志位都为0,那么M、S、T可以不必传输,而且由于I和压缩报文序号SN也可以不必传输,从图1可以看出,M、S、T、I和SN正好占用一个字节,所以在压缩端可以采用图2所示的结构来构造压缩报文,而在解压端则有相应的处理方式保证报文的正确传输。以图3为例,来自IP层的原始的RTP报文在CRTP层的压缩端被压缩,压缩方式可以选用现有压缩方式或本实施例中的压缩方式,然后传递给点到点协议PPP层,压缩报文在PPP层传输之后,在CRTP层的解压端恢复为RTP报文然后传递给IP层作后续处理。另一方面,如果M、S、T三个标志位不全为0,则应当根据图1的结构来压缩报文。以下对本实施例中CRTP层的压缩端以及解压端的处理流程作出说明。图4和图5分别示出了CRTP层的压缩端和解压端处理流程的主要步骤。
步骤41:进行PPP链路协商。具体地,PPP链路的NCP协商字段suboptions采用新类型值例如3或4,或者是其他新类型值,其他参数采用系统的配置值或默认值进行协商。对于支持本实施例方法的系统,使用上述新类型值能够协商成功。
步骤42:如链路协商不成功,则用suboptions为1或2作为协商字段重新发起协商,其后根据现有的CRTP的处理流程进行处理;若链路协商成功则转入步骤43。
步骤43:当压缩端收到RTP报文后,构建上下文,然后发送全头报文。可以看出此时系统的工作状态采用传统模式。
步骤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协商新压缩类型成功为前提,这里的新压缩类型指的是按照图2所示的结构来构造压缩报文。
步骤51:接收PPP层传送的报文。
步骤52:判断接收的报文类型,若是现有的CRTP报文即COMPRESSED_RTP_8或COMPRESSED_RTP_16类型则按RFC2508和RFC3545规范处理,若是新型报文即COMPRESSED_RTP_X_8或COMPRESSED_RTP_X_16类型,则转入步骤53。
步骤53:根据CID查找相应解压上下文控制块,如找不到则丢弃该报文,结束流程;如找到,则转入步骤54。
步骤54:根据上下文内容的IP/UDP/RTP头信息、DeltaSN和DeltaTS构造解压后的RTP报文。
步骤55:对解压出的RTP报文进行校验和检查。校验可采取对收到的所有报文都校验,也可以采取每隔若干报文进行一次校验,如每隔16个报文校验一次。如果校验成功则转入步骤56,否则转入步骤57。
步骤56:将恢复出的RTP报文交由IP层继续处理,结束流程。
步骤57:多次启用Twice算法,对收到的报文进行猜测,直到成功或达到猜测次数上限。猜测的次数可视处理器性能而定,推荐2-6次之间,而且尽量猜测后续报文,因PPP作为点到点链路,报文乱序的概率通常不高,很可能是错误帧或传输过程其他原因导致的偶然丢包。如猜测成功则转入步骤58,否则转入步骤59。
步骤58:将报文上交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报文进行猜测,以及当确认在预设次数内猜测成功时,将该RTP报文交由IP层继续处理。
解压端的模块还可以是包括恢复模块、校验模块、猜测模块和反馈模块,其中恢复模块用于根据CID得出解压后的RTP报文;校验模块用于对该RTP报文进行校验,以及当确认校验不成功时,将该RTP报文交由猜测模块继续处理;猜测模块用于使用Twice算法对该RTP报文按照预设的次数进行猜测;反馈模块用于当猜测模块在预设次数内猜测全部失败时,向报文发送端请求全头报文。
根据本实施例的技术方案,当确认待发送的压缩实时传送协议CRTP报文的M、S、T标志位都为0时,在构造的压缩报文中省略M、S、T、I字段和SN字段,根据CID、UDP校验和以及RTP数据构造压缩报文。在解压端对报文进行校验,在校验失败时使用Twice算法进行猜测,若猜测失败再请求全头报文。通过这样的方式,能够一方面使得在链路传输质量较好的情况下提高报文的压缩效率,节省带宽资源,另一方面又能保证报文的完整、正确传送。并且通过链路的协商和对收到的报文的类型进行判断等机制,使本实施例的方案能与现有的传输CRTP报文的技术相兼容,于是能够充分利用原有CRTP系统的资源,并提高系统的运行效率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
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、一种传输报文的装置,其特征在于,
监测模块,用于监测待发送的压缩实时传送协议CRTP报文的M、S、T标志位的值;
压缩模块,用于当监测模块确认待发送的CRTP报文的M、S、T标志位都为0时,根据会话上下文标识CID、用户数据报文协议UDP校验和以及实时传送协议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报文按照预设的次数进行猜测;
反馈模块,用于当猜测模块在预设次数内猜测全部失败时,向报文发送端请求全头报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101656267A CN101616164B (zh) | 2009-08-12 | 2009-08-12 | 一种传输报文的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101656267A CN101616164B (zh) | 2009-08-12 | 2009-08-12 | 一种传输报文的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101616164A true CN101616164A (zh) | 2009-12-30 |
CN101616164B CN101616164B (zh) | 2012-01-25 |
Family
ID=41495568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101656267A Active CN101616164B (zh) | 2009-08-12 | 2009-08-12 | 一种传输报文的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101616164B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102655469A (zh) * | 2011-03-01 | 2012-09-05 | 中兴通讯股份有限公司 | 一种实现差分时钟设备通信的网络设备及系统及方法 |
CN102131085B (zh) * | 2010-01-20 | 2013-04-17 | 苏州尚嘉信息技术有限公司 | 一种二次差分预测编码方法及文件定位方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101102263B (zh) * | 2006-07-07 | 2010-05-12 | 华为技术有限公司 | 压缩报文恢复方法及装置 |
CN101146025B (zh) * | 2006-09-13 | 2010-12-08 | 华为技术有限公司 | 压缩实时传输协议的报文传输方法和系统以及压缩端单元 |
-
2009
- 2009-08-12 CN CN2009101656267A patent/CN101616164B/zh active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102131085B (zh) * | 2010-01-20 | 2013-04-17 | 苏州尚嘉信息技术有限公司 | 一种二次差分预测编码方法及文件定位方法 |
CN102655469A (zh) * | 2011-03-01 | 2012-09-05 | 中兴通讯股份有限公司 | 一种实现差分时钟设备通信的网络设备及系统及方法 |
WO2012116526A1 (zh) * | 2011-03-01 | 2012-09-07 | 中兴通讯股份有限公司 | 一种实现差分时钟设备通信的网络设备及系统及方法 |
CN102655469B (zh) * | 2011-03-01 | 2016-08-10 | 中兴通讯股份有限公司 | 一种实现差分时钟设备通信的网络设备及系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101616164B (zh) | 2012-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7029471B2 (ja) | アップリンクデータ解凍、圧縮方法および装置 | |
JP4317403B2 (ja) | ヘッダ圧縮装置及びヘッダ圧縮方法 | |
US7647421B2 (en) | Extension header compression | |
CN1174588C (zh) | 分组接收装置和分组传输方法 | |
CN101155311A (zh) | 一种视频通信中的视频码流错误检测和处理方法 | |
RU2005104018A (ru) | Сжатие данных | |
US20100020682A1 (en) | Communication device, communication method, and recording medium | |
CN100446514C (zh) | 以分组流传输数据分组的方法及其装置 | |
CN1344069A (zh) | 首部复原装置和首部复原方法 | |
CN110557677A (zh) | 一种视频传输的方法及装置 | |
WO2017215583A1 (zh) | 视频业务质量评估的方法及装置 | |
JP2006287284A (ja) | 無線通信システム及びそのヘッダ圧縮制御方法 | |
CN114362885A (zh) | 物联网数据传输方法、装置、设备和介质 | |
CN101605355B (zh) | 一种用于LTE-advanced网络中继节点上的ROHC混合工作方式 | |
CN112335203B (zh) | 处理局域网诊断数据 | |
EP2400389B1 (en) | A method, a system, a server, a device, a computer program and a computer program product for transmitting data in a computer network | |
CN111385263B (zh) | 一种数据包头压缩信息的维护方法及通信设备 | |
EP1482668A1 (en) | PACKET TRANSMITTER, PACKET RECEIVER AND PACKET TRANSMISSION METHOD | |
CN101616164B (zh) | 一种传输报文的方法和装置 | |
US20050100051A1 (en) | Apparatus and method for compressing a header of a packet | |
US20040165542A1 (en) | Packet transmitter and packet transmitter method | |
Maeder et al. | Performance evaluation of ROHC reliable and optimistic mode for voice over LTE | |
CN101119300A (zh) | 限制带宽的方法及装置 | |
CN117042000A (zh) | 一种双模通信网络的通信模式选择方法 | |
CN103428677A (zh) | 分组业务数据的发送方法及信令信道发送信息的接收方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |