☰
短信发送流程学习教案:信令分层、协议栈与故障排查实战
2026/10/9 3:35:59 网站建设 项目流程

简介:这份《短信发送流程学习教案.pptx》面向通信工程、网络运维方向的初学者与IT从业者,系统梳理短信在移动网络中的端到端传递机制,帮助读者理解各网元交互逻辑、排查短信收发异常。教案以幻灯片形式逐页拆解漫游用户MO、省内互通MO、省内用户MT、漫游用户MT、省外用户MT等典型场景,并延伸至本地与异地互通短信MT流程,清晰标注BSC、MSC、LSTP、HSTP、SMSC、HLR、ISMG等节点间的信令走向与应答顺序。资源包共1个pptx文件,约158KB,内容精炼、结构分明,适合课堂讲授或自学对照。目前已有67人学习,读者可借此掌握短信中心鉴权、计费话单生成、跨省转发等关键环节,为优化通信服务、定位网络故障提供清晰的流程参照。

1. 短信发送流程学习教案:从一条短信的旅程看通信系统的分层设计

你按下手机上的发送键,一条短信在几秒内抵达对方屏幕。这个看似简单的动作背后,藏着通信系统最经典的分层协作模型。短信发送流程学习教案.pptx 这个标题,指向的正是把这套流程拆解成可教学、可复现的技术文档。它要解决的核心问题是:如何让学习者不仅知道“短信能发出去”,还能说清楚信令在哪一层交互、协议在哪个节点转换、失败时该查哪张表。这套内容适合通信专业教师、企业内训师,以及刚入行的核心网运维人员——你需要把一条短信从终端到终端的完整路径讲清楚,而不是停留在“基站转发”这种模糊表述上。教案的价值在于把抽象协议变成可观测的步骤,让学员能对着信令图找到每一个网元的位置。

2. 短信发送流程的协议栈与网元分工:谁在什么阶段做什么事

2.1 从终端到短信中心的四段链路

一条短信的起点是手机终端,终点是接收方终端,中间要穿过无线接入网、核心网和短信中心。常见做法是把这条路径切成四段:终端到基站、基站到核心网、核心网到短信中心、短信中心到接收方。每一段用的协议不同,承载的信令也不同。

终端到基站这一段走的是空口协议,短信内容被封装在 NAS 消息里,通过 RRC 连接传给基站。基站不解析短信内容,只负责把 NAS 消息透传给核心网。这里的关键参数是 TMSI 和 IMSI——终端用哪个标识接入,决定了后续鉴权和路由的走向。我一般会提醒学员:如果终端侧发送失败,先看空口信令里有没有 RRC Connection Setup 完成,没有的话问题在无线侧,不在短信中心。

基站到核心网这一段,短信走的是 S1-MME 接口上的 NAS 传输消息。核心网里的 MME 负责移动性管理,它把短信相关的 NAS 消息转给 SMS-IWMSC。这里有个容易混淆的点:MME 不存储短信内容,它只做信令转发。短信内容真正落地是在短信中心,也就是 SMSC。所以排查时如果 MME 侧信令正常但短信没到,问题大概率在 SMSC 的入库或路由环节。

核心网到短信中心这一段,协议从 NAS 切换成 MAP 或 Diameter。传统 2G/3G 用 MAP,4G/5G 用 Diameter 的 S6c 或 SGd 接口。教案里需要把这两种协议的消息名对应起来,比如 MAP 的 mt-ForwardSM 对应 Diameter 的 SRR(Send Routing Request)。学员如果只记一种协议,遇到混合组网就会卡住。

短信中心到接收方这一段,SMSC 先向接收方归属的 HLR/HSS 查询路由信息,拿到接收方当前所在的 MSC/MME 地址,再把短信投递过去。投递失败时 SMSC 会重试,重试策略和有效期决定了短信最终是“已送达”还是“过期丢弃”。这部分是教案里最值得展开的,因为重试参数直接关系到用户感知。

2.2 教案里必须画清楚的三张表

第一张表是网元与协议对照表。把终端、基站、MME、SMSC、HLR/HSS、接收方 MSC/MME 列出来,每一行标注它参与的接口和协议。这张表能让学员在抓包时快速定位“这个包是谁发的”。

网元参与接口主要协议关键消息
终端空口NAS/RRCCP-DATA
基站S1-MMES1APUplink NAS Transport
MMES6c/SGdDiameterSRR/SRA
SMSCMAP/DiameterMAP/Diametermt-ForwardSM
HLR/HSSS6c/SGdDiameterULR/ULA
接收方 MSCMAP/DiameterMAP/Diametermt-ForwardSM

