分享

【VOLTE】ROHC 健壮性包头压缩

 moodf 2016-03-04
一、什么是包头压缩?为什么要引入ROHC

ROHCRobust Header Compression健壮性包头压缩

详细可参考:http://www.docin.com/p-286361207.html

      

       随着网络IP化,语音业务也从早起的ATM/TDMIP上转变。承载语音数据的经典数据包格式如下:

 

典型的语音数据包结构:

【VOLTE】ROHC <wbr>健壮性包头压缩

【VOLTE】ROHC <wbr>健壮性包头压缩

从语音数据包可以看到,一个IP包的包头长度远远大于实际用户所传输的数据,如果这些包头每次都在网络上传输,那么势必会导致网络资源的极大浪费!

 

例如,使用IPV4报头长度有40字节,数据部分15~20字节,那么66%~73%资源用于承载报文的包头上;

如果使用IPV6,报头长度有60字节,那么75%~80%的资源用于承载报头!

 

无线网络资源是有限的,珍贵的,如何提高用户数据的传输效率-->>>对包头进行压缩

 

包头压缩技术有很多种,为何采用ROHC包头压缩,这是因为ROHC适用于

1.       ROHC适用于高误码率的传输环境

2.       ROHC适用于网络时延较大的传输环境

3.       ROHC压缩率高,还需要较强的稳健性,适用于较为恶劣的无线环境中。通过ROHC包头压缩,IPV6 60字节的包头,压缩到3字节。

 

4.       ROHC压缩方法简单,不需要增加额外的网元设备

二、ROHC压缩过程

2.1  ROHC压缩/解压流程

【VOLTE】ROHC <wbr>健壮性包头压缩

由于无线环境丢包率较高,ROHC压缩引入了CRC校验,用于检测包在传输过程中的正确性


2.2 ROHC对应协议栈的位置:

【VOLTE】ROHC <wbr>健壮性包头压缩
【VOLTE】ROHC <wbr>健壮性包头压缩

2.3 ROHC PROFILE

ROHC压缩协议有很多类型,例如对RTP+UDP+IP包的压缩,有对UDP+IP包的压缩,究竟是那种压缩方法,有一个相对应的IDPROFILE ID 3GPP 36.323中有明确定义

【VOLTE】ROHC <wbr>健壮性包头压缩

三、 LOG分析

ROHC不了解算法的情况下,主要需要分析一下几点

1)ROHC 终端是否支持

2)ROHC 网络是否支持?

3)ROHC协商过程

4)ROHC 压缩报头的传输

 

3.1 ROHC终端支持情况

通过信令查看UECapabilityInformation消息

value UE-EUTRA-Capability ::=

{

  accessStratumRelease rel9,

  ue-Category 3,

  pdcp-Parameters

  {

    supportedROHC-Profiles

    {

      profile0x0001 TRUE,       //终端支持不压缩模式

      profile0x0002 TRUE,       //终端支持RTP/UDP/IP报头压缩模式

      profile0x0003 FALSE,

      profile0x0004 FALSE,

      profile0x0006 FALSE,

      profile0x0101 FALSE,

      profile0x0102 FALSE,

      profile0x0103 FALSE,

      profile0x0104 FALSE

    }

  },

 

3.2 ROHC网络支持情况

可以通过查看建立DRB时的rrcConnectionReconfiguration消息

drb-ToAddModList 
                headerCompression rohc : 
                        {
                          maxCID 2,  //maxNumberROHC-ContextSessions
                          profiles 
                          {
                            profile0x0001 TRUE,
                            profile0x0002 TRUE,
                            profile0x0003 FALSE,
                            profile0x0004 FALSE,
                            profile0x0006 FALSE,
                            profile0x0101 FALSE,
                            profile0x0102 FALSE,
                            profile0x0103 FALSE,
                            profile0x0104 FALSE
                          }
                        }

3.3 ROHC协商过程

未找到,不过通过压缩数据包可以看到具体使用了哪一个profile

3.4 高通平台ROHC数据传输

高通平台对于PDPC的ROHC压缩信令的传输主要查看4条信令
0x1361  RoHC Compressor
0x1362  RoHC Decompressor
0x1363  RoHC Feedback Compressor

 

0x1364  RoHC Feedback Decompressor


四、 参考文档

1.       3GPP 36.323  LTE RLC层协议

2.       RFC3095 RObust Header Compression (ROHC): Framework and four profiles: RTP, UDP, ESP, and uncompressed

3.       RFC4815 RObust Header Compression (ROHC): Corrections and Clarifications to RFC 3095

4.       RFC4995 The RObust Header Compression (ROHC) Framework

5.       RFC5225 RObust Header Compression Version 2 (ROHCv2): Profiles for RTP, UDP, IP, ESP and UDP-Lite

6.       http://www.docin.com/p-286361207.html强烈推荐

 

7.       80-ND484-1_B_LTE_AS_VoLTE_AS_Features_Log_Analysis

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多