CGNAT 普及:运营商级 NAT 技术延缓了对公网 IPv4 地址的需求

一、背景与目标

1. 项目背景

A. 业务场景

随着互联网用户数量持续增长和物联网设备爆炸式增加,IPv4 地址池已接近枯竭。区域性互联网注册机构(RIR)早在 2011 年就分配完了最后一个 /8 的 IPv4 地址块。面对这一挑战,互联网服务提供商(ISP)需要一种既能维持现有服务,又能延缓 IPv4 地址耗尽时间的过渡方案。

B. 痛点分析

  • 公网 IPv4 地址资源稀缺,申请新地址成本高昂
  • 直接向 IPv6 迁移需要升级大量网络设备和用户终端
  • 部分应用和用户仍依赖 IPv4 连接
  • 运营商需要平衡成本与用户体验

2. 设计目标

A. 功能目标

通过运营商级 NAT 技术,实现多个用户共享少量公网 IPv4 地址,有效延长 IPv4 地址池的使用寿命。

B. 非功能目标

  • 地址复用率:达到 35:1 甚至更高
  • 并发连接数:支持海量并发连接处理
  • 可追溯性:完整的日志记录以满足合规要求
  • 可扩展性:支持平滑扩容以应对用户增长

二、现状分析

1. 现有系统

A. 传统 NAT 模型

传统网络架构中,用户家庭路由器执行一次 NAT 转换,将私有 IP 地址(如 192.168.x.x)映射到运营商分配的公网 IPv4 地址。这种 1:1 的映射方式每个用户需要一个独立的公网 IP。

B. 存在问题

  • IPv4 地址空间有限,约 43 亿个地址无法满足全球需求
  • 公网 IPv4 地址价格持续上涨
  • 部分地区用户无法获得公网 IP

2. 改进需求

在运营商层面引入第二层 NAT,使多个用户共享一个公网 IPv4 地址,从而大幅降低对公网 IP 的需求。

三、总体设计

1. 设计原则

  • 透明性:对大多数互联网应用透明,无需用户端修改
  • 可扩展性:支持大规模用户接入
  • 可追溯性:保留完整的地址转换日志
  • 渐进式:作为 IPv4 向 IPv6 迁移的过渡方案

2. 系统架构

graph TB
    subgraph 用户网络
        A1[用户A设备 192.168.1.100]
        A2[家庭路由A NAT]
        B1[用户B设备 192.168.1.100]
        B2[家庭路由B NAT]
    end

    subgraph 运营商网络
        C1[私网地址 100.64.0.0/10]
        C2[CGNAT设备 LSN]
        C3[公网IP池 共享地址]
    end

    subgraph 互联网
        D[目标服务器]
    end

    A1 -->|NAPT| A2
    B1 -->|NAPT| B2
    A2 -->|私网IP:端口| C1
    B2 -->|私网IP:端口| C1
    C1 -->|端口块分配PBA| C2
    C2 --> C3
    C3 --> D

    E[IPv6公网 直接访问]
    E --> D

    style A1 fill:#e1f5fe
    style B1 fill:#e1f5fe
    style C2 fill:#fff3e0
    style C3 fill:#ffebee
    style E fill:#e8f5e9

mermaid

CGNAT 网络架构图

3. 组件说明

  • 用户设备:使用私有 IP 地址(如 192.168.x.x)
  • 家庭路由:执行第一层 NAT,将用户设备映射到运营商分配的私网地址
  • CGNAT 设备:运营商级 NAT 设备,执行第二层地址转换
  • 公网 IP 池:多个用户共享的少量公网 IPv4 地址
  • IPv6 直连:部分运营商同时提供 IPv6 公网地址,无需 CGNAT

四、详细设计

1. 核心技术

A. CGNAT 定义

CGNAT(Carrier-Grade NAT),也称为大规模 NAT(Large-Scale NAT,LSN),是一种在互联网服务提供商层面部署的网络地址转换技术。其核心是允许多个用户共享同一个公网 IPv4 地址访问互联网。

B. 技术标准

CGNAT 的核心规范定义在 RFC 6888 中,该标准规定了运营商级 NAT 的通用要求,包括:

  • 地址和端口转换规则
  • 日志记录要求
  • 端口分配策略
  • 可扩展性要求

