2. LTE空中接口协议栈:各层功能与数据流
LTE的空中接口,也就是Uu接口,是终端和基站之间的“桥梁”。很多刚入行的朋友觉得协议栈五层结构很抽象,其实说白了,它就是一套分工明确的流水线。我习惯把每一层想象成一个独立的车间,每个车间只干自己那点活,干完了就交给下一站。
今天咱们就把这五个车间——物理层、MAC层、RLC层、PDCP层、RRC层——挨个走一遍。看看它们各自管什么,数据又是怎么一层层“包装”和“拆包”的。
一句话总结:数据从高层往下走,每层加一个头(封装);从底层往上走,每层剥一个头(解封装)。这就是协议栈的基本工作模式。
2.1 物理层(PHY)—— 真正的“搬运工”
物理层是协议栈的最底层,也是唯一直接跟无线信号打交道的层。它的任务说白了就两件事:发的时候把比特变成电磁波,收的时候把电磁波变回比特。
我记得刚做LTE测试那会儿,遇到一个终端掉线问题,排查了半天,最后发现是物理层的一个资源映射参数配错了。你想想看,上层协议栈跑得再顺,物理层这关过不去,一切都是白搭。
物理层的主要功能包括:
- 编码与调制:把MAC层下来的传输块进行信道编码(Turbo码)、速率匹配、加扰、调制(QPSK/16QAM/64QAM/256QAM)。
- 多天线处理:层映射、预编码,支持MIMO传输。
- 资源映射:把数据映射到具体的时频资源(RE/RB)上。
- OFDM信号生成:IFFT变换、加CP,生成时域信号。
- HARQ指示:物理层负责发送ACK/NACK,但HARQ的管理在MAC层。
实战小贴士:排查物理层问题,我习惯先看RSRP和SINR。RSRP低于-120dBm或者SINR小于0dB,基本可以断定是物理层覆盖或干扰问题。这时候别急着往上查,先把射频环境搞定。
2.2 MAC层(媒体接入控制)—— 调度与重传的“指挥官”
MAC层在物理层之上,它的核心工作是调度。谁在什么时候用多少资源,都是MAC层说了算。基站侧的MAC调度器每1ms(一个子帧)就要做一次决策,这效率你想想看。
MAC层的主要功能:
- 动态调度:根据CQI、Buffer状态、优先级,给每个UE分配RB。
- HARQ重传:管理8个HARQ进程,处理物理层反馈的ACK/NACK。
- 逻辑信道优先级:保证高优先级业务(如VoLTE)优先发送。
- 随机接入:处理UE的随机接入请求(Msg1~Msg4)。
- 复用与解复用:把多个逻辑信道的数据打包成一个传输块。
我曾经遇到过一个VoLTE通话断续的问题,查来查去,最后发现是MAC层的逻辑信道优先级配反了——语音的优先级设得比数据还低。嗯,这种低级错误在现网里其实不少见。
注意:MAC层的HARQ是“同步”的,也就是说重传发生在固定的时间位置。这和RLC层的ARQ(异步重传)是两码事。别搞混了。
2.3 RLC层(无线链路控制)—— 分段与纠错的“质检员”
RLC层在MAC层之上,主要解决三个问题:分段、重传、顺序递交。MAC层给下来的传输块大小是固定的,但上层的数据包大小不一,RLC就得负责把它们切成合适的大小。
RLC有三种工作模式,我建议你记牢:
| 模式 | 全称 | 主要功能 | 典型应用 |
|---|---|---|---|
| TM | 透明模式 | 不加任何头,直接透传 | BCCH广播消息 |
| UM | 非确认模式 | 分段/级联,但不重传 | VoLTE的语音包(实时性要求高) |
| AM | 确认模式 | 分段/级联 + ARQ重传 + 顺序递交 | TCP数据业务 |
我个人习惯在排查丢包问题时,先看RLC层的重传统计。如果RLC AM模式下的重传率超过5%,那大概率是空口质量有问题,或者MAC层调度没跟上。
2.4 PDCP层(分组数据汇聚)—— 安全与压缩的“保镖”
PDCP层主要负责三件事:加密、完整性保护、头压缩。说白了,就是给数据上个锁,再压缩一下,让它在空口上跑得更快更安全。
PDCP层的主要功能:
- 加密:使用AES、SNOW 3G或ZUC算法对用户面和控制面数据加密。
- 完整性保护:只用于控制面(RRC信令),防止数据被篡改。
- 头压缩(RoHC):对IP/UDP/RTP头进行压缩,VoLTE场景下能把40字节的IP头压缩到1~3字节。
- 顺序递交与重排序:在切换场景下,PDCP负责把数据按顺序交给上层。
- 重复包检测:丢弃重复的PDCP PDU。
关键点:PDCP层的加密是在基站和终端之间端到端进行的。核心网不参与PDCP加密,它只负责把密钥配给基站。所以,如果你在做信令分析时发现PDCP层解密失败,先检查密钥是否一致。
2.5 RRC层(无线资源控制)—— 连接的“总管家”
RRC层是协议栈的“大脑”,所有跟连接管理、移动性管理、配置相关的事情,都由RRC层说了算。它不直接传用户数据,但用户数据能不能传、怎么传,都得听RRC的。
RRC层的主要功能:
- 连接管理:RRC连接建立、维护、释放。UE有RRC_IDLE和RRC_CONNECTED两种状态。
- 移动性管理:测量配置、测量报告、切换决策与执行。
- 无线资源配置:给UE配置物理层、MAC层、RLC层、PDCP层的参数。
- 系统消息广播:MIB和SIB1~SIBxx的调度与发送。
- 安全控制:触发PDCP层的密钥更新和加密启动。
我记得有一次现网优化,用户反映频繁掉线。抓了空口日志一看,RRC连接释放的原因值是“user-inactivity”。说白了就是基站觉得用户太久没传数据,主动把连接断了。后来我们把不活动定时器从10秒改到30秒,问题就解决了。这种参数调优,RRC层是核心。
2.6 数据流全过程:从应用到空口
咱们用一个VoLTE语音包的例子,把整个数据流串一遍:
- 应用层:语音编码器生成一个20ms的语音帧(约40字节)。
- PDCP层:对IP/UDP/RTP头进行RoHC压缩(40字节→3字节),然后加密,加上PDCP头(1~2字节)。
- RLC层:如果PDCP包太大,RLC会分段。加上RLC头(1~2字节),交给MAC层。
- MAC层:把RLC PDU加上MAC头(包含LCID、定时提前等),组成一个传输块,交给物理层。
- 物理层:对传输块进行Turbo编码、速率匹配、调制、层映射、资源映射,最后生成OFDM信号发射出去。
接收端反过来:物理层解调 → MAC去头 → RLC去头并重组 → PDCP解密并解压缩 → 应用层播放。
实战建议:做空口日志分析时,我习惯从下往上查。先看物理层的RSRP/SINR,再看MAC层的调度和HARQ,然后看RLC层的重传,最后看PDCP层的解密和RoHC。这样一层层排查,定位问题最快。
2.7 各层之间的服务访问点(SAP)
层与层之间不是直接调函数,而是通过标准化的服务访问点(SAP)交互。记住这几个SAP名字,面试和写文档都用得上:
| 层间接口 | SAP名称 | 传输内容 |
|---|---|---|
| RRC → PDCP | RRC_SAP | RRC信令(如RRCConnectionSetup) |
| PDCP → RLC | PDCP_SAP | PDCP PDU(加密后的数据或信令) |
| RLC → MAC | RLC_SAP | RLC PDU(分段后的数据) |
| MAC → 物理层 | PHY_SAP | 传输块(Transport Block) |
好了,LTE空中接口协议栈的五层结构和数据流就讲到这里。每一层各司其职,又紧密配合。你只要记住:物理层管信号,MAC层管调度,RLC层管分段重传,PDCP层管安全压缩,RRC层管连接配置。这个框架清晰了,后面再深入细节就不会乱。