跳到主要内容

OmniSGW 操作指南

OmniSGW - 服务网关 (SGW)

由 Omnitouch 网络服务提供


目录

  1. 概述
  2. 架构
  3. 网络接口
  4. 关键概念
  5. 入门
  6. 配置
  7. Web UI - 实时操作仪表板
  8. 监控与指标
  9. 详细文档
  10. 其他资源
  11. 贡献
  12. 支持

概述

OmniSGW 是一个高性能的服务网关 (SGW) 实现,适用于 3GPP LTE 演进分组核心 (EPC) 网络,由 Omnitouch 网络服务开发。 它管理用户设备 (UE) 的移动性和承载管理功能,包括:

  • 会话管理 - 创建、修改和终止 UE (用户设备) 数据会话
  • 移动协调 - 处理 eNodeB 之间的切换及数据转发
  • 承载管理 - 为不同的 QoS 需求创建和修改专用承载
  • 计费信息 - 跟踪会话事件以进行离线计费
  • 用户面协调 - 控制 SGW-U (用户面) 进行数据包转发

SGW-C 的功能

  • 接受来自 MME 的会话请求 通过 S11 接口 (GTP-C)
  • 与 PGW-C 协调 通过 S5/S8 接口 (GTP-C) 进行 PDN 连接
  • 管理承载生命周期 包括创建、修改和删除
  • 在 SGW-U 中编程转发规则 通过 Sxa 接口 (PFCP)
  • 通过管理 eNodeB 之间的切换来处理 UE 移动性
  • 为挂起会话提供下行数据分页
  • 跟踪计费信息 以供离线计费系统使用

架构

组件概述

进程架构

SGW-C 基于 Elixir/OTP ��建,并使用监督进程架构:

  • 应用监督者 - 管理所有组件的顶层监督者
  • 协议代理 - 处理进出协议消息 (S11, S5/S8, Sxa)
  • 会话进程 - 每个活动 UE 会话一个 GenServer
  • 注册表 - 跟踪分配的资源 (TEID、SEID、计费 ID 等)
  • PFCP 节点管理器 - 维护与 SGW-U 对等体的 PFCP 关联

每个组件都受到监督,并将在故障时自动重启,以确保系统的可靠性。

可以通过 Web UI 应用页面监控实时系统健康指标:

应用资源


网络接口

SGW-C 实现了三个主要的 3GPP 接口:

S11 接口 (GTP-C v2)

目的: MME 与 SGW-C 之间的控制面信令

协议: 基于 UDP 的 GTP-C 版本 2

关键消息:

  • 创建会话请求/响应
  • 删除会话请求/响应
  • 修改承载请求/响应
  • 创建承载请求/响应
  • 删除承载请求/响应
  • 下行数据通知/确认

配置: 请参见 S11 接口文档

Sxa 接口 (PFCP)

目的: SGW-C 与 SGW-U 之间的控制面信令

协议: 基于 UDP 的 PFCP (数据包转发控制协议)

关键消息:

  • 关联设置请求/响应
  • 会话建立请求/响应
  • 会话修改请求/响应
  • 会话删除请求/响应
  • 会话报告请求/响应
  • 心跳请求/响应

配置: 请参见 PFCP/Sxa 接口文档

S5/S8 接口 (GTP-C v2)

目的: SGW-C 与 PGW-C 之间的控制面信令,用于 PDN 连接

协议: 基于 UDP 的 GTP-C 版本 2

关键消息:

  • 创建会话请求/响应
  • 删除会话请求/响应
  • 修改承载请求/响应
  • 创建承载请求/响应
  • 删除承载请求/响应

配置: 请参见 S5/S8 接口文档


关键概念

UE 会话

UE 会话表示与网络连接的活动移动设备。每个会话管理:

  • IMSI (国际移动用户身份) - 唯一的用户标识符
  • GUTI (全球唯一临时标识符) - 来自 MME 的临时 UE 标识符
  • MSISDN - 手机号码
  • TAI (跟踪区域标识符) - 当前位置区域
  • 会话 TEID - S11 和 S5/S8 的隧道端点标识符
  • 活动承载 - 关联数据承载的列表

PDN 连接