C. 关键特性

  • 大规模 IP 地址转换:可处理海量并发连接
  • 高吞吐量:支持运营商级别的数据流量
  • 快速 NAT 转换设置率:能够快速建立地址转换规则
  • 高速日志记录:记录所有转换活动用于审计

2. 过渡技术对比

A. NAT444 架构

NAT444 是一种使用三层 IPv4 地址的网络模型:

  • 第一层:用户设备私有地址(192.168.x.x)
  • 第二层:运营商私网地址(100.64.0.0/10,RFC 6598 定义的运营商级 NAT 地址)
  • 第三层:公网 IPv4 地址

这种架构在用户和互联网之间建立了两层 NAT,因此称为 NAT444。

B. DS-Lite(Dual-Stack Lite)

DS-Lite 是一种结合了隧道技术和 NAT 的过渡方案:

graph LR
    subgraph NAT444架构
        A1[用户设备 IPv4私网]
        A2[家庭路由 NAT]
        A3[运营商CGN NAT]
        A4[公网IPv4]
    end

    subgraph DS_Lite架构
        B1[用户设备 双栈]
        B2[B4 隧道端点]
        B3[IPv6隧道网络]
        B4[AFTR NAT网关]
        B5[公网IPv4]
    end

    A1 --> A2 --> A3 --> A4
    B1 --> B2 -->|IPv4 over IPv6| B3 --> B4 --> B5

    C[优势 简单部署]
    D[优势 促进IPv6]

    A --> C
    B --> D

    style A fill:#fff3e0
    style B fill:#e8f5e9

mermaid

过渡技术对比图

DS-Lite 的关键组件:

  • B4(Basic Bridging BroadBand):用户端设备,负责将 IPv4 数据包封装到 IPv6 隧道中
  • AFTR(Address Family Transition Router):运营商端隧道终结器,执行 NAT 转换

C. 技术选型对比

技术方案优势劣势适用场景
NAT444部署简单,对现有网络改动小双层 NAT 增加复杂性,可能影响 P2P 应用IPv4 为主,IPv6 尚未普及的地区
DS-Lite促进 IPv6 部署,单层 NAT需要运营商网络支持 IPv6IPv6 基础设施完善的地区

3. 端口分配策略

A. 端口块分配(PBA,Port Block Allocation)

CGNAT 采用端口块分配算法,为每个用户分配一组端口而非单个端口。例如:

  • 一个公网 IP 的 1024-65535 端口范围可划分为多个端口块
  • 每个用户分配一个端口块(如 1000 个端口)
  • 用户可自由使用其端口块内的端口

B. 地址复用率

根据 F5 的技术文档,LSN 资源池可实现高达 35:1 的回报率,即一个公网 IP 可服务 35 个用户。具体复用率取决于:

  • 用户平均并发连接数
  • 端口块大小配置
  • 用户行为模式

五、技术影响

1. 对用户的影响

A. 正面影响

  • 降低互联网接入成本(运营商节省 IP 成本可能传递给用户)
  • 更容易获得互联网接入服务
  • 配合 IPv6 部署,可获得真正的公网地址

B. 负面影响

  • 端口映射失效:用户无法从外网主动访问内网设备
  • P2P 应用受阻:BT 下载、在线游戏联机等应用体验下降
  • 服务器托管受限:无法在家中托管需要公网 IP 的服务

2. 对应用的影响

A. 受影响的应用类型

  • P2P 文件共享:BT、eMule 等
  • 在线游戏:依赖 P2P 连接的游戏
  • 远程访问:远程桌面、SSH 等
  • 物联网设备:需要外部访问的智能设备

B. 应对方案

  • 使用中继服务器:通过第三方服务器中转连接
  • 申请独立公网 IP:部分运营商提供付费公网 IP 服务
  • 使用 IPv6:通过 IPv6 建立端到端连接
  • VPN 隧道:通过 VPN 绕过 CGNAT 限制

3. 行业发展趋势

A. 中国运营商实践

