ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

GSM Abis接口信令分析实战:从E1物理层到SCCP第三层协议栈拆解

GSM Abis接口信令分析实战:从E1物理层到SCCP第三层协议栈拆解 简介这份资源围绕GSM网络中基站与基站控制器之间的ABIS接口展开面向移动通信运维人员、网络优化工程师及通信专业学习者帮助理解信令传输、资源管理与协议栈结构等核心机制。压缩包共99个文件约33.57MB以hpp与cpp源码、pdf协议规范、doc说明文档为主另含rar子包、wk3表格、mht网页存档及少量txt、ppt等覆盖从底层传输到应用层的完整资料形态。内容涉及A接口与Iu接口信令、OM/BSSAP/SCCP/TP分层结构、E1/T1时隙复用及CCITT No.7编解码等要点并配有信令流程与网络优化、故障排查的实践参考。已有91人学习适合作为GSM信令分析与接口协议查阅的案头资料。1. 拆开 Abis.rar一套 GSM 基站信令资料到底能解决什么问题做 GSM 网络优化或者基站侧维护的工程师大概率都遇到过这种场景BTS 和 BSC 之间突然出现链路闪断Abis 口信令跟踪里全是看不懂的十六进制码流翻遍手头文档只有一份语焉不详的接口说明最后只能靠重启和换板子碰运气。这套 Abis.rar 就是冲着这个痛点来的——它不是一份教程而是一个把 Abis 接口从物理层到第三层、从 Q.711 到 Q.714 协议栈、从 SCCP 到 LAPD 信令流程全部打包的资料集合。里面既有 ITU-T 的原始建议书 PDF也有 TD-SCDMA 网络测试仪中 SCCP 协议解码的实战文档还有 Abis 第一层、第二层、第三层的分层解析。适合谁刚接触基站侧信令的新人可以用它建立协议栈的完整认知做过 A 接口但没深挖 Abis 的老手可以拿它补齐 LAPD 和 SCCP 的细节做网络优化需要定位 Abis 口拥塞或信令风暴的人能直接从信令流程文档里找到排查路径。一句话这是一份能让你从“看到 Abis 告警就头大”变成“能对着码流说清楚哪一层出了问题”的硬核资料包。2. Abis 接口协议栈拆解从物理层 E1 到第三层信令的完整链路2.1 为什么 Abis 接口要分三层理解Abis 接口是 BTS 和 BSC 之间的私有接口虽然 GSM 标准里没有像 A 接口那样把它完全开放但它的协议栈结构是清晰的。物理层跑的是 E1/T1 传输每个 E1 有 32 个 64kbps 时隙Abis 口通常占用其中若干个时隙来承载信令和语音。第二层是 LAPD 协议也就是 Q.921负责在 BTS 和 BSC 之间建立可靠的数据链路做帧定界、差错控制和流量控制。第三层才是真正承载业务和信令的部分包括 BTS 管理、信道激活、测量报告上报这些流程。资料包里那份ABis第一层.pdf、ABis第二层.pdf、ABis第三层.pdf正好对应这个分层结构。我一般建议先看第一层把 E1 帧结构、时隙分配、CRC 校验这些基础打牢再看第二层 LAPD 的帧格式和 TEI 分配最后啃第三层。很多人一上来就翻第三层信令流程结果看到SABM、UA、I帧这些 LAPD 术语就卡住了就是因为跳过了第二层。2.2 E1 时隙分配与 LAPD 链路建立E1 的 32 个时隙里时隙 0 用于帧同步和 CRC 校验时隙 16 通常用于信令但在 Abis 接口上BSC 和 BTS 之间的信令链路可以配置在任意时隙上。常见做法是把时隙 1 到 15 分配给语音业务时隙 16 到 31 里再划出几个 64kbps 的时隙给 LAPD 信令。LAPD 链路的建立过程是这样的BTS 侧先发SABM帧请求建立链路BSC 回UA帧确认然后双方进入信息传输状态。这个过程在资料包的abis信令流程.pdf里有完整的流程图。如果你手头有 E1 误码仪或者信令分析仪可以抓一段 Abis 口的码流按下面的步骤过滤 LAPD 帧# 假设抓包文件是 abis_capture.pcap用 tshark 过滤 LAPD 帧 tshark -r abis_capture.pcap -Y lapd -V # 只看 SABM 和 UA 帧确认链路建立过程 tshark -r abis_capture.pcap -Y lapd.sabme or lapd.ua -T fields -e frame.number -e lapd.sabme -e lapd.ua # 统计 LAPD 帧类型分布快速判断链路质量 tshark -r abis_capture.pcap -Y lapd -T fields -e lapd.control | sort | uniq -c | sort -rn这几条命令的逻辑是第一条把 LAPD 帧的详细解码打出来看帧类型和 TEI 值第二条专门抓SABM和UA确认链路建立有没有异常重传第三条统计控制字段的分布如果RR帧占比过高说明链路在频繁轮询可能存在拥塞或误码。参数上-Y是显示过滤器-T fields指定输出字段-e后面跟字段名。注意抓包点要选在 BTS 和 BSC 之间的 E1 链路上如果在 BSC 侧抓看到的可能是经过汇聚后的码流TEI 和时隙对应关系会变。2.3 SCCP 与 MTP 在 Abis 信令中的角色Abis 接口的第三层信令里SCCP 负责提供面向连接和无连接的信令传输服务。资料包里SCCP消息层.pdf和TD-SCDMA网络测试仪中SCCP协议解码.mht这两份文档把 SCCP 的消息格式、地址编码和连接管理讲得很透。SCCP 的地址由 SPC信令点码和 SSN子系统号组成在 Abis 接口上BTS 和 BSC 各自有独立的 SPCSSN 用来区分不同的应用实体比如 BSSAP 的 SSN 通常是 254。MTP 层在 Abis 接口上不是必须的因为 Abis 是点对点链路不需要 MTP 的路由功能。但有些厂商的实现会把 MTP 的部分功能集成进来做信令链路的监控和倒换。资料包里T-REC-Q.701-199303-I!!PDF-E.pdf到T-REC-Q.704-199303-S!!PDF-E.pdf这几份 ITU-T 建议书就是 MTP 的规范Q.701 是功能概述Q.702 是信令数据链路Q.703 是信令链路Q.704 是信令网功能和消息。如果你只需要 Abis 口的信令分析重点看 Q.703 和 Q.704 里关于链路状态和消息格式的部分就够了。提示SCCP 的地址编码在SCCP消息层.pdf里有详细的位域说明看的时候对照T-REC-Q.714SCCP部份.pdf的规范原文能避免把 SPC 的字节序搞反。3. 信令流程实战用 Q.711 到 Q.714 定位 Abis 口异常3.1 呼叫建立过程中 Abis 信令的交互序列一次完整的呼叫建立在 Abis 接口上会看到这样的信令序列BTS 先发Channel Required消息给 BSC请求分配信道资源BSC 回Channel Activation消息激活指定的信道BTS 激活完成后回Channel Activation Acknowledge然后 BTS 发Establish IndicationBSC 回Establish Confirm接着是Measurement Report上报和Assignment Command下发。这个流程在abis信令流程.pdf和gsm_移动基站的信令过程.mht里都有时序图。资料包里T-REC-Q.711-200103-I!!PDF-E.pdf和T-REC-Q.711-199607-S!!PDF-E.pdf是 SCCP 的规范Q.711 定义了 SCCP 的功能和消息类型。在呼叫建立过程中SCCP 负责把 BSSAP 的消息封装成UDT单位数据或DT数据消息通过 LAPD 链路传给对端。如果你在信令跟踪里看到UDT消息里携带的 BSSAP 消息是Channel Required但 BSC 侧没有回Channel Activation那问题可能出在 BSC 的资源分配逻辑上而不是 Abis 链路本身。3.2 用 Wireshark 解码 Abis 口 SCCP 消息Wireshark 从 2.0 版本开始就支持 GSM Abis 接口的解码但需要手动配置一些参数。资料包里Setup704.rar和FreeISOBurner.rar这些工具包可能是用来做协议分析和光盘刻录的但核心还是 Wireshark 的协议解析能力。下面是一个配置 Wireshark 解码 Abis SCCP 的步骤# 第一步确认 Wireshark 版本支持 GSM Abis tshark -v | grep -i gsm # 第二步用 tshark 指定 Abis 接口的 OMT 解码 tshark -r abis_capture.pcap -d udp.port4729,gsm_abis_omt -V # 第三步过滤 SCCP 消息只看 CR 和 CC 消息 tshark -r abis_capture.pcap -Y sccp.message_type 1 or sccp.message_type 2 -T fields -e frame.number -e sccp.called.ssn -e sccp.calling.ssn # 第四步导出 SCCP 消息的详细字段到 CSV tshark -r abis_capture.pcap -Y sccp -T fields -e frame.number -e sccp.message_type -e sccp.called.digits -e sccp.calling.digits -E headery -E separator, sccp_messages.csv这几条命令的逻辑是第一条确认 Wireshark 是否编译了 GSM 协议支持第二条用-d参数把特定 UDP 端口的数据强制解码为 Abis OMT 消息因为有些抓包工具会把 Abis 信令封装在 UDP 里传输第三条过滤 SCCP 的连接请求CR和连接确认CC消息看 SSN 是否匹配第四条把 SCCP 的关键字段导出成 CSV方便用 Excel 做统计。参数上sccp.message_type 1对应 CR 2对应 CCsccp.called.ssn是被叫子系统号sccp.calling.ssn是主叫子系统号。注意如果抓包文件里没有 SCCP 解码可能是 Wireshark 的 GSM 解析器没有启用需要在 Preferences 里勾选GSM Abis OMT协议。3.3 常见 Abis 信令异常的码流特征Abis 口的信令异常通常表现为几种码流特征一是 LAPD 链路频繁重传I帧说明物理层误码率高或者 BSC 侧处理不过来二是 SCCP 的UDT消息里 BSSAP 的Cause字段频繁出现Radio Resource Unavailable说明无线资源不足三是Measurement Report消息间隔异常正常是每 480ms 上报一次如果间隔变成 960ms 或更长说明 BTS 侧测量处理出了问题。资料包里A接口0406.pdf和ABis0808.pdf这两份文档虽然标题是 A 接口和 Abis 的日期版本但里面的信令流程和异常处理章节对 Abis 同样适用。我一般会先看abis信令流程.pdf里的正常流程时序图把正常消息序列记下来然后在实际抓包里对照。如果某个消息缺失或者顺序不对就顺着协议栈往下查第三层消息不对先看第二层 LAPD 有没有正确传输再看第一层 E1 有没有误码。这个排查顺序能避免一上来就扎进第三层细节里出不来。4. 避坑与排查Abis 信令分析中容易翻车的五个点4.1 抓包点选错导致信令不完整现象抓到的 Abis 码流里只有单向消息比如只看到 BTS 发的Channel Required看不到 BSC 回的Channel Activation。原因抓包点选在了 BSC 侧的汇聚链路上或者用了端口镜像但镜像方向配置错了。Abis 接口是双向链路如果只镜像了一个方向就会丢一半消息。解决在 BTS 和 BSC 之间的 E1 物理链路上做高阻跨接或者用分光器确保双向码流都能抓到。如果只能用端口镜像检查镜像配置里both方向是否生效。资料包里ABis第一层.pdf有 E1 链路的物理连接示意图可以参考。4.2 LAPD TEI 分配冲突导致链路起不来现象BTS 侧反复发SABM帧但 BSC 侧不回UA或者回了DM帧表示拒绝。原因TEI终端端点标识符分配冲突。Abis 接口上每个 BTS 的 LAPD 链路有唯一的 TEI 值如果两个 BTS 配了相同的 TEIBSC 就不知道SABM是哪个 BTS 发的。解决检查 BSC 侧的 TEI 配置表确保每个 BTS 的 TEI 唯一。常见做法是 TEI 0 用于广播TEI 1 到 63 分配给具体 BTS。资料包里ABis第二层.pdf有 TEI 分配的详细说明。4.3 SCCP 地址字节序搞反现象Wireshark 解码出来的 SPC 值和实际配置的对不上比如配置的是 1234解码出来是 3412。原因SCCP 地址的 SPC 字段在消息里是按大端序还是小端序传输不同厂商的实现可能不一样。ITU-T 规范里定义的是大端序但有些厂商的设备按小端序发。解决对照T-REC-Q.714SCCP部份.pdf里的地址格式定义确认字节序。如果厂商实现和规范不一致在 Wireshark 里用sccp.spc字段的自定义解码规则做转换。我一般会在抓包前先确认厂商的字节序习惯避免解码出来一堆乱码。4.4 E1 时隙配置和实际业务不匹配现象Abis 口信令正常但语音业务建立不起来或者通话质量差。原因E1 的时隙分配和 BSC 侧的配置不一致。比如 BSC 配置时隙 1 到 15 用于语音但 BTS 侧配置的是时隙 1 到 10 用于语音11 到 15 用于信令两边对不上。解决核对 BSC 和 BTS 的时隙配置表确保语音时隙和信令时隙的划分完全一致。资料包里ABis第三层.pdf有信道激活和时隙分配的流程说明可以参考。4.5 信令跟踪工具的解码插件版本不匹配现象用信令分析仪抓 Abis 口码流解码出来的消息类型全是Unknown。原因分析仪的解码插件版本太老不支持当前 BSC 或 BTS 的协议版本。Abis 接口虽然是标准接口但各厂商会加私有扩展字段。解决更新分析仪的解码插件到最新版本或者用 Wireshark 配合厂商提供的解码脚本。资料包里TD-SCDMA网络测试仪中SCCP协议解码.mht有 SCCP 解码的详细步骤虽然是 TD-SCDMA 的但 SCCP 部分的解码逻辑对 GSM Abis 同样适用。5. 从 Q.711 到 Q.714把 ITU-T 建议书用起来的三个技巧5.1 用 Q.711 和 Q.712 快速定位 SCCP 消息类型Q.711 定义了 SCCP 的功能架构Q.712 定义了 SCCP 的消息和参数。资料包里T-REC-Q.712-199607-I!!PDF-E.pdf和T-REC-Q.712-199303-S!!PDF-E.pdf这两份文档是 Q.712 的不同版本1996 版比 1993 版多了几个消息类型。我一般会把 Q.712 里的消息类型表打印出来贴在工位上抓包的时候对照着看。比如CR连接请求的消息类型码是 1CC连接确认是 2CREF连接拒绝是 3RLSD释放完成是 4DT数据是 7UDT单位数据是 9。这些码值在 Wireshark 的sccp.message_type字段里直接能看到对照 Q.712 的表就能快速判断消息含义。5.2 用 Q.713 和 Q.714 分析 SCCP 连接管理Q.713 定义了 SCCP 的格式和编码Q.714 定义了 SCCP 的过程。资料包里T-REC-Q.714SCCP部份.pdf是 Q.714 的 SCCP 部分里面详细描述了连接建立、连接释放、数据传送的过程。在 Abis 接口上SCCP 的连接管理主要用在 BSSAP 的面向连接消息上比如Assignment Command和Handover Request。如果你在抓包里看到CR消息后面没有CC而是CREF那就说明对端拒绝了连接请求CREF消息里的Cause字段会说明拒绝原因。这个排查路径在SCCP消息层.pdf里有更详细的案例。5.3 用 Q.703 和 Q.704 排查 LAPD 链路故障Q.703 定义了信令链路的功能Q.704 定义了信令网的功能和消息。虽然 Abis 接口不跑完整的 MTP但 LAPD 的链路状态管理可以参考 Q.703 里的链路状态转移图。资料包里T-REC-Q.703-199303-S!!PDF-E.pdf和T-REC-Q.704-199303-S!!PDF-E.pdf这两份文档是 MTP 的规范但里面的链路状态机、定时器、消息格式对理解 LAPD 也有帮助。比如 LAPD 的T200定时器对应 Q.703 里的T1定时器N200最大重传次数对应 Q.703 里的N1。如果你在抓包里看到I帧重传次数超过N200链路就会断开这时候要查物理层的误码率。注意ITU-T 建议书的 PDF 文件命名里带!!和!Err1!的可能是扫描件或者有 OCR 错误的版本看的时候对照多个版本交叉验证。资料包里 Q.711 有 1996 和 2001 两个版本Q.712 有 1993 和 1996 两个版本正好可以对照。5.4 一个具体技巧用 Q.2210 理解 SCCP 的扩展消息资料包里T-REC-Q.2210-199607-I!!PDF-E.pdf是 Q.2210 建议书定义了 SCCP 的扩展消息和参数。在 Abis 接口上如果 BSC 和 BTS 之间需要传输超过 256 字节的消息就会用到 SCCP 的分段和重组功能。Q.2210 里定义了XUDT扩展单位数据和XUDTS扩展单位数据服务消息类型这些在普通呼叫建立流程里不常见但在 GPRS 或 EDGE 的数据业务建立时会用到。如果你在抓包里看到XUDT消息说明当前 Abis 口承载的是分组数据业务排查思路要从信令转向数据面。从那以后我每次分析 Abis 口信令都强制走一遍“先看第一层 E1 误码再看第二层 LAPD 链路状态最后看第三层 SCCP 消息”的流程这个顺序能避免在第三层细节里绕圈子。希望帮到你。本文还有配套的精品资源点击获取
返回列表