2. LTE空中接口协议栈:各层功能与数据流

LTE的空中接口,也就是Uu接口,是终端和基站之间的“桥梁”。很多刚入行的朋友觉得协议栈五层结构很抽象,其实说白了,它就是一套分工明确的流水线。我习惯把每一层想象成一个独立的车间,每个车间只干自己那点活,干完了就交给下一站。

今天咱们就把这五个车间——物理层、MAC层、RLC层、PDCP层、RRC层——挨个走一遍。看看它们各自管什么,数据又是怎么一层层“包装”和“拆包”的。

一句话总结:数据从高层往下走,每层加一个头(封装);从底层往上走,每层剥一个头(解封装)。这就是协议栈的基本工作模式。

LTE空中接口协议栈架构与数据流 LTE空中接口协议栈(Uu接口) 发送端(UE) RRC层 无线资源控制 PDCP层 分组数据汇聚 RLC层 无线链路控制 MAC层 媒体接入控制 物理层 PHY 数据流 数据流 数据流 数据流 数据流 接收端(eNB) 物理层 PHY MAC层 媒体接入控制 RLC层 无线链路控制 PDCP层 分组数据汇聚 RRC层 无线资源控制 数据封装与解封装过程 发送端:应用数据 → RRC/PDCP加头 → RLC加头 → MAC加头 → 物理层编码调制 → 空口传输 接收端:空口接收 → 物理层解调译码 → 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语音包的例子,把整个数据流串一遍:

  1. 应用层:语音编码器生成一个20ms的语音帧(约40字节)。
  2. PDCP层:对IP/UDP/RTP头进行RoHC压缩(40字节→3字节),然后加密,加上PDCP头(1~2字节)。
  3. RLC层:如果PDCP包太大,RLC会分段。加上RLC头(1~2字节),交给MAC层。
  4. MAC层:把RLC PDU加上MAC头(包含LCID、定时提前等),组成一个传输块,交给物理层。
  5. 物理层:对传输块进行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层管连接配置。这个框架清晰了,后面再深入细节就不会乱。