好的,我们继续之前的深度解读。在Part 2中,我们分析了UE在连接态下如何请求信息、接收NAS信令以及上报基础失败。现在,我们将进入更为前沿和复杂的领域:集成接入与回传(IAB)、中继网络以及与定位相关的信令交互。

深度解析 3GPP TS 38.331:第六章 协议数据单元、格式与参数 (Part 3 - IAB与中继网络信令)

本文技术原理深度参考了3GPP TS 38.331 V18.5.0 (2025-03) Release 18规范中,关于“6.2.2 Message definitions”章节中涉及IAB(集成接入与回传)、中继网络和定位测量指示的相关消息,旨在为读者清晰地呈现5G网络高级拓扑结构中的信令交互细节。

引入新的主角:IAB节点的“诞生”

之前我们一直跟随2C用户“小明”的视角。但从本章开始,我们将接触到一些更偏向网络基础设施和B2B场景的特性。为了更好地讲述这些故事,我们引入一个新的主角:一台刚刚被部署在偏远山区的5G基站,我们称之为“IAB节点-A01”。

“IAB节点-A01”的特殊之处在于,部署它的位置没有光纤资源。它将使用5G无线信号,既为山区的用户(如此时正在附近徒步的小明)提供5G接入服务,又通过同一套无线设备将所有用户数据“回传”到山下有光纤的“父”基站(Donor gNB)。这种技术就是集成接入与回传(Integrated Access and Backhaul, IAB)

今天,我们就将跟随“IAB节点-A01”的视角,看看它是如何通过RRC信令与父基站沟通,完成自己的“身份认证”和网络初始化的。


1. IABOtherInformation (IAB其他信息)

The IABOtherInformation message is used by IAB-MT to request the network to allocate IP addresses for the collocated IAB-DU or inform the network about IP addresses allocated to the collocated IAB-DU.

解读与场景: 每个IAB节点在逻辑上都包含两个部分:

  1. IAB-MT (Mobile Termination): 表现得像一个特殊的UE,负责与上游的父基站(Donor gNB)进行无线连接,建立回传链路。
  2. IAB-DU (Distributed Unit): 表现得像一个常规的gNB-DU,为下游的普通UE(如小明的手机)提供无线接入服务。

IABOtherInformation消息正是IAB-MT代表其“体内的”IAB-DU,与父基站进行关键资源协商时使用的信令。最重要的协商内容就是——IP地址。IAB-DU需要IP地址来与父基站的CU(Centralized Unit)之间建立F1接口(F1-C用于控制面,F1-U用于用户面),这是它能够成为一个功能完备的基站的前提。

场景: “IAB节点-A01”加电启动,它的MT部分首先像一个普通的UE一样,与山下的父基站完成了RRC连接建立。但它在RRCSetupComplete消息中已经表明了自己的特殊身份(iab-NodeIndication-r16)。现在,为了让自己的DU部分“活”起来,A01的MT部分必须向父基站请求IP地址。于是,它构造并发送了第一条重要的专属消息——IABOtherInformation

  • 信令承载: SRB1 或 SRB3
  • RLC-SAP: AM
  • 逻辑信道: DCCH
  • 方向: IAB-MT to Network

1.1 消息结构 (ASN.1)

IABOtherInformation-r16 ::= SEQUENCE {
    dummy                  RRC-TransactionIdentifier,
    criticalExtensions     CHOICE {
        iabOtherInformation-r16    IABOtherInformation-r16-IEs,
        criticalExtensionsFuture   SEQUENCE {}
    }
}
 
IABOtherInformation-r16-IEs ::= SEQUENCE {
    ip-InfoType-r16                 CHOICE {
        iab-IP-Request-r16              SEQUENCE {
            iab-IPv4-AddressNumReq-r16      IAB-IP-AddressNumReq-r16 OPTIONAL,
            iab-IPv6-AddressReq-r16         CHOICE {
                iab-IPv6-AddressNumReq-r16      IAB-IP-AddressNumReq-r16,
                iab-IPv6-AddressPrefixReq-r16   IAB-IP-AddressPrefixReq-r16,
                ...
            } OPTIONAL
        },
        iab-IP-Report-r16               SEQUENCE {
            iab-IPv4-AddressReport-r16      IAB-IP-AddressAndTraffic-r16 OPTIONAL,
            iab-IPv6-Report-r16             CHOICE {
                iab-IPv6-AddressReport-r16      IAB-IP-AddressAndTraffic-r16,
                iab-IPv6-PrefixReport-r16       IAB-IP-PrefixAndTraffic-r16,
                ...
            } OPTIONAL
        },
        ...
    },
    lateNonCriticalExtension        OCTET STRING OPTIONAL,
    nonCriticalExtension            SEQUENCE {} OPTIONAL
}
 
