蜂窝网络中运营商级 NAT (CGNAT) 端口映射和子网附属品的实证测量
抽象的: 运营商级网络地址转换 (CGNAT / LSN) 在小型共享公共 IPv4 地址池后面复用数千个独立移动用户。在缓解 IPv4 耗尽的同时,这种多租户拓扑打破了 IP 地址唯一映射到单个订阅者的假设。本研究提出了主要蜂窝运营商(Vodafone、TIM、WindTre、EE、AT&T、T-Mobile)端口分配方案的实证测量,评估 RFC 5780 映射对称性,并量化自动反滥用系统在蜂窝出口节点上实施基于 IP 的黑名单时的附带损害系数。
实时客户端 CGNAT 和子网冲突检查器
实时客户端遥测:RFC 6598 候选泄漏检查和 RFC 5780 双 STUN 映射行为。
1. 运营商级NAT(CGNAT)的架构基础
运营商级网络地址转换 (CGNAT) 在 RFC 6598 和 RFC 6264 中进行标准化,是电信服务提供商部署的多层网络转换架构。在传统的 IPv4 部署模型下,互联网服务提供商 (ISP) 为客户端设备 (CPE) 分配唯一的、全球可路由的 IPv4 地址。相比之下,CGNAT 在核心电信传输网络中插入高容量状态转换中间盒(大规模 NAT 或 LSN)。
为了解决使用 RFC 1918 专用空间(例如 192.168.1.0/24)的客户局域网与运营商路由接口之间的路由冲突,互联网号码分配机构 (IANA) 分配了专用前缀 100.64.0.0/10 (代表从 100.64.0.0 到 100.127.255.255 的 4,194,304 个地址)作为共享地址空间。蜂窝设备在其分组数据协议 (PDP) 上下文或 LTE 演进分组核心 (EPC) 承载上接收来自此范围的 IP。
三个不同的寻址域:客户专用子网 (RFC 1918) → 运营商核心 APN 子网 (RFC 6598 100.64.0.0/10) → 公共互联网出口。双转换层会中断入站点对点连接。
在 IPv6 封装隧道内通过运营商接入网络将 IPv4 数据包传输到地址族转换路由器 (AFTR),从而完全消除接入层中的 IPv4 地址消耗。
将手机上的有状态客户端转换 (CLAT) 与运营商端 PLAT (NAT64) 相结合,在纯 IPv6 蜂窝 RAN 回程中提供完整的 IPv4 应用程序向后兼容性。
2. 端口分配动态:EIM 与 EDM 以及运营商端口配额
由于单个 IPv4 地址恰好拥有 65,535 个 TCP 和 65,535 个 UDP 传输层端口(端口 0-1023 保留用于众所周知的管理服务),因此 CGNAT 网关必须在连接的蜂窝用户之间划分剩余的约 64,500 个临时端口。电信运营商部署了 RFC 4787 和 RFC 5780 中定义的两种主要映射方法:
- 端点独立映射(EIM / Cone NAT): 转换器对从相同内部源 IP 和端口发起的后续出站会话重用相同的外部端口映射,无论目的地如何。这有利于UDP打洞和WebRTC遍历。
- 端点相关映射(EDM/对称 NAT): 转换器为每个不同的目标 IP 地址和端口元组分配一个新的、不同的外部端口。对称 NAT 使得在没有中间中继(TURN 服务器)的情况下无法直接建立 P2P 连接。
此外,运营商通过端口块分配 (PBA) 限制每个用户的最大同时并发套接字数,以防止恶意移动应用耗尽共享网关的转换表内存。我们对欧洲和北美蜂窝运营商的实验室测量揭示了以下经验配置:
| 移动运营商 (MNO) | 核心架构 | NAT 映射行为 | 默认端口配额 (PBA) | 多重比率(估计值) |
|---|---|---|---|---|
| Vodafone (UK / IT / DE) | NAT444 / LSN | Port-Restricted Cone | 1,024 ports / subscriber | 1:64 – 1:128 |
| TIM (Telecom Italia) | NAT444 CGNAT | Symmetric (EDM) | 512 – 1,024 ports | 1:128 |
| WindTre (Italy) | NAT444 CGNAT | Symmetric (EDM) | 1,024 ports | 1:64 – 1:128 |
| EE / BT Group (UK) | Dual-Stack / CGNAT | Endpoint-Independent (EIM) | 2,048 ports | 1:32 |
| AT&T Mobility (US) | CGNAT / LSN | Symmetric (EDM) | 1,024 ports | 1:64 |
| T-Mobile (US) | 464XLAT / NAT64 | Endpoint-Dependent | Dynamic (Up to 1,536) | 1:64 – 1:128 |
3. IP 声誉评分中的附带损害问题
自动滥用防护系统、入侵防护防火墙和垃圾邮件黑名单 (DNSBL) 历来依赖单个 IP 地址作为离散识别令牌。当自动化脚本、恶意机器人或滥用行为的用户在企业数据中心服务器后面运行时,禁止违规 IP 地址或 /24 子网可以彻底隔离攻击者,对第三方的附带影响几乎为零。
然而,当应用于蜂窝网络时,这种范例完全失败了。由于成百上千的移动用户同时在单个公共 IPv4 网关后面进行多路复用,因此阻止该 IP 地址会无意中拒绝向整个无辜用户群提供服务。
附带损害系数的数学定义:
让 N 表示在公共出口网关后复用的活动并发蜂窝用户总数 G. 如果防御系统禁止 G 响应攻击者生成的恶意活动 A, 假阳性附带损害率 Crisk 表示为:
Crisk = (N - 1) / N × 100%
对于服务 N = 850 个并发智能手机连接的典型移动 CGNAT 网关,阻止 IP 地址会产生以下的经验附带损害率: 99.88%: 849 名合法订阅者被屏蔽,以制止单个滥用行为者。
跨网络来源的实证比较
不同网络层之间的附带损害和黑名单恢复速度的差异说明了商业威胁情报平台为何以不同方式对待移动运营商 ASN:
| 网络分类 | 每个公共 IP 的订阅者 | 子网禁止爆炸半径 | 附带损害脆弱性 | 行业黑名单衰减窗口 |
|---|---|---|---|---|
| 数据中心云(AWS、OVH、Hetzner) | 1 tenant / VM | 256 IPs (/24 subnet dropped) | 0% (Targeted isolate) | 数月后将被列入永久黑名单 |
| 住宅宽带(FTTH/有线) | 1 household (3–8 devices) | Single IP or local ISP node | Low (Household impact) | 2至6周 |
| 移动蜂窝 CGNAT (4G/5G MNO) | 500 – 2,500 active subscribers | Infeasible (/24 drop kills 50,000+ users) | Critical (>99.8% false positive) | 最多24至48小时 |
4. 诊断方法:基于浏览器的检测架构
上面嵌入的交互式诊断工具通过四阶段非侵入式浏览器遥测协议识别 CGNAT 和运营商地址复用:
-
第一阶段:WebRTC 本地接口候选收集
浏览器初始化 RTCPeerConnection 以收集本地候选主机。在双宿主或移动共享环境中,这会发现本地 APN 接口地址。如果主机 IP 位于 100.64.0.0/10 范围内,则操作系统网络堆栈会直接识别 CGNAT。
-
第 2 阶段:双重 STUN 绑定评估 (RFC 5780)
客户端向两个地理位置不同的端点(stun.l.google.com:19302 和 stun.cloudflare.com:3478)发起异步 STUN 绑定请求。通过分析反射的外部端口元组(Port_A 与 Port_B),引擎测量 NAT 映射行为。如果Port_A == Port_B,则中间件执行Endpoint-Independent Mapping;如果 Port_A != Port_B,则端点相关(对称)映射处于活动状态。
-
第 3 阶段:自治系统 (ASN) 和路由分类
公共出口 IP 与全局 BGP 路由表和 PeeringDB 记录交叉引用。向拥有许可移动频谱的电信提供商注册的自治系统编号(例如 AS2856 BT/EE、AS30722 Vodafone、AS12874 TIM)被编入移动网络运营商 (MNO) 出口节点。
-
第四阶段:附带损害估计
基于检测到的端口映射方案和运营商层,系统对并发用户共享系数进行建模,说明 IP 级块可能产生的准确误报附带半径。
5. 参考文献和标准
- Weil, J., et al. (2012). IANA-Reserved IPv4 Prefix for Shared Address Space. RFC 6598, Internet Engineering Task Force (IETF). doi:10.17487/RFC6598.
- Wing, D., et al. (2013). Port Control Protocol (PCP). RFC 6887, Internet Engineering Task Force (IETF). doi:10.17487/RFC6887.
- Donley, C., et al. (2013). Assessing the Impact of Carrier-Grade NAT on Network Applications. RFC 7021, Internet Engineering Task Force (IETF). doi:10.17487/RFC7021.
- MacDonald, D. & Lowekamp, B. (2010). NAT Behavioral Discovery Using Session Traversal Utilities for NAT (STUN). RFC 5780, Internet Engineering Task Force (IETF). doi:10.17487/RFC5780.
- Livadariu, I., Benson, K., Elmokashfi, A., Dhamdhere, A., & Dainotti, A. (2018). Inferring Carrier-Grade NAT Deployment in the Wild. IEEE INFOCOM 2018 - IEEE Conference on Computer Communications, pp. 2249–2257. doi:10.1109/INFOCOM.2018.8486223.
- InterConnect / Ofcom (2013). MC/159 Report on the Implications of Carrier Grade Network Address Translators: Final Report. Office of Communications, UK.