几十年来,电信行业和软件开发世界存在于平行的宇宙中。电信运营商基于复杂的专有协议(如 Diameter、SS7 和 GTP)运行,而现代开发人员则在 REST、JSON 和 HTTP 上构建 Web。网络是一个"哑管道"——可靠,但不透明且无法编程。
那个时代即将结束。5G 的兴起将底层基础设施转变为云原生软件,随之而来的是 GSMA 开放网关 倡议和 CAMARA 项目。
我们正见证一个范式转变,网络本身正在成为可编程平台。然而,将 5G 核心的原始能力暴露给公共互联网需要严格的标准化和强大的管理。这就是 OpenAPI 规范(OAS) 和高性能 API 网关 融合的地方。
什么是 CAMARA 项目和开放网关倡议?
为了理解这场革命的范围,我们必须看看推动它的两大支柱:GSMA 和 Linux 基金会。
2023 年 2 月,GSMA 启动了 开放网关 倡议。目标雄心勃勃但简单:创建一个在不同移动网络运营商之间通用工作的应用程序编程接口(API)联盟。应用程序开发人员应该能够编写一次代码来检查设备位置或请求更高带宽,无论用户使用的是 Verizon、Vodafone 还是 Orange。
虽然 GSMA 定义了战略,但代码存在于 CAMARA 项目 中。
CAMARA 是 Linux 基金会下的一个开源项目。其任务是定义、开发和测试这些 API。它充当抽象层。开发人员不需要理解 3GPP 规范的复杂性或如何查询归属用户服务器(HSS),CAMARA 将这些能力作为干净、标准化的 REST API 暴露出来。
"服务 API" 格局
CAMARA 目前正在标准化对关键网络能力的访问,包括:
- SIM 卡更换: 即时验证 SIM 卡是否最近被更换,以防止银行交易期间的欺诈。
- 设备位置: 验证设备的地理位置,而不依赖 GPS(对地理围栏合规性很有用)。
- 按需质量(QoD): 允许应用程序(如云游戏或远程手术)为特定会话请求稳定的延迟或保证的吞吐量。
OpenAPI 规范(OAS)在标准化中的作用
标准化是开放网关倡议的基石。如果运营商 A 使用 XML,运营商 B 使用 JSON,"通用网络 API"的概念就会失败。
这就是 OpenAPI 规范(OAS) 被选为 CAMARA 项目通用语言的原因。每个 CAMARA API(例如 qod-api、sim-swap-api)都严格使用 OAS(YAML/JSON)定义。
为什么 OAS 在这里很重要
- 合约优先开发: CAMARA 确保在任何实现发生之前就定义了接口。这防止了范围蔓延,并确保不同电信运营商实施之间的一致性。
- 工具生态系统: 因为 CAMARA 使用标准 Swagger/OAS 保证,开发人员可以将这些定义直接导入 Postman 等工具进行测试,或使用生成器自动创建 Python、Java 或 Go 中的 SDK。
- 验证: API 网关依赖 OAS 定义来管理流量。通过将 CAMARA OAS 文件加载到 API 网关中,系统可以在请求到达敏感的电信核心之前自动验证传入请求(检查标准模式、必需标头和数据类型)。
1CAMARA 工作组 → OpenAPI 规范 - YAML
2 ↓
3 被 API 网关导入
4 生成客户端 SDK
5 ↓
6 应用程序开发人员使用 SDK
7 ↓
8 调用 API 网关
9 ↓
10 验证并代理到电信网络核心
架构深入探讨:API 网关作为推动者
描述 API 的文本文件(OAS)的存在是不够的。您需要一个引擎来提供它。在 CAMARA 架构中,API 网关 充当关键的"北向接口"(NBI)暴露点。
直接将网络暴露功能(NEF)或 5G 核心暴露给公共互联网是安全自杀任务。API 网关,如 API7 Enterprise(基于 Apache APISIX),位于外部开发人员和内部网络功能之间。
1. 协议转换和编排
电信核心通常使用传统协议或复杂的内部 HTTP/2 方言。API 网关充当翻译器,向世界呈现干净的 CAMARA REST/JSON 接口,同时处理到后端网络功能的复杂路由。
2. 身份和安全(CIBA 和 OAuth 2.0)
网络 API 处理高度敏感的数据(PII)。安全性是不可协商的。CAMARA 标准大量利用 OAuth 2.0 和 OIDC(OpenID Connect)。
电信 API 中常见的一个特定要求是 CIBA(客户端发起的反向通道认证)。与标准的浏览器重定向登录不同,CIBA 允许后端服务器在用户的手机上触发认证请求(例如,推送通知说"允许银行应用程序验证您的位置?")。
在每个微服务中管理这些复杂的认证流程是低效的。高性能网关处理这些令牌交换、验证和同意检查,确保只有授权的流量进入核心。
3. 流量管理和速率限制
5G 信令风暴是真实的威胁。如果流行的应用程序出现故障并垃圾邮件发送按需质量 API,它理论上可能会降低其他用户的网络性能。API 网关强制执行严格的速率限制(如服务级别协议中定义的)。使用 API7,运营商可以基于复杂标准限制流量——例如每个开发者、每个 IP,甚至每个令牌——确保关键基础设施的稳定性。
1开发者应用程序 -- HTTPS/OAuth2 --> API7 / API 网关
2 ↓
3 速率限制 → 认证服务器 / OIDC
4 ↓
5 授权请求 → 网络暴露功能(NEF)
6 ↓
7 策略控制功能(PCF)
8 接入管理(AMF)
真实世界实施:按需质量(QoD)
为了说明这些部分如何组合在一起,让我们看看 按需质量(QoD) API——CAMARA 套件中商业前景最广阔的操作 API 之一。
场景: 一个专门的远程协助应用程序需要为视频流提供保证的稳定连接,专家通过视频指导现场技术人员。
- 发现: 应用程序开发人员从 CAMARA 存储库下载
QoDOpenAPI 规范以了解合约。 - 请求: 应用程序向运营商的 API 网关发起请求:
POST /sessions。正文包含用户的 IP 和所需的服务质量配置文件(例如QOS_L表示低延迟)。 - 网关执行:
- 验证: 网关根据 OAS 模式验证 JSON 正文(坐标有效吗?配置文件名称正确吗?)。
- 认证: 它验证开发者的 OAuth 令牌。
- 策略: 它检查这个特定合作伙伴是否被允许请求
QOS_L(可能是付费层)。
- 网络操作: 网关将请求转发到 NEF/PCF。5G 核心动态地为该特定用户会话预留资源块。
- 结果: 技术人员获得无故障的视频流,即使在拥挤的区域。
整个流程在毫秒内发生,由网关根据 OpenAPI 规范中定义的规则进行编排。
结论:为 API 优先网络做准备
5G、CAMARA 项目和 OpenAPI 规范的融合代表了二十年来电信架构最重大的转变。我们正在从刚性、硬件定义的约束世界转向灵活、软件定义的潜力世界。
对于开发人员来说,这开辟了以前不可能的能力。对于电信运营商和聚合商来说,它代表了新的收入来源。但这种潜力严重依赖基础设施。CAMARA API 的实施不仅仅是一个编码练习;它是一个 API 管理挑战。
在开放网关时代取得成功需要:
- OAS 原生: 能够摄取并严格执行 CAMARA 定义。
- 高性能: 能够处理最小的延迟开销,因为增加显著的延迟违背了"按需质量"的目的。
- 安全: 足够强大以保护关键网络核心免受开放互联网的侵害。