PDN (数据包数据网络) 连接表示 UE 通过特定 PGW-C 的数据连接。每个会话具有:

  • APN (接入点名称) - 标识外部网络
  • 计费 ID - 用于 SGW 和 PGW 之间计费的唯一标识符
  • TEID (隧道端点 ID) - S5/S8 接口隧道标识符
  • SEID (会话端点 ID) - Sxa 接口会话标识符
  • 默认承载 - 每个 PDN 连接时创建
  • 专用承载 - 满足特定 QoS 需求的额外承载

承载上下文

承载表示具有特定 QoS 特征的流量流:

  • 默认承载 - 每个 PDN 连接时创建,用于尽力而为的流量
  • 专用承载 - 满足特定服务需求的额外承载(语音、视频等)
  • EBI (EPS 承载 ID) - 每个会话内���个承载的唯一标识符
  • QoS 参数 - QCI (QoS 类标识符)、ARP (分配与保留优先级)、比特率 (MBR, GBR)

PFCP 规则

SGW-C 为 SGW-U 编程数据包处理规则:

  • PDR (数据包检测规则) - 匹配数据包 (上行/下行)
  • FAR (转发动作规则) - 指定转发行为
  • QER (QoS 执行规则) - 强制比特率限制
  • BAR (缓冲动作规则) - 控制切换期间的数据包缓冲

有关详细信息,请参见 Sxa 接口文档

移动性与切换

SGW-C 支持 UE 在 eNodeB 之间的移动性:

  • 同 MME 切换 - 在同一 MME 内的切换(无 SGW 更改)
  • 跨 MME 切换 - 在 MMEs 之间的切换,伴随 SGW 迁移
  • 数据转发 - 在切换期间缓冲和转发数据
  • 跟踪区域更新 - UE 在区域之间移动时重新注册

入门

先决条件

  • Elixir ~1.16
  • Erlang/OTP 26+
  • 与 MME、SGW-U 和 PGW-C 的网络连接
  • 理解 LTE EPC 架构

验证操作

检查日志以确认成功启动:

[info] 启动 OmniSGW...
[info] 在 127.0.0.40:42068 启动指标导出器
[info] 在 127.0.0.10 启动 S11 代理
[info] 在 127.0.0.15 启动 S5/S8 代理
[info] 在 127.0.0.20 启动 Sxa 代理
[info] 启动 PFCP 节点管理器
[info] OmniSGW 成功启动

访问指标在 http://127.0.0.40:42068/metrics (配置地址)。


配置

所有运行时配置都在 config/runtime.exs 中定义。配置结构分为几个部分:

配置概述

快速配置参考

部分目的文档
metricsPrometheus 指标导出器监控指南
s11GTP-C 接口到 MMES11 配置
s5s8GTP-C 接口到 PGW-CS5/S8 配置
sxaPFCP 接口到 SGW-USxa 配置

请参见 完整配置指南 以获取详细信息。


Web UI - 实时操作仪表板

OmniSGW 包含一个内置的 Web UI 用于实时监控和操作,提供系统状态的即时可见性,无需命令行工具或指标查询。

访问 Web UI

http://<omnisgw-ip>:<web-port>/

可用页面:

页面URL目的刷新率
UE 会话/ue_sessions查看所有活动 UE 会话和承载2 秒
PFCP 会话/pfcp_sessions查看与 SGW-U 的 PFCP 会话2 秒
SGW-U 状态/sgwu_status监控 PFCP 对等体关联2 秒
日志/logs实时日志流实时

关键特性

实时更新:

  • 所有页面自动刷新(无需手动重新加载)
  • 来自 OmniSGW 进程的实时数据流
  • 颜色编码状态指示器(绿色/红色)

搜索与过滤:

  • 按 IMSI、GUTI、电话号码搜索会话
  • 无需页面重新加载即可即时过滤

可扩展细节:

  • 点击任意行查看完整会话细节
  • 检查所有活动承载和 QoS 参数
  • 查看对等体配置和能力

无需身份验证(内部使用):

  • 从管理网络直接访问
  • 设计用于 NOC/运营团队使用
  • 仅绑定到管理 IP 以确保安全

操作工作流程

会话故障排除:

1. 用户报告连接问题
2. 打开 UE 会话页面
3. 按 IMSI 或电话号码搜索
4. 验证会话是否��在并具有正确的:
- 跟踪区域
- 活动承载及其 QoS
- 隧道端点已建立
- 正确的 PGW-C 关联
5. 如果未找到会话 → 检查日志以获取拒绝原因

