双栈Lite
由于IPv4地址的短缺,以及IPv6相对于IPv4的优势,许多isp已经开始向IPv6基础设施过渡。但在过渡期间,isp必须在支持IPv6的同时继续支持IPv4,因为大多数公共互联网仍然只使用IPv4,许多用户不支持IPv6。
DS-Lite (Dual Stack Lite)是一种IPv6过渡解决方案,为具有IPv6基础设施的isp提供将IPv4用户连接到Internet的服务。DS-Lite采用IPv4-in-IPv6隧道技术,将用户的IPv4报文通过IPv6接入网络上的隧道发送到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 (address family transition router)之间发起IPv6隧道,以便通过隧道发送或接收用户的IPv4请求或响应报文。B4包含一个称为B4隧道端点地址的IPv6地址。B4通过该地址向AFTR发送IPv6报文,并接收来自AFTR的报文。
- 地址族转换路由器(AFTR)。AFTR是位于ISP核心网中的设备或组件。AFTR终止B4设备的IPv6隧道。也就是说,在用户前提下的B4和ISP核心网的AFTR之间形成了IPv6隧道。AFTR对从B4发送的IPv6报文进行解封装,恢复订阅方的IPv4原始报文。AFTR向LSN设备或组件发送IPv4报文。LSN通过NAT地址和端口转换(NAT 44)等LSN相关的处理,将IPv4报文路由到目的地。AFTR包括一个IPv6地址,称为AFTR隧道端点地址。AFTR使用该地址向B4发送IPv6报文,并从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设备的配置是特定于供应商的,因此超出了本文档的范围。
CPE设备的B4组件在接收到来自IPv4订户的请求包并发送到Internet上的某个位置时,会将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用户SUB-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 IPs (NAT IP) = 203.0.113.61—203.0.113.70 |
IPv6概要 | LSN-DSLITE-PROFILE-1 | 类型= ds lite;IPv6地址(AFTR IPv6地址)= Citrix ADC拥有的类型为SNIP6 = 2001:DB8::5:6的IPv6地址之一 |
LSN集团 | LSN-DSLITE-GROUP-1 | LSN客户端= LSN- dlite - client -1;IPv6配置文件= LSN- dslite - profile -1 |
以下是本例中的交通流:
1.IPv4订阅者SUB-1发送请求到(http://www.example.com/
).IPv4报文包含:
- 源IP地址= 192.0.2.51
- 源端口= 2552
- 目的IP地址= 198.51.100.250
- 目的端口= 80
2.B4-CPE-1收到IPv4请求报文后,将报文封装在IPv6报文的有效载荷中,然后将IPv6报文发送给NS-1。IPv6报文包含:
- 源IP地址= 2001:DB8::3:4
- 目的IP地址= 2001:DB8::5:6
3.当NS-1收到IPv6报文时,AFTR模块对报文进行解封装,去掉报文的IPv6头。得到的报文是SUB-1的原始IPv4请求报文。
4.NS-1的LSN模块将报文的源IP地址和端口转换为从NAT池中选择的NAT地址和NAT端口。翻译后的IPv4报文有:
- 源IP地址= 203.0.113.61
- 源端口= 3002
- 目的IP地址= 198.51.100.250
- 目的端口= 80
5.LSN模块还为这个DS Lite会话创建一个LSN映射和会话条目。映射包含以下信息:
- IPv6报文的源IP地址(b1 - pe -1的IPv6地址)= 2001:DB8::3:4
- IPv4报文的源IP地址(SUB-1的IPv4地址)= 192.0.2.51
- IPv4报文的源端口= 2552
- NAT地址= 203.0.113.61
- NAT端口= 3002
6.NS-1将得到的IPv4报文发送到Internet上的目的地。
7.www.example.com的服务器处理请求报文并发送响应报文。IPv4响应报文包含:
- 源IP地址= 198.51.100.250
- 源端口= 80
- 目的IP地址= 203.0.113.61
- 目的端口= 3002
8.NS-1收到IPv4报文后,通过查看LSN映射关系和会话表项,发现IPv4响应报文属于DS Lite会话。NS-1的LSN模块转换目的IP地址和端口。IPv4数据包现在有:
- 源IP地址= 198.51.100.250
- 源端口= 80
- 目的IP地址= 192.0.2.51
- 目的端口= 2552
9.NS-1的AFTR模块将IPv4报文封装为IPv6报文,然后将IPv6报文发送给B4-CPE-1。IPv6报文包含:
- 源IP地址= 2001:DB8::5:6
- 目的IP地址= 2001:DB8::3:4
10.B4-CPE-1收到报文后,会对IPv6报文进行解包处理,去掉IPv6头,然后将得到的IPv4报文发送给CL-1。