IAB-IP-AddressNumReq-r16 ::= SEQUENCE {
    all-Traffic-NumReq-r16         INTEGER (1..8) OPTIONAL,
    f1-C-Traffic-NumReq-r16        INTEGER (1..8) OPTIONAL,
    f1-U-Traffic-NumReq-r16        INTEGER (1..8) OPTIONAL,
    non-F1-Traffic-NumReq-r16      INTEGER (1..8) OPTIONAL,
    ...
}
...

1.2 关键参数与表格解读

这个消息的核心是ip-InfoType-r16字段,它是一个CHOICE类型,定义了两种主要的IP地址协商模式:

1.2.1 iab-IP-Request-r16 (IP地址请求)

当IAB节点的IP地址由网络动态分配时,A01就会选择这个分支,明确告诉网络它需要多少个、哪种类型的IP地址。

IABOtherInformation-IEs 字段描述
字段名描述
dummy该字段在规范中未使用,网络忽略接收到的值。
iab-IPv4-AddressNumReq用于请求每种特定用途的IPv4地址数量。特定用途包括F1-C流量、F1-U流量、非F1流量和所有流量。
iab-IPv4-AddressReport用于报告由OAM为IAB-DU分配的每种特定用途的IPv4地址。特定用途包括F1-C流量、F1-U流量、非F1流量和所有流量。
iab-IPv6-AddressNumReq用于请求每种特定用途的IPv6地址数量。特定用途包括F1-C流量、F1-U流量、非F1流量和所有流量。
iab-IPv6-AddressPrefixReq用于请求每种特定用途的IPv6地址前缀。特定用途包括F1-C流量、F1-U流量、非F1流量和所有流量。
iab-IPv6-AddressReport用于报告由OAM为IAB-DU分配的每种特定用途的IPv6地址。特定用途包括F1-C流量、F1-U流量、非F1流量和所有流量。
iab-IPv6-PrefixReport用于报告由OAM为IAB-DU分配的每种特定用途的IPv6地址前缀。特定用途包括F1-C流量、F1-U流量、非F1流量和所有流量。

A01在请求时,需要填写IAB-IP-AddressNumReq-r16结构,告诉父基站它对不同业务的需求:

IAB-IP-AddressNumReq-IEs 字段描述
字段名描述
all-Traffic-NumReq用于请求所有流量的IP地址数量。
f1-C-Traffic-NumReq用于请求F1-C流量的IP地址数量。
f1-U-Traffic-NumReq用于请求F1-U流量的IP地址数量。
non-F1-Traffic-NumReq用于请求非F1流量的IP地址数量。
  • f1-C-Traffic-NumReq: A01说:“我需要X个IP地址用于F1-C控制面信令,这是我和你(CU)沟通的生命线。”
  • f1-U-Traffic-NumReq: A01说:“我需要Y个IP地址用于F1-U用户面数据传输,将来小明他们的数据都要从这里走。”
  • non-F1-Traffic-NumReq: A01说:“我可能还需要Z个IP地址用于OAM管理等非F1的流量。”

1.2.2 iab-IP-Report-r16 (IP地址报告)

在某些部署场景下,IP地址可能是通过带外方式(如运维人员手动配置,即OAM)静态分配给IAB节点的。在这种情况下,A01启动后,会选择这个分支,向网络报告它已经被配置了哪些IP地址。这是一种“告知”而非“请求”。

这个分支下的结构,如IAB-IP-AddressAndTraffic-r16,会直接包含具体的IP地址或前缀信息,并关联到F1-C、F1-U等流量类型。

父基站收到A01的IABOtherInformation请求后,会从其IP地址池中分配地址,并通过RRCReconfiguration消息下发给A01。至此,A01的DU部分才真正具备了与核心网通信的能力,可以准备开始为小明这样的用户提供服务了。


2. IndirectPathFailureInformation (间接路径失败信息)

The IndirectPathFailureInformation message is used to provide information regarding indirect path failure detected by the MP remote UE.

解读与场景: 现在我们切换场景。除了IAB这种网络侧的无线回传,5G还支持UE-to-Network Relay(UE到网络中继)。在这种模式下,一个UE(Remote UE,远端UE)可以通过另一个UE(Relay UE,中继UE)接入网络。这种Remote UE到gNB的路径就称为“间接路径”。

IndirectPathFailureInformation就是当这条“间接路径”出现问题时,由远端UE(Remote UE)上报给网络的“故障报告”。

