本文技术原理深度参考了3GPP TS 38.413 V18.5.0 (2025-03) Release 18规范中,关于“9.3 Information Element Definitions”的核心章节,旨在为读者提供一个关于构成5G NGAP信令消息的“原子”——信息元素(IE)的深度解读。本文为系列解读的第一部分,将重点剖析与无线网络层和传输网络层相关的核心IE。
深度解析 3GPP TS 38.413:9.3 Information Element Definitions (上) - 解构5G信令的“乐高积木”
大家好,欢迎回到我们的3GPP规范深度解析系列!在过去的几期文章中,我们如同建筑师审阅蓝图一般,剖析了PDU会话建立、UE上下文管理、切换等宏伟的“建筑工程”(流程)。今天,我们将转换角色,成为一名材料学家,深入研究构成这些宏伟建筑的最小、最基本的单元——信息元素(Information Elements, IEs)。
如果说NGAP消息是一句指令,那么IE就是构成这句指令的每一个“单词”。第9章,特别是9.3节,就是整部TS 38.413规范的“官方词典”。它详细定义了每一个“单词”的拼写(数据类型)、含义(语义描述)和用法(在哪些消息中出现)。理解了IE,我们才能真正从比特层面读懂网络信令的每一个细节。
这个章节非常庞大,因为它囊括了协议中用到的所有“词汇”。直接通读如同背诵一本厚重的词典,枯燥且低效。因此,我们将采用一种全新的方式来解构它。我们将引入一位全新的主角——刚刚大学毕业的通信“萌新”小明,以及他刚刚拿到手的第一部5G手机**“Phone X”**。
我们将跟随小明第一次开机、第一次上网、第一次看视频的完整过程,从网络侧的视角,看看网络是如何通过组合各种IE来“认识”这部新手机,并为它提供服务的。在这个过程中,我们将挑选出9.3.1 Radio Network Layer Related IEs和9.3.2 Transport Network Layer Related IEs中最具代表性、最为核心的IE进行深度剖析。
- 场景: 小明将Phone X开机,手机首次尝试接入5G网络。
- 网络节点:
gNB-Community(小明家小区楼下的基站)和AMF-CityCore(市核心机房的AMF)。
通过这次“第一天”的旅程,你将看到:
- 网络如何用
CauseIE来表达“成功”或“失败”的各种原因。 Global RAN Node ID如何像身份证号一样,赋予每个gNB全球唯一的身份。QoS Flow Level QoS Parameters这组复杂的IE,是如何像一份SLA协议一样,为小明的视频体验设定详细的服务等级。Transport Layer Address和GTP-TEID是如何共同构成数据传输的“IP地址”和“隧道号码”。
准备好拿起你的“放大镜”,和我们一起探索构成5G信令世界的“乐高积木”吧!
1. 9.3.1 Radio Network Layer Related IEs (无线网络层相关IEs)
这一大类IE是NGAP协议的“核心词汇”,它们被用于描述与无线网络功能直接相关的各种信息,如身份、原因、QoS、移动性等。
1.1 万能的“状态码”:Cause (原因)
在任何复杂的系统中,错误处理和状态反馈都是至关重要的。Cause IE就是NGAP协议中的通用“状态码”,它告诉接收方,某个请求或流程的结果是什么,特别是当它失败时,原因是什么。
9.3.1.2 Cause The purpose of the Cause IE is to indicate the reason for a particular event for the NGAP protocol.
Cause IE本身是一个CHOICE(选择)类型,它被分成了几个大类,以提供更结构化的原因指示。
| IE/Group Name | Presence | Range | IE type and reference |
|---|---|---|---|
| CHOICE Cause Group | M | ||
| >Radio Network Layer | M | ENUMERATED(…) | |
| >Transport Layer | M | ENUMERATED(…) | |
| >NAS | M | ENUMERATED(…) | |
| >Protocol | M | ENUMERATED(…) | |
| >Miscellaneous | M | ENUMERATED(…) |
场景演绎:
小明的Phone X开机后,发起了注册请求。但假设gNB-Community此时因为软件升级,暂时无法为新用户提供服务。当AMF向gNB下发INITIAL CONTEXT SETUP REQUEST时,gNB就会在INITIAL CONTEXT SETUP FAILURE消息中,包含一个Cause IE,其Radio Network Layer cause value可能会被设置为"Radio resources not available"(无线资源不可用)。
再比如,当小明乘坐地铁穿过隧道,信号丢失导致连接中断时,gNB会向AMF发送UE CONTEXT RELEASE REQUEST,其中的Cause值就会是"Radio connection with UE lost"(与UE的无线连接丢失)。
深度解析:
Cause IE的设计体现了协议的健壮性。它不仅能报告错误,还能指示正常的流程结束原因,如"Successful handover"(成功切换)。通过将原因分为无线网络层、传输层、NAS层、协议本身和杂项,它为网络运维人员提供了极度精细的故障定位线索。工程师在后台看到一条失败信令,第一眼就会去看Cause IE,这直接指明了问题的根源所在。
1.2 网元的“身份证”:Global RAN Node ID (全局RAN节点ID)
在一个全球化的移动网络中,每一个基站都需要一个独一无二的身份标识。Global RAN Node ID就是gNB的全球“身份证号”。
9.3.1.5 Global RAN Node ID This IE is used to globally identify an NG-RAN node (see TS 38.300).
这个IE也是一个CHOICE,因为它需要能够标识不同类型的RAN节点。
| IE/Group Name | Presence | Semantics description | | :--- | :--- | | CHOICE NG-RAN node | M | | | >gNB | | | | >>Global gNB ID | M | 包含PLMN ID和gNB ID。 | | >ng-eNB | | | | >>Global ng-eNB ID | M | 包含PLMN ID和ng-eNB ID。 | | >N3IWF | | | | … | | |
场景演绎:
当gNB-Community首次启动,向AMF-CityCore发起NG SETUP REQUEST时,它必须在这个消息中包含自己的Global RAN Node ID。这个ID由两部分组成:
PLMN Identity: 运营商的唯一标识(MCC+MNC)。gNB ID: 在该运营商网络内,gNB的唯一标识。
两者结合,确保了gNB-Community在全球范围内都是独一无二的。AMF收到后,就会将这个ID与建立连接的SCTP传输层地址关联起来,完成对这个gNB的“注册”。
深度解析:
全局ID是所有网络管理和移动性管理的基础。当AMF需要向某个gNB发送寻呼消息,或者在切换流程中,源gNB需要告诉AMF目标gNB是谁时,使用的都是这个Global RAN Node ID。它就像现实世界中的地址,是信令路由的根本依据。
1.3 服务的“质量合同”:QoS Flow Level QoS Parameters (QoS流级别QoS参数)
当小明打开视频App时,网络需要为这个视频流提供特定的服务质量保障。QoS Flow Level QoS Parameters IE就是这份详细的“质量合同”。
9.3.1.12 QoS Flow Level QoS Parameters This IE defines the QoS parameters to be applied to a QoS flow.
这是一个结构复杂的IE,它本身就是一个容器,里面包含了定义QoS行为的多个关键子IE。
| IE/Group Name | Presence | Semantics description |
|---|---|---|
| CHOICE QoS Characteristics | M | QoS特征 |
| >Dynamic 5QI | 动态5QI描述符 | |
| >>5QI | O | 0-255的整数,指示动态分配的5QI。 |
| >>Priority Level | M | 优先级 |
| >>Packet Delay Budget | M | 分组时延预算 |
| >>Packet Error Rate | M | 分组错误率 |
| Allocation and Retention Priority | M | 分配与保持优先级 |
| GBR QoS Flow Information | O | GBR QoS流信息 |
| … |
场景演绎:
为了给小明的4K视频流提供低时延、低丢包的保障,SMF通过AMF向gNB下发PDU SESSION RESOURCE SETUP REQUEST,其中针对这个视频业务的QoS流,就包含了这份详细的QoS Flow Level QoS Parameters IE。
深度解析:
5QI(5G QoS Identifier): 这是QoS保障的核心。5QI是一个从1到255的标量值,它映射到一组标准化的QoS特性(如资源类型是GBR还是Non-GBR,优先级,时延预算等)。例如,一个5QI=1可能代表VoNR语音,5QI=83代表4K视频流。gNB看到5QI,就像看到了一个服务等级标签,立即知道该如何调度资源。Allocation and Retention Priority(ARP): 这个IE定义了在资源竞争时的“生死法则”,它包含三个关键部分:Priority Level: 定义了QoS流的抢占优先级(1-15,数值越小优先级越高)。Pre-emption Capability: 定义了该QoS流是否有权抢占其他低优先级流的资源。Pre-emption Vulnerability: 定义了该QoS流是否可以被其他高优先级流抢占资源。
ARP场景演绎:
小明的4K视频流(QoS Flow 1)的ARP被设置为{Priority Level=8, Capability=disabled, Vulnerability=enabled}。
这时,一个紧急的VoNR电话呼入,网络为它建立了一个新的QoS流(QoS Flow 2),其ARP为{Priority Level=2, Capability=enabled, Vulnerability=disabled}。
如果此时gNB资源紧张,gNB-Community会根据ARP规则:
- 比较优先级:Flow 2 (2) > Flow 1 (8)。
- 检查抢占能力:Flow 2有权抢占。
- 检查被抢占性:Flow 1可以被抢占。 最终,gNB会从分配给视频流的资源中,抽出一部分来保障VoNR通话。小明的视频可能会卡顿一下,但电话绝对不会无法接通。这就是ARP在保障差异化服务中的核心作用。
2. 9.3.2 Transport Network Layer Related IEs (传输网络层相关IEs)
如果说无线网络层IE是定义“做什么”,那么传输网络层IE就是定义“怎么送达”。它们是承载网的“语言”。
2.1 隧道的“IP地址”和“门牌号”:Transport Layer Address 和 GTP-TEID
在5G中,用户的数据是通过GTP-U隧道在gNB和UPF之间传输的。建立一条隧道,需要两个核心信息:对方的IP地址,以及隧道的唯一标识符。
9.3.2.4 Transport Layer Address This IE is an IP address.
9.3.2.5 GTP-TEID This IE is the GTP Tunnel Endpoint Identifier to be used for the user plane transport…
Transport Layer Address: 这就是gNB或UPF的用户面IP地址,通常是一个IPv4或IPv6地址。GTP-TEID(GTP Tunnel Endpoint Identifier): 这是一个32比特的隧道端点标识符。
场景演绎: 在为小明的手机建立PDU会话时:
- 核心网 → gNB: 在
PDU SESSION RESOURCE SETUP REQUEST的PDU Session Resource Setup Request Transfer(透明容器)中,SMF会填入UPF为该会话分配的上行Transport Layer Address和GTP-TEID。gNB-Community收到后,就知道以后所有上行数据包都应该封装成GTP-U包,发送到这个IP地址,并打上这个TEID标签。 - gNB → 核心网: 在
PDU SESSION RESOURCE SETUP RESPONSE的PDU Session Resource Setup Response Transfer中,gNB-Community会填入自己为该会话分配的下行Transport Layer Address和GTP-TEID。SMF收到后,就会通知UPF,以后所有下行数据包都应该发往gNB的这个IP地址,并打上gNB指定的TEID标签。
深度解析:
IP地址 + TEID的组合,唯一地标识了一条用户面隧道。一个gNB或UPF可能有成千上万条隧道同时存在,TEID就像是每个隧道的“门牌号”,确保了来自不同用户、不同业务的数据流不会“串门”。这个组合是5G用户面数据路由的根本。
FAQ
Q1: 信息元素(IE)和属性(Attribute)有什么区别?
A1:
在3GPP的ASN.1(抽象语法表示法一)定义中,这两个词经常可以互换使用,但通常有一个细微的区别。一个**信息元素(IE)是一个独立的、被命名的信令单元,它有自己的ID(ProtocolIE-ID)和数据结构,例如Cause IE。而属性(Attribute)**通常指一个复杂IE内部的组成部分或字段,它本身没有独立的ID,而是作为其父IE结构的一部分存在。例如,在Allocation and Retention Priority IE中,Priority Level、Pre-emption Capability等就是它的属性。
Q2: 为什么这么多IE都是CHOICE类型?
A2:
CHOICE类型提供了一种高效的扩展和兼容机制。例如,Global RAN Node ID IE需要能够标识gNB、ng-eNB等多种节点。使用CHOICE,可以在一个IE中包含多种可能的结构,但在实际编码时,只会选择并编码其中的一种。这比为每种节点都定义一个全新的、独立的IE要节省信令空间。未来如果出现新的RAN节点类型(例如,无人机基站),只需在这个CHOICE中增加一个新的选项,就能保持协议的向后兼容性。
Q3: maxnoof...这样的Range bound是什么意思?
A3:
这是在ASN.1定义中用于限制一个列表(SEQUENCE OF)最大长度的常量。例如,TAI List for Paging的Range是1..<maxnoofTAIforPaging>,而在规范的常量定义部分,maxnoofTAIforPaging被定义为16。这意味着一次寻呼请求最多可以包含16个TAI。这些上限的设定,是为了防止信令消息过大,并为网络设备的内存分配和处理能力设定一个明确的边界,保证了系统的稳定性和可预测性。
Q4: 我注意到很多IE都是“透明容器”(OCTET STRING)。这在协议设计上有什么好处?
A4:
“透明容器”是实现核心网与接入网、以及不同核心网网元之间解耦的妙招。以Handover Required Transfer为例,它承载的是SMF与gNB之间的“私密对话”(QoS流信息)。AMF作为中间人,它不应该也不需要理解这些细节。将这些信息封装成一个AMF无法解析的OCTET STRING(字节串),有两大好处:
- 简化AMF逻辑:AMF只负责根据PDU Session ID将这个“包裹”转发给正确的SMF,大大降低了其处理复杂度。
- 独立演进:未来如果SMF与gNB之间关于PDU会话的交互增加了新的参数,只需要修改这个“包裹”内部的定义即可,AMF的协议完全不需要改动,增强了系统的灵活性和可维护性。
Q5: 学习9.3节的最佳方法是什么?
A5: 切忌死记硬背!最佳方法是结合流程(Procedures)来学习。当你学习一个流程时(例如Handover),回头来查阅该流程消息中每一个IE的详细定义。思考以下问题:
- 这个IE为什么会出现在这里?它解决了这个流程中的哪个具体问题?
- 它的
Presence是Mandatory还是Optional?为什么? - 它的数据类型是什么?
INTEGER?ENUMERATED?BIT STRING?这反映了它承载信息的性质。 - 它与其他IE有什么关联? 通过这种“按需查阅、结合场景”的方式,你会发现这本枯燥的“词典”会变得生动起来,每一个IE都将成为你理解5G信令逻辑的钥匙。