1. 为什么IAB值得单独拎出来聊
第一次接触IAB这个概念,是在一个室内深度覆盖的讨论场景里。当时团队在纠结一个很现实的问题:某个场馆的容量站点已经加密到不能再加密了,但边缘区域和地下层还是存在覆盖空洞,拉光纤成本高、周期长,业主还不一定配合。有人提了一句“能不能让基站自己带回传”,这才把话题引到了3GPP的IAB架构上。
IAB全称Integrated Access and Backhaul,中文一般叫“接入回传一体化”。拆开看就三个词:接入、回传、一体化。传统蜂窝网络里,接入链路(终端到基站)和回传链路(基站到核心网)是两套独立的传输体系,回传基本靠光纤或者微波,属于“有线为主、无线为辅”的格局。IAB做的事情,是把回传也变成无线,而且和接入共用同一套空口资源、同一套协议栈框架,让一个基站节点既能服务终端,又能通过无线方式把自己“挂”到上游节点上。
这个能力解决的核心痛点很明确:光纤到不了或者到得起但划不来的地方,怎么快速把覆盖补上。典型场景包括密集城区的中继补盲、室内场馆的深度覆盖、临时应急通信、以及部分偏远区域的低成本建网。适合谁来读这篇内容?做无线网络规划、协议栈开发、系统架构设计的朋友应该都能从中找到自己关心的部分;如果你只是刚接触5G空口、想了解网络拓扑怎么搭,这篇也能给你一个相对完整的框架认知。
我下面要展开的,不是照本宣科地翻译协议条文,而是把IAB这套架构为什么这么设计、关键节点怎么工作、实际落地时哪些参数和细节容易踩坑,按我自己的理解捋一遍。协议版本以3GPP Rel-16/Rel-17的IAB框架为主线,涉及Rel-18增强的地方会单独点出来。
2. IAB架构的整体设计与思路拆解
2.1 从“回传必须有线”到“回传也能无线”的思维转变
要理解IAB的设计,先得理解它要打破的那个默认假设。传统组网里,回传链路和接入链路在物理层就是分开的:回传走光纤、微波或者专线,接入走空口。这种分离带来一个隐性约束——每个基站的部署位置必须同时满足“覆盖合理”和“回传可达”两个条件。很多时候这两个条件打架:覆盖最需要补的点,恰恰是光纤最难到的地方。
IAB的思路是把回传也搬到空口上,让基站节点(IAB-node)通过无线链路连到上游节点(IAB-donor),再由donor统一接入核心网。这样一来,部署位置的选择就主要看覆盖需求,回传的“最后一跳”用无线解决。这个转变听起来简单,但背后牵动的是整个协议栈的分层设计——回传链路要承载的是“基站到核心网”的流量,它和普通用户面数据在QoS、路由、承载映射上的要求完全不同,怎么在同一套空口里把两类流量区分开、调度好,是IAB架构设计的核心矛盾。
2.2 为什么是“一体化”而不是“两套系统拼起来”
有人会问:既然回传可以无线,那直接搞一套独立的无线回传设备不就行了,为什么非要“一体化”?这个问题问到点子上了。独立无线回传(比如传统的无线中继)确实存在,但它的问题在于:回传链路和接入链路各自独立调度、独立管理,资源没法统一协调,频谱效率上不去,而且多跳场景下逐跳转发带来的时延和开销很难控制。
IAB的“一体化”体现在三个层面。第一是空口一体化:接入和回传共用同一套NR空口框架,包括波形、帧结构、参考信号设计,区别只在于链路方向和承载内容。第二是协议栈一体化:IAB-node在接入侧是gNB的角色,在回传侧是类似UE的角色,两套角色跑在同一套协议栈实现里,通过适配层(Adaptation Layer)做承载映射和路由。第三是资源管理一体化:donor侧的集中单元(CU)统一管理整个IAB拓扑的资源分配和路由决策,避免各节点各自为政。
这种一体化设计的优势很直接:频谱利用率高(接入回传动态共享资源)、多跳扩展性好(拓扑由CU集中管理)、部署灵活(节点即插即用,拓扑自动建立)。代价是协议复杂度上升,尤其是适配层和路由机制的设计,后面会细讲。
2.3 架构分层:CU-DU分离是IAB的底座
IAB架构能成立,前提是CU-DU分离这个基础。在3GPP的NG-RAN架构里,gNB可以拆成集中单元CU和分布单元DU,CU负责RRC、SDAP、PDCP这些高层协议,DU负责RLC、MAC、PHY这些底层协议,两者之间走F1接口。IAB把这个分离用到了极致:
- IAB-donor:承担CU的角色,是整个IAB拓扑的“大脑”,负责拓扑管理、路由配置、资源协调。donor本身也可以带DU,直接服务终端。
- IAB-node:包含DU和移动终端(MT)两部分。DU面向下游(服务终端或下级IAB-node),MT面向上游(连到父节点)。MT在回传链路上的行为类似一个UE,但它承载的是回传流量。
- F1接口的延伸:IAB-node的DU和donor的CU之间,逻辑上仍然走F1接口,但这个F1连接是“跨空口”的——F1的承载要经过回传链路逐跳传递。这是IAB架构里很关键的一个设计点,也是实现上最容易出问题的地方。
用一句话概括这个分层:donor的CU管全局,IAB-node的DU管本地接入,MT管回传连接,适配层管承载映射和路由。四者各司其职,拼成完整的拓扑。
2.4 方案选型的取舍:为什么适配层是必需的
IAB架构里最容易被忽略、但设计上最精妙的部分是适配层(Adaptation Layer,也叫BAP子层,Backhaul Adaptation Protocol)。为什么非要在RLC之上加这么一层?
原因在于回传流量的路由需求。普通UE的数据到了基站,往上走就是PDCP、SDAP,最终进核心网,路径是固定的。但IAB拓扑是多跳的,一个数据包从donor到某个末端IAB-node,中间可能经过好几个节点,每个节点都要知道“这个包该往哪个下一跳送”。这个转发决策不能靠IP路由(太粗、和空口调度脱节),也不能靠RLC(太底层、没有拓扑视野),所以需要一个专门的适配层来做承载映射、路由标识和逐跳转发。
适配层给每个回传数据包打上路由标识(Routing ID),节点根据本地配置的路由表决定下一跳。这个设计的好处是路由决策和空口调度解耦,CU可以集中下发路由表,节点本地快速转发,兼顾了集中管理的可控性和逐跳转发的效率。代价是引入了一层额外的封装开销和状态维护,实测中路由表的规模和更新频率是需要重点关注的参数。
3. 核心细节解析与实操要点
3.1 回传链路的建立:从开机到可用的完整流程
一个IAB-node从加电到能正常服务终端,中间要经历几个阶段,每个阶段的细节都直接影响部署效率。
第一阶段是MT的初始接入。IAB-node的MT部分先像普通UE一样搜网、读系统消息、发起随机接入,连到父节点(可以是donor,也可以是上级IAB-node)。这一步和普通UE入网没有本质区别,区别在于MT在接入过程中会携带IAB相关的能力指示,让网络知道“这是个回传节点,不是普通终端”。
第二阶段是回传链路的承载建立。MT接入成功后,需要建立到donor CU的RRC连接和信令承载,然后通过这个承载把F1接口的建立请求送上去。这里有个关键点:F1接口的建立是“跨空口”的,信令要经过回传链路逐跳传递,所以回传链路的承载必须先于F1建立完成。实际操作中,这一阶段的时延和回传链路的调度优先级配置强相关,如果回传承载的调度优先级给低了,F1建立会明显变慢。
第三阶段是DU的启动和小区建立。F1接口建立后,IAB-node的DU部分被CU配置起来,开始发射小区信号,服务下游终端或下级节点。到这一步,节点才算真正“上线”。
整个流程里,我踩过的最典型的坑是第二阶段和第三阶段的时序耦合。有些实现里DU启动过早,小区信号发出去了但回传还没完全通,终端接进来发现没数据,体验很差。合理的做法是DU启动要等回传链路确认可用,这个门控逻辑在配置时要明确。
3.2 适配层的路由机制:Routing ID怎么配、路由表怎么维护
适配层的核心是Routing ID和路由表。Routing ID一般由两部分组成:目的节点标识和路径标识(具体字段划分各厂商实现可能有差异,但逻辑一致)。数据包在donor侧被打上Routing ID,中间节点查本地路由表决定下一跳,直到到达目的节点。
路由表的维护有两种模式:集中式和分布式。集中式是CU根据全局拓扑算好每条路径,把路由表下发给各节点;分布式是节点根据拓扑发现自己算。3GPP框架里以集中式为主,因为IAB拓扑变化相对可控,集中式能保证全局最优和一致性。
实操中要注意几个点。第一,路由表的规模。一个donor下挂几十个节点、每个节点多条路径时,路由表条目会快速增长,节点的存储和查表性能要评估。第二,拓扑变化时的路由收敛。某个中间节点掉线,CU要重新算路径并更新受影响节点的路由表,这个收敛时间直接影响业务中断时长。第三,Routing ID的规划。建议在部署前就把节点标识的分配规则定好,避免后期扩容时ID冲突或路由表碎片化。
提示:路由表更新是带状态的,更新过程中新旧路径可能短暂共存,要确保转发逻辑对这种情况有正确处理,否则容易出现短暂环路或丢包。
3.3 资源调度:接入和回传怎么共享空口
IAB最核心的资源管理问题是:同一套空口资源,接入流量和回传流量怎么分。3GPP框架里给了几种模式,从静态划分到动态共享都有。
静态TDM模式最简单:给回传链路固定分配一部分时隙,接入链路用剩下的,两者时间上不重叠。好处是实现简单、干扰可控,坏处是资源利用率低——回传闲的时候接入用不上,接入忙的时候回传又不够。
动态共享模式更灵活:接入和回传在同一时隙内按需调度,由父节点统一分配。这种模式频谱效率高,但对调度器的要求也高,要同时考虑两类流量的QoS、缓冲状态和链路质量。
实际部署里,我倾向于半静态配置加动态调整的折中方案:先按业务模型给回传链路一个保底的资源配额,保证回传不饿死,剩余资源动态分配给接入。这个保底配额的算法大致是:统计回传链路的峰值吞吐需求,乘以一个安全系数(一般1.2到1.5),再折算成资源块数量。安全系数取多少要看业务波动性,波动大的场景取高值。
| 调度模式 | 资源利用率 | 实现复杂度 | 适用场景 |
|---|---|---|---|
| 静态TDM | 低 | 低 | 回传需求稳定、干扰敏感场景 |
| 半静态+动态 | 中高 | 中 | 大多数商用场景 |
| 全动态共享 | 高 | 高 | 业务波动大、频谱紧张场景 |
3.4 多跳拓扑下的时延与跳数控制
IAB支持多跳,但跳数不是越多越好。每多一跳,数据要经过一次完整的接收、解码、适配层处理、再编码、再发送,时延累加明显。实测下来,单跳的额外时延在毫秒级,两跳以上就要认真评估业务容忍度了。
控制跳数的思路有两个。一是拓扑规划时限制最大跳数,一般建议不超过两跳,三跳以上要非常谨慎。二是路由选择时优先短路径,CU算路时把跳数作为权重因子。另外,多跳场景下每一跳的链路质量都要留余量,因为末端节点的吞吐受最弱一跳的制约,木桶效应很明显。
注意:多跳场景下,中间节点的故障会影响其下所有子节点,可靠性设计要考虑冗余路径或者快速重构机制,否则单点故障的影响面会被放大。
4. 实操过程与核心环节实现
4.1 部署前的拓扑规划:先算清楚再动手
IAB部署不是把节点往那一放就完事,前期的拓扑规划决定了后面运维的难易程度。我一般的做法是分三步走。
第一步,确定donor的位置和数量。donor是有线回传的锚点,它的位置决定了整个IAB拓扑的“根”在哪。donor的覆盖半径和回传容量要能撑住下挂的所有节点,所以donor选址要兼顾光纤可达性和拓扑中心性。一个donor带多少节点,取决于donor的回传带宽和CU的处理能力,经验值是一个donor下挂十几到几十个节点,具体要看业务密度。
第二步,规划节点层级和跳数。根据覆盖需求画出需要补盲的点位,然后按距离和链路预算把节点分成一层、两层。每层的节点数要控制,因为同一父节点下的子节点共享父节点的回传容量,子节点太多会互相抢资源。一个父节点下挂的子节点数,建议不超过其回传容量能支撑的并发数。
第三步,预留冗余和扩展空间。拓扑规划时给每个区域留一两个备用节点位置,后期业务增长或者节点故障时可以快速补位。路由规划也要预留备用路径,关键节点至少有一条备份路由。
4.2 关键参数配置清单
下面这张表是我在实际配置中总结的关键参数,按重要性排序,配置时逐项核对。
| 参数类别 | 参数项 | 建议值/说明 |
|---|---|---|
| 回传承载 | 调度优先级 | 高于普通用户面,低于信令 |
| 回传承载 | 保底资源配额 | 峰值需求×1.2~1.5 |
| 适配层 | Routing ID规划 | 按区域+层级分段分配 |
| 适配层 | 路由表更新周期 | 拓扑稳定时低频,变化时触发 |
| 拓扑 | 最大跳数 | 建议≤2,最多3 |
| 拓扑 | 单父节点子节点数 | 按回传容量核算,留30%余量 |
| 接入 | 小区功率 | 按覆盖目标核算,注意与父节点干扰协调 |
配置顺序上,先配donor侧的CU参数(拓扑管理、路由策略),再配节点的MT接入参数,最后配DU的小区参数。这个顺序不能乱,因为后一步依赖前一步的状态。
4.3 一次完整的节点上线实操记录
拿一个两跳场景举例:donor(带CU)→ IAB-node A(第一跳)→ IAB-node B(第二跳),B下面挂终端。
donor侧准备:CU配置好IAB功能开关,规划好A和B的Routing ID(比如A用0x10,B用0x20),预置初始路由表(到A的下一跳是A,到B的下一跳是A)。MT接入的准入策略里把A和B的标识加入白名单。
A上线:A的MT搜网,接入donor,携带IAB能力指示。donor识别后建立回传承载,A通过回传承载发起F1建立。F1建立成功后,CU配置A的DU,A的小区启动。此时A可以服务终端,也可以作为B的父节点。
B上线:B的MT搜网,接入A(A作为父节点)。A把B的接入请求透传到donor CU,CU识别B的标识,建立B的回传承载(经过A逐跳转发),B发起F1建立,CU配置B的DU,B的小区启动。
验证:从donor侧ping B的DU管理地址,确认F1连通;在B的小区下挂终端,验证端到端业务;检查A和B的路由表,确认到B的路径正确。
这个流程里,B上线时最耗时的是回传承载建立和F1建立,因为要经过A的逐跳转发。实测中如果A的回传调度优先级配置不当,B的上线时间会明显拉长,这一点在批量部署时会被放大,值得提前调优。
4.4 干扰协调:IAB特有的难点
IAB的干扰问题和传统组网不一样,因为回传链路和接入链路用同一套空口,节点在接收上游信号的同时可能在向下游发射,自干扰和交叉链路干扰是绕不开的。
自干扰主要出现在节点同时收发的时候,靠双工方式(TDD的上下行配比)和空间隔离来控制。交叉链路干扰是多跳场景特有的:节点A在向B发回传数据的同时,B可能在向终端发接入数据,如果时隙配比没对齐,A的发射会干扰B的接收。
处理思路是时隙配比统一规划。整个IAB拓扑的TDD配比要一致,或者至少相邻层级之间要对齐,避免一个节点在发、另一个在收的冲突。另外,节点的天线隔离度要留够,物理安装时注意朝向和间距。实测中,时隙配比不一致带来的干扰是最难排查的,因为现象是偶发的吞吐下降,不看配比根本想不到。
5. 常见问题与排查技巧实录
5.1 节点上线失败的三类原因
节点上不了线,按阶段分三类排查。
MT接入失败:先看射频,节点能不能搜到父节点的小区信号,信号质量够不够。再看准入,父节点或CU的准入策略有没有把这个节点放行。最后看能力指示,MT有没有正确携带IAB标识,有些实现里这个标识配错了,网络会把它当普通UE处理,回传承载建不起来。
回传承载建立失败:MT接入了但承载建不起来,重点查承载映射配置和QoS参数。回传承载的QoS配置和普通承载不一样,配错了会被核心网或CU拒绝。另外查一下父节点的回传资源够不够,资源不足时承载建立会失败。
F1建立失败:回传通了但F1建不起来,查F1的传输层配置(IP地址、端口)和CU侧的F1管理状态。跨空口的F1对传输时延敏感,时延超限也会导致建立失败。
5.2 吞吐不达预期的排查路径
IAB链路吞吐上不去,按从底到顶的顺序查。
先查链路质量,每一跳的RSRP、SINR是否达标,最弱一跳决定了端到端吞吐上限。再查资源分配,回传链路的保底配额够不够,动态调度有没有被接入流量挤占。然后查路由,是不是走了非最优路径,多绕了一跳。最后查适配层,路由表有没有过期条目导致转发效率下降。
我遇到过一次典型的案例:某节点吞吐只有预期的一半,逐层排查发现是路由表里有一条过期路径,数据包在中间节点被错误转发绕了一圈。路由表更新机制没配好,拓扑变化后旧条目没及时清除。这类问题的隐蔽性在于,业务是通的,只是慢,不看路由表根本发现不了。
5.3 常见问题速查表
| 现象 | 可能原因 | 排查动作 |
|---|---|---|
| 节点不上线 | MT接入失败/准入未放行 | 查射频、准入策略、IAB能力指示 |
| 上线后无业务 | F1未建立/DU未启动 | 查F1状态、DU配置、门控逻辑 |
| 吞吐低 | 链路质量差/资源不足/路由绕行 | 逐跳查SINR、资源配额、路由表 |
| 业务偶发中断 | 拓扑变化路由未收敛/干扰 | 查路由更新日志、时隙配比 |
| 多跳末端时延大 | 跳数过多/中间节点拥塞 | 评估跳数、查中间节点负载 |
5.4 几个容易忽略的运维细节
时间同步:IAB节点的时间同步要求比普通基站更严,因为多跳场景下同步误差会逐跳累积。同步源要可靠,节点间的同步链路要监控。
版本一致性:donor和节点的软件版本要匹配,适配层和F1接口的版本差异会导致兼容性问题。批量部署时版本管理要统一。
日志和告警:IAB特有的告警(路由表更新失败、回传链路质量劣化、拓扑变化)要单独配置告警规则,不能混在普通基站告警里,否则容易被淹没。
6. 我对IAB落地的一点个人体会
IAB这套架构,协议上看是接入回传一体化,落地时真正花时间的其实是拓扑管理和路由的稳定性。空口本身的能力大家都有,差距在于拓扑变化时系统能不能快速、干净地收敛,路由表能不能保持一致,多跳场景下故障影响面能不能控制住。
我在实际项目里感受最深的一点是:IAB的部署门槛不在单节点调通,而在批量部署后的运维。单节点上线,照着流程走基本都能通;几十个节点一起跑,路由表规模、拓扑收敛、干扰协调这些问题才会暴露出来。所以前期规划时把Routing ID规则、路由冗余、时隙配比这几件事定死,后面能省大量排查时间。
另外,多跳真的不是越多越好。能单跳解决的别上两跳,两跳能覆盖的别贪三跳。每多一跳,时延、可靠性、运维复杂度都是非线性上升的。这个取舍在规划阶段就要想清楚,别等上线了再回头砍节点。
后续如果要做扩展,我建议重点关注Rel-18里IAB和网络节能、移动性增强的结合点,那部分对实际组网的资源效率影响会比较直接。不过那是另一个话题了,先把基础拓扑跑稳再说。