场景: 小明坐在一辆自动驾驶车队中的一辆车里,这辆车是“远端UE”。由于信号遮挡,它无法直接连接到gNB。但车队中的头车“领航车-01”信号很好,它扮演了“中继UE”的角色。小明的车通过PC5接口(Sidelink)与“领航车-01”连接,再由“领航车-01”通过Uu接口连接到gNB。突然,小明的车与“领航车-01”之间的PC5连接中断了。这就是一次间接路径失败。小明的车在尝试恢复直接连接到gNB后,会发送IndirectPathFailureInformation消息,向网络报告这次中继链路的失败细节。

  • 信令承载: SRB1
  • RLC-SAP: AM
  • 逻辑信道: DCCH
  • 方向: UE to Network

2.1 消息结构 (ASN.1)

IndirectPathFailureInformation-r18 ::= SEQUENCE {
    criticalExtensions CHOICE {
        indirectPathFailureInformation-r18 IndirectPathFailureInformation-r18-IEs,
        criticalExtensionsFuture SEQUENCE {}
    }
}
 
IndirectPathFailureInformation-r18-IEs ::= SEQUENCE {
    failureReportIndirectPath-r18 FailureReportIndirectPath-r18 OPTIONAL,
    ...
}
 
FailureReportIndirectPath-r18 ::= SEQUENCE {
    failureTypeIndirectPath-r18 ENUMERATED {t421-Expiry,sl-Failure,n3c-Failure, relayUE-Uu-RLF,
                                            relayUE-Uu-RRC-Failure, indirectPathAddChangeFailure, 
                                            sl-PC5-Release, spare1} OPTIONAL,
    sl-MeasResultServingRelay-r18 OCTET STRING OPTIONAL, -- Contains PC5 SL-MeasResultRelay-r17
    sl-MeasResultsCandRelay-r18   OCTET STRING OPTIONAL,
    n3c-RelayUE-InfoList-r18      SEQUENCE (SIZE (0..8)) OF N3C-RelayUE-Info-r18 OPTIONAL,
    ...
}

2.2 关键参数与表格解读

字段名描述
failureTypeIndirectPath该字段指示间接路径失败的失败类型。
n3c-RelayUE-InfoList可用的N3C中继UE的信息。
sl-MeasResultsCandRelay候选L2 U2N中继UE的测量结果。
sl-MeasResultServingRelay服务L2 U2N中继UE的测量结果。
  • failureTypeIndirectPath-r18: 这是故障诊断的核心。它是一个枚举列表,详细说明了失败的原因:
    • sl-Failure: PC5侧行链路失败,即小明的车和“领航车-01”之间断开了。
    • relayUE-Uu-RLF: 中继UE本身发生了无线链路失败,即“领航车-01”和gNB之间断开了。
    • relayUE-Uu-RRC-Failure: 中继UE的Uu口发生了RRC层级的失败。
    • sl-PC5-Release: PC5链路被正常释放了。
  • sl-MeasResultServingRelay-r18: 在报告失败的同时,小明的车还会附上对当前服务中继(“领航车-01”)的PC5链路质量测量结果。这能帮助网络判断失败是否由信号质量差导致。
  • sl-MeasResultsCandRelay-r18: 更智能的是,小明的车还会上报它能测量到的其他候选中继UE的信号质量。

通过这份详尽的报告,网络不仅知道了中继链路的失败,还了解了失败原因以及潜在的替代方案。gNB可以据此决定,是尝试让小明的车直连网络,还是指示它切换到一个新的、信号更好的中继UE。


3. LocationMeasurementIndication (定位测量指示)

The LocationMeasurementIndication message is used to indicate that the UE is going to either start or stop location related measurement which requires measurement gaps.

解读与场景: “测量 Gap”(Measurement Gap)是指UE为了测量异频或异RAT(无线接入技术)小区的信号质量,需要暂时中断在服务小区上的收发活动的一段时间。某些定位技术(如OTDOA/DL-TDOA)也需要UE进行类似的测量。LocationMeasurementIndication就是UE用来提前通知网络:“我要开始/停止进行需要Gap的定位测量了”的一个“知会”消息。

场景: 回到我们的主角小明。他使用的室内导航应用需要通过测量多个基站的下行参考信号到达时间差(DL-TDOA)来计算位置。这些测量可能涉及异频小区,因此需要测量Gap。在启动这些测量之前,小明的手机会先给gNB发送一个LocationMeasurementIndication消息,其中包含一个setup指令。这等于告诉gNB:“接下来的一段时间,我会周期性地‘失联’一小会儿去搞定位测量,请你在调度时注意一下。”当导航结束,手机会再发一个包含release指令的LocationMeasurementIndication消息,通知网络测量结束。

  • 信令承载: SRB1
  • RLC-SAP: AM
  • 逻辑信道: DCCH
  • 方向: UE to Network

