本文技术原理深度参考了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 IEs9.3.2 Transport Network Layer Related IEs中最具代表性、最为核心的IE进行深度剖析。

  • 场景: 小明将Phone X开机,手机首次尝试接入5G网络。
  • 网络节点: gNB-Community(小明家小区楼下的基站)和AMF-CityCore(市核心机房的AMF)。

通过这次“第一天”的旅程,你将看到:

  • 网络如何用Cause IE来表达“成功”或“失败”的各种原因。
  • Global RAN Node ID如何像身份证号一样,赋予每个gNB全球唯一的身份。
  • QoS Flow Level QoS Parameters这组复杂的IE,是如何像一份SLA协议一样,为小明的视频体验设定详细的服务等级。
  • Transport Layer AddressGTP-TEID是如何共同构成数据传输的“IP地址”和“隧道号码”。

准备好拿起你的“放大镜”,和我们一起探索构成5G信令世界的“乐高积木”吧!


这一大类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 NamePresenceRangeIE type and reference
CHOICE Cause GroupM
>Radio Network LayerMENUMERATED(…)
>Transport LayerMENUMERATED(…)
>NASMENUMERATED(…)
>ProtocolMENUMERATED(…)
>MiscellaneousMENUMERATED(…)

场景演绎: 小明的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由两部分组成:

  1. PLMN Identity: 运营商的唯一标识(MCC+MNC)。
  2. 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 NamePresenceSemantics description
CHOICE QoS CharacteristicsMQoS特征
>Dynamic 5QI动态5QI描述符
>>5QIO0-255的整数,指示动态分配的5QI。
>>Priority LevelM优先级
>>Packet Delay BudgetM分组时延预算
>>Packet Error RateM分组错误率
Allocation and Retention PriorityM分配与保持优先级
GBR QoS Flow InformationOGBR 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定义了在资源竞争时的“生死法则”,它包含三个关键部分:
    1. Priority Level: 定义了QoS流的抢占优先级(1-15,数值越小优先级越高)。
    2. Pre-emption Capability: 定义了该QoS流是否有权抢占其他低优先级流的资源。
    3. 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规则:

  1. 比较优先级:Flow 2 (2) > Flow 1 (8)。
  2. 检查抢占能力:Flow 2有权抢占。
  3. 检查被抢占性:Flow 1可以被抢占。 最终,gNB会从分配给视频流的资源中,抽出一部分来保障VoNR通话。小明的视频可能会卡顿一下,但电话绝对不会无法接通。这就是ARP在保障差异化服务中的核心作用。

如果说无线网络层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会话时:

  1. 核心网 gNB: 在PDU SESSION RESOURCE SETUP REQUESTPDU Session Resource Setup Request Transfer(透明容器)中,SMF会填入UPF为该会话分配的上行Transport Layer AddressGTP-TEIDgNB-Community收到后,就知道以后所有上行数据包都应该封装成GTP-U包,发送到这个IP地址,并打上这个TEID标签。
  2. gNB 核心网: 在PDU SESSION RESOURCE SETUP RESPONSEPDU Session Resource Setup Response Transfer中,gNB-Community会填入自己为该会话分配的下行Transport Layer AddressGTP-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 LevelPre-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 PagingRange1..<maxnoofTAIforPaging>,而在规范的常量定义部分,maxnoofTAIforPaging被定义为16。这意味着一次寻呼请求最多可以包含16个TAI。这些上限的设定,是为了防止信令消息过大,并为网络设备的内存分配和处理能力设定一个明确的边界,保证了系统的稳定性和可预测性。

Q4: 我注意到很多IE都是“透明容器”(OCTET STRING)。这在协议设计上有什么好处?

A4: “透明容器”是实现核心网与接入网、以及不同核心网网元之间解耦的妙招。以Handover Required Transfer为例,它承载的是SMF与gNB之间的“私密对话”(QoS流信息)。AMF作为中间人,它不应该也不需要理解这些细节。将这些信息封装成一个AMF无法解析的OCTET STRING(字节串),有两大好处:

  1. 简化AMF逻辑:AMF只负责根据PDU Session ID将这个“包裹”转发给正确的SMF,大大降低了其处理复杂度。
  2. 独立演进:未来如果SMF与gNB之间关于PDU会话的交互增加了新的参数,只需要修改这个“包裹”内部的定义即可,AMF的协议完全不需要改动,增强了系统的灵活性和可维护性。

Q5: 学习9.3节的最佳方法是什么?

A5: 切忌死记硬背!最佳方法是结合流程(Procedures)来学习。当你学习一个流程时(例如Handover),回头来查阅该流程消息中每一个IE的详细定义。思考以下问题:

  • 这个IE为什么会出现在这里?它解决了这个流程中的哪个具体问题?
  • 它的PresenceMandatory还是Optional?为什么?
  • 它的数据类型是什么?INTEGERENUMERATEDBIT STRING?这反映了它承载信息的性质。
  • 它与其他IE有什么关联? 通过这种“按需查阅、结合场景”的方式,你会发现这本枯燥的“词典”会变得生动起来,每一个IE都将成为你理解5G信令逻辑的钥匙。