第1章:协议栈全景图——控制面与用户面分离、LTE协议栈分层架构

各位同学,今天咱们来聊聊LTE协议栈的全貌。说实话,我刚入行那会儿,看着协议栈的七层八层,头都是大的。但后来我发现,只要抓住两个核心思想——控制面与用户面分离分层架构——整个协议栈的脉络就清晰了。

1.1 为什么要把控制面和用户面分开?

先问大家一个问题:你打电话的时候,手机和基站之间除了传你的声音,还要传什么?

嗯,还要传信令。比如“我要打电话了”、“对方接通了”、“挂断吧”这些指令。这些指令就是控制面的事情,而你的声音就是用户面的事情。

我个人习惯把控制面比作“交警”,用户面比作“车流”。交警指挥交通,车流运载货物。如果交警和车流混在一起,那不乱套了?

核心思想:控制面负责信令传输和资源管理,用户面负责实际数据的传输。两者在逻辑上完全独立,物理上可以共享传输资源。

我在项目中遇到过一个问题:某个基站用户面流量很大,但控制面信令处理不过来,导致新用户无法接入。这就是典型的控制面瓶颈。后来我们给控制面单独分配了处理资源,问题就解决了。你想想看,如果不分离,排查起来得多费劲?

1.2 LTE协议栈分层架构

LTE协议栈从下到上分为:PHY、MAC、RLC、PDCP、RRC、NAS。每一层各司其职,就像公司里的不同部门。

下面这张图是我手绘的协议栈结构,大家先有个直观印象:

LTE协议栈分层架构 控制面 用户面 NAS 非接入层:核心网信令 RRC 无线资源控制:连接管理 PDCP PDCP 加密/完整性保护 加密/完整性保护 RLC RLC 分段/重传/排序 分段/重传/排序 MAC MAC 调度/复用/HARQ 调度/复用/HARQ PHY PHY 编码/调制/OFDM 编码/调制/OFDM

你看,控制面和用户面共享下三层(PHY、MAC、RLC),但上两层不同。控制面有RRC和NAS,用户面没有。这就是分离的体现。

1.3 各层核心职责一句话总结

下面我用一句话概括每一层是干什么的。记住这些,你就抓住了协议栈的骨架。

层级 一句话总结 我的经验
PHY 把比特变成无线电波,负责编码、调制、OFDM 调PHY参数就像调收音机,差一点就全是噪声
MAC 调度谁在什么时候发数据,还管HARQ重传 调度算法写不好,用户就感觉卡顿
RLC 把大包切成小片,丢了还能重传,保证顺序 分段大小没算好,效率直接腰斩
PDCP 给数据加密、压缩头,防止被偷听 加密密钥搞错了,手机直接掉线
RRC 管连接、管切换、管配置,是控制面的大脑 RRC状态机搞混了,手机就失联了
NAS 手机和核心网之间的信令,比如鉴权、附着 NAS消息超时,用户就注册不上

小技巧:记不住各层顺序?试试这个口诀——“物理MAC,RLC上,PDCP加密,RRC管,NAS在顶上”。我当年就是这么背的,到现在都没忘。

1.4 数据流在协议栈中怎么走?

咱们来看一个实际场景:你刷抖音的时候,数据是怎么从基站到手机的?

  1. 应用层:抖音服务器把视频数据打包成IP包
  2. PDCP:给IP包加密,加上PDCP头
  3. RLC:如果包太大,切成小段,加上RLC头
  4. MAC:把多个RLC段拼成一个传输块,加上MAC头
  5. PHY:把传输块编码、调制,变成OFDM符号发出去

接收端反过来,一层层解包,最后还原出视频数据。这个过程叫“协议栈处理”

注意:我曾经遇到过一个bug,RLC层分段时没处理好边界条件,导致接收端重组失败,视频一直卡在缓冲。排查了三天才发现是RLC序列号溢出了。所以,边界条件一定要测透

1.5 控制面信令流程举例

控制面最典型的流程就是附着(Attach)。手机开机后,先和基站建立RRC连接,然后通过NAS消息和核心网交互,完成鉴权、加密、IP地址分配等步骤。

这个过程涉及RRC和NAS的配合:

  • RRC负责建立无线连接
  • NAS负责核心网侧的认证
  • 两者通过信令无线承载(SRB)传输

说白了,RRC是“最后一公里”的快递员,NAS是总部的调度中心。快递员把包裹(信令)送到基站,调度中心决定下一步怎么走。

1.6 为什么分层架构这么重要?

分层架构的好处,我总结为三点:

  1. 解耦:改PHY层算法,不影响RRC层。我在项目中改过MAC调度器,上层完全不用动。
  2. 复用:控制面和用户面共用下三层,节省资源。
  3. 标准化:各层接口固定,不同厂商的设备可以互通。

你想想看,如果不分层,所有代码揉在一起,改一个功能就得动全局,那得多恐怖?

一句话总结本章:LTE协议栈通过控制面与用户面分离、分层架构,实现了灵活、高效、可扩展的无线通信。每一层各司其职,又紧密配合。

好了,这一章就到这里。下一章咱们深入PHY层,看看那些比特是怎么飞起来的。

专注资料整理