LTE网络中我们经常听到鲁棒头压缩ROHC(Robust Header Compression)一词;其实鲁棒头压缩ROHC是IP数据包头的一种压缩算法;
在IPV4中1个数据包头可达40比特,在IPV6中可达60比特;这对于小数据的信息(如短信、微信)这种聊天数据来说真是“头比身子大”!
鉴于此情RFC 3095中提出了鲁棒头压缩ROHC技术,可将40比特的IP包头压缩为1或2比特;
一、鲁棒头压缩原理
在初始会话发送和接收全部IP报文,IP数据包头不压缩;
发送端和接收保存提取和存储IP数据包头;
在初始会话之后,发送端只发送与初始会话头信息不同的信息。(IP包头中信息在整个会话期间不会更改,可更改部分将变得非常小)。因此,只传输变化的部分就会产生类似数据压缩的效果;
根据第三步发送后续的数据。
二、IP/UDP包头与数据
如下图所示例:包头地址中(蓝色部分)有:发送端地址,接收端地址,版本、IHL、业务类型、发送端口、接收端口等;而传输的数据(Data--绿色部分)只有一小部分;
三、鲁棒头压缩流程
鲁棒头压缩算法分为三步:IR初始(IP头全发全收)、FO首次(提取保存地址--标识)、再次(根据首次的标识进行数据传递)
四、鲁棒头压缩算法
RFC 3095 中规定的鲁棒头压缩算法如下:
Profile 0 (ROHC Uncompressed) : 压缩数据包,它不能被以下任何配置文件压缩
Profile 1 (ROHC RTP) : 用 ip/udp/rtp 协议头压缩数据包
Profile 2 (ROHC UDP) :用 ip/udp 协议头压缩数据包
Profile 3 (ROHC ESP) : 用 ip/esp 协议头压缩数据包
3GPP TS 36.323 (Table 5.5.1.1)支持头压缩算法如下:
Profile Identifier | Usage | Reference |
0x0000 | No compression | RFC 4995 |
0x0001 | RTP/UDP/IP | RFC 3095, RFC 4815 |
0x0002 | UDP/IP | RFC 3095, RFC 4815 |
0x0003 | ESP/IP | RFC 3095, RFC 4815 |
0x0004 | IP | RFC 3843, RFC 4815 |
0x0006 | TCP/IP | RFC 4996 |
0x0101 | RTP/UDP/IP | RFC 5225 |
0x0102 | UDP/IP | RFC 5225 |
0x0103 | ESP/IP | RFC 5225 |
0x0104 | IP | RFC 5225 |
五、头压缩示例(以下红色字体部分)
5.1 UE Capability Information for ROHC
c1: ueCapabilityInformation-r8 (0)
ueCapabilityInformation-r8
ue-CapabilityRAT-ContainerList: 2 items
Item 0
UE-CapabilityRAT-Container
rat-Type: eutra (0)
ueCapabilityRAT-Container: c51800304184200e1f8dfe1f8dfe1f8dfe1f8dfdfc37f2ea...
UE-EUTRA-Capability
accessStratumRelease: rel9 (1)
ue-Category: 3
pdcp-Parameters
supportedROHC-Profiles
...1 .... profile0x0001: True
.... 1... profile0x0002: True
.... .0.. profile0x0003: False
.... ..0. profile0x0004: False
.... ...0 profile0x0006: False
0... .... profile0x0101: False
.0.. .... profile0x0102: False
..0. .... profile0x0103: False
...0 .... profile0x0104: False
5.2 RRC Connection Reconfiguration for ROHC
c1: rrcConnectionReconfiguration-r8 (0)
rrcConnectionReconfiguration-r8
radioResourceConfigDedicated
drb-ToAddModList: 1 item
Item 0
DRB-ToAddMod
drb-Identity: 1
pdcp-Config
rlc-AM
...0 .... statusReportRequired: False
headerCompression: rohc (1)
rohc
profiles
.... ...1 profile0x0001: True
1... .... profile0x0002: True
.0.. .... profile0x0003: False
..0. .... profile0x0004: False
...0 .... profile0x0006: False
.... 0... profile0x0101: False
.... .0.. profile0x0102: False
.... ..0. profile0x0103: False
.... ...0 profile0x0104: False
原文来自:http://www.sharetechnote.com/
整理:kangguoying20201001
"NSA网络中终端无法接入5G (NR)排查要点”已在微信公众号"跟着老康学5G"中推出,敬请关注!