中国三大运营商(中国电信、中国联通、中国移动)采用不同的 CGNAT 和 IPv6 部署策略:

  • 中国联通:专注于本地试点
  • 中国电信:专注于 IPv6 研发跟进
  • 中国移动:借助 TD-LTE 网络部署机会推进 IPv6

无锡等城市的城域网通过 NAT444 和 DS-Lite 技术实现规模部署,完成了 10 万双栈用户的网络改造。

B. IPv6 与 CGNAT 的关系

CGNAT 与 IPv6 并非相互排斥,而是互补的过渡方案:

  • CGNAT 解决短期 IPv4 地址短缺问题
  • IPv6 是长期解决方案
  • "IPv6 公网 + IPv4 私网(CGNAT)" 是当前主流的过渡期网络部署方案

六、实施考虑

1. 日志与合规

A. 日志记录要求

根据 RFC 6888 要求,CGNAT 必须记录以下信息:

  • 转换前后的 IP 地址和端口
  • 转换时间戳
  • 用户标识

B. 存储挑战

CGNAT 日志量巨大,需要考虑:

  • 日志压缩和归档策略
  • 快速检索能力
  • 符合数据保留法规要求

C. 实践经验

根据运营商实践经验,平均每条线路每 5 周约产生一个日志条目(通过 CPE 租约/续订和资源池重新平衡优化)。

2. 性能优化

A. 资源池管理

  • 动态资源池重新平衡
  • 基于用户需求的端口块分配
  • 空闲资源回收机制

B. 硬件要求

CGNAT 设备需要满足:

  • 高并发连接处理能力(百万级)
  • 快速 NAT 表查找
  • 高速网络接口(10G/40G/100G)

3. 监控与运维

A. 关键监控指标

  • 公网 IP 利用率
  • 端口块使用率
  • 并发连接数
  • 转换失败率

B. 告警规则

  • 端口池耗尽告警
  • 连接数超限告警
  • 设备资源使用告警

七、未来展望

1. 技术演进

A. 短期(1-3 年)

CGNAT 持续普及,成为运营商标准配置,配合 IPv6 部署提供双栈服务。

B. 中期(3-5 年)

IPv6 渗透率提升,CGNAT 主要服务于老旧设备和应用。

C. 长期(5 年以上)

IPv6 成为主流,CGNAT 逐渐退出历史舞台,但可能在特定场景长期存在。

2. 挑战与机遇

A. 挑战

  • 应用兼容性问题
  • 用户体验下降
  • 运维复杂度增加

B. 机遇

  • 加速 IPv6 普及
  • 促进新型网络架构发展
  • 推动应用层协议改进

八、总结

CGNAT 作为应对 IPv4 地址枯竭的过渡方案,通过在运营商层面部署大规模 NAT 技术,实现了多个用户共享公网 IP 的目标,可有效延缓 IPv4 地址耗尽时间。虽然 CGNAT 带来了端口映射受限、P2P 应用受阻等问题,但配合 IPv6 的部署,为互联网向下一代网络协议平滑演进提供了可行的路径。

对于用户而言,了解 CGNAT 的影响并选择合适的应对方案(如使用 IPv6、申请公网 IP、使用 VPN 等),可以最大程度减少 CGNAT 带来的不便。对于运营商而言,CGNAT 是平衡成本与服务的有效手段,但需要持续优化性能、完善日志管理、加速 IPv6 部署,以提供更好的服务质量。


参考资料

  1. RFC 6888 - Common Requirements for Carrier-Grade NAT - IETF 官方标准
  2. RFC 6333 - Dual-Stack Lite Broadband Deployments - IETF 官方标准
  3. 配置 CGNAT(运营商级 NAT)IP - Cisco - Cisco 技术文档
  4. 使用 BIG-IP CGNAT 提高网络可扩展性 - F5 - F5 技术文档
  5. 运营商级 NAT (CGN) 及其对 IPv4 枯竭的影响 - InterLIR - 技术分析文章
  6. 什么是运营商级 NAT (CGNAT)?- 阿里云开发者社区 - 技术介绍
  7. 电信级 NAT - 维基百科 - 百科资料
  8. CGN 技术白皮书 - 新华三集团 - 厂商白皮书
最后修改:2026 年 01 月 21 日
如果觉得我的文章对你有用,请随意赞赏