carrier grade nat (cgn) 技术白皮书 - zte.com.cn€¦ · carrier grade nat (cgn)...
TRANSCRIPT
Carrier Grade NAT (CGN) 技术白皮书
中兴通讯版权所有未经许可不得扩散 第 1 页
Carrier Grade NAT (CGN)技术
白皮书
1 CGN 的基本原理及产品形态
1.1 CGN 概述
2011 年 2 月 3 日,ICANN 发布公告称最后五组 IP 地址已分配完毕,已无 IPv4 地址
可分配。每年的 6 月 8 日被定为世界 IPv6 日。IPv4 地址已经分配光了,但 IPv6 的网
络建设还没有完成。运营商出于保护投资和节省成本的考虑,难以在短期内将网络上
海量的 IPv4 单栈设备全部更换为 IPv6 设备或 IPv4/IPv6 双栈设备。同时,将海量的
IPv4 应用和服务迁移到 IPv6,则是一个更加庞大和繁杂的工程。不仅仅涉及到运营商
自身,更涉及数不清的软件/内容和服务提供商。世界将在很长一段时间内面临 IPv4
和 IPv6 共存的局面。运营商必须解决两个问题:“IPv4 和 IPv6 互访问题和 IPv4 地址
不足的问题”,才能使客户的使用和发展客户不受影响。这就为各种 NAT 技术的发展
提供非常广阔的背景舞台,CGN(Carrier Grade NAT 运营商 NAT 的缩写)应运而生。
CGN 的本质就是 NAT,与普通 NAT 一样进行地址映射转换。根据转换的地址类型可
以划分成三个类别:NAT44 、NAT64 和 NAT46。NAT44 是指 IPv4 地址到 IPv4 地
址转换映射;NAT64 是指 IPv6 地址和 IPv4 地址之间的地址转换映射;NAT46 是指
IPv4 地址到 Pv6 地址转换映射。根据映射的方法也可以分为三种类型:动态 NAT、静
态 NAT 和 PAT(动态地址端口映射)。静态 NAT 在内部私网地址和外部公网地址之
间建立一对一固定映射关系;动态 NAT 在一个内部私网地址和一个公网地址之间建立
一对一的动态映射,私网地址和公网地址之间不存在固定的对应关系; PAT 与动态
NAT 之间的区别在于这个模式可以用一个公网 IP 地址和端口号的组合来映射内部不
同主机地址。
各个厂家 CGN 产品实现的动态映射策略和过滤策略是不完全相同。动态映射策略和过
滤策略各分为三种,先介绍三种动态的映射策略。
Endpoint-independent mapping(EIM): NAT 转换仅由私网源 IP 和源端口决
定,即无论目的地址和目的端口是什么,一个私网源 IP 和源端口都固定映射到同
Carrier Grade NAT (CGN) 技术白皮书
第 2 页 中兴通讯版权所有未经许可不得扩散
一个公网源 IP 和源端口。 无论目的地址如何,相同的源 IP 有相同的映射结果。
Address-dependent mapping(ADM):NAT 转换由私网源 IP、源端口和目的地
址决定,即一个私网源 IP、源端口和一个特定目的地址将被映射到一个公网源 IP
和源端口。即使私网源 IP 和源端口相同,但目的地址不同,会被映射到不同的公
网地址和端口。
Address and port-dependent mapping(APDM): NAT 转换由私网源 IP、源
端口、目的地址和目的端口决定,即由一个私网源 IP、源端口去往相同目的和端
口的报文被映射到一个特定的公网源 IP 和源端口。即使有相同的私网源 IP、源
端口和目的 IP,目的端口不同也会有不同的映射表项。
与 CGN 映射策略对应的是 CGN 对源于外部返回流量的三种过滤策略:
Endpoint-Independent Filter(EIF): CGN 只过滤不发往内部地址 X:x(表示 地
址:端口)的流量,而不考虑其流量的源地址和源端口。
Address-Dependent Filter(ADF):如果内部地址 X:x 没有先向外部地址 Y 发送
流量的,CGN 过滤外部地址 Y 发往内部地址 X:x。 换句话讲,只有 X:x 先发送
流量到 Y,Y 才能发送流量到 X:x。
Address and Port-Dependent Filtering (APDF):如果内部地址 X:x 没有先向
外部地址Y:y发送流量的,CGN过滤外部地址Y:y发往内部地址X:x。 换句话讲,
只有 X:x 先发送流量到 Y:y,Y:y 才能发送流量到 X:x
CGN 技术方向上可以分为两大类:延长 IPv4 地址使用的 NAT444 技术;解决 IPv4
和 IPv6 共存的 DS-Lite 和 NAT64 技术。它们具有一些不同于普通企业或者个人用户
使用的 NAT 的特点。
1.2 NAT444 的 CGN
NAT444 顾名思义是两级 IPv4 的 NAT 地址转换,即 IPv4-NAT1- IPv4-NAT2- IPv4 地
址转换。第一级 NAT 转换是在两个私网 IPv4 地址之间进行的,第二级 NAT 转换是在
私网 IPv4 和公网 IPv4 之间转换的。通过 NAT444 两级 NAT 的 IPv4 地址转换,运营
商可以减少大量公网 IPv4地址的需求。 如运营商在客户端和接入网都部署私网地址,
则可以节省大量的公网的 IPv4 地址。对 IPv4 地址非常有限的运营商来说,NAT444
技术是非常及时的,它大大延缓 IPv4 地址的耗尽过程。NAT444 对现有的网络改动非
常小,几乎不需要大规模的网络改造。新增加的用户和新建的接入网,可以部署
NAT444 的 CGN。NAT444 的 CGN 是纯 IPv4 的映射转换技术,不涉及 IPv6 和 IPv4
Carrier Grade NAT (CGN) 技术白皮书
中兴通讯版权所有未经许可不得扩散 第 3 页
互相访问的问题。
NAT444 的的第一级 NAT 转换是用户或者运营商的 CPE 设备完成,第二级 NAT 转换
在运营商的 CGN 完成。如下图所示:
图 1-1 NAT444 地址转换示意图
Service Provider
CPE NAT CPE NAT CPE NAT CPE NAT CPE NAT CPE NAT CPE NAT CPE NAT
Service Provider
CGN CGN CGN CGN
IPv4 Network
Public IPv4
Private IPv4
Private IPv4
1.3 DS-Lite 的 CGN
运营商部署 IPv6 网络的趋势不可逆转,IPv6 的接入网和骨干网将越来越多。DS-Lite
CGN,也就是双栈 CGN,它支持 IPv4 的终端用户通过 IPv6 的接入网访问 IPv4 的网络
和服务。所谓双栈 CGN 也就是 CGN 同时支持 IPv4 和 IPv6 两个协议栈。
Carrier Grade NAT (CGN) 技术白皮书
第 4 页 中兴通讯版权所有未经许可不得扩散
通过支持双栈的CPE设备,将用户的IPv4流量通过4in6的隧道转发到DS-Lite
CGN 上,DS-Lite CGN负责终结4in6的隧道,并进行一次私网地址到公网地址的
NAT转换。不同于NAT444 CGN的两次NAT转换,DS-Lite CGN只有一次NAT转
换。DS-Lite CGN可以支持纯IPv6的接入网或者双栈(IPv4、IPv6)接入网,而
NAT444的CGN 只支持纯IPv4的接入网。如下图所示:
图 1-2 DS-Lite CGN 原理示意图
IPv4 Network
CPE
CGN
IPv6 Tunnel EndPoint(IPv6 SA)
10.1.1.1
SA 10.1.1.1
Dual Stack Lite tunnels IPv4 packets over IPv6 between the user and the CGN
IPv6 Link
Address MappingInside: ipv6 SA+ipv4 SA+ PortOutSide:ipv4 Outside Address+ Port
OutSide Address 201.15.12.1
SA 201.15.12.1
用户流量通过 CPE 设备上 4in6 的隧道转发到 DS-Lite CGN 上,再经过一次私网到公
网的 NAT 转换(IPv4 源地址和源端口到公网 IPv4 和端口的转换),最终到达公网。
从公网返回的用户流量,在经过 DS-Lite CGN 的时候,CGN 应选择正确的 CPE 设备,
把流量送给客户。仅通过 IPv4 的源地址不能区分不同的 CPE 设备,因为不同 CPE
设备下用户的私网 IPv4 地址可能会相同。DS-Lite CGN 通过在地址转换的条目中增加
了 CPE 设备的 IPv6 地址,即 CPE 设备发起 IPv6 隧道的源地址。通过唯一的 IPv6 源
地址来识别不同的 CPE 设备,DS-Lite CGN 把流量送到正确的 CPE 设备。
1.4 NAT64 的 CGN
NAT64 是一个有状态的 IPv6 到 IPv4 的映射技术, CGN 会维护 IPv6 到 IPv4 的地址
转换表。NAT64 有一个明显的特征:“只支持 IPv6 主机主动向 IPv4 服务发起连接请
求”。NAT64 还涉及到一个 DNS64 的问题。IPv6 访问 IPv4 之前,需要查询 DNS64,
Carrier Grade NAT (CGN) 技术白皮书
中兴通讯版权所有未经许可不得扩散 第 5 页
寻找域名的合法的 IPv6 地址。DNS64 可能需要查询 IPv4 的 DNS,并把 IPv4 的地址
转换成 IPv6 的地址。这就要求配合 NAT64 使用的 DNS 域名服务器需要具备 DNS64
功能,完成 A 记录翻译成 AAAA 记录。如下图所示:
图 1-3 NAT64 CGN 原理示意图
CGN(NAT64)
DNS with DNS64
IPV6 Network IPv4 network
NAT64:2001:db8:1c8:0:1:: 200.0.0.12001:db8:1c0::2:21 192.0.2.33
IPV4:Src 200.0.0.1Dst 192.0.2.33
IPV6:Src 2001:db8:1c8:0:1::dst 2002:db8:1c0:2:21::
NAT64:客户端和服务器通信过程序列图如下所示:
图 1-4 NAT64 CGN Ipv6 网络访问 Ipv4 网络原理示意图
NAT64
①
②③
⑥
⑦
⑧
Ipv6 client
DNS query AAAA example.com
DNS64AUTH DNS Server
DNS query AAAA example.com
DNS response NS Domain
④DNS query A example.com
⑤
DNS response A 80.1.1.1
DNS response AAAA2001:db8:8000::80.1.1.1
Dst 2001:db8:8000::80.1.1.1 port 80Src 2002:db8::200 port 10001
Dst 80.1.1.1 port 80Src 202.1.1.1 port 5000
Dst 202.1.1.1 port 5000Src 80.1.1.1 port 80
IPv4 Server
⑨⑩
Dst 2002:db8::200 port 10001Src 2001:db8:8000::80.1.1.1 port 80
步骤说明:
Carrier Grade NAT (CGN) 技术白皮书
第 6 页 中兴通讯版权所有未经许可不得扩散
IPv6 主机向其 IPv6 DNS 服务器发起 AAAA 域名请求;
DNS64 服务器接收到 V6 主机的域名请求后,查询本地域名系统,如发现有 AAAA
记录,则回应该域名对应地址给 V6 主机。否则向上级 DNS 服务器发起 AAAA 请
求。当整个系统未发现有 AAAA 记录时。则向 IPv4 网络发起 A 域名请求。接收
到 A 域名响应后,将该 A 域名响应进行 DNS64 转换,将服务器的 IPv4 地址嵌入
到配置好的 Prefix64 前缀地址中,将 A 记录转换为 AAAA 记录,并将该 AAAA
记录响应给 V6 主机。
V6 主机获得 AAAA 响应后,向 IPv4 服务器对应的 IPv4 嵌入 IPv6 地址发起连接
请求。
该会话建立请求报文达到 NAT64 后,对其进行 IPv6-IPv4 地址转换和 IPv6 -IPv4
协议转换。之后将转换后的 IPv4 报文发送到 IPv4 网络,最终到达 IPv4 服务器。
IPv4 服务器对其连接建立请求进行响应。
IPv4 服务器的 IPv4 响应报文到达 NAT64 后,NAT64 识别目的地址是 NAT64 地
址,进行 NAT64 映射查找,并对 IPv4 报文进行 IPv4-IPv6 地址转换和 IPv4 协议
-IPv6 协议转换。完成转换后将转换后的 IPv6 报文发送到 IPv6 网络,最终到达
IPv6 客户端。完成连接的建立。
1.5 CGN 的产品形态
CGN 的技术有多种多样,产品形态一般有三种形式:独立式的 、CR 插卡式、BRAS
插卡式。分别定义如下:
所谓独立式的 CGN,就是该设备仅做 CGN 业务,不承担接入或者路由等其他业务,
它可以旁挂在 CR 或者 BRAS 边上。
CR 插卡式的是指在 CR 的路由器中插入专用于 CGN 的板卡,路由和 CGN 功能合二
为一的产品,为 CR 负责的城域网所有用户提供 CGN 服务;
BRAS 插卡式是在 BRAS 产品中插入处理 CGN 专用的处理板卡,接入和 CGN 功能合
二为一的产品,为本台 BRAS 接入的用户提供 CGN 服务。
插卡式的产品由于承受的业务种类较多,对 CR 和 BRAS 产品的性能和可靠性的要求
比较高,且占用额外的业务槽位,对将来 CR 和 BRAS 的自己的扩容带来一定的影响。
一般建议部署独立式的 CGN。多个独立的 CGN 可以旁挂在 CR 或者 BRAS 边上,用
于备份和负载均衡。
Carrier Grade NAT (CGN) 技术白皮书
中兴通讯版权所有未经许可不得扩散 第 7 页
图 1-5 CGN 的产品形态图
CGN
独立式
CR插卡式
BRAS插卡式
NAT444
DS_Li t e
NAT_64
技
术
形
态
产
品
形
态
部 署 形 态 集 中 式 分 布 式
2 CGN 的应用场景及分析
CGN 的三种主流技术,没有优劣之分。从 IPv4 向 IPv6 过渡的不同阶段可使用不同技
术的 CGN。当 IPv6 网络没有建成,IPv4 地址接近枯竭时,可以采用 NAT444 技术来
满足新发展用户的需要,同时开始考虑部署 IPv6 网络。当已经建立 IPv6 的接入网时
候,又不强制改变用户配置和习惯的情况下,可以使用 DS-Lite 技术。当 IPv6 的网络
和用户发展到一定规模,但网络中还存在一定数量的 IPv4 的服务和应用,可以使用
NAT64 的技术,向 IPv6 的用户提供 IPv4 的访问服务。
CGN 的部署可以分为集中式和分布式。各种技术的 CGN 的部署分布式和集中式应用
场景都是类似的,下面以典型的 NAT444 CGN 来讨论分布式和集中式的部署。
2.1 独立式 NAT444 CGN 的分布式部署
独立式的 CGN 旁挂在 BRAS 设备上,与城域网 BRAS 设备一起做分布式部署。普通
用户通过PPPOE或者 IPOE的方式获得BRAS分配的私网 IPv4地址。用户发出的 IPv4
的流量经过 CPE 达到 BRAS 的用户侧。在 BRAS 配置合适的策略路由引导用户的流
量进入独立式的 CGN,在 CGN 内部根据一定的映射规则把流量的私网源地址和源端
Carrier Grade NAT (CGN) 技术白皮书
第 8 页 中兴通讯版权所有未经许可不得扩散
口转换成公网的地址和端口,经过 NAT 转换的用户流量再从 CGN 重新进入 BRAS,
通过 BRAS 网络侧转发到城域网的 SR/CR 上。如下图所示:
图 2-1 独立式 NAT444 CGN 分布式部署示图
CPE
IPv4 network
BRAS
BRAS
BRAS
独立式的NAT444CGN
AAA 服务器 网管服务器 日记服务器
独立式的NAT444CGN
独立式的NAT444CGN
2.2 BRAS 插卡式的 NAT444 CGN 分布式部署
在BRAS产品上插上专用的CGN板卡,与城域网中的BRAS设备一起做分布式部署。
不同于独立式 CGN 在于插卡式的 CGN 与 BRAS 是一体化设备,不需要新的机架和线
路资源,节省了机房空间资源。普通用户通过 PPPOE 或者 IPOE 的方式获得 BRAS
分配的私网 IPv4 地址。用户发出的 IPv4 的流量经过 CPE 达到 BRAS 的用户侧。在
BRAS 引导用户的流量进入专用的 CGN 板卡,在 CGN 板卡内部根据一定的映射规则
把流量的私网源地址和源端口转换成公网的地址和端口,经过 NAT 转换的用户流量再
从 CGN 板卡重新进入 BRAS,通过 BRAS 网络侧转发到城域网的 SR/CR 上。如下图
所示:
Carrier Grade NAT (CGN) 技术白皮书
中兴通讯版权所有未经许可不得扩散 第 9 页
图 2-2 BRAS 插卡式 NAT444 CGN 分布式部署示意图
CPE
IPv4 network
BRAS
AAA 服务器 网管服务器 日记服务器
BRAS 插卡式NAT444CGN
BRAS 插卡式NAT444CGN
CPE
BRAS 插卡式NAT444CGN
2.3 独立式 NAT444 CGN 的集中式部署
独立式的 NAT444 CGN 旁挂在 CR 设备上,随同 CR 设备一起做集中式部署。集中式
CGN的部署可以方便对网络的管理,但对CGN设备的性能和稳定性要求比较高,CGN
设备需要处理整个城域网的 NAT 转换。建议部署双机热备的 CGN。用户通过 PPPOE
或者 IPOE 获得 IPv4 的私网地址。用户发出的 IPv4 的流量经过 CPE 达到 BRAS 的用
户侧。再通过 BRAS 网络侧到达城域网的 CR 上。在 CR 配置合适的策略路由引导用
户的流量进入独立式的 CGN,在 CGN 内部根据一定的映射规则把流量的私网源地址
和源端口转换成公网的地址和端口,经过 NAT 转换的用户流量再从 CGN 重新进入 CR。
需要特别注意的是,在流量从用户到 CR 的过程中,除 CR 外,其他的设备上都是规
划私网路由。如下图所示:
Carrier Grade NAT (CGN) 技术白皮书
第 10 页 中兴通讯版权所有未经许可不得扩散
图 2-3 独立式 NAT444 CGN 集中式部署示意图
CPE
IPv4 private network
BRAS
BRAS
CRBRAS
AAA 服务器 网管服务器 日记服务器
CPEIPv4 private network
BRAS
BRAS
CR
BRAS CR旁挂独立式 NAT444 CGN
CR旁挂独立式 NAT444 CGN
2.4 CR 插卡式的 NAT444 的集中式部署
CR 插卡式的 CGN 集中部署,使用 CR 额外的槽位,插入专用的 CGN 处理板卡。随
同 CR 设备一起做集中式部署。不同于独立式 CGN 部署的地方在于插卡式的 CGN 与
CR 是一体化设备。不需要新的机架和线路资源,节省了有限的机房资源。普通用户通
过 PPPOE 或者 IPOE 的方式获得 BRAS 分配的私网 IPv4 地址。用户发出的 IPv4 的
流量经过 CPE 达到 BRAS 的用户侧。再通过 BRAS 网络侧转发到城域网的 CR 上。
在 CR 引导用户的流量进入专用的 CGN 板卡,在 CGN 板卡内部根据一定的映射规则
把流量的私网源地址和源端口转换成公网的地址和端口,经过 NAT 转换的用户流量再
从 CGN 板卡重新进入 CR。如下图所示
Carrier Grade NAT (CGN) 技术白皮书
中兴通讯版权所有未经许可不得扩散 第 11 页
图 2-4 CR 插卡式 NAT444 CGN 集中式部署示意图
CPE
IPv4 private network
BRAS
BRAS
CR
BRAS
AAA 服务器 网管服务器 日记服务器
CPEBRAS
BRAS
CR
BRAS
CR插卡式 NAT444 CGN
CR插卡式 NAT444 CGN
IPv4 private network
2.5 CGN 的部署分析
集中式和分布式的部署各有特点。分布式部署避免单点的故障影响全局的情况;而集
中式部署相对于分布式部署来说,便于控制和管理。CGN 部署与现网中的 BRAS/CR
设备也有很大的关系。比如插卡式的 CGN 需要网路中 BRAS 或者 CR 设备的支持,
否则只能选择独立的 CGN 设备。在实际部署中,CGN 需要综合考虑多种因素。
插卡式 CGN 会占用业务槽位。一般来说业务板卡和 CGN 板卡会考虑流量配比关
系。如果考虑 CGN 板卡间备份 ,插卡式 CGN 会占用更多的业务槽位。
CGN 业务可能会叠加部署 DS-Lite、NAT444、NAT64,这种情况下,插卡式 CGN
业务过于复杂。CGN 业务尚处于试点阶段,如需要支持不同 ALG 的升级,版本
升级可能较为频繁,插卡式升级维护会很困难。再考虑到 CR/BRAS 的双机热备
叠加 CGN 热备,情况就更复杂,管理维护更困难。
独立式的 CGN 集中式部署投资少,见效快,部署快速,易于试点,对现网设备
改造小,单独放一台 CGN 就可以搞实验局,只要在 CGN 上进行业务部署,就能
进行 NAT444,NAT64,DS-Lite 等试点。独立式的 CGN 易于部署双机热备并同
时负载均衡,相比板卡间备份来说,保护性更强,涵盖链路失效,单机失效和板
卡失效,插卡式的板卡间备份仅仅涵盖板卡失效。
独立式 CGN 版本升级维护容易,CGN 设备升级 ALG,只需要升级 CGN 设备即
可;如果部署 CGN 双机热备,可以做到无中断业务升级。
Carrier Grade NAT (CGN) 技术白皮书
第 12 页 中兴通讯版权所有未经许可不得扩散
表 2-1 各种部署方案比较表
项目 投资分析 CGN 部署难易性 CGN 可靠性 CNG 可维护性
独立式 NAT444 CGN 分
布式部署
高(每台 BRAS
需要配置独立
设备)
难(每台 BRAS 需要配置
独立设备) 高(CGN 热备) 升级维护简单
BRAS 插卡式 CGN 分布
式部署
高(每台 BRAS
新增 CGN 板
卡)
难(占用 BRAS 槽位) 低(CGN 板卡之间
热备) 升级维护复杂
独立式NAT444 CGN集中
部署
低(新增独立设
备) 容易(CR 旁挂) 高(CGN 热备) 升级维护简单
CR 插卡式 NAT444 CGN
集中部署
低 ( CR 新 增
CGN 板卡) 容易(占用 CR 槽位)
低(CGN 板卡间热
备) 升级维护复杂
3 缩略语
表 3-1 缩略语
英文缩写 英文全称 中文解释
CGN Carrier Grade NAT 运营商 NAT
BRAS Broad Remote Access Server 宽带远程接入服务器
CR Core Router 核心路由器
SR Services Router 业务路由器
NAT Net work Address Translate 网络地址转换
ICANN Internet Corporation for
Assigned Names and
Numbers
互联网名称与数字地址分
配机构