Citrix ADC

大规模NAT64

由于IPv4地址即将耗尽,isp已经开始向IPv6基础设施过渡。但在过渡期间,isp必须继续支持IPv4和IPv6,因为大多数公共互联网仍然使用IPv4。大规模NAT64是一种IPv6过渡解决方案,为具有IPv6基础设施的isp将他们的仅IPv6用户连接到IPv4互联网。DNS64是一种解决方案,可使仅ipv6客户端发现仅ipv4域。DNS64与NAT64配合使用,实现IPv6-only客户端与IPv4-only服务器之间的无缝通信。

一个Citrix ADC设备实现了大规模的NAT64和DNS64,并符合rfc6145,6146,6147, 6052,3022,2373, 2765和2464。

建筑学

使用Citrix ADC设备的ISP的NAT64架构由通过部署在ISP核心网络的Citrix ADC设备访问IPv4 Internet的IPv6用户组成。IPv6用户通过ISP的IPv6纯接入网连接到ISP核心网。

局部图像

Citrix ADC设备的大规模NAT64功能使IPv6客户端和IPv4服务器之间能够通过IPv6-to-IPv4包转换进行通信,反之亦然,同时在Citrix ADC设备上维护会话信息。Citrix ADC DNS64功能通过合成ipv4域的DNS AAAA记录并将它们发送给订阅者,代表ipv4域到ipv6订阅者。

大规模NAT64主要由NAT64前缀和NAT IPv4池两部分组成。DNS64有一个主要组件DNS64前缀,与NAT64前缀的值相同。

当从仅IPv6订阅者接收到承载在Internet上仅IPv4 web服务器上的域名的AAAA请求时,Citrix ADC DNS64功能将合成域名的AAAA记录并将其发送给订阅者。AAAA记录是通过连接DNS64前缀(设置为NAT64前缀)和域名的实际IPv4地址来合成的。

订阅者现在有一个与所需域名对应的IPv6目的地址。用户向合成IPv6地址发送请求。大规模Citrix ADC NAT64功能在接收到IPv6请求后,将IPv6请求报文转换为IPv4请求报文。大规模NAT64将IPv4请求的目的地址设置为IPv4地址,IPv4地址是通过剥离IPv6地址中的NAT64前缀而从IPv6请求的目的地址中提取出来的。目的端口从IPv6请求中保留。大规模NAT64还配置IPv4报文的源IP地址:源端口为NAT IP地址:从配置的NAT池中选择的NAT端口。

该设备维护使用大规模NAT64功能的所有活动会话的记录。这些会话称为大规模NAT64会话。该设备还为每个大规模NAT64会话维护用户IPv6地址和端口以及NAT IPv4地址和端口之间的映射。这种映射称为大规模NAT64映射。从大规模NAT64会话条目和大规模NAT64映射条目中,Citrix ADC设备将响应包(从Internet接收的)识别为属于特定NAT64会话。

当设备接收到属于特定NAT64会话的IPv4响应数据包时,它使用NAT64会话中存储的信息将IPv4数据包转换为IPv6数据包,然后将IPv6响应数据包发送给订户。

示例:NAT64和DNS64部署的流量

考虑一个大规模的NAT64和DNS64部署示例,该部署包括Citrix ADC设备NS-1和两台本地DNS服务器DNS-1和DNS-2,位于ISP的核心网络中,以及IPv6用户SUB-1。SUB-1通过ISP的IPv6接入网络与NS-1连接。NS-1包括大规模NAT64和DNS64配置,用于IPv6用户SUB-1与IPv4主机(内部和外部)通信。

大规模NAT64配置包括NAT64前缀(2001:DB8:300::/96)和NAT IPv4池,用于将IPv6请求转换为IPv4请求,IPv4响应转换为IPv6响应。

DNS64配置包括DNS负载均衡虚拟服务器LBVS-DNS64-1 (2001:DB8:9999::99)和DNS64前缀(2001:DB8:300::/96)。LBVS-DNS64-1表示对ISP用户的本地DNS服务器DNS-1和DNS-2。DNS64前缀与NAT64前缀相同,用于从DNS服务器DNS-1和DNS-2接收到的DNS A记录中合成DNS AAAA记录。当DNS请求解析IPv4主机时,NS-1向SUB-1响应一条合成的AAAA记录。

局部图像

DNS64交通流

IPv6订阅服务器SUB-1和站点之间的流量www.example.com,位于Internet上的一个只支持ipv4的web服务器上,具体配置如下:

  1. IPv6 subscriber SUB-1发送DNS AAAA请求www.example.com到其指定的DNS服务器(2001:DB8:9999::99)。
  2. Citrix ADC设备NS1上的DNS负载平衡虚拟服务器LBVS-DNS64-1(2001:DB8:9999::99)接收AAAA请求。LBVS-DNS64-1的负载平衡算法选择DNS服务器DNS-1并将AAAA请求转发给它。
  3. DNS-1返回一个空记录或错误消息,因为没有可用的AAAA记录www.example.com
  4. 由于LBVS-DNS64-1上开启了DNS64选项,且CL1的AAAA请求符合DNS64- policy -1中的条件,NS1向DNS-1发送DNS a请求IPv4地址www.example.com
  5. DNS-1的响应记录为192.0.2.60www.example.com
  6. NS1上的DNS64模块合成了一个AAAA记录www.example.com通过将LBVS-DNS64-1关联的DNS64前缀(2001:DB8:300::/96)和IPv4地址(192.0.2.60)连接www.example.com= 2001: DB8:300:: 192.0.2.60
  7. NS1将合成的AAAA记录发送给IPv6客户端CL1。NS1也将A记录缓存到它的内存中。NS1使用缓存的A记录合成AAAA记录,用于后续的AAAA请求。