第二张表是消息流与状态码对照表。短信发送过程中会出现各种状态码,比如 0x00 表示成功,0x01 表示未知用户,0x0D 表示设备不支持。教案里要把这些状态码和具体排查动作绑在一起,学员看到码就知道下一步查什么。

第三张表是重试参数表。SMSC 的重试次数、重试间隔、短信有效期这三个参数决定了投递行为。常见配置是重试 3 次、间隔 30 秒、有效期 24 小时。但不同运营商差异很大,教案里要留出调整空间,让学员理解参数背后的权衡。

2.3 用 Wireshark 抓一次短信信令的最小步骤

教案不能只讲理论,必须让学员动手抓一次包。下面是在实验环境里用 Wireshark 抓短信信令的最小步骤。假设你已经有一个包含 MME 和 SMSC 的测试网络,并且终端已经附着成功。

# 在 MME 的 S1-MME 接口上抓包 tcpdump -i eth0 -w sms_s1mme.pcap port 36412 # 在 SMSC 的 Diameter 接口上抓包 tcpdump -i eth1 -w sms_diameter.pcap port 3868 # 用 Wireshark 打开 pcap 文件,过滤 NAS 消息 # 过滤条件:nas_eps.nas_msg_emm_type == 0x00 或 diameter.cmd_code == 8388622

第一段命令在 MME 的 S1-MME 接口上抓 S1AP 包,端口 36412 是 S1AP 的标准端口。第二段在 SMSC 的 Diameter 接口上抓包,端口 3868 是 Diameter 的标准端口。第三段是 Wireshark 的显示过滤条件,nas_eps.nas_msg_emm_type == 0x00 过滤的是 NAS 消息,diameter.cmd_code == 8388622 过滤的是 Diameter 的 SRR 消息。

抓完包后,学员需要按时间顺序排列消息,找到 CP-DATA、Uplink NAS Transport、SRR、SRA、mt-ForwardSM 这几条关键消息。如果中间缺了某一条,就说明那个环节出了问题。比如有 SRR 但没有 SRA,说明 HLR/HSS 没响应,要查 HSS 的 Diameter 路由配置。

提示:实验环境里抓包前先确认终端已经附着成功,否则空口信令里连 RRC 连接都看不到,更别说短信了。

3. 把教案变成可复现的实验:从信令流到参数配置

3.1 搭建最小短信实验环境的三个组件

要让学员真正理解短信流程,光看信令图不够,得让他们自己搭一个能跑通的最小环境。常见做法是用开源核心网加一个短信中心模拟器。三个核心组件是:终端模拟器、核心网、短信中心。

终端模拟器可以用 srsRAN 或者 Open5GS 自带的 UE 模拟器。核心网用 Open5GS 或者 free5GC,这两个都支持 4G/5G 的 MME/AMF 和 SMSC 功能。短信中心可以用开源的 SMSC 模拟器,比如 smsc-simulator,它支持 MAP 和 Diameter 两种协议。

搭建步骤分三步:先启动核心网,再启动短信中心,最后启动终端模拟器并触发短信发送。每一步都有配置文件要改,教案里要把关键配置项列出来。

# Open5GS 的 MME 配置片段 mme: s1ap: address: 192.168.1.10 gummei: - plmn_id: mcc: 001 mnc: 01 mme_gid: 1 mme_code: 1 sms: center: 192.168.1.20 # SMSC 地址 protocol: diameter # 使用 Diameter 协议

这段配置里,s1ap.address 是 MME 监听 S1AP 的地址,gummei 是 MME 的全局唯一标识,sms.center 指向 SMSC 的地址,sms.protocol 指定用 Diameter。学员如果改成 map,就需要把 SMSC 模拟器也切到 MAP 模式,否则协议不匹配,短信发不出去。

3.2 触发一次短信发送并观察信令序列

环境搭好后,用终端模拟器发送一条短信。下面是触发命令和观察点。

# 启动 UE 模拟器并发送短信 ./ue_simulator --imsi 001010000000001 --smsc 192.168.1.20 --message "test sms" # 在 MME 侧观察 S1AP 消息 tail -f /var/log/open5gs/mme.log | grep -E "Uplink NAS|Downlink NAS" # 在 SMSC 侧观察 Diameter 消息 tail -f /var/log/smsc/smsc.log | grep -E "SRR|SRA|mt-ForwardSM"

第一条命令启动 UE 模拟器,指定 IMSI 和 SMSC 地址,发送一条内容为 test sms 的短信。第二条命令在 MME 日志里过滤 NAS 消息,看上行和下行有没有正常传输。第三条命令在 SMSC 日志里过滤 Diameter 消息,看 SRR、SRA 和 mt-ForwardSM 有没有按顺序出现。

