好的,我们继续进行系列的下一篇深度解读。
深度解析 3GPP TS 38.415:5.1-5.4 PDU Session User Plane Protocol (5G数据通路的“神经脉冲”)
本文技术原理深度参考了3GPP TS 38.415 V18.2.0 (2025-03) Release 18规范中,关于“第5章 PDU Session user plane protocol”中5.1至5.4节的核心章节,旨在为读者提供一个关于5G“逐包模式”用户面协议的功能、服务与核心流程的深度解析。
引言:自动驾驶汽车“领航者一号”的“条件反射”
“博士,我们上次定位到‘领航者一号’的‘瞬间失神’,是因为它在复杂路口收到了异常的协议数据。”在一次技术复盘会上,工程师小李说道,“我们现在知道,TS 38.415就像是为数据包贴上了‘智能标签’。但这个‘标签’具体是如何工作的?网络节点(gNB和UPF)之间,又是如何通过这个‘标签’进行‘对话’,来协同完成一次次精确的数据传输的?”
项目负责人瑞德博士打开了规范的第5章。“小李,你问得很好。要理解网络为何会‘失神’,我们必须先理解它在正常情况下是如何进行‘条件反射’的。第5章,‘PDU Session user plane protocol’,就是这份‘条件反射’的‘神经网络图’。”
“它定义了这条数据通路的核心功能(Layer services)——它能做什么;它对外部的依赖(Services expected)——它需要传输层提供什么;以及最重要的,它的基本交互流程(Elementary procedures)——一次成功的‘神经脉冲’是如何从一端传递到另一端的。今天,我们就来深入解剖这个最基础、最通用的‘逐包模式’协议,看看5G网络是如何通过这套精密的‘神经脉冲’机制,来确保每一个数据包都能得到正确的、差异化的对待。”
这篇文章,我们将化身为“网络神经科学家”,通过对5.1至5.4节的逐层剖析,揭示5G用户面协议的核心运作机理。
1. “神经元”的功能:协议层服务 (5.2 PDU Session user plane protocol layer services)
第5.2节用一句话,定义了这个协议的核心使命。
The following functions are provided by the PDU Session User Plane protocol:
- Provision of control information elements (e.g. QFI, RQI) associated with a PDU session.
1.1 深度解析:“随路信令”的提供者
瑞德博士解释道:“这句话的关键词是**Provision (提供)** 和 control information elements (控制信息元素)。这个协议本身不负责传输用户数据(那是底层GTP-U和IP/UDP的活),它的唯一、核心的功能,就是提供与PDU会话相关的‘控制信息’。这些信息,就是我们之前提到的QFI、RQI等等,它们像‘神经递质’一样,告诉接收方该如何处理伴随而来的‘神经信号’(用户数据包)。”
这个协议层,就是专门负责在用户数据包的“信封”上,盖上各种“邮戳”(QFI、RQI等),以便下一站的“邮局”(网络节点)能够快速分拣和处理。
2. “神经网络”的基座:对传输层的期望 (5.3 Services expected from the Transport Network Layer)
任何一个上层协议,都构建在底层协议提供的服务之上。第5.3节定义了38.415协议对其“地基”——传输网络层——的期望。
The PDU session UP layer expects the following services from the Transport Network Layer:
- Transfer of PDU session User Plane PDUs.
2.1 深度解析:“你只管运,我不管你怎么运”
“这句话看似简单,实则体现了协议分层的解耦思想,”瑞德博士说,“它告诉我们,38.415协议对底层的要求只有一个:请把我打包好的‘PDU’(即完整的38.415帧)从A点传到B点就行。”
-
PDU (Protocol Data Unit, 协议数据单元): 在这里,一个
PDU session User Plane PDU指的就是一个完整的、包含了38.415扩展头和用户IP包的GTP-U包。 -
不关心细节: 38.415协议不关心底层传输层是UDP还是其他协议,也不关心IP层是IPv4还是IPv6,更不关心物理层是光纤还是铜缆。这种“黑盒”式的依赖,使得38.415协议具有极好的可移植性和独立演进能力。
3. “神经脉冲”的传递:核心流程 (5.4 Elementary procedures)
第5.4节是本章的核心,它描述了携带控制信息的数据帧,是如何在网络中进行传递的。规范将其分为下行和上行两个基本流程。
3.1 下行指令的传递:Transfer of DL PDU Session Information (5.4.1)
这是最常见的场景:数据从核心网(UPF)发往无线侧(NG-RAN)。UPF需要通过38.415协议头,向gNB传递一系列“处理指令”。
5.4.1.1 Successful operation
The purpose of the Transfer of DL PDU Session Information procedure is to send control information elements related to the PDU Session from UPF to NG-RAN.
规范详细描述了gNB收到这些“指令”后应该如何行动:
-
QFI (QoS Flow Identifier):
The DL PDU SESSION INFORMATION frame includes a QoS Flow Identifier (QFI) field… The NG-RAN shall use the received QFI to determine the QoS flow and QoS profile which are associated with the received packet.
解读: 这是最核心的指令。gNB收到包后,必须读取QFI,并根据这个QFI,在自己的调度器中为这个包匹配到正确的QoS策略(如调度优先级、时延预算等)。“领航者一号”的控制指令包,正是因为携带了高优先级的QFI,才得以在拥塞时被优先调度。
-
RQI (Reflective QoS Indicator):
…The NG-RAN shall, if RQA has been configured for the involved QoS flow…, take the RQI into account…
解读: 如果UPF在这个字段置了“1”,并且该QoS Flow被配置为允许反射QoS,那么gNB就会“记住”这个下行QFI与上行数据之间的映射关系,并通知UE。之后,UE就可以在发送上行数据时,直接使用这个映射,而无需核心网再为其建立专门的上行QoS规则。这是一种简化信令的快速QoS建立机制。
-
QMP (QoS Monitoring Packet) & Time Stamp:
…The NG-RAN shall, if QoS monitoring has been configured…, perform delay measurement and QoS monitoring…
解读: 如果UPF将QMP位置“1”,并附上了
DL Sending Time Stamp(UPF发包时间戳),gNB收到后就明白:这是一个“探针包”。gNB会记录下自己收到这个包的时间(DL Received Time Stamp),并可能计算出N3接口的传输时延。 -
DL Delay Result 的“回传” (在5.4.2.1 UL流程中体现):
gNB计算出端到端(UPF到UE)的下行时延后,可以通过上行的38.415协议头,将这个
DL Delay Result结果“捎带”回去,报告给UPF。这样,核心网侧就能近乎实时地监控到端到端的无线网络质量。 -
传播到对等节点 (Peer NG-RAN):
When needed, the NG-RAN shall propagate the DL PDU Session Information to a peer NG-RAN.
解读: 在切换场景下,当数据需要从源gNB转发到目标gNB时,源gNB必须将这个38.415头原封不动地转发过去。这确保了即使在切换过程中,QoS策略和监控信息也能被无缝地传递,保障业务的连续性。
3.2 上行信息的反馈:Transfer of UL PDU Session Information (5.4.2)
数据从UE发往gNB,再由gNB发往UPF。在这个过程中,gNB也需要通过38.415头,向UPF传递一系列信息。
5.4.2.1 Successful operation
The purpose of the Transfer of UL PDU Session Information procedure is to send control information elements related to the PDU Session from NG-RAN to UPF.
上行信息主要是对下行监控的回应和上行状态的报告:
-
QFI: 标识这个上行包属于哪个QoS Flow。
-
QMP & Time Stamps: 如果开启了上行QoS监控,gNB会标记QMP位,并填写
UL Sending Time Stamp(gNB发包时间戳)。 -
携带下行监控结果: 这是上行协议头的一个核心功能。它可以携带
DL Sending Time Stamp Repeated(重复一遍下行包的发送时间戳)和DL Received Time Stamp(gNB收到下行包的时间戳)。UPF收到这些信息后,就可以计算出N3接口的下行时延和RTT(往返时延)。 -
携带RAN侧计算结果: 它可以直接携带gNB计算好的
UL Delay Result和DL Delay Result。
3.3 场景化串联:“领航者一号”的一次完整QoS监控交互
-
下行 (UPF → gNB): UPF发送一个用于控制“领航者一号”的数据包。它在38.415头中设置:
PDU Type=0,QFI=82(uRLLC),QMP=1,DL Sending Time Stamp = t1。 -
gNB处理: gNB收到包的时刻是
t2。它读取到QFI=82,立刻以最高优先级调度该包。同时,因为它看到了QMP=1,它记录下(t1, t2)这对时间戳。 -
gNB → UE: gNB通过空口将包发送给UE。
-
UE → gNB: “领航者一号”执行指令后,回传一个状态包。
-
上行 (gNB → UPF): gNB将这个上行包封装在GTP-U中,并为其创建一个38.415头,设置:
PDU Type=1,QFI=..., 同时附加上之前记录的下行监控信息,如DL Sending Time Stamp Repeated = t1,DL Received Time Stamp = t2。 -
UPF处理: UPF收到这个上行包后,解析出
t1和t2,计算出N3接口下行时延 = t2 - t1。UPF将这个时延数据上报给OAM或NWDAF。
通过这样一次完整的闭环交互,网络就完成了一次对关键业务链路的实时、被动式的性能测量,而无需发送额外的、主动的探测包。
结论:“神经脉冲”的精密编码
通过对5.1至5.4节的深入学习,我们揭示了5G用户面协议这座“冰山”浮在水面上的部分——它的顶层设计与核心流程。
-
明确的功能定位: 作为一个“随路信令”的提供者,它专注于为GTP-U隧道附加控制信息,实现了数据与控制的紧密耦合。
-
清晰的协议分层: 它依赖于底层传输网络,但不关心其具体实现,体现了优秀的解耦设计。
-
核心的上下行流程: 通过**下行“指令下发”和上行“结果反馈”**的非对称设计,构建了一个强大的、闭环的QoS保障与监控体系。
-
QoS与监控为王: 几乎所有的核心字段——QFI, RQI, QMP, Time Stamps, Delay Results——都直接服务于精细化QoS和实时性能监控这两个5G核心能力。
这套“神经脉冲”机制,确保了网络的每一个节点,在处理海量数据流时,都能像一个训练有素的神经元一样,快速、准确地识别出信号的“优先级”和“意图”,并做出正确的“条件反射”。这正是“领航者一号”能够在复杂路况下保持“耳聪目明”的底层秘密。
FAQ 环节
Q1:为什么下行和上行的PDU Session Information帧格式(PDU Type 0和PDU Type 1)不同?
A1:因为它们承载的信息和“对话”的方向不同。下行帧(Type 0)主要是UPF向gNB下发指令,因此它包含了QFI(告诉gNB如何调度)、RQI(指示gNB是否开启反射QoS)、PPI(指示gNB应用何种寻呼策略)等控制字段。而上行帧(Type 1)主要是gNB向UPF反馈信息,因此它包含了大量的监控结果字段,如DL Received Time Stamp、DL Delay Result、UL Delay Result等,用于将RAN侧的测量结果汇报给核心网。这种非对称设计,体现了各自在数据通路中的不同角色。
Q2:QoS Monitoring Packet (QMP) 和普通的ping探测有什么区别?
A2:QMP是一种**被动式、在带(In-band)的测量机制,而ping是一种主动式、带外(Out-of-band)**的测量。
-
被动式 vs. 主动式: QMP是**“搭便车”,它只是给一个正常的业务数据包打上一个“请记录时间”的标记,不产生额外的流量。而ping需要专门生成**一个ICMP探测包,会占用额外的网络资源。
-
在带 vs. 带外: QMP测量的是真实业务流的性能,其经历的路径、队列和调度策略与真实业务完全相同,因此结果非常准确。而ping包的QoS优先级、路由路径可能与真实业务不同,其测量结果有时无法完全代表业务的真实体验。
QMP机制是5G实现精细化、低开销、高精度的QoS监控的关键技术之一。
Q3:如果gNB不支持Reflective QoS (RQA未配置),它会如何处理带有RQI=1的下行包?
A3:根据规范5.5.3.4节的描述:“If RQA (Reflective QoS Activation) has not been configured for the involved QoS flow, the RQI shall be ignored by the NG-RAN node.” 这意味着,如果gNB没有被上层(通过NGAP信令)配置为允许对这个QoS Flow使用反射QoS,那么即使UPF在下行包中设置了RQI=1,gNB也应该直接忽略这个指示,不会进行任何反射QoS的映射操作。这保证了网络的行为始终由更高层级的控制面策略(RQA配置)来主导。
Q4:为什么在成功的操作流程中,没有提到失败的场景?
A4:5.4节的标题是“Elementary procedures”(基本流程),其5.4.1.1和5.4.2.1小节专门描述“Successful operation”(成功操作)。规范的意图是先定义清楚一个协议在正常工作时应该如何表现。对于异常情况,规范在5.4.1.2 Unsuccessful operation和5.4.2.2 Unsuccessful operation留出了章节,但在当前版本中,这两个小节的内容都是“Void”(空)。这并不意味着协议不会失败。失败的处理通常在更高层级的协议(如GTP-U本身的错误处理)或由底层传输网络的失败(如UDP校验和错误)来捕获。而5.6节“Handling of unknown, unforeseen and erroneous protocol data”则提供了对协议本身错误的通用处理原则。
Q5:这些时延测量的时间戳精度要求有多高?
A5:非常高。规范在5.5.3.9等章节中描述时间戳字段时,明确引用了IETF RFC 5905(NTPv4),要求其编码格式与64位NTP时间戳格式相同。这种格式可以将时间精度表示到**皮秒(picosecond)**级别。虽然实际网络设备的时钟同步精度可能达不到这么高(通常依赖PTP协议达到亚微秒级),但使用这种高精度格式,确保了测量本身不会成为时延测量的瓶颈,能够满足未来更低时延业务(如XR、触觉互联网)的演进需求。