双堆栈精简版
由于 IPv4 地址短缺以及 IPv6 优于 IPv4 的优势,许多 ISP 已开始向 IPv6 基础设施过渡。但在过渡期间,ISP 必须继续支持 IPv4 和 IPv6,因为大多数公共 Internet 仍然只使用 IPv4,而且许多用户不支持 IPv6。
Dual Stack Lite (DS-Lite) 是一种 IPv6 过渡解决方案,适用于具有 IPv6 基础设施的 ISP,以便将其 IPv4 用户连接到 Internet。DS-Lite 使用 IPv4-in-IPv6 隧道通过 IPv6 访问网络上的隧道将订阅者的 IPv4 数据包发送到 ISP。IPv6 数据包被解压以恢复订阅者的 IPv4 数据包,然后在 NAT 地址和端口转换以及其他 LSN 相关处理后发送到 Internet。响应数据包遍历到订阅者的相同路径。
Citrix ADC 设备实现 DS-Lite 部署的 AFTR 组件,并符合 RFC 6333 的要求。
体系结构
ISP 的双堆栈 Lite 架构由以下组件组成:
- 基本桥接宽带 (B4)。基本桥接宽带(或 B4)是驻留在订阅者场所中的设备或组件。通常情况下,B4 是用户本地的 CPE 设备中的一个组件。IPv4 用户通过包含 B4 组件的 CPE 设备连接到仅限 IPv6 的 ISP 访问网络。B4 的主要功能是在 B4 和地址系列转换路由器 (AFTR) 之间启动 IPv6 隧道,以便通过隧道发送或接收订阅者 IPv4 请求或响应数据包。B4 包括一个 IPv6 地址,称为 B4 隧道终结点地址。B4 使用此地址将 IPv6 数据包源到 AFTR 并从 AFTR 接收数据包。
- 地址家庭过渡路由器(AFTR)。AFTR 是驻留在 ISP 核心网络中的设备或组件。AFTR 从 B4 设备终止 IPv6 隧道。换句话说,IPv6 隧道是在用户前提下的 B4 和 ISP 核心网络中的 AFTR 之间形成的。AFTR 解压缩从 B4 接收的 IPv6 数据包,以恢复用户的原始 IPv4 数据包。AFTR 将 IPv4 数据包发送到 LSN 设备或组件。在执行 NAT 地址和端口转换 (NAT 44) 以及其他 LSN 相关处理后,LSN 将 IPv4 数据包路由到其目的地。AFTR 包括一个称为 AFTR 隧道终结点地址的 IPv6 地址。AFTR 使用此地址将 IPv6 数据包源到 B4,并从 B4 接收 IPv6 数据包。Citrix ADC 设备实现 AFTR 组件。
- Softwire。B4 和 AFTR 之间创建的 IPv6 隧道称为软件。
使用 Citrix ADC 设备的 ISP DS-Lite 架构由专用地址空间中通过部署在 ISP 核心网络中的 Citrix ADC 设备访问 Internet 的专用地址空间中的订阅者组成。IPv4 用户连接到包含 DS-Lite B4 功能的 CPE 设备。CPE 设备通过 ISP 的 IPv6 接入网络连接到 ISP 核心网络。Citrix ADC 设备包含 DS-Lite AFTR 和 LSN 功能。
连接到 CPE 设备的 IPv4 订阅者可以手动或通过 CPE 设备上运行的 DHCP 服务器分配私有 IPv4 地址。在 CPE 设备上,AFTR 隧道端点地址是手动或通过 DHCPv6 指定的。CPE 设备的配置是供应商特定的,因此不在本文档的范围之内。
在收到来自 IPv4 订阅者且发往 Internet 上某个位置的请求数据包后,CPE 设备的 B4 组件将 IPv4 数据包封装在 IPv6 数据包中,并将其发送到 ISP 核心网络中的 Citrix ADC 设备。Citrix ADC 设备的 AFTR 功能解压 IPv6 数据包,以恢复订阅者的原始 IPv4 数据包。Citrix ADC 设备的 LSN 功能将 IPv4 数据包的源 IP 地址和端口转换为从配置的 NAT 池中选择的 NAT IP 地址和 NAT 端口,然后将数据包发送到 Internet 上的目标。
设备维护使用 AFTR 和 LSN 功能的所有活动会话的记录。这些会话称为 DS-Lite 会话。Citrix ADC 设备还维护每个 DS-Lite 会话的 B4 IPv6 地址、订阅者 IPv4 地址和端口以及 NAT IPv4 地址和端口之间的映射。这些映射称为 DS-Lite LSN 映射。通过 DS-Lite 会话条目和 DS-Lite LSN 映射条目,Citrix ADC 设备将响应数据包(从 Internet 接收)识别为属于特定 DS-Lite 会话。
Citrix ADC 设备收到属于特定 DS-Lite 会话的响应数据包时,该设备的 LSN 功能会将响应数据包的目标 IP 地址和端口从 NAT IP 地址和端口转换为订阅者 IP 地址和端口,AFTR 功能将在 IPv6 数据包中封装生成的数据包,并将其发送到 CPE 设备。CPE 设备的 B4 功能解除 IPv6 数据包以恢复 IPv4 响应数据包,然后将 IPv4 数据包发送给订阅者。
示例
考虑一个 DS-Lite 部署示例,其中包括 ISP 核心网络中的 Citrix ADC NS-1、订阅者场所中的 CPE 设备 B4-CPE-1 和单个 IPv4 订阅者子 1。B4-CPE-1 支持 DS-Lite 功能的 B4 功能。
下表列出了此示例中使用的设置。
实体 | 名称 | 详细信息 |
---|---|---|
订阅者 SUB-1 的 IPv4 地址 | 192.0.2.51 | |
B4 设备上的软件端点 IPv6 地址 (B4-CPE-1) | 2001:DB8::3:4 | |
AFTR 设备上的软件端点的 IPv6 地址 (NS-1) | 2001:DB8::5:6 |
Citrix ADC 设备 NS-1 上的设置:
实体 | 名称 | 详细信息 |
---|---|---|
LSN 客户端 | LSN-DSLITE-CLIENT-1 | Network6(识别来自 B4 设备的流量)= 2001:DB8::3:0/100 |
LSN 池 | LSN-DSLITE-POOL-1 | LSN IP (NAT IP) = 203.0.113.61 - 203.0.113.70 |
IPv6 配置文件 | LSN-DSLITE-PROFILE-1 | 类型 = DS-Lite;IPv6 地址(AFTR IPv6 地址)= Citrix ADC 拥有的 IPv6 地址之一,类型为 SNIP6 = 2001:DB8::5:6 |
LSN 组 | LSN-DSLITE-GROUP-1 | LSN 客户端 = LSN-DSLITE-CLIENT-1;LSN 池 = LSN-DSLITE-POOL-1;IPv6 配置文件 = LSN-DSLITE-PROFILE-1 |
以下是此示例中的流量:
-
IPv4 订阅者 SUB-1 向 (
http://www.example.com/
) 发送请求。IPv4 数据包具有:- 源 IP 地址 = 192.0.2.51
- 源端口 = 2552
- 目标 IP 地址 = 198.51.100.250
- 目的地端口 = 80
-
收到 IPv4 请求数据包后,B4-CPE-1 将其封装在 IPv6 数据包的负载中,然后将 IPv6 数据包发送到 NS-1。IPv6 数据包具有:
- 源 IP 地址 = 2001:DB8::3:4
- 目标 IP 地址 = 2001:DB8::5:6
-
当 NS-1 接收 IPv6 数据包时,AFTR 模块通过删除 IPv6 标头来解除数据包。生成的数据包是子 1 的原始 IPv4 请求数据包。
-
NS-1 的 LSN 模块将数据包的源 IP 地址和端口转换为从配置的 NAT 池中选择的 NAT IP 地址和 NAT 端口。已翻译的 IPv4 数据包具有:
- 源 IP 地址 = 203.0.113.61
- 源端口 = 3002
- 目标 IP 地址 = 198.51.100.250
- 目的地端口 = 80
-
LSN 模块还为此 DS Lite 会话创建 LSN 映射和会话条目。映射包括以下信息:
- IPv6 数据包的源 IP 地址(B4-CPE-1 的 IPv6 地址)= 2001:DB8::3:4
- IPv4 数据包的源 IP 地址(子 1 的 IPv4 地址)= 192.0.2.51
- IPv4 数据包的源端口 = 2552
- NAT IP 地址 = 203.0.113.61
- NAT 端口 = 3002
-
NS-1 将生成的 IPv4 数据包发送到其在 Internet 上的目标。
-
www.example.com 的服务器处理请求数据包并发送响应数据包。IPv4 响应数据包具有:
- 源 IP 地址 = 198.51.100.250
- 源端口 = 80
- 目标 IP 地址 = 203.0.113.61
- 目的地端口 = 3002
-
收到 IPv4 数据包后,NS-1 会检查 LSN 映射和会话条目,并发现 IPv4 响应数据包属于 DS Lite 会话。NS-1 的 LSN 模块转换目标 IP 地址和端口。IPv4 数据包现在具有:
- 源 IP 地址 = 198.51.100.250
- 源端口 = 80
- 目标 IP 地址 = 192.0.2.51
- 目的地端口 = 2552
-
NS-1 的 AFTR 模块将 IPv4 数据包封装在 IPv6 数据包中,然后将 IPv6 数据包发送到 B4-CPE-1。IPv6 数据包具有:
- 源 IP 地址 = 2001:DB8::5:6
- 目标 IP 地址 = 2001:DB8::3:4
-
收到数据包后,B4-CPE-1 通过删除 IPv6 标头来解压 IPv6 数据包,然后将生成的 IPv4 数据包发送到 CL-1。