正常的信令序列应该是:UE 发 CP-DATA,MME 收到后转成 Diameter SRR 发给 HSS,HSS 回 SRA 带上接收方路由信息,MME 再把短信转给 SMSC,SMSC 发 mt-ForwardSM 给接收方 MSC。如果中间某一步缺失,日志里会留下痕迹。比如 SRR 发了但 SRA 没回,就要查 HSS 的 Diameter 配置和用户签约数据。

3.3 教案里要留出的参数调整空间

实验环境跑通后,教案要引导学员调整参数观察变化。三个最值得调的参数是:短信有效期、重试次数、重试间隔。

短信有效期决定短信在 SMSC 里最多存多久。设成 1 小时,接收方 1 小时内没上线,短信就被丢弃。设成 24 小时,接收方第二天上线还能收到。这个参数直接影响用户体验,教案里要让学员对比不同设置下的投递结果。

重试次数和重试间隔决定 SMSC 在投递失败后多久重试一次、重试几次。常见配置是重试 3 次、间隔 30 秒。但如果接收方长时间不在线,3 次重试可能不够。教案里可以设计一个实验:把接收方关机,观察 SMSC 重试几次后放弃,然后调整参数再试一次。

注意:调整重试参数时不要设得太激进,否则 SMSC 会在短时间内产生大量信令,实验环境可能扛不住。

4. 短信发送流程教学中的五个血泪坑

4.1 坑一:把 MME 当成短信中心

现象:学员在 MME 日志里找不到短信内容,以为短信丢了。原因:MME 只转发 NAS 消息,不存储短信内容,短信内容在 SMSC 才落地。解决:教案里明确标注每个网元的数据留存范围,让学员知道去 SMSC 查内容,去 MME 查信令。

4.2 坑二:Diameter 和 MAP 混用导致路由失败

现象:SRR 发出去了,但 HSS 没回 SRA,短信卡在 MME。原因:MME 配了 Diameter,但 HSS 只支持 MAP,或者反过来。解决:教案里要求学员先确认两端协议一致,再检查 Diameter 的 Origin-Host 和 Destination-Realm 配置是否正确。

4.3 坑三:忽略 TMSI 和 IMSI 的区别

现象:终端附着成功但短信发不出去,空口信令里看不到 CP-DATA。原因:终端用 TMSI 接入,但教案里的抓包过滤条件只认 IMSI,导致漏看消息。解决:抓包时同时过滤 TMSI 和 IMSI,或者在 MME 日志里按 S-TMSI 搜索。

4.4 坑四:短信有效期设得太短导致误判

现象:实验时短信偶尔能收到、偶尔收不到,学员以为环境不稳定。原因:短信有效期设成了 5 分钟,接收方终端启动慢一点就过期了。解决:教案里把有效期默认设成 1 小时,并提醒学员在对比实验时记录每次的有效期设置。

4.5 坑五:抓包位置不对导致信令缺失

现象:Wireshark 里只看到 S1AP 消息,看不到 Diameter 消息。原因:抓包接口选错了,S1AP 和 Diameter 走的是不同物理接口或 VLAN。解决:教案里画出实验环境的接口拓扑,标注每个接口对应的抓包命令,让学员先确认接口再抓包。

5. 用状态码反推故障点:一个可以带走的排查习惯

教案的最后,我一般会教一个具体技巧:用状态码反推故障点。短信发送过程中,每个环节都会返回状态码,这些码就是排查的线索。比如 MME 返回 0x01 表示未知用户,说明 HSS 里没有这个 IMSI 的签约数据;SMSC 返回 0x0D 表示设备不支持,说明接收方终端的能力集里没有短信功能。

我习惯把状态码分成三类:终端侧、网络侧、短信中心侧。终端侧的状态码通常和空口信令一起出现,网络侧的状态码在 Diameter 或 MAP 消息里,短信中心侧的状态码在 SMSC 日志里。学员只要看到状态码,先判断它属于哪一类,再去对应的日志里找上下文。

下面这张表是我在教案里常用的状态码对照表,学员可以打印出来贴在工位上。

状态码含义排查方向
0x00成功无需排查
0x01未知用户查 HSS 签约数据
0x0D设备不支持查终端能力集
0x15短信中心拥塞查 SMSC 负载
0x29有效期过期查短信有效期设置
0x3A路由失败查 HLR/HSS 路由配置

这个习惯的价值在于:它把“短信发不出去”这个模糊问题,变成了“哪个环节返回了什么码”的具体问题。学员不需要背下所有信令流,只要会看状态码,就能定位到大致范围,再结合日志缩小到具体网元。

我自己带新人时,会让他们先跑通一次成功流程,然后故意改错一个参数,比如把 SMSC 地址改错,让他们观察状态码变化。改错一次比看十遍信令图印象更深。希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询