3.1 消息结构 (ASN.1)

LocationMeasurementIndication ::= SEQUENCE {
    criticalExtensions CHOICE {
        locationMeasurementIndication LocationMeasurementIndication-IEs,
        criticalExtensionsFuture      SEQUENCE {}
    }
}
 
LocationMeasurementIndication-IEs ::= SEQUENCE {
    measurementIndication           SetupRelease { LocationMeasurementInfo },
    lateNonCriticalExtension        OCTET STRING OPTIONAL,
    nonCriticalExtension            SEQUENCE{} OPTIONAL
}

3.2 关键参数解读

  • measurementIndication: 这是消息的核心,它使用了SetupRelease参数化类型。
    • 当UE要开始测量时,它会发送包含setup的消息,setup中会包含LocationMeasurementInfo,提供关于测量类型的进一步信息。
    • 当UE要停止测量时,它会发送包含release的消息。

这个消息的主要作用是改善调度效率。网络在知道UE将进入测量Gap后,就可以避免在这些时间段内为其调度下行数据或期望其发送上行数据,从而避免了不必要的重传,提升了资源利用率和用户体验。

FAQ环节

Q1:IAB(集成接入与回传)和UE-to-Network Relay(UE到网络中继)都是用无线方式扩展覆盖,它们有什么主要区别? A1:两者虽然看似相似,但在部署形态、设备角色和应用场景上截然不同:

  • IAB: 是网络侧的解决方案。IAB节点是运营商部署的基站设备,固定安装,为公众提供服务。它的MT部分虽然表现像UE,但其本质是网络基础设施的一部分,负责的是大容量、持续性的回传。
  • UE-to-Network Relay: 是用户侧的解决方案。Relay UE是普通的终端设备(如车载终端、手机),具有中继能力。它通常是移动的,提供的是机会性的、小范围的覆盖延伸,服务于特定的远端UE(如车队中的其他车辆)。

Q2:IABOtherInformation消息中,为什么IAB节点需要为F1-C和F1-U流量申请不同的IP地址? A2:这是为了实现控制面和用户面(CUPS - Control and User Plane Separation)的分离和管理。F1-C承载的是CU和DU之间的控制信令(如UE上下文建立、承载配置等),对可靠性、时延要求高。F1-U承载的是实际的用户数据,对带宽要求高。使用不同的IP地址,可以在核心网和传输网络中为这两类流量配置不同的路由策略、QoS、安全策略,确保控制信令的优先处理,并便于流量监控和故障定位。

Q3:当间接路径失败时,IndirectPathFailureInformation报告中为什么既要包含服务中继的测量,又要包含候选中继的测量? A3:这是为了给网络提供最全面的决策信息,实现智能的链路恢复。

  • 服务中继测量: 告诉网络“当前这条路为什么会断”,例如是因为信号太弱了。
  • 候选中继测量: 告诉网络“附近还有哪些路可以走,以及这些路的路况如何”。 有了这些信息,网络就可以做出最优决策:如果远端UE直连gNB的信号变好了,就切换到直接路径;如果直连信号依然很差,但有一个候选-中继信号很好,就快速切换到那个新的中继路径。这大大提升了中继网络的鲁棒性和用户体验。

Q4:UE发送LocationMeasurementIndication对网络调度器有什么实际好处? A4:实际好处非常大,主要体现在避免资源浪费和提升业务质量。如果UE不提前通知,它会“突然”在测量Gap期间不响应网络的下行调度或不发送上行数据。网络调度器可能会误认为UE失联或信道质量急剧恶化,从而触发不必要的重传、降低调度速率(MCS)、甚至启动链路恢复流程。UE提前“打招呼”后,调度器就可以在Gap期间“明智地”不为该UE分配资源,将这些资源用于服务其他UE,等Gap结束后再恢复对该UE的调度。

Q5:DLDedicatedMessageSegmentULDedicatedMessageSegment 是否成对出现?它们都传输哪些消息? A5:是的,它们是RRC消息分片机制的下行和上行实现,功能对称。

  • DLDedicatedMessageSegment: 用于网络向UE传输超大的下行消息。根据规范,它主要用于分片传输RRCReconfigurationRRCResume消息。
  • ULDedicatedMessageSegment: 用于UE向网络传输超大的上行消息。根据规范,它主要用于分片传输UECapabilityInformation(UE能力信息)或MeasurementReportAppLayer(应用层测量报告)。这两种上行消息都可能因为包含大量信息而变得非常大。