资讯动态

5G SA组网实战:CU/DU分离与NRF服务注册详解

发布时间:2026/10/27 5:11:08 来源:尧图企业网站定制
1. 这不是教科书里的5G而是我亲手在现网调通的组网实录“5G网络架构与组网部署03--5G网络组网部署”——看到这个标题别急着划走。它不是PPT里飘着的“切片”“边缘计算”“云化核心网”这些词堆出来的幻灯片而是我在某省会城市一个真实5G商用局点连续熬了三周、反复调整27次配置、踩过至少5类典型坑之后最终让终端稳定接入、速率拉满、时延压到12ms以下的完整操作手记。你可能刚接触5G也可能正在备考通信工程师认证又或者正被公司派去支撑一个新建5G站点的交付任务。不管你是谁只要你需要把“5G组网”从概念变成能ping通、能测速、能承载业务的真实系统这篇内容就值得你逐行读完。它不讲大而空的演进史只聚焦三个最硬核的问题为什么非得用CU/DU分离架构为什么SA组网必须先搞定NRF和UDM为什么你配对了所有接口终端却始终卡在RRC连接建立阶段我会用现网抓包截图、配置片段、信令流程图文字版和真实速率测试数据带你一帧一帧还原整个组网过程。这不是理论推导是设备告警灯亮起、后台日志刷屏、终端信号格跳变时我手指悬在回车键上那一刻的真实决策链。2. 组网设计底层逻辑为什么不能照搬4G那一套2.1 架构选择不是选美是算出来的资源账很多人第一次做5G组网下意识就想把4G的eNodeB直接替换成gNodeB核心网也沿用EPC升级一下完事。我试过结果是上线三天投诉率飙升40%主要集中在视频卡顿和VoNR通话掉线。问题出在哪根本原因在于5G的业务模型和4G有本质差异。4G时代用户平均单终端并发流是1.8个网页微信而5G商用局点实测下来平均值是4.3个4K直播云游戏AR导航后台同步。这意味着单基站的控制面信令负荷和用户面吞吐压力不是线性增长而是指数级跃升。我们当时测算过一组关键数据一个64T64R的宏站在100MHz带宽下若采用传统一体化gNodeB架构即CU和DU合设其基带处理单元的CPU占用率在早高峰会冲到92%以上内存余量不足800MB。一旦触发内存回收就会导致部分UE的RRC重配失败表现就是终端反复显示“正在注册”。而改用CU/DU分离架构后将实时性要求极高的PHY/MAC层下沉到DU通常部署在基站侧机房将相对非实时的RRC/PDCP/SDAP层上移到CU集中部署在区域汇聚机房CPU峰值直接压到65%内存余量稳定在2.1GB。这个数字不是拍脑袋定的是基于3GPP TS 38.300标准中定义的“CU-DU Split Option 2”即PDCP层切分进行的容量建模。简单说Option 2把最耗CPU的加解密和头压缩放在CU把最耗GPU的信道编解码放在DU各司其职资源利用率翻倍。提示很多新手误以为CU/DU分离只是为了“云化”其实首要目标是解耦实时性需求。就像厨房里炒菜DU和备菜CU必须分开否则厨师CPU一边切菜一边颠勺肯定手忙脚乱。2.2 SA组网不是“打补丁”是重建信任链NSA非独立组网模式下5G只是4G的加速器控制面锚点还在LTE的MME上用户鉴权、位置更新、移动性管理全靠EPC兜底。但SA独立组网完全不同它是一套全新的、端到端的5G原生体系。这里最大的认知陷阱是以为把AMF、SMF、UPF这些网元装好再连上基站就能跑起来。我亲眼见过一个项目所有网元虚拟机都部署成功ping测试全通但终端就是无法完成初始注册。根因查了两天最后发现是NRF网络存储功能的地址在AMF配置里写错了端口——少写了一个“0”导致AMF启动后根本找不到UDM统一数据管理来拉取用户签约数据。SA组网的本质是构建一条可信的、可验证的服务发现与调用链。这条链的起点是gNodeB向AMF发起NG Setup Request终点是AMF调用UDM获取用户IMSI对应的SUPI和签约QoS策略。中间每一步都依赖NRF作为“黄页”来定位服务实例。我们当时画了一张简化的信令流图纯文字描述gNodeB → AMFNG Setup Request携带gNB ID、支持的TA ListAMF → NRFService Query查询“UDM_SDM”服务实例NRF → AMFService Response返回UDM的IP:Port及权重AMF → UDMGet Subscriber Data携带SUPIUDM → AMFSubscriber Data Response含AMF Key、SQN、签约切片等如果第2步失败AMF日志里只会显示“NRF service discovery timeout”不会告诉你具体是DNS解析失败还是NRF进程挂了。所以SA组网的第一条铁律是在任何网元启动前必须先验证NRF的可达性和服务注册状态。我们用curl命令做了最朴素的验证curl -X GET http://10.20.30.40:8000/nrf/nfs -H accept: application/json返回的JSON里必须包含至少3个已注册的服务AMF, UDM, SMF且每个服务的state字段为REGISTERED。这一步漏掉后面所有配置都是空中楼阁。2.3 接口协议不是填空题是握手协议5G组网里最让人头疼的往往是那些看似简单的接口配置。比如NG接口gNodeB与AMF之间文档里写着“配置SCTP偶联”但没告诉你SCTP的多宿主Multi-homing特性会如何影响现网。我们一个局点初期用单IP配置SCTP结果某天传输网割接gNodeB侧的主用光路中断备用光路切换需要3.2秒这期间所有新用户都无法接入。后来改成双IP多宿主配置gNodeB侧SCTP偶联绑定两个IP10.1.1.10主用光路、10.1.2.10备用光路AMF侧SCTP偶联绑定两个IP10.1.1.100主用、10.1.2.100备用这样当主用路径中断时SCTP协议栈能在200ms内自动切换到备用路径用户无感知。这个参数不是默认开启的需要在gNodeB的SCTP配置模板里显式设置multiHomingEnabletrue并指定两个IP的优先级。类似的关键细节还有Xn接口gNodeB间的GTP-U隧道必须用TEID而非IP地址做路由标识N26接口5G与4G核心网互通的GTP-C消息里RecoveryIE字段必须置1否则跨域切换会失败。这些都不是协议栈自动生成的是工程师一行行敲进去的生存法则。3. 核心环节实操从设备上电到终端满格的七步法3.1 第一步物理层连通性确认——别让光模块背锅组网第一步永远不是配IP而是确保物理链路“活”着。我们曾在一个郊区站点栽过跟头所有配置检查三遍都没问题但gNodeB就是无法与CU建立SCTP偶联。最后用光功率计一测发现DU侧的光模块发射功率是-3.2dBm而接收端CU侧的光功率只有-28.7dBm远低于-25dBm的接收灵敏度阈值。原因是施工队用了劣质尾纤弯曲半径小于3cm导致光衰过大。所以我的标准动作是设备上电后先不碰任何配置直接做三件事查光模块状态登录DU的CLI执行display transceiver diagnosis-info重点关注Rx Power(dBm)是否在标称范围内如-25dBm ~ -8dBmTx Power(dBm)是否稳定波动不超过±1dBm测端到端光衰用光功率计在DU发光口测发射功率在CU收光口测接收功率差值即为链路衰耗必须≤15dB单模光纤标准验光纤极性用红光笔从DU发光口注入红光到CU侧看哪个端口有红光确保A-B、B-A的极性一一对应。我们曾因极性接反导致CPRI链路始终无法同步折腾了8小时。注意很多厂商的网管系统会把光模块告警屏蔽成“minor”级别但实际这是组网失败的首要原因。务必养成“先物理、后逻辑”的肌肉记忆。3.2 第二步IP地址与路由规划——给每个网元发一张身份证5G组网的IP地址规划比4G复杂得多因为要同时满足三类流量隔离控制面流量SCTP/GTP-C要求低时延、高可靠走专用VLAN建议用172.16.0.0/12网段用户面流量GTP-U要求大带宽、低抖动走另一套VLAN建议用10.0.0.0/8网段管理面流量SSH/HTTP/SNMP用于运维走第三套VLAN建议用192.168.0.0/16网段。我们当时为一个中等规模局点1个CU集群12个DU做了如下规划网元类型控制面IP段用户面IP段管理面IP段关键说明CU主控板172.16.10.10/2410.10.10.10/24192.168.10.10/24所有CU节点此IP固定供gNodeB配置DU基带板172.16.10.101-112/2410.10.10.101-112/24192.168.10.101-112/24每个DU分配唯一IP避免冲突AMF172.16.20.20/24—192.168.20.20/24AMF不处理用户面故无GTP-U IPUDM172.16.20.21/24—192.168.20.21/24同上关键技巧在于所有网元的控制面IP必须在同一二层广播域内否则SCTP偶联无法建立。我们曾把CU和AMF放在不同VLAN虽然三层路由通但SCTP的INIT消息发不出去因为SCTP初始化需要ARP广播获取MAC地址。解决方案是要么划到同一VLAN要么在核心交换机上启用Proxy ARP。后者更安全但配置稍复杂。3.3 第三步核心网元服务注册——让NRF认识每一个“人”SA组网的灵魂是服务化架构SBA而NRF就是这个架构的“户籍管理员”。所有网元启动后第一件事就是向NRF注册自己的服务名、IP、端口、版本号和健康状态。这步失败整个网络就是一盘散沙。我们的标准操作流程是先启NRF确保NRF容器或VM已运行通过docker ps | grep nrf或systemctl status nrf确认再启基础网元按依赖顺序启动UDM→AMF→SMF因为AMF依赖UDMSMF依赖AMF逐个验证注册用curl命令轮询NRF服务列表# 每30秒查一次直到所有必需服务出现 while true; do curl -s http://10.20.30.40:8000/nrf/nfs | jq .nfInstances[] | select(.nfTypeUDM); sleep 30; done返回结果中必须包含nfInstanceId、ipEndPoints含IP和port、heartBeatTimer心跳超时时间通常30秒。常见坑点AMF注册时nfProfile.nfType必须严格写为AMF全大写少一个字母NRF就拒绝注册UDM的udrInfo字段里groupId必须与AMF配置中的udmGroupId完全一致否则AMF查不到UDM。这些细节在3GPP TS 29.510标准附录里有明确定义但没人会盯着你看只能自己抠。3.4 第四步gNodeB基础配置——不只是填几个IP那么简单gNodeB的配置模板里最常被忽略的是时间同步和小区参考信号功率CRS EPRE。前者关系到所有UE的上行同步精度后者直接影响覆盖半径和边缘用户速率。时间同步必须配置PTP精确时间协议或GPS。我们选PTP因为GPS在室内机房不可用。关键参数是ptpMasterIp10.1.1.1指向PTP主时钟源ptpDomainNumber24必须与全网统一否则从时钟无法锁定。配置后用display ptp status查看lockState是否为LOCKEDoffsetFromMaster(ns)是否±100ns。超过这个值UE的上行定时提前量TA会频繁调整导致重传率飙升。CRS EPRE这个值不是越大越好。我们初期设为15dBm结果发现近点UE的SINR高达32dB但远点UE的RSRP只有-112dBm速率不足50Mbps。后来根据链路预算重新计算路径损耗PL32.420log10(f)20log10(d)其中f3500MHzd1kmPL≈122dB。要求边缘UE的RSRP≥-105dBm则CRS EPRE需≥-10512217dBm。但考虑到干扰余量最终设为16dBm实测覆盖半径从380米提升到520米边缘速率稳定在85Mbps。其他必配项plmnId46000中国IMSI的MCC/MNCtac00001跟踪区码必须与AMF配置的TA List一致gnbId0x12345gNodeB全局ID16进制不能重复3.5 第五步AMF与UDM对接——打通用户身份认证的最后一公里AMF和UDM的对接核心是安全上下文建立。AMF首次向UDM请求用户数据时会携带一个supi订阅永久标识符UDM返回authenticationManagementFieldAMF和sequenceNumberSQN等参数AMF用这些参数生成resStar响应发给UE完成5G-AKA鉴权。配置要点有三共享密钥KAMF和UDM必须配置完全相同的K值长度128bit32个十六进制字符。我们用openssl生成openssl rand -hex 16 # 输出如a1b2c3d4e5f678901234567890abcdefAMF值这是一个16bit固定值标准推荐8000十六进制但某些终端要求0000需根据终端兼容性测试调整SQN序列号UDM必须维护一个递增的SQN每次鉴权后1防止重放攻击。配置时需指定sqnStart00000000000012位十六进制。验证方法在AMF日志里搜索AuthenticationRequest看到amf8000、sqn000000000001且后续收到UDM的AuthenticationResult即表示对接成功。如果日志里一直刷UDM not found大概率是AMF配置的UDM服务名udmServiceNameudm-sdm与NRF里注册的不一致。3.6 第六步SMF与UPF对接——用户面隧道的生死线SMF和UPF之间通过PFCPPacket Forwarding Control Protocol协议交互核心是建立GTP-U隧道。这里最容易出错的是UPF的N4接口IP和SMF的UPF选择策略。UPF的N4接口IP必须是SMF能路由到达的地址且不能与用户面IP段重叠。我们配置UPF的N4 IP为172.16.30.30/24控制面用户面IP为10.20.30.30/24GTP-USMF的UPF选择策略我们用weight-based权重式给每个UPF分配权重100确保负载均衡。配置命令类似{ upfInfo: { upfId: upf-01, weight: 100, n4Interface: {ipv4EndpointAddress: 172.16.30.30} } }验证隧道是否建立在UPF上执行show upf session all应看到状态为ACTIVE的会话且gtpuTeidGTP-U隧道端点标识符不为0。如果全是PENDING说明SMF下发的PFCP Session Establishment Request没收到大概率是防火墙拦截了UDP 8805端口PFCP默认端口。3.7 第七步终端接入全流程验证——用真实手机跑通最后一米所有后台配置完成后用一台支持SA模式的商用手机我们用华为Mate 40 Pro进行端到端验证。步骤必须严格按信令流程走打开飞行模式再关闭强制终端发起初始注册Initial Registration抓取NAS信令用手机工程模式##2846579##→ ProjectMenu → Logging and Debugging → Log Setting开启NAS log观察关键信令点Registration Request→Registration Accept表示AMF鉴权通过PDU Session Establishment Request→PDU Session Establishment Accept表示SMF已为该PDN分配IP并通知UPF建隧道UE Context Release Command偶尔出现如果频繁出现说明AMF认为UE上下文异常需查AMF日志中的ueContextReleaseCause。我们当时遇到一个诡异问题Registration Accept能收到但PDU Session Establishment一直超时。最终发现是SMF配置的DNNData Network Name为internet而终端默认请求的是imsVoNR语音专网。解决方案是在SMF里增加imsDNN的配置或在终端工程模式里手动设置APN为internet。速率测试用Speedtest但注意必须关闭手机的“智能网络切换”功能否则它会自动切到4G。实测数据中心点RSRP-85dBmSINR22dB下行速率826Mbps上行128Mbps边缘点RSRP-108dBmSINR8dB下行112Mbps上行36Mbps。全部达标。4. 常见问题排查手册那些让我凌晨三点还在机房的日志4.1 终端卡在“正在搜索网络”——物理层或PLMN配置问题这是最表层的故障但原因最多。我们整理了高频原因及排查指令现象可能原因快速验证命令解决方案终端信号格为空长时间不变化gNodeB未上电或光链路中断display transceiver diagnosis-infoDU侧检查光模块收发光功率更换尾纤终端显示“5G”但无法注册PLMN ID配置错误如46001写成46000display gnb basic-infogNodeB CLI核对plmnId与SIM卡归属地MCC/MNC终端反复显示“注册中”后退回4GTAC跟踪区码不在AMF的TA List里display amf tac-listAMF CLI在AMF配置中添加gNodeB的TAC如add-tac 00001终端能搜到5G但速率极低10MbpsCRS EPRE功率过低或过高display cell powergNodeB CLI重新计算链路预算调整CRS EPRE至15~17dBm实操心得遇到此类问题第一反应不是查核心网而是用频谱仪扫一下gNodeB的发射频谱。如果中心频点没有明显的100MHz宽带信号说明基带板或射频单元根本没工作所有后台配置都是徒劳。4.2 NG接口偶联失败——SCTP握手失败的七种死法SCTP偶联建立失败日志里通常只显示SCTP_ASSOC_DOWN但背后原因千差万别。我们按发生频率排序防火墙拦截最常见。SCTP默认使用偶数端口如38412但很多企业防火墙只放行TCP。解决方案在gNodeB和AMF的SCTP配置里将port显式设为38412并在防火墙上开放UDP/TCP 38412端口IP地址不可达gNodeB配置的AMF IP在路由表里没有下一跳。用ping 172.16.20.20测试若不通查核心交换机的三层路由多宿主配置不匹配gNodeB启用了多宿主AMF没开或反之。双方必须都配置multiHomingEnabletrue且IP列表一致心跳超时HB-REQSCTP建立后每隔30秒发心跳包。若网络抖动大心跳丢失3次即断连。调大heartBeatInterval60000毫秒认证失败SCTP支持AUTHchunk若一方配置了密钥另一方没配偶联会失败。生产环境建议关闭authEnablefalse端口被占用AMF启动时38412端口被其他进程占用。用netstat -tuln | grep 38412排查MTU不匹配gNodeB侧MTU9000jumbo frameAMF侧MTU1500导致大数据包分片丢失。统一设为1500或9000。4.3 PDU会话建立失败——用户面隧道的隐形杀手当终端收到Registration Accept但卡在PDU Session Establishment时问题一定出在SMF-UPF链路或UPF自身。我们总结了黄金排查三步法第一步查SMF日志搜索关键词PFCP_SESSION_ESTABLISHMENT_REQUEST若没出现说明SMF根本没触发建会话流程原因可能是终端请求的DNN如ims在SMF里未配置SMF的UPF选择策略里所有UPF的weight0或statusINACTIVE。第二步查UPF日志搜索PFCP_SESSION_ESTABLISHMENT_RESPONSE若出现但cause0x01Request accepted说明UPF已接受但SMF没收到响应。此时重点查UPF的N4接口IP是否能被SMF ping通防火墙是否放行UDP 8805端口UPF的pfcpHeartbeatTimer是否过短建议设为60秒。第三步查UPF会话表执行show upf session brief若会话状态为WAITING_FOR_N4说明PFCP消息已发但UPF没回若为ESTABLISHED但终端仍无IP则查UPF的用户面路由表确认是否为该DNN分配了正确的upfIpAddress如10.20.30.30。4.4 VoNR语音回落——当5G通话突然变4GVoNRVoice over NR是5G语音终极方案但现网中常因IMSIP多媒体子系统对接问题导致回落。我们遇到的典型场景现象主叫拨号后终端短暂显示“5G通话中”1秒后切到4G通话继续根因AMF向SMSFSMS功能或IWF互通功能发送的Nsmsf_SM_Service_Request消息超时导致语音会话无法在5G IMS域建立证据AMF日志里有SMSF service discovery failedNRF日志里查不到smsf服务实例解决在NRF里手动注册SMSF服务或检查SMSF的nrfRegistration配置是否正确。另一个高频原因是STN-SRServing-TCF Number for SRVCC配置缺失。当5G覆盖边缘需切换到4G进行SRVCC单射频语音连续性时如果没有STN-SR切换会失败。解决方案是在UDM里为用户签约数据添加stnSr8613800000000字段。4.5 速率不达标——不是带宽不够是调度算法在“偷懒”实测速率远低于理论值如100MHz带宽理论峰值1Gbps实测仅600Mbps往往不是硬件问题而是调度器Scheduler参数没调优。我们对比了两种主流调度算法调度算法适用场景关键参数我们的实测效果PFProportional Fair通用场景兼顾公平性与峰值pfAlpha0.8历史吞吐加权系数中心点826Mbps边缘点112Mbps公平性好MAX C/IMaximum Carrier to Interference追求峰值速率牺牲边缘用户maxciThreshold25SINR门限中心点982Mbps但边缘点降至45Mbps投诉增多最终我们采用动态PF算法白天用pfAlpha0.7偏重公平深夜用pfAlpha0.9偏重峰值通过网管定时任务自动切换。这个参数没有标准答案必须结合现网用户分布和投诉热点来调。踩过的坑曾把pfAlpha设为0.95结果早高峰边缘用户全部“失联”因为调度器只给SINR20dB的UE发资源块而他们SINR只有6~8dB。记住调度器不是越激进越好而是要在用户体验和资源效率间找平衡点。5. 组网后的持续优化让网络自己学会“呼吸”5.1 自动邻区关系ANR不是开关是需要喂数据的AIgNodeB的ANR功能很多人以为打开anrEnabletrue就万事大吉。实际上ANR需要足够多的UE测量报告MR来学习邻区。我们初期开启ANR后一个月只自动生成了2个邻区而人工规划需要37个。问题在于ANR的触发门限太严。关键参数调整mrReportInterval1024毫秒从默认2048ms缩短让MR上报更频繁anrAddThreshold3从默认5次降低只要UE上报3次邻区PCI就触发添加anrDeleteThreshold1从默认10次降低只要1次上报“邻区不可用”就触发删除。调整后两周内ANR自动生成了31个有效邻区准确率92%。但要注意ANR添加的邻区必须人工复核PCI是否冲突我们曾因ANR添加了一个PCI300的邻区而现网已有PCI300的gNodeB导致严重干扰。5.2 负载均衡LB不是“平均分配”是预测性调度传统LB策略是当gNodeB CPU70%时把UE迁到邻站。但这治标不治本因为迁移本身消耗信令资源。我们采用了基于PRBPhysical Resource Block利用率的预测LB监控gNodeB的prbUtilization每5秒采样当连续3次85%时触发LBLB目标站选择不仅看当前PRB利用率还看其predictedPrbUtilization基于过去1小时趋势预测的未来5分钟利用率迁移UE时优先选择qci9默认承载低优先级的UE避免影响VoNR用户。这套策略上线后单站CPU峰值从92%降至68%用户平均时延降低11ms且LB触发次数减少60%因为很多潜在拥塞被预测并提前化解。5.3 日志与性能指标监控——别等告警响了才去看我们搭建了一个轻量级监控平台基于PrometheusGrafana采集了23个核心KPI其中最关键的5个是KPI名称计算公式健康阈值异常含义NG Setup Success Rate(NG Setup Success / NG Setup Request) × 100%≥99.5%gNodeB与AMF偶联失败查SCTP或NRFRegistration Success Rate(Registration Accept / Registration Request) × 100%≥99.0%AMF或UDM故障查鉴权流程PDU Session Setup Success Rate(PDU Session Accept / PDU Session Request) × 100%≥98.5%SMF或UPF问题查PFCP隧道Handover Success Rate (Intra-gNB)(HO Success / HO Attempt) × 100%≥99.2%小区间切换参数如A3 offset不合理Average User Throughput (DL)总下行流量 / 总在线用户数 / 测量周期≥150Mbps调度器或干扰问题需深度分析这个看板每天自动生成日报当任一KPI连续2小时低于阈值自动邮件告警。比起等用户投诉这种主动监控让我们问题平均解决时间MTTR从4.2小时缩短到1.1小时。6. 我的个人体会组网不是终点而是服务的起点做完这个5G组网项目我最大的体会是技术方案的优雅永远抵不过现网环境的粗粝。那些在实验室里跑得飞起的配置在真实机房里可能因为一根弯曲过度的尾纤、一个没关的防火墙规则、甚至空调温度过高导致服务器降频就全线崩溃。我曾经为了一个SCTP_ASSOC_DOWN告警在机房蹲守17个小时最后发现是DU侧交换机的STP生成树协议没关导致SCTP的INIT消息被阻塞了30秒刚好卡在超时临界点。所以与其死磕某一个协议标准不如先搞懂你的设备商文档里那个不起眼的“Troubleshooting”章节与其迷信厂商的“一键部署”脚本不如亲手敲一遍curl命令去验证NRF服务。5G组网的本质不是把一堆网元拼成一张图而是让它们在真实的电磁环境、传输条件和用户行为下稳定、高效、可扩展地协同工作。当你看到终端图标稳稳地显示“5G SA”测速软件上的数字一路狂飙而背后是你亲手调通的每一个信令流程、每一处参数配置时那种成就感是任何证书和头衔都替代不了的。这个项目结束了

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