5G SA接入信令全流程解析:从注册失败到端到端排查实战
1. 5G SA接入信令到底在讲什么1.1 从一次“注册失败”说起我第一次接触5G SA接入信令是因为一个模拟项目里终端死活注册不上网络。当时抓包看到终端发了Registration Request网络回了Registration Reject原因值指向一个很模糊的“网络故障”。排查了大半天才发现问题出在切片配置和AMF接入与移动性管理功能的匹配上。这件事让我意识到5G SA的接入信令不是“能连上就行”那么简单它背后是一整套服务化架构下的交互逻辑任何一个环节的参数对不上终端就会被拒之门外。5G SAStandalone独立组网接入信令说白了就是终端从开机到成功驻留网络、建立业务通道这一整套“对话流程”。它涵盖了终端与基站之间的无线资源控制信令、基站与核心网之间的N2接口信令以及核心网内部各网元之间的服务化接口调用。和4G时代相比5G SA最大的变化是核心网全面服务化信令不再是传统的Diameter协议那一套而是基于HTTP/2的SBIService Based Interface接口网元之间通过“服务调用”的方式通信。这意味着接入信令的流程更长、参与网元更多、参数更复杂但同时也更灵活。这篇文章适合谁看如果你是一名网络优化工程师、核心网运维人员、或者正在做5G相关模拟项目的开发者需要搞清楚SA接入信令的完整流程、关键参数和常见故障排查思路那这篇内容就是为你准备的。我会从整体架构讲到具体信令流程再结合实操中踩过的坑把每个环节的关键点拆开揉碎讲清楚。即使你之前只接触过4G信令看完也能对SA接入有一套完整的认知。1.2 为什么SA接入信令比NSA复杂这么多很多人会问NSA非独立组网不是也能用5G吗为什么还要折腾SA从信令角度看NSA的接入信令基本沿用4G的流程终端先接入4G锚点站再通过双连接添加5G辅站核心网还是4G的EPC。而SA是终端直接接入5G基站核心网是全新的5GC信令流程从“单线联系”变成了“多方会谈”。具体来说SA接入信令的复杂性体现在三个层面。第一是网元数量增多4G接入主要涉及MME、HSS、SGW、PGW而5G SA接入涉及gNB、AMF、SMF、UPF、AUSF、UDM、PCF、NRF等多个网元每个网元都有自己的服务接口。第二是协议栈变化N2接口用的是NGAPNG Application Protocol基于SCTP承载N1接口是NAS信令封装在RRC和NGAP里透传网元之间是HTTP/2的SBI接口用JSON格式传递消息。第三是流程嵌套一次注册流程里可能嵌套鉴权、安全模式控制、切片选择、策略关联等多个子流程任何一个子流程失败都会导致整体注册失败。注意SA接入信令的排查不能只看单一接口必须端到端串联。终端侧、无线侧、核心网侧的信令要能对应上同一个时间轴否则很容易误判。1.3 核心网服务化架构对信令的影响5GC的服务化架构是理解SA接入信令的关键。传统核心网里网元之间的接口是点对点的比如MME和HSS之间用S6a接口消息格式固定。而在5GC里每个网元都把自身能力注册到NRF网络存储功能上其他网元需要某个服务时先查NRF拿到地址再直接调用。这种“先注册、后调用”的模式让网络更灵活但也让信令流程多了一步服务发现。举个例子AMF需要向UDM请求终端的签约数据它不会直接配置UDM的地址而是先向NRF查询“谁提供UDM服务”NRF返回可用的UDM实例列表AMF再选择其中一个发起调用。这个过程在信令抓包里会看到额外的NRF查询和响应消息。如果NRF里的注册信息过期或者地址不对AMF就找不到UDM注册流程直接卡住。这种架构带来的另一个影响是信令的异步性。传统接口大多是请求-响应模式而SBI接口支持异步通知比如SMF可以订阅UPF的状态变化UPF状态变了主动通知SMF。在接入阶段这种异步机制用得不多但在后续会话建立和管理中会频繁出现。理解这一点在看信令流程图时就不会被“为什么这里多了一条通知消息”搞晕。2. 接入信令的完整流程拆解2.1 从开机到RRC连接建立终端开机后的第一件事是搜索小区。它扫描同步信号块SSB获取小区标识和广播信息MIB/SIB。MIB里包含系统帧号、子载波间隔等基础参数SIB1里包含小区选择信息、PLMN列表、TAC跟踪区码等。终端根据这些信息判断这个小区是否允许接入、属于哪个运营商、属于哪个跟踪区。选定小区后终端发起随机接入过程也就是常说的PRACH物理随机接入信道接入。这一步的目的是让终端和基站建立上行同步并获得一个临时标识TC-RNTI。随机接入成功后终端进入RRC连接建立阶段。它向gNB发送RRCSetupRequest里面携带终端标识和建立原因比如“mo-Signalling”表示移动始发信令。gNB回复RRCSetup分配无线资源参数。终端再回复RRCSetupComplete这条消息里已经携带了NAS层的Registration Request也就是5G注册请求。这里有个细节值得注意RRCSetupComplete里的NAS消息是封装在RRC消息里的gNB不会解析NAS内容而是直接透传给AMF。这种“透明传输”机制让无线侧和核心网侧解耦gNB只负责转发不关心NAS里的具体内容。但在排查问题时如果只看RRC消息是看不到注册请求的具体参数的必须同时抓N2接口的NGAP消息。实操心得抓包时建议在终端侧、gNB侧、AMF侧同时抓然后用时间戳对齐。终端侧看NAS和RRCgNB侧看NGAP和RRC的映射关系AMF侧看NAS和SBI调用。三边对照问题定位会快很多。2.2 注册请求与鉴权流程Registration Request是SA接入的核心消息里面包含的关键参数有SUCI用户隐藏标识、注册类型初始注册/移动性注册/周期注册、切片信息Requested NSSAI、终端能力等。SUCI是加密后的用户标识AMF收到后如果本地没有上下文会向AUSF发起鉴权请求。鉴权流程走的是5G AKA或者EAP-AKA‘。AMF把SUCI发给AUSFAUSF向UDM请求鉴权向量。UDM生成鉴权向量后返回给AUSFAUSF再转发给AMF。AMF通过NAS消息把鉴权挑战发给终端终端计算鉴权响应后回给AMFAMF验证通过后通知AUSF鉴权成功。这个过程涉及AMF、AUSF、UDM三个网元的多次交互每次交互都是SBI接口调用。鉴权通过后是安全模式控制。AMF和终端协商NAS层的加密和完整性保护算法之后所有的NAS消息都会加密。这一步很关键如果算法协商失败后续所有信令都会异常。常见的问题是终端支持的算法和网络配置的算法不匹配比如终端只支持NEA2而网络只配置了NEA1协商就会失败。2.3 切片选择与策略关联5G SA的一个重要特性是网络切片。终端在注册请求里会带上Requested NSSAI也就是它希望接入的切片。AMF收到后需要根据本地配置和UDM里的签约切片信息判断是否允许终端接入这些切片。如果允许AMF会为终端选择一个默认切片并通知SMF建立会话。切片选择的关键参数是S-NSSAI单网络切片选择辅助信息它由SST切片/服务类型和SD切片区分符组成。SST标识切片的类型比如eMBB、URLLC、mMTCSD用于区分同一类型下的不同切片实例。AMF在收到请求后会检查Requested NSSAI里的每个S-NSSAI是否在签约范围内如果不在会拒绝或者只允许部分切片。策略关联是另一个容易被忽略的环节。AMF需要向PCF请求终端的接入和移动性策略PCF根据签约数据和当前网络状态生成策略返回给AMF。这些策略包括允许的接入类型、允许的频段、会话管理策略等。如果PCF不可达或者策略配置有误终端可能能注册上但无法建立业务会话。2.4 会话建立与用户面激活注册成功后如果终端有业务需求会发起PDU会话建立请求。这条NAS消息通过gNB透传给SMFSMF根据请求的DNN数据网络名称和S-NSSAI选择UPF然后通过N4接口配置UPF的转发规则。UPF配置完成后SMF通过AMF向终端返回PDU会话建立接受消息里面包含分配的IP地址和QoS规则。用户面激活的标志是UPF开始转发数据。在信令层面可以看到SMF向UPF发送Session Establishment RequestUPF回复Session Establishment Response然后SMF通知AMF会话已建立。AMF再通过N2接口通知gNB为终端分配无线资源。整个流程涉及SMF、UPF、AMF、gNB四个网元的协同任何一个环节超时都会导致会话建立失败。注意PDU会话建立失败时先看SMF是否收到了请求再看UPF是否配置成功最后看gNB是否收到了N2消息。按这个顺序排查基本能覆盖大部分问题。3. 关键参数与信令消息详解3.1 NAS消息里的必看字段NAS消息是终端和核心网之间的“私密对话”gNB只负责透传。Registration Request里的关键字段包括字段名作用常见取值SUCI用户隐藏标识由IMSI加密生成Registration Type注册类型initial/mobility/periodicRequested NSSAI请求切片SSTSD组合UE Capability终端能力支持的频段、算法等Last Visited TAI上次访问跟踪区用于移动性注册Registration Accept里的关键字段包括Allowed NSSAI允许的切片、TAI List跟踪区列表、GUTI临时标识、DRX参数等。如果Allowed NSSAI和Requested NSSAI不一致说明网络对切片做了限制终端只能用允许的切片。鉴权相关的NAS消息有Authentication Request、Authentication Response、Security Mode Command、Security Mode Complete。Security Mode Command里会携带选定的加密算法和完整性保护算法终端回复Security Mode Complete表示接受。如果终端不接受会回Security Mode Reject注册流程终止。3.2 NGAP消息的映射关系NGAP是gNB和AMF之间的信令协议它承载了N1NAS和N2无线两层消息。常见的NGAP消息有Initial UE MessagegNB收到终端的RRCSetupComplete后把NAS消息封装在Initial UE Message里发给AMF。这条消息里还包含用户位置信息、小区标识、RRC建立原因等。Downlink NAS TransportAMF向终端发送NAS消息时通过这条消息把NAS透传给gNB。Initial Context Setup RequestAMF请求gNB为终端建立上下文里面包含安全密钥、切换限制、QoS参数等。PDU Session Resource Setup RequestAMF请求gNB为PDU会话分配无线资源。这些消息的对应关系是终端发一条NAS消息gNB就发一条Initial UE Message或Uplink NAS TransportAMF回一条NAS消息gNB就发一条Downlink NAS Transport。抓包时如果看到NGAP消息数量对不上说明中间有丢包或者超时。3.3 SBI接口的调用逻辑SBI接口是5GC内部网元之间的通信方式基于HTTP/2消息体是JSON。常见的SBI调用有Nausf_UEAuthenticationAMF向AUSF请求鉴权。Nudm_UEAuthenticationAUSF向UDM请求鉴权向量。Nudm_SDMAMF向UDM请求签约数据。Npcf_AMPolicyControlAMF向PCF请求接入策略。Nsmf_PDUSessionSMF向AMF通知会话状态。每次SBI调用都有对应的HTTP方法和URL。比如AMF向AUSF请求鉴权用的是POST方法URL类似/nausf-auth/v1/ue-authentications。消息体里包含SUCI和Serving Network Name。AUSF返回的响应里包含鉴权向量和鉴权上下文ID。排查SBI问题时重点看HTTP状态码。200表示成功400表示请求参数错误404表示资源不存在500表示网元内部错误。如果看到404通常是NRF里的注册信息不对或者网元实例已下线。如果看到500需要看网元日志可能是内部处理异常。实操心得SBI接口的抓包需要在网元之间的网络节点上做镜像或者直接在网元上开抓包工具。由于是HTTP/2抓包工具要支持HTTP/2解析否则看到的是一堆二进制帧没法分析。4. 常见问题与排查技巧实录4.1 注册被拒的典型原因注册被拒是SA接入中最常见的问题Registration Reject消息里会带原因值。常见的原因值和对比如下原因值含义排查方向3Illegal UE终端标识不合法检查SUCI生成逻辑75GS services not allowed签约数据里没有5G权限22Congestion网络拥塞检查AMF负载27N1 mode not allowed终端不支持N1模式62No network slices available请求的切片不在签约范围内72Non-3GPP access not allowed非3GPP接入被禁止原因值62是我遇到最多的。终端请求了一个切片但UDM里的签约数据没有这个切片AMF直接拒绝。解决办法是在UDM里补充签约切片或者让终端只请求签约范围内的切片。原因值7也很常见通常是4G用户升级到5G时HSS里的数据没有同步到UDM导致UDM认为该用户没有5G权限。4.2 鉴权失败的排查思路鉴权失败的表现是终端收到Authentication Reject或者AMF侧看到鉴权响应验证不通过。排查时按以下顺序检查SUCI解密是否正常。AMF收到SUCI后需要解密成SUPI如果解密失败后续鉴权无法进行。解密用的公钥配置在AMF上如果公钥和终端侧加密用的私钥不匹配解密就会失败。检查鉴权向量是否一致。UDM生成的鉴权向量里包含RAND、AUTN、XRES终端计算的RES要和XRES匹配。如果不匹配说明终端和UDM的鉴权算法或者密钥不一致。检查鉴权算法配置。5G AKA和EAP-AKA‘的流程不同如果AMF配置的算法和终端支持的不一致鉴权会失败。我踩过的一个坑是UDM里配置的鉴权算法是5G AKA但终端只支持EAP-AKA’结果AMF发起5G AKA鉴权时终端无法响应。后来在AMF里把鉴权算法优先级调整为EAP-AKA‘优先问题解决。4.3 切片配置错误的快速定位切片配置错误的表现是注册成功但PDU会话建立失败或者注册时Allowed NSSAI为空。排查时重点看三个地方终端侧Requested NSSAI里的S-NSSAI是否正确。有些终端默认请求eMBB切片但测试环境只配了URLLC切片就会不匹配。AMF侧AMF的切片配置里是否包含了终端请求的S-NSSAI。AMF需要配置允许的切片列表如果列表里没有直接拒绝。UDM侧签约数据里的S-NSSAI是否和AMF配置一致。UDM里的签约切片是最终依据如果UDM里没有AMF也不会允许。这三个地方的配置必须一致任何一个不匹配都会导致切片选择失败。建议在测试前先列一个配置对照表把终端、AMF、UDM三侧的S-NSSAI都列出来逐一核对。4.4 用户面不通的排查步骤用户面不通的表现是PDU会话建立成功但ping不通外部网络。排查步骤检查UPF的N4会话是否建立成功。在SMF侧看Session Establishment Response如果UPF返回失败说明N4接口有问题。检查UPF的转发规则。UPF需要配置PDR包检测规则和FAR转发动作规则如果PDR匹配不上终端的IP包数据会被丢弃。检查gNB的无线资源配置。如果gNB没有为终端分配足够的无线资源数据无法通过空口传输。检查DN数据网络侧的路由。UPF到DN的链路是否通DN是否配置了回程路由。我遇到过一次用户面不通最后发现是UPF的FAR里配置的下一跳地址写错了导致数据包被转发到了一个不存在的网关。这种问题在信令层面看不出来必须结合用户面抓包和路由表检查。提示用户面排查建议在UPF的N3和N6接口同时抓包。N3接口看空口数据是否到达UPFN6接口看UPF是否转发到了DN。如果N3有包N6没有问题在UPF内部如果N3没有包问题在gNB或空口。5. 实操环境搭建与信令抓取方法5.1 模拟环境的最小化部署如果手头没有现网环境可以用开源项目搭建一个最小化的5G SA模拟环境。核心网侧可以用free5GC或者Open5GS两者都支持SA架构实现了AMF、SMF、UPF、AUSF、UDM、NRF等网元。无线侧可以用UERANSIM它模拟gNB和终端支持SA接入流程。部署时需要注意几点第一NRF必须先启动其他网元启动后要向NRF注册。第二AMF和SMF的配置文件里要正确填写NRF地址和切片信息。第三UERANSIM的配置文件里要填写gNB的NGAP地址、AMF的地址、终端的SUCI和切片信息。第四UPF的N4地址要和SMF配置一致N3地址要和gNB配置一致。我建议用Docker Compose部署把每个网元放在一个容器里网络模式用host或者自定义bridge。这样抓包方便直接在宿主机上抓docker0或者对应的虚拟网卡就行。5.2 信令抓包的关键位置抓包位置决定了你能看到什么信令。以下是几个关键抓包点终端侧抓空口信令需要专用工具模拟环境下UERANSIM会输出日志可以看到NAS和RRC消息。gNB侧抓N2接口的NGAP消息以及N3接口的用户面数据。用tcpdump抓SCTP端口38412就是NGAP。AMF侧抓N1NAS和N2NGAP的映射以及SBI接口的HTTP/2消息。SBI默认用HTTP/2端口通常是8080或者自定义。SMF侧抓N4接口的PFCP消息以及SBI接口的会话管理消息。UPF侧抓N3和N6接口的用户面数据以及N4接口的PFCP消息。抓包时建议统一时间戳格式最好用UTC时间避免时区混乱。如果多个抓包点在不同机器上要确保时间同步可以用NTP服务对齐。5.3 用Wireshark解析5G信令Wireshark对5G信令的支持已经比较完善。解析NGAP需要设置SCTP端口为38412解析PFCP需要设置UDP端口为8805解析SBI需要设置HTTP/2端口。如果SBI用了TLS加密需要在Wireshark里配置密钥才能解密。解析NAS消息时Wireshark需要知道NAS消息是封装在NGAP里的。在NGAP的Initial UE Message里Wireshark会自动识别NAS PDU并解析。如果解析不出来检查一下Wireshark版本建议用3.6以上版本。实操心得Wireshark的5G解析有时候会把NAS消息解析错特别是加密后的NAS。如果看到乱码先确认安全模式是否已激活。激活后的NAS消息是加密的没有密钥解不开。排查时可以先看安全模式之前的明文NAS确认基本流程没问题再看加密后的消息。6. 从信令视角看SA与NSA的核心差异6.1 接入流程的路径差异NSA的接入路径是终端先接入4G锚点站建立RRC连接然后通过RRC重配置添加5G辅站。核心网侧走的是EPC的Attach流程MME负责控制。5G辅站只是提供额外的无线资源核心网还是4G的。SA的接入路径是终端直接接入5G基站建立RRC连接然后发起5G注册流程。核心网侧走的是5GC的Registration流程AMF负责控制。整个流程中5G基站和5G核心网是端到端的没有4G参与。这个差异导致SA的信令流程更长但更“纯粹”。NSA的接入信令里会看到大量的LTE消息和NR消息交织排查时需要在两种制式之间切换视角。SA的信令全是5G的虽然网元多但逻辑更清晰。6.2 安全机制的演进NSA沿用4G的安全机制鉴权走EPS-AKA加密和完整性保护算法也是4G的。SA引入了5G AKA和EAP-AKA’支持更长的密钥和更强的算法。SA还引入了SUCI机制终端用公钥加密SUPI生成SUCI网络侧解密后才能拿到真实标识。这比4G的IMSI明文传输安全得多。在信令上SA的鉴权流程比NSA多了一次AUSF和UDM的交互。NSA里MME直接向HSS请求鉴权向量SA里AMF向AUSF请求AUSF再向UDM请求。多了一层AUSF好处是鉴权逻辑集中管理坏处是流程更长排查时多了一个环节。6.3 切片与QoS的差异化支持NSA不支持网络切片QoS还是4G的QCI机制。SA原生支持切片QoS用5QI5G QoS Identifier标识支持更细粒度的QoS控制。在接入信令上SA的Registration Request里会带Requested NSSAIPDU Session Establishment Request里会带QoS规则。NSA没有这些字段。这意味着SA的接入信令需要处理更多的参数但也提供了更灵活的业务能力。比如同一个终端可以同时建立多个PDU会话每个会话关联不同的切片和QoS规则。NSA做不到这一点所有业务都走同一个承载。注意切片和QoS的配置需要端到端一致。终端、gNB、AMF、SMF、UPF、UDM、PCF都要配置对应的切片和QoS参数任何一个网元缺失都会导致业务异常。7. 个人实操体会与后续扩展方向7.1 信令排查的“三看”原则干了这么多年网络优化我总结了一个“三看”原则一看时间轴二看消息流三看参数值。时间轴对齐是基础如果终端侧和核心网侧的时间对不上后面的分析都是白搭。消息流是骨架要清楚每个流程应该有哪些消息消息的顺序和方向对不对。参数值是血肉每个关键字段的取值都要核对特别是标识类参数SUCI、GUTI、S-NSSAI和算法类参数加密算法、完整性保护算法。这个原则听起来简单但实际操作中很容易漏。我见过太多人一上来就盯着某个参数看忽略了消息流本身就不完整。比如注册流程里少了Security Mode Command那后面所有消息都是异常的再怎么调参数也没用。7.2 后续可以深入的方向SA接入信令只是5G信令体系的入口。后续可以深入的方向包括切换信令Xn切换和N2切换、会话管理信令PDU会话修改和释放、策略控制信令PCF的动态策略下发、网络切片的管理信令切片实例的创建和修改。每个方向都有独立的流程和参数体系但基础都是接入信令这一套。如果想做自动化排查可以基于信令日志做规则匹配。比如定义一个规则如果Registration Reject的原因值是62自动检查UDM签约数据里的S-NSSAI配置。这种自动化工具能大幅提升排查效率特别是在大规模测试场景下。最后分享一个小技巧抓包时给每个抓包文件加上时间戳和场景标签比如“20250101_注册失败_终端侧.pcap”。这样后期回溯时能快速定位到对应的场景不用在一堆文件里翻找。我吃过这个亏后来养成了习惯排查效率至少提升了一倍。