2. NB-IoT网络架构:核心网、接入网、终端的组成与功能

聊NB-IoT,绕不开的就是网络架构。很多刚入行的朋友一上来就盯着协议栈看,结果越看越懵。我个人习惯是,先搞清楚谁是谁、干什么活,再去看它们之间怎么对话。今天我们就来拆解一下NB-IoT网络的三个核心部分:核心网、接入网和终端。

2.1 核心网(EPC / 5GC)—— 网络的“大脑”

核心网说白了就是整个NB-IoT系统的管理中心。它不直接处理空口信号,但所有业务的认证、计费、移动性管理、数据路由,都得靠它。

在NB-IoT早期部署中,核心网主要基于EPC(Evolved Packet Core)架构。到了5G时代,逐步演进到5GC(5G Core)。但无论哪种,核心功能是类似的。

2.1.1 EPC核心网的关键网元

网元 全称 主要职责
MME Mobility Management Entity 终端附着、寻呼、TAU、鉴权
S-GW Serving Gateway 用户面数据转发、承载管理
P-GW Packet Data Network Gateway IP地址分配、外部网络接入、计费
HSS Home Subscriber Server 用户签约数据、鉴权向量

我记得有一次在现网排查注册失败问题,终端一直返回“拒绝”,查来查去发现是HSS里签约数据配错了——APN没开NB-IoT权限。嗯,这种坑,配置核查不到位就容易踩。

2.1.2 5GC核心网的变化

5GC引入了服务化架构(SBA),把MME的功能拆成了AMF(接入与移动性管理功能)和SMF(会话管理功能)。对于NB-IoT来说,5GC还专门优化了CIoT(蜂窝物联网)功能,比如控制面优化、用户面优化、不建立数据无线承载(DRB)等。

核心要点:NB-IoT在5GC下,终端可以走控制面发数据,不走用户面。这样省信令、省功耗。我在项目中遇到过客户抱怨功耗高,一查发现终端没开控制面优化,白白浪费了NB-IoT的优势。

2.2 接入网(eNodeB / gNodeB)—— 网络的“桥梁”

接入网就是基站。NB-IoT的基站可以是独立新建的,也可以是在现有LTE基站上通过软件升级支持。你想想看,运营商部署NB-IoT时,大部分都是利旧LTE基站,加个NB-IoT载波就完事了。

2.2.1 eNodeB(4G基站)下的NB-IoT

在EPC架构下,eNodeB负责空口资源调度、随机接入响应、RRC连接管理。NB-IoT的物理层和LTE有很大不同,比如子载波间隔、重复传输次数、覆盖增强等级(CE Level)。

我建议你重点关注CE Level。它决定了终端用多少重复次数来发数据。覆盖好的地方用CE0,覆盖差的地方用CE2。我曾经在调试时发现终端一直驻留在CE2,功耗高得离谱,后来发现是基站侧配置的重复次数上限太大,终端“懒得”降级。

2.2.2 gNodeB(5G基站)下的NB-IoT

5G基站支持NB-IoT的方式有两种:一种是作为LTE的“锚点”接入,另一种是直接通过NR载波承载。实际部署中,第一种更常见。gNodeB在NB-IoT场景下,主要承担RRC状态管理和数据转发。

个人经验:接入网侧最容易出问题的不是硬件,而是参数配置。比如PRACH(物理随机接入信道)的配置参数、NPRACH的起始子载波、重复次数等。调错一个,终端就死活驻留不上。

2.3 终端(UE)—— 网络的“手脚”

终端就是NB-IoT模组或设备。它负责发起接入、上报数据、接收下行指令。NB-IoT终端的特点是:低功耗、低速率、低成本。说白了,它不是为了刷视频设计的,而是为了传几个字节的传感器数据。

2.3.1 终端的工作模式

  • PSM(省电模式):终端休眠后不监听寻呼,醒来再连网。适合上报类业务。
  • eDRX(扩展不连续接收):终端周期性地醒来监听寻呼,延迟可接受。适合下行可控业务。
  • DRX(默认不连续接收):常规模式,终端频繁监听寻呼,功耗高。

我遇到过很多客户问:“为什么我的NB模组待机电流还是几十毫安?”一问配置,发现没开PSM。嗯,终端侧省电策略没配好,再好的网络也白搭。

2.3.2 终端的协议栈分层

从软件角度看,终端协议栈从上到下大致是:

应用层(CoAP / MQTT / LwM2M)
  ↓
非接入层(NAS):附着、TAU、PDN连接
  ↓
接入层(AS):RRC、PDCP、RLC、MAC、PHY

注册失败的问题,很多时候出在NAS层。比如终端发Attach Request,核心网回Attach Reject,原因值可能是“IMSI unknown in HSS”或者“GPRS services not allowed”。这时候别急着怀疑空口,先查核心网侧签约数据。

避坑指南:我曾经遇到一个案例,终端反复注册失败,抓空口日志发现Attach Request里带的IMSI和HSS里不一致。后来发现是模组固件里IMSI写死了,换了SIM卡也没用。所以,终端侧IMSI读取逻辑一定要验证到位。

2.4 三者的协作关系

简单总结一下:

  • 终端(UE)发起附着请求,告诉网络“我来了”。
  • 接入网(eNodeB/gNodeB)转发这个请求到核心网,同时分配空口资源。
  • 核心网(EPC/5GC)做鉴权、签约检查,分配IP地址,建立承载。

你想想看,这三者任何一个环节出问题,注册就失败。所以排查问题时,我习惯先看终端日志,再看基站侧信令,最后查核心网配置。一层层剥开,总能找到根因。

好了,这一章我们理清了NB-IoT网络架构的三大组成部分。下一章我会详细讲终端注册流程,包括Attach Request/Response、TAU、PDN连接建立等。到时候我们结合抓包日志来分析,会更直观。