系统健康检查:

1. 打开 SGW-U 状态页面 → 验证所有 SGW-U 对等体 "关联"
2. 打开 UE 会话 → 检查活动会话数量与容量
3. 监控 APN 之间的承载分布

容量监控:

  • 浏览 UE 会话数量
  • 与许可/预期容量进行比较
  • 确定峰值使用时间
  • 监控按服务类型的分布

Web UI 与指标

使用 Web UI 进行:

  • 单个会话和承载细节
  • 实时对等体状态
  • 快速健康检查
  • 故障排除特定用户
  • 验证配置

使用 Prometheus 指标进行:

  • 历史趋势
  • 报警和通知
  • 容量规划图
  • 性能分析
  • 长期监控

最佳实践: 同时使用两者 - Web UI 用于即时操作,Prometheus 用于趋势和警报。


监控与指标

除了 Web UI,OmniSGW 还暴露了与 Prometheus 兼容的指标以供监控:

可用指标

  • 会话指标

    • teid_registry_count - 活动 S11/S5S8 TEID
    • seid_registry_count - 活动 PFCP 会话
    • charging_id_registry_count - 活动计费 ID
    • active_ue_sessions - 总活动 UE 会话
    • active_bearers - 所有会话中的总活动承载
  • 消息指标

    • s11_inbound_messages_total - 在 S11 上接收到的 GTP-C 消息
    • s5s8_inbound_messages_total - 在 S5/S8 上接收到的 GTP-C 消息
    • sxa_inbound_messages_total - 接收到的 PFCP 消息
    • 消息处理持续时间分布
  • 错误指标

    • s11_inbound_errors_total - S11 协议错误
    • s5s8_inbound_errors_total - S5/S8 协议错误
    • sxa_inbound_errors_total - Sxa 协议错误

访问指标

指标通过 HTTP 在配置的端点暴露:

curl http://127.0.0.40:42068/metrics

请参见 监控与指标指南 以获取仪表板设置和警报信息。


详细文档

本节提供 OmniSGW 文档的全面概述。文档按主题和用例组织。

文档结构

OmniSGW 文档
├── OPERATIONS.md (本指南)

└── docs/
├── 配置与设置
│ ├── configuration.md 完整的 runtime.exs 参考

├── 网络接口
│ ├── sxa-interface.md Sxa/PFCP (SGW-U 通信)
│ ├── s11-interface.md S11 (MME 通信)
│ └── s5s8-interface.md S5/S8 (PGW-C 通信)

└── 操作
├── session-management.md UE 会话生命周期
├── bearer-management.md 承载操作
├── cdr-format.md 离线计费记录
└── monitoring.md Prometheus 指标与警报

按主题分类的文档

🚀 入门

文档描述目的
OPERATIONS.md主要操作指南(本文件)概述和快速入门

⚙️ 配置

文档描述
configuration.md完整的 runtime.exs 配置参考

🔌 网络接口

文档描述
sxa-interface.mdPFCP/Sxa 接口到 SGW-U
s11-interface.mdGTP-C S11 接口到 MME
s5s8-interface.mdGTP-C S5/S8 接口到 PGW-C

📊 操作与监控

文档描述
session-management.mdUE 会话生命周期和操作
bearer-management.md承载创建、修改、删除
cdr-format.md离线计费数据记录格式
monitoring.mdPrometheus 指标、Grafana 仪表板、警报

阅读路径

对于网络运营商

  1. OPERATIONS.md - 概述(本文件)
  2. configuration.md - 设置
  3. monitoring.md - 监控
  4. session-management.md - 日常操作

对于网络工程师

  1. OPERATIONS.md - 架构概述(本文件)
  2. sxa-interface.md - 用户面控制
  3. s11-interface.md - 移动管理
  4. s5s8-interface.md - PDN 连接
  5. session-management.md - 会话生命周期
  6. bearer-management.md - 承载操作

对于配置与部署

  1. configuration.md - 完整参考
  2. monitoring.md - 设置监控

其他资源

3GPP 规范

规范标题
TS 29.274GTP-C v2 (S11 和 S5/S8 接口)
TS 29.244PFCP (Sxa 接口)
TS 32.251分组交换域计费
TS 32.298CDR 编码
TS 23.401EPC 架构