NAT64交通流

  1. IPv6用户SUB-1发送请求到2001:DB8:5001:30www.example.com.IPv6报文包含:

    • 源IP地址=2001:DB8:5001:30
    • 源端口=2552
    • 目标IP地址=2001:DB8:300::192.0.2.60
    • 目标端口=80
  2. IPv6用户SUB-1发送请求到2001:DB8:5001:30www.example.com.IPv6报文包含:

    • 源IP地址=2001:DB8:5001:30
    • 源端口=2552
    • 目标IP地址=2001:DB8:300::192.0.2.60
    • 目标端口=80
  3. 当NS-1收到IPv6报文时,大规模NAT64模块创建一个翻译后的IPv4请求报文:

    • 源IP地址=配置的NAT池中可用的IPv4地址之一(203.0.113.61)
    • 源端口=分配的NAT IPv4地址可用的端口之一(3002)
    • 目的IP地址=从IPv6地址(192.0.2.60)中剥离NAT64前缀(2001:DB8:300::/96),从IPv6请求的目的地址中提取的IPv4地址。
    • 目的端口= IPv6请求的目的端口(80)
  4. 大规模NAT64模块也会为这种大规模NAT64流创建映射表和会话表项。会话表项和映射表项包含如下信息:

    • IPv6数据包的源IP地址=2001:DB8:5001:30
    • IPv6报文的源端口= 2552
    • NAT IP地址=203.0.113.61
    • NAT端口= 3002
    • NS-1将得到的IPv4报文发送到Internet上的目的地。
  5. 在接收到请求数据包后,服务器www.example.com处理报文,并向NS-1发送响应报文。IPv4响应报文有:

    • 源IP地址= 192.0.2.60
    • 源端口= 80
    • 目的IP地址= 203.0.113.61
    • 目的端口= 3002
  6. NS-1收到IPv4响应报文后,检查大规模NAT64映射表和会话表项,发现IPv4响应报文属于大规模NAT64会话。大规模NAT64模块创建翻译后的IPv6响应报文:

    • 源IP地址= 2001:DB8:300::192.0.2.60
    • 源端口= 80
    • 目的IP地址= 2001:DB8:5001:30
    • 目的港=2552
  7. NS-1将翻译后的IPv6响应发送给client SUB-1。

Citrix ADC设备上支持的大规模NAT64功能

Citrix ADC设备上的大规模NAT64支持标准LSN功能集。有关这些LSN功能的更多信息,请参阅LSN体系结构

以下是Citrix ADC设备支持的一些大规模NAT64特性:

  • alg。ALG (application Layer Gateway)支持SIP、RTSP、FTP、ICMP和TFTP协议。
  • 确定性/固定NAT。支持预分配端口块到订阅者,以减少日志记录。
  • 映射。支持端点独立映射(EIM)、地址依赖映射(ADM)和地址端口依赖映射(APDM)。
  • 过滤。支持端点无关过滤(EIF)、地址相关过滤(ADF)和地址端口相关过滤(APDF)。
  • 配额。端口数量、每个订阅者的会话数和每个LSN组的会话数的可配置限制。
  • 静态映射。支持手动定义大规模NAT64映射。
  • 发夹流。支持使用NAT IP地址在订阅服务器或内部主机之间进行通信。
  • 464X板条连接。支持IPv6订户主机上仅IPv4应用程序与Internet上通过IPv6网络的IPv4主机之间的通信。
  • 可变长度NAT64和DNS64前缀。Citrix ADC设备支持定义长度为32、40、48、56、64和96的NAT64和DNS64前缀。
  • 多个NAT64和DNS64前缀。Citrix ADC设备支持多个NAT64和DNS64前缀。
  • LSN客户。支持通过IPv6前缀和扩展ACL6规则指定或识别大规模NAT64用户。
  • 日志记录。支持为执法记录NAT64会话。此外,日志记录还支持以下功能。
    • 可靠的SYSLOG. 支持通过TCP将系统日志消息发送到外部日志服务器,以实现更可靠的传输机制。
    • 日志服务器负载均衡. 支持外部日志服务器的负载平衡,以防止存储冗余日志消息。
    • 最小日志.具有端口阻塞的确定性LSN配置或动态LSN配置可以显著降低NAT64的日志量。
    • 记录MSISDN信息. 支持在大规模NAT64日志中包含订阅者的MSISDN信息,以识别和跟踪Internet上订阅者的活动。
大规模NAT64