
简介这是一份围绕GSM数字蜂窝移动通信系统的教学课件整合了第6、第7章内容面向通信工程专业学生、备考人员以及希望系统梳理移动通信基础知识的从业者。资源以PPTX格式封装共1个文件压缩包仅1.17MB章节结构完整适合课堂展示、自主复习或课程设计参考。课件从GSM在1982年的发展里程碑讲起系统介绍电信业务与承载业务、网络结构MS、BSS、NSS、OSS、A接口/Um接口/Gn接口、编号与鉴权加密、无线信道及呼叫接续流程并单列GPRS内容说明其作为通向3G演进的重要一步。内容预览中每章配有教学目标、目录层级和业务表格重点突出便于快速定位与备课目前已有103人学习下载可作为移动通信课程备课、考前梳理以及理解2G向3G演进逻辑的实用参考资料。1. GSM 数字蜂窝移动通信系统从 1G 到 2G 到底“数字化”了什么GSM 数字蜂窝移动通信系统这套课件通常不是给看热闹的人准备的而是给需要从系统层面理解移动通信“怎么把电话打出去”的工程师准备的。很多人对 GSM 的认知停留在“2G 很老、只能打电话”但真到处理基站告警、分析信令或者做物联网老旧终端兼容时才发现自己对 BSS、NSS、Um 接口这些概念只有模糊印象。这篇文章就顺着课件第 6、7 章的典型内容——数字蜂窝的系统架构与网元组成——把 GSM 从频率资源划分、网络拓扑到信令流程完整摊开讲一遍。GSM 相比 1G 的 AMPS核心差异不只是“模拟变数字”而是把语音编码、信道编码、加密和慢跳频全部落到了 DSP 可处理的基带流程里同时用 SIM 卡把用户身份与终端解耦。这个设计决策决定了后来 2G 时代漫游、鉴权、计费的基本形态也决定了你今天在核心网里看到的 HLR、VLR、AUC 这些网元为什么长成那个样子。文章适合刚接触移动核心网的新人也适合做基站维护、终端协议栈开发或物联网选型的老手来对照查漏。2. GSM 数字蜂窝网络架构拓扑三大子系统与网元连接关系2.1 画 GSM 拓扑前必须先分清楚 BSS、NSS 与 OSS不管是自己画拓扑还是看课件里的图GSM 网络架构拓扑图的第一步永远是切分三大子系统。基站子系统BSS负责无线资源的收发与管控网络子系统NSS负责呼叫控制、移动性管理与用户数据操作维护子系统OSS负责全网设备的状态监控与配置下发。多数人画拓扑图时容易把 BTS 和 BSC 的关系画成简单串接实际上 BTS 是“射频收发信机加基带处理”BSC 是“无线资源管理器”两者之间走的是 Abis 接口承载的既有 PCM 语音时隙也有 LAPD 信令。NSS 里的 MSC 是交换机VLR 通常与 MSC 合设HLR 是用户归属数据库AUC 负责生成鉴权三元组EIR 管终端序列号。把这张图画对后面分析任何信令流程都有了坐标系。画设备之间连线时要特别注意接口类型BTS 到 BSC 是 AbisBSC 到 MSC 是 A 接口MSC 到 HLR 走 MAP 协议MSC 到其他 MSC 走 E 接口。不要把所有连线都画成一根粗线完事接口不同协议栈和时延特征完全不同。用文本画拓扑时至少要标注出每个网元的名称缩写和它在信令流程里的角色。┌──────────────────────┐ │ OSS │ │ 操作维护中心(OMC) │ └──────────┬───────────┘ │ ┌────────── BSS ─────────────┼────────── NSS ────────────┐ │ │ │ ┌────┴────┐ Abis ┌────┴────┐ A ┌─────────┐ MAP ┌─────────┐ │ BTS ├──────────┤ BSC ├───────┤ MSC ├───────┤ HLR │ │基站收发信台│ │基站控制器│ │移动交换中心│ │归属位置寄存器│ └────┬────┘ └─────────┘ │ VLR │ └─────────┘ │ Um └────┬────┘ │ ┌────┴────┐ │ ┌┴──────┐ │ MS │ ├───────────────┤ AUC │ │移动台 │ │ └───────┘ └─────────┘ ┌────┴────┐ │ EIR │ │设备识别寄存器│ └─────────┘上面这张图是 GSM 网络架构拓扑图的骨架版本适合作为课件笔记或方案文档的底稿。网元之间的连线不是简单的物理链路而是逻辑接口每个接口都有对应的协议栈。实际组网中 BSC 和 MSC 之间还会有 TC码型变换器用于把 13 kbit/s 的语音编码转换成 64 kbit/s 的 PCM 语音但它在逻辑上属于 A 接口的一部分画拓扑时可以并进 MSC 一侧标注。BTS 与 BSC 之间如果距离远通常走 E1 或 STM-1 传输一个 BSC 下挂几十到几百个 BTS 都很常见具体数量取决于配置的 TRX 数和话务模型。2.2 AMPS1G与 GSM2G的拓扑差异对照热词里提到的“分别画出 AMPS(1G)、GSM(2G) 网络架构拓扑图”其实是个很好的练习。AMPS 时代没有独立的基站控制器概念每个基站直接通过地面线路连到 MSC频率规划上用 7 小区复用语音是模拟 FM 调制没有加密也没有 SIM 卡。GSM 在拓扑上最大的变化是插入了 BSC 这一层让无线资源管理从 MSC 下沉到基站侧MSC 只处理呼叫与移动性管理。这样做的直接收益是切换信令不必每次都要到 MSC 兜一圈BSC 内部就能完成同 BSC 下不同 BTS 之间的切换。另一个值得在拓扑图上标出来的差异是用户数据库的拆分。AMPS 的归属数据在 MSC 里本地保存漫游很难做而 GSM 把用户数据抽到 HLR把来访用户数据临时放到 VLRMSC 通过 MAP 协议远程查询 HLR。拓扑图中 HLR 和 VLR 的位置关系就决定了漫游计费和被叫路由的基本逻辑。画 AMPS 拓扑时只有 MSC 和 BS 两层画 GSM 拓扑时要画出 BTS、BSC、MSC/VLR、HLR/AUC、EIR 五个角色这五个角色的连线逻辑能默写出来GSM 的系统框图就算真正拿下了。2.3 用表格对比 GSM 各网元的职责边界网元所属子系统核心职责关键接口典型部署位置MS移动台用户侧语音编解码、信道接入、SIM 鉴权Um终端设备BTSBSS射频收发、基带处理、小区广播Um/Abis基站机房/抱杆BSCBSS无线资源管理、切换控制、功率控制Abis/A本地机房MSCNSS呼叫接续、移动性管理、计费A/E/C/G中心城市VLRNSS存储来访用户位置信息与临时数据B/D与 MSC 同址HLRNSS用户签约数据、当前位置、鉴权参数C/D省级中心AUCNSS生成 Ki、随机数、SRES、KcH与 HLR 同址EIRNSS管理 IMEI 白/黑/灰名单F省级或全国中心网元职责的边界划分决定了扩容时的决策。比如说小区话务拥塞先看 BTS 的 TRX 配置和载频数量再看 BSC 的话务处理能力最后才看 MSC 的中继资源。很多故障工单把问题定位到 MSC 是升级交换机软件结果发现 BSC 的 LAPD 信令链路拥塞白折腾一场。3. GSM 的 Um/Abis/A 接口协议栈与参数配置3.1 空中接口 Um 上的三层结构与信道类型GSM 空中接口 Um 是整个系统里信息量最密集的部分也是最容易让人绕晕的地方。Um 接口的协议栈分三层物理层是 TDMA/FDMA 混合多址一个 200 kHz 载频按时间切成 8 个时隙每个时隙就是一个物理信道数据链路层是 LAPDm 协议它跟有线网络里的 LAPD 不完全一样去掉了标志字节和部分校验因为无线链路上不做帧定界第三层是 RR无线资源管理、MM移动性管理、CM呼叫控制三个子层。做终端协议栈或者用抓包工具分析空口信令时看到的层三消息基本都在这三个子层里。信道类型要分物理信道和逻辑信道。逻辑信道按功能分为广播信道BCH、公共控制信道CCCH、专用控制信道DCCH和业务信道TCH。一个小区里 BCCH 载频的 TS0 时隙固定用来发 FCCH、SCH、BCCH 和 RACH 等控制信息这就是为什么开站时第一载频的第一个时隙不能随便配成业务信道。小区搜索时手机先在 FCCH 上找频率校正突发再在 SCH 上读 TDMA 帧号和 BSIC然后解 BCCH 拿到小区参数列表最后随机接入。四个步骤对应四条逻辑信道少了哪条都入不了网。3.2 三个接口的关键参数与信令承载方式配置 GSM 网络参数时Abis 接口和 A 接口的时隙分配是日常工作中最常动的地方。一条 E1 有 32 个 64 kbit/s 时隙其中 TS0 用于帧同步TS16 通常用作信令时隙其余 30 个时隙可以承载语音或数据。Abis 接口上每个 BTS 至少要分配一条 LAPD 信令链路一般占用 TS16如果 BTS 载频数量多还要分配第二条信令链路解决 CCSL 容量问题。A 接口的信令走 CCS7七号信令一个 MSC 到 BSC 的 2 Mbit/s 中继上TS16 承载 MTP 层信令语音电路承载方式一般配成 16 个时隙一组也就是一条 E1 带两套 8 时隙的电路组方便故障隔离。下面给一段在基站侧查看 Abis 接口状态时的常用命令偏华为或中兴网管风格具体指令以厂商为准核心思路是看信令链路激活状态# 查看 BSC 到某 BTS 的 Abis 传输状态网管命令行示例 show bts_abr_info bts_id101 # 检测 E1 线路误码率误码高时先看物理层 ping_e1 timeslot16 bts_id101 count10 # 查看 LAPD 信令链路占用率 show lapd_link_usage bts_id101 slotts16第一行命令查的是 BTS 的 Abis 资源配置输出里重点看 “link_state” 是否为 ACTIVE同时看 “ts16_usage” 是不是已经有信令承载。第二行命令做的是 E1 时隙的物理层环回测试误码率超过 1e-6 就要考虑传输光模块或接地问题不要急着去改无线参数。第三行命令看 LAPD 链路利用率超过 60% 说明该 BTS 下的信令过载多半是小区重选太频繁或者短信业务量大这时需要增加第二条 CCSL 而不是降功率。3.3 频率复用与复用距离的量化计算GSM 900 上行 890-915 MHz、下行 935-960 MHz共 25 MHz 带宽每个载频 200 kHz理论上 124 个频点。实际组网中还要留保护频点可用频点一般 90 个左右。工程上最常用的复用方式是 4×3 复用也就是 4 个基站、每个基站 3 个扇区12 个小区为一组循环分配频点。复用距离 D 与小区半径 R 的比值 D/R 3NN 为复用模式数4×3 模式下 N12所以 D/R 大约等于 6。这个数值意味着同频小区之间要隔 6 个小区半径否则同频干扰会把载干比 C/I 拉到 9 dB 以下语音质量就会明显劣化。频点规划时 IMSI 结合扰码之类的说法是 LTE 的术语GSM 里对应的是 BSIC基站识别码用于区分同频不同基站。BSIC 由 BCC基站色码和 NCC网络色码组成规划时要保证相邻小区具有不同的 BSIC同时同频复用的小区也要避免 BSIC 冲突。另一个重要参数是跳频序列GSM 的慢跳频频率为 217 跳/秒跳频可以平均化干扰让所有用户获得相近的话音质量代价是频率规划失去精确性。开通跳频后BCCH 载频不参与跳频TCH 载频参与这是常识但排障时经常被遗漏。4. 核心业务流程实操位置更新与切换的信令时序4.1 位置更新的完整信令与网元动作顺序GSM 的位置更新是让网络知道“用户现在在哪个位置区”的核心机制位置区用 LAI 标识一个 BSC 可以管理多个位置区一个位置区下可以有多个 BTS。手机在空闲状态下监听 BCCH 里的 LAI发现自己的位置区变了就发起位置更新请求。流程的第一步是手机在 RACH 上发信道请求BTS 收到后通过 Abis 口上报 BSCBSC 分配 SDCCH 信道并在 AGCH 上下发立即指配消息。随后手机在 SDCCH 上发位置更新请求里面带着旧的 LAI 和 TMSI 或 IMSI。如果位置区变化跨越了 MSC 边界新的 MSC/VLR 要向老 VLR 要用户的 IMSI 和鉴权参数然后向 HLR 发起位置更新HLR 记录新 VLR 地址并通知老 VLR 删除用户数据。这个过程涉及的网络节点多任何一环抖动都会导致位置更新失败。用信令分析仪跟踪时重点看 MAP 消息里的 Invoke 和 Return Result 配对情况如果 HLR 回了 Error多半是用户数据异常或 VLR 与 HLR 的 GT 翻译配置错误。MS BTS BSC MSC/VLR HLR │ RACH信道请求 │ │ │ │ ├─────────────│ │ │ │ │ AGCH立即指配 │ │ │ │ │─────────────┤ │ │ │ │ SDCCH位置更新请求│ │ │ │ ├─────────────├──────────├──────────│ │ │ │ │ │ MAP_UPDATE_LOCATION │ │ │ ├──────────│ │ │ │ │ MAP_INSERT_SUBSCRIBER_DATA │ │ │ │──────────┤ │ 位置更新接受 │ │ │ │ │─────────────├──────────├──────────│ │ │ TMSI重分配 │ │ │ │ │─────────────│ │ │ │这个时序图里最容易出问题的环节是 TMSI 重分配。很多工程师认为位置更新完成于“位置更新接受”消息其实网络会在下行消息里携带新的 TMSI手机要回应 TMSI 重分配完成整个流程才算闭环。如果无线环境差这个确认消息丢了下一次位置更新手机就只能用 IMSI 发起导致每次都要走完整的 MAP 流程HLR 和 VLR 的交互压力陡增。排查这类问题时看 SDCCH 上的消息丢失率而不是只看接通率。4.2 切换的三种类型与参数判决门限GSM 切换分为同 BSC 切换、跨 BSC 切换和跨 MSC 切换三类判决依据主要是下行接收电平、上行接收电平、质量、距离和时间提前量。BSC 周期性对 MS 做测量报告预处理测量报告里包含服务小区和最多 6 个邻区的 BCCH 载频电平和 BSIC。切换判决常用的是“P 建议值”算法数学上是一个带滞后余量的比较当邻区电平持续 N 个测量周期高于服务小区电平加上滞后门限时触发切换。切换类型触发主体信令路径典型时延主要风险同 BSC 切换BSCMS-BTS-BSC-BTS-MS50-100 ms目标小区拥塞跨 BSC 切换BSC 间经 MSC 或直接 BSSAP150-300 ms传输时延抖动跨 MSC 切换MSC 间MSC-A/MSC-B 间 ISUP/MAP300-500 ms中继资源不足日常优化里最常见的是把切换滞后门限调太小导致乒乓切换。GSM 规范里切换滞后参数一般配 4-8 dB如果网络对掉话率敏感可以把边缘切换门限调低一点让手机在信号很差时才切减少无谓的切换尝试。但注意功率控制与切换之间存在耦合上行功率控制会让手机降功率导致上行测量电平偏低触发上行质量差切换。配置时要把功率控制的目标电平和切换触发电平拉开至少 10 dB 的空间不然会造成“功控把信号压下去切换又因为信号差被触发”的震荡局面。4.3 用规划命令配置一个最小可用邻区关系邻区关系配置是 GSM 日常优化里改动最频繁的操作以下是常见的邻区添加命令流程以通用网管指令为参考。每个厂商的指令集不同但参数含义和配置顺序是一样的# 1. 定义外部小区描述包含频点、BSIC、LAC、CI add_gsm_external_cell cell_id12345 bsic12 bcc2 ncc1 lac1001 ci205 # cell_id 是外部小区编号bsic 用于避免同频误判lac/ci 唯一标识小区 # 2. 配置邻区关系并设置切换候选门限 add_gsm_nbr_relation src_cell1001 dst_cell12345 ho_margin6 # ho_margin 是切换滞后单位 dB过小会乒乓过大切不动 # 3. 激活该邻区关系 act_gsm_nbr_relation src_cell1001 dst_cell12345步骤 1 里外小区描述必须与对端 BSC 里配置的 BCCH 频点、BSIC 完全一致否则手机测量到了这个小区但 BSC 无法识别就会一直看不到这个邻区切换候选列表里永远少一项。步骤 2 的 ho_margin 一般取 4-8如果是高速公路场景可以考虑加时间迟滞参数来过滤快衰落。步骤 3 的激活动作经常被忽略配置完不激活邻区关系不生效基站侧不会有任何告警这种隐性故障尤其要留意。5. GSM 信令分析与 Wireshark 抓包实操5.1 抓包环境搭建与 A 接口镜像GSM 系统内部接口的信令分析日常工作中最常见的是抓 A 接口数据。A 接口是 BSC 与 MSC 之间的接口走的是七号信令的 MTP 层和 BSSAP 协议层。实网抓包需要在传输链路上做分光或者端口镜像通常由传输专业配合完成。如果只是自己学习研究可以用开源的 OpenBSC 或 Osmocom 模拟一个精简的 GSM 网络直接在本机抓取 Um 接口的 LAPDm 帧或者用虚拟化方式跑一个 MSC 的模拟器来看 A 接口消息。Wireshark 对 GSM 协议族的支持相当完善A 接口的 BSSAP 消息可以自动解析成 DTAP直接传输应用部分消息直接看到 CM 业务请求、鉴权请求、setup 等三层信令。抓包时要注意 Wireshark 默认可能只按 MTP2 解析如果链路是 MTP3 承载需要手动选择 “Decode As” 把 SLS 或 OPC 对应的协议改为 MTP3否则解析出来全是乱码。抓包点位决定了解析难度建议优先在 BSC 侧镜像而不是 MSC 侧镜像因为 BSC 侧能看到完整的 BSSMAP 和 DTAP 消息MSC 侧有时候会把 SCCP 连接段截断。5.2 用 tshark 过滤 GSM 关键信令消息实际分析时用 Wireshark 图形界面拖鼠标效率太低我习惯直接用 tshark 在服务器上做过滤和统计。以下命令适用于已经抓好的 pcap 文件# 1. 只看 BSSAP 消息筛选 DTAP 里的 CM 业务请求 tshark -r gsm_a.pcap -Y gsm_a.dtap.msg_type 0x24 -T fields \ -e frame.time -e gsm_a.dtap.msg_type -e gsm_a.dtap.mi_tmsi # 2. 统计各类 BSSMAP 消息的数量 tshark -r gsm_a.pcap -Y bssmap -T fields -e bssmap.discriminator | sort | uniq -c | sort -rn # 3. 过滤位置更新请求并输出目标 LAI tshark -r gsm_a.pcap -Y gsm_a.dtap.msg_type 0x12 -T fields \ -e gsm_a.dtap.location_area_id第一条命令里的0x24是 CM Service Request 的消息类型编码mi_tmsi字段表示用户以 TMSI 标识接入。如果同一时刻大量请求出现且 TMSI 全是 0说明用户在周期性位置更新后 TMSI 重分配失败需要到 VLR 侧查重分配流程。第二条命令统计 BSSMAP 消息分布正常情况下 Handover Required 和 Handover Complete 的数量应大致相等如果前者远大于后者说明目标小区资源不足或切换参数配置有问题。第三条命令用于定位某个 LAI 下的位置更新风暴输出结果如果某个 LAI 出现频率异常高结合时间维度看是否发生了小区重选环路。5.3 一次典型的“鉴权失败”排障流程接入网侧看到大量鉴权失败时先别急着把锅甩给 HLR要分三路查。第一路确认 BSC 和 MSC 之间的 A 接口是否正常BSSAP 消息在 SCCP 层是否被丢弃这个看 MTP3 层的拥塞指示就能确认。第二路确认 MSE 里的 Auc 生成的鉴权三元组是否过期GSM 规范里三元组没有严格的过期时间但 HLR 通常会配置预取数量如果 AUC 随机数池生成异常会导致同一组 RAND 重复使用手机测的 SRES 和网络算的 SRES 对不上。第三路也是最容易被忽略的检查手机侧的 Ki 是否与 HLR 里记录的一致换卡或者数据录入错误都会造成这种问题。遇到鉴权失败要抓两个点一个是 A 接口上 BSSMAP 的 Complete Layer 3 Information 里的鉴权参数另一个是手机侧 LAPDm 层映射出的鉴权响应。两边拿到之后用 Ki 和 RAND 做一次 COMP128 算法运算对比 SRES 是否一致。实际操作中不会自己去实现 COMP128多数用厂商网管自带的工具或者开源脚本但思路要清楚SRES 不一致或网络侧根本没下发 RAND这两种失败的处理路径完全不同。前者查用户数据后者查 MAP 流程方向错了排查时间至少翻倍。6. 从拓扑到排障一张图验证 GSM 网元互联的正确性GSM 网络排障最容易陷入的误区是“逐网元单独检查”每个设备都显示正常但业务就是不通。这里给一个自己常用的验证方法拿一张空白的 GSM 网络架构拓扑图把 UE 发起到被叫接通的完整信令流程里的每一步依次标注到对应网元和接口上标完之后看哪些接口只有一条消息没有后续消息。比如说主叫流程里MSC 收到 Setup 后如果拓扑图上没有画出 MSC 到 HLR 的 C 接口链路那就查不到被叫用户的漫游号码呼叫必然失败。这个方法比对着告警列表一个个点开看要高效得多。进阶一点的用法是拿同一个方法验证切换流程。拓扑图上 BSC 与 BSC 之间如果画了直接链路那是走 BSC 间的直接切换信令走 BSSAP 的 Handover Required 和 Handover Request Acknowledge如果没画切换信令要绕到 MSC 兜一圈。生产环境里很多所谓“跨 BSC 切换失败”的问题最后查出来是传输专业把两条 BSC 之间的 2M 中继配错了时隙拓扑图画的和实际接的不一样。验证方式很简单找一台手机从小区 A 步行到小区 B同时抓 A 接口信令看 Handover Request 是从哪个 OPC 发来的和拓扑图对不对得上一套动作下来 20 分钟就能定位问题。GSM 这种“老”系统最大的特点是没有那么多黑盒每个网元的接口和消息都是公开规范的排障不需要猜只需要把规范读明白然后对照实际配置逐条验证。画拓扑图不是交作业而是把规范、配置和现网三者对齐的过程。这张图一旦画准了无论后面是做频率规划、信令跟踪还是核心网割接你都会比别人更快找到那个出问题的接口。本文还有配套的精品资源点击获取