摘要

  • RFC 3331 移动的不是 SS7 物理链路,而是 MTP2 与其唯一用户 MTP3 之间的边界。线路和 MTP2 留在信令网关,远端 MTP3 通过 M2UA 使用它们。
  • SCTP 关联状态、ASP/AS 控制状态与 MTP2 链路状态是三份独立事实。接口映射和显式审计把它们联系起来,单个绿色指示灯不能。

“用户”原来是一层协议

在分层协议中,MTP3 是 MTP2 的唯一用户。M2UA 的回传架构把物理电路、MTP1 与 MTP2 终结在 Signalling Gateway Process,把 MTP3 放在 Media Gateway Controller 内的 Application Server Process。原本在同一设备内部越过 MTP2/MTP3 边界的原语,被改写成经 SCTP 发送的 M2UA 消息。

信令单元仍从网关上的真实线路进入,链路级功能仍由那里的 MTP2 完成。远端 MTP3 并没有得到一条虚拟复制线路;它接收数据与状态指示,再发送建立、释放、检索和传输请求。拥塞、本地处理器故障、远端处理器故障等状态也穿过这条分布式边界。

RFC 2719 先给出了 SIGTRAN 架构:信令网关在分组网络边缘接触电路交换信令网络,媒体网关控制器可以在远端集中更高层逻辑。RFC 3331 把切口精确放在 MTP2 和 MTP3 之间。这与笼统的“SS7 over IP”不同,因为后者容易掩盖物理终结点仍由谁拥有。

线路没有移动,MTP2 也没有移动。移动的是上层使用这条线路的操作接口。原本本地的一条函数边界变成分布式控制面之后,故障判断也不再能由一个设备内的状态独自完成。

一个标识符连接固定线路与动态路径

网关必须把 Interface Identifier 映射到物理接口,例如 V.35 线路、T1 或 E1 线路及其时隙;同时还要把它映射到 SCTP 关联与关联内的流。两种映射稳定性不同:物理关系由配置确定,关联与流会随 ASP 激活、停用或故障切换而改变,切换期间甚至可能短暂失效。

Interface Identifier 只有本地意义,由信令网关与 ASP 协调。抓包中出现数值 17,只能证明某个对端在特定上下文发送了 17。没有当时的配置收据,它不能证明该值对应哪块端口、哪条电路或哪个时隙。把本地编号当作全球电路身份,会把约定误写成事实。

SCTP 多流能隔离不同链路的流量,减少一条链路受阻时拖住其他链路的风险,但流号不能代替接口标识符。SCTP 流是单向的,接收方无法仅凭入站流推断返回方向应该使用哪个流。RFC 3331 因而把 Interface Identifier 放进 MAUP 消息头。公共流用于管理,链路业务则应使用相应的数据流。

完整证据链至少包括:物理线路到接口标识符,标识符到 Application Server,活动 ASP 到 SCTP 关联与流。任何一条边陈旧、缺失或歧义,远端 MTP3 看到的链路就可能与网关现实不同。

三套状态机不能合成一个绿灯

SCTP 可以报告关联已建立。M2UA 可以把某个 ASP 在 Application Server 中标为 DOWN、INACTIVE 或 ACTIVE。MTP2 链路可以独立处于在役、退役、拥塞或远端处理器故障状态。这三套状态回答不同问题。

关联 UP 证明传输端点还能互通,不证明 ASP 已为某个接口标识符激活。ASP ACTIVE 证明该进程依据 Override、Loadshare 或 Broadcast 模式被选中接收流量,不证明物理线路健康。反过来,网关上的 SS7 链路正常,也不保证有远端 ASP 已准备好消费消息。

RFC 3331 还定义 Application Server 状态与恢复期间的 PENDING 状态。一个服务器可包含活动和备用 ASP。由于动态映射会在故障转移中变化,SGP 分发每条消息时都必须参考 AS/ASP 当前状态。规范建议一条 SS7 链路只由一个 SGP 提供 Signalling Link Terminal 服务;同一网关中不应出现两个同时声称终结同一物理资源的活动所有者。

把三套状态压成“可用”会制造故障。传输仍活着时线路可能已断;ASP 虽然活跃,却可能还没重建重启前的链路事实;线路健康时控制器也可能仍处于非活动状态。每一种组合都需要不同处置。

审计只校准当前,不重写历史

STATUS_AUDIT 让 ASP 主动询问 SS7 链路当前状态。网关可能回答退役、在役、拥塞或远端处理器故障。关联重启、ASP 切换或疑似丢失状态事件后,远端 MTP3 可以用它建立明确基线,而不是继续相信内存里的最后一条指示。

审计是一张带时间的对账单,不是完整历史。响应之后状态可能立即改变,审计也不能自动补回所有漏失事件。可辩护的事故记录应同时保留请求、响应、时间、接口标识符、关联身份、ASP 状态与之后的指示。“审计说链路在役”只在那个观察时刻和观察点成立。

动态注册又增加一层边界。Link Key 可以经授权映射到 Interface Identifier。注册成功证明 SGP 接受了控制映射,却不证明物理线路健康、ASP 已激活或业务已经流动。授权、激活与可用性是三张不同收据。

M2UA 不是 M2PA

RFC 4165 明确比较了二者。M2PA 两端都有 MTP3,M2PA 在对等节点之间替代 MTP2。M2UA 则让控制器中的 MTP3 通过被传输的边界原语使用网关上的真实 MTP2。两者都依赖 SCTP,但链路所有权与故障表面完全不同。

RFC 4666 的 M3UA 与 RFC 4233 的 IUA 共享通用消息头和 ASP 管理机制,也不能因此互换。调查故障时必须先问哪条层间边界被适配、哪一层仍留在物理端。

RFC 9260 是当前 SCTP 规范。它能帮助解释今天的传输行为,却不能证明某个历史 M2UA 部署已升级。IANA 仍把 SCTP payload protocol identifier 2 分配给 M2UA,并登记 MAUP 与 Interface Identifier Management 消息类。登记证明编号与规范引用,不证明采用、流量、健康或符合性。

安全也有独立边界。SCTP 不会自动把本地接口标识符变成物理电路认证。RFC 3788 补充了 SIGTRAN 安全考虑。运营者仍需认证对端、保护传输并授权谁能把 ASP 与线路绑定。能建立关联,不等于有权操纵该标识符背后的资源。

历史价值在于分开证据

M2UA 把接口分布出去,却没有抹掉它的物理锚点。分析时至少保存五份收据:SCTP 关联与流,AS/ASP 控制状态,接口标识符的配置映射,物理 MTP2 链路状态,以及承载命令或观察的边界消息。若问题涉及权限,还要保留安全关联与注册政策。

RFC 3331 能实现远程控制,正因为它精确命名了什么留下、什么跨过 IP、什么负责把二者重新关联。若把这些区别抹平,IP 连通就会被误当成电话信令服务的证明。若保持分离,故障切换与审计才能在不假装“线路也被搬走”的前提下解释清楚。

来源