• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

AFT技术白皮书-6W100

手册下载

AFT技术白皮书-6W100-整本手册.pdf  (486.77 KB)

  • 发布时间:2023/12/19 0:01:46
  • 浏览量:
  • 下载量:

AFT技术白皮书

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright © 2023 新华三技术有限公司 版权所有,保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。

本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。



概述

1.1  产生背景

AFTAddress Family Translation,地址族转换)是一种网络地址转换技术,主要用于实现IPv4网络和IPv6网络之间的直接通信。其机制是将IPv6格式的地址转换成IPv4格式的地址或反之,从而实现网络协议的转换和数据的传输。

AFT可以解决互联网技术大规模应用过程中对IP地址的需求增加所带来的问题。由于IPv4地址只有32位,面临着地址空间的枯竭,IPv6网络协议采用128位的地址格式,地址空间更为巨大,可以有效地解决IPv4地址不足的问题。在IPv4网络完全过渡到IPv6网络之前,使用AFT可以实现IPv4网络中的主机直接访问IPv6网络中的FTP服务器等应用,同时也可以实现IPv6网络中的主机直接访问IPv4网络中的应用。综上,AFT提供了一个临时的解决方案,在IPv4网络和IPv6网络的过渡过程中起到十分重要的作用。

1.2  技术优点

AFT技术作为一种在不同地址族之间进行地址转换的技术,主要用于实现IPv4IPv6网络之间的通信。AFT技术具有以下优势:

·     兼容性:AFT技术确保了IPv4IPv6网络之间的兼容性,使得在过渡期间,两种网络协议可以同时工作,互相支持。

·     平滑过渡:借助AFTIPv4网络可以逐步过渡到IPv6网络,过程中不会出现网络中断或通信不畅等问题。这有助于缓解IPv4地址不足的问题,同时为IPv6的全面普及做好铺垫。

·     降低成本:通过AFT技术,企业和组织可以在不更换现有IPv4网络设备的情况下实现IPv4IPv6网络间的通信。这样可以降低升级成本,减轻企业和组织的负担。

·     用户无感知:AFT作用于IPv4IPv6网络边缘设备上,所有的地址转换过程都在该设备上实现,用户对地址转换过程是无感知的。

AFT技术实现

2.1  AFT转换方式

AFT的地址转换方式包括:静态转换、前缀转换、动态转换、内部服务器方式。具体如1所示。

表1 AFT各转换方式及其特点

转换方式

特点

静态转换方式,包括:

·     IPv4IPv6源地址静态转换策略

·     IPv6IPv4源地址静态转换策略

·     IPv6IPv4端口块方式的静态源地址转换策略

通过手工配置IPv6地址与IPv4地址的一一对应关系来实现IPv6地址与IPv4地址的转换

前缀转换方式,包括:

·     NAT64前缀转换

·     IVI前缀转换方式

·     General前缀转换方式

通过将IPv4地址嵌入IPv6地址中来实现IPv6地址与IPv4地址的转换

动态转换方式,包括:

·     IPv6IPv4的源地址动态转换策略,支持PATNO-PAT模式

·     引用NAT64前缀或General前缀的IPv4IPv6源地址转换策略

·     引用IVI前缀或General前缀的IPv4IPv6目的地址转换策略

动态地创建IPv6地址与IPv4地址的对应关系来实现IPv6地址与IPv4地址的转换,IPv6IPv4地址之间不存在固定的一一对应关系

内部服务器方式,包括:

·     IPv6内部服务器

IPv4网络中的主机通过访问映射后的IPv4地址和端口访问IPv6网络中的服务器

 

对于IPv4侧主动发起对IPv6网络的访问,AFT设备分别将源IPv4地址和目的IPv4地址转换为IPv6地址的方式如2所示。

表2 IPv4侧主动发起对IPv6网络访问的地址转换方式

IPv4地址转换为IPv6地址

转换方式(按照匹配优先级从高到低的顺序排列)

IPv4地址转换为IPv6地址的方式

IPv4IPv6源地址静态转换策略

引用NAT64前缀或General前缀的IPv4IPv6源地址转换策略

NAT64前缀

目的IPv4地址转换为IPv6地址的方式

IPv6内部服务器

IPv6IPv4源地址静态转换策略

引用IVI前缀或General前缀的IPv4IPv6目的地址转换策略

 

对于IPv6侧主动发起对IPv4网络的访问,AFT设备分别将源IPv6地址和目的IPv6地址转换为IPv4地址的方式如3所示。

表3 IPv6侧主动发起对IPv4网络访问的地址转换方式

IPv6地址转换为IPv4地址

转换方式(按照匹配优先级从高到低的顺序排列)

IPv6地址转换为IPv4地址的方式

IPv6IPv4源地址静态转换策略

General前缀

IVI前缀

IPv6IPv4的源地址动态转换策略

目的IPv6地址转换为IPv4地址的方式

IPv4IPv6源地址静态转换策略

General前缀

NAT64前缀

 

2.2  AFT报文转换过程

IPv6侧发起访问和IPv4侧发起访问的报文转换过程有所不同,下面将分别介绍。

2.2.1  IPv6侧发起访问

图1 IPv6侧发起访问的AFT报文转换过程

 

1所示,IPv6侧发起访问时AFT设备对报文的转换过程为:

(1)     判断是否需要进行AFT转换。

AFT设备接收到IPv6网络主机(IPv6 host)发送给IPv4网络主机(IPv4 host)的报文后,进行如下判断:

¡     如果报文的目的IPv6地址能够匹配到如4所示的转换配置,则该报文需要进行AFT转换。接下来AFT设备执行步骤(2)

表4 目的IPv6地址转换为IPv4地址的转换配置

转换配置(按照匹配优先级从高到低的顺序排列)

IPv4IPv6源地址静态转换策略

General前缀

NAT64前缀

 

¡     如果未匹配到IPv6目的地址转换配置,则表示该报文不需要进行AFT转换,设备直接转发该IPv6报文。

(2)     转换报文目的地址。

AFT设备根据报文匹配到的IPv6目的地址转换配置将报文目的IPv6地址转换为IPv4地址。

(3)     根据目的地址预查路由。

AFT设备根据转换后的IPv4目的地址查找路由表,确定报文的出接口。

¡     如果查找成功,则AFT设备执行步骤(4)

¡     如果查找失败,则丢弃报文。

注意

预查路由时不会查找策略路由。如果在预查路由过程中未找到转换后的目的IPv4地址的路由条目,即使通过策略路由设置了到达该目的IPv4地址的路由,AFT仍不会继续执行后续步骤。

 

(4)     转换报文源地址。

AFT设备根据5中的源IPv6地址转换配置将报文源IPv6地址转换为IPv4地址。如果报文未匹配到源IPv6地址转换配置,则AFT设备丢弃报文。

表5 IPv6地址转换为IPv4地址的转换配置

转换配置(按照匹配优先级从高到低的顺序排列)

IPv6IPv4源地址静态转换策略

General前缀

IVI前缀

IPv6IPv4的源地址动态转换策略

 

(5)     转发报文并记录映射关系。

AFT设备将报文的源IPv6地址和目的IPv6地址都转换为IPv4地址后,按照正常的转发流程将报文转发到IPv4网络中的主机。同时,将IPv6地址与IPv4地址的映射关系保存在设备中。

(6)     根据记录的映射关系转发应答报文。

AFT设备收到IPv4网络主机发送给IPv6网络主机的应答报文后,根据已保存的映射关系进行相反的转换,然后将转换后的报文发送给IPv6网络主机。

2.2.2  IPv4侧发起访问

图2 IPv4侧发起访问的AFT报文转换过程

 

2所示,IPv4侧发起访问时AFT设备对报文的转换过程为:

(1)     判断是否需要进行AFT转换。

AFT设备接收到IPv4网络主机(IPv4 host)发送给IPv6网络主机(IPv6 host)的报文后,进行如下判断。

¡     如果报文的目的IPv4地址能够匹配到6的目的IPv4地址转换配置,则该报文需要转发到IPv6网络,需要进行AFT转换。接下来AFT设备执行步骤(2)

表6 目的IPv4地址转换为IPv6地址的转换配置

转换配置(按照匹配优先级从高到低的顺序排列)

IPv6内部服务器

IPv6IPv4源地址静态转换策略

引用IVI前缀或General前缀的IPv4IPv6目的地址转换策略

 

¡     如果未匹配到IPv4目的地址转换配置,则表示该报文不需要进行AFT地址转换,设备直接转发该IPv6报文。

(2)     转换报文目的地址。

AFT设备根据报文匹配到的目的IPv4地址转换配置将报文目的IPv4地址转换为IPv6地址。

(3)     根据目的地址预查路由。

AFT设备根据转换后的目的IPv6地址查找路由表,确定报文的出接口。

¡     如果查找成功,则AFT设备执行步骤(4)

¡     如果查找失败,则丢弃报文。

注意

预查路由时不会查找策略路由。如果在预查路由过程中未找到转换后的目的IPv6地址的路由条目,即使通过策略路由设置了到达该目的IPv6地址的路由,AFT仍不会继续执行后续步骤。

 

(4)     转换报文源地址。

AFT设备根据7的源IPv4地址转换配置将报文源IPv4地址转换为IPv6地址。如果报文未匹配到源IPv4地址转换配置,则AFT设备丢弃报文。

表7 IPv4地址转换为IPv6地址的转换配置

转换配置(按照匹配优先级从高到低的顺序排列)

IPv4IPv6源地址静态转换策略

引用NAT64前缀或General前缀的IPv4IPv6源地址转换策略

NAT64前缀

 

(5)     转发报文并记录映射关系。

AFT设备将报文的源IPv4地址和目的IPv4地址都转换为IPv6地址后,按照正常的转发流程将报文转发到IPv6网络中的主机。同时,将IPv4地址与IPv6地址的映射关系保存在设备中。

(6)     根据记录的映射关系转发应答报文。

AFT设备收到IPv6网络主机发送给IPv4网络主机的应答报文后,根据已保存的映射关系进行相反的转换,然后将转换后的报文发送给IPv4网络主机。

2.3  静态转换方式

静态转换方式是指采用手工配置的IPv6地址与IPv4地址的一一对应关系来实现IPv6地址与IPv4地址的转换。静态转换方式包括IPv4IPv6源地址静态转换策略和IPv6IPv4源地址静态转换策略。

IPv4IPv6源地址静态转换策略可用于如下地址转换场景:

·     对于从IPv4侧发起的访问,提供源IPv4地址转换功能。

·     对于从IPv6侧发起的访问,提供目的IPv6地址转换功能。

IPv6IPv4源地址静态转换策略可用于如下地址转换场景:

·     对于从IPv6侧发起的访问,提供源IPv6地址转换功能。

·     对于从IPv4侧发起的访问,提供目的IPv4地址转换功能。

2.4  前缀转换方式

2.4.1  NAT64前缀转换

NAT64前缀转换是IPv6IPv4互联互通技术中的一种,它是一种网络地址转换技术,用于IPv6-only网络与IPv4-only网络的互访。

NAT64前缀转换主要适用于IPv6过渡的后期阶段,在IPv6占主流的网络中,便于网络新增的IPv6单栈接入的终端用户可以穿越IPv6网络访问IPv4业务。

1. NAT64前缀

NAT64前缀是一种将IPv4地址嵌入到IPv6前缀的前缀,其长度为324048566496位。NAT64前缀用来构造IPv4节点在IPv6网络中的地址,以便IPv4主机与IPv6主机通信。网络中的主机不会使用带有NAT64前缀的IPv6地址。

NAT64前缀构成的IPv6地址的格式如3所示。地址的64位到71位保留,必须设置为0

NAT64前缀可以是NSPNetwork-specific prefix,网络特定前缀)或WKPWell-known prefix,公认前缀):

·     NSP由组织分配,通常是该组织IPv6前缀的一个子网。

·     WKP64:ff9b::/96。可以看出WKP的前缀长度固定为96位,只能使用3的最后一种IPv6地址格式。

图3 NAT64前缀构成的IPv6地址的格式

 

AFT使用NSP前缀构造IPv6地址的示例如4所示。

表8 使用NSP前缀构成IPv6地址示例

IPv6前缀

IPv4地址

嵌入IPv4地址的IPv6地址

2001:db8::/32

192.0.2.33

2001:db8:c000:221::

2001:db8:100::/40

192.0.2.33

2001:db8:1c0:2:21::

2001:db8:122::/48

192.0.2.33

2001:db8:122:c000:2:2100::

2001:db8:122:300::/56

192.0.2.33

2001:db8:122:3c0:0:221::

2001:db8:122:344::/64

192.0.2.33

2001:db8:122:344:c0:2:2100::

2001:db8:122:344::/96

192.0.2.33

2001:db8:122:344::192.0.2.33

 

2. NAT64转换原理(IPv6 Network to IPv4 Internet

位于IPv6 Network中的IPv6单栈用户,它要与位于IPv4 Internet中的IPv4节点进行通信。NAT64转换过程如4所示。

图4 NAT64转换原理示意图IPv6 Network to IPv4 Internet

 

(1)     IPv6单栈用户通过IPv6网络向DNS服务器发送对于网站www.example.comAAAA请求。

(2)     DNS服务器发现没有www.example.comAAAA记录,然后查询www.example.comA记录。

(3)     DNS服务器获得包含IPv4地址的A记录,然后在该IPv4地址前面增加NAT64前缀,形成AAAA解析结果发给终端。

(4)     IPv6单栈用户向AAAA解析结果中的IPv6地址发送报文。

(5)     AFT设备收到报文后,由于报文目的地址中的IPv6前缀与本地设置的NAT64前缀相同,则对收到的报文进行NAT64转换。

说明

AFT设备会将NAT64前缀路由发布出去,所有去往该网段的流量都会被转发到AFT设备。

 

(6)     AFT设备将转换后的IPv4报文转发到IPv4网络。

如果IPv6单栈用户直接使用IPv4 Internet中的IPv4节点的IPv6地址与其通信,则不需要发送DNS请求报文。NAT64转换过程为:

(1)     IPv6单栈用户通过IPv6网络向IPv4 Internet中的IPv4节点发送报文。

(2)     AFT设备收到报文后,由于报文目的地址中的IPv6前缀与本地设置的NAT64前缀相同,则对收到的报文进行NAT64转换。

2.4.2  IVI前缀转换

在罗马数字中,“IV”代表4,“VI”代表6,因此“IVI”代表着IPv4/IPv6转换。IVI前缀转换技术是一种将IPv6报文转换为IPv4报文的技术,使得IPv6网络和IPv4网络能够互操作。

1. IVI前缀

IVI前缀是长度为32位的IPv6地址前缀,用于IPv4地址和IPv6地址之间的映射。IVI地址是IPv6主机实际使用的IPv6地址,这个IPv6地址中内嵌了一个IPv4地址,可以用于与IPv4主机通信。由IVI前缀构成的IVI地址格式如6所示。其中Suffix固定为全0

图5 IVI地址格式

 

2. IVI前缀转换原理

IVI前缀用于IPv6侧主动发起向IPv4侧访问的场景,AFT设备使用IVI前缀将报文的源IPv6地址转换为IPv4地址。例如,IVI前缀为2001:250::/32,嵌入到IVI前缀的IPv4地址为202.38.114.1,则IVI地址为2001:250:ff<202.38.114.1>,转换为正确的IPv6地址为:2001:250:ffca:2672:0100::

IPv6侧主动发起对IPv4侧访问的场景中,源IPv6地址的转换过程如下:

(1)     IPv6主机首先发起对IPv4主机的访问请求,源IPv6地址为IPv6主机的IVI地址。

(2)     AFT设备收到IPv6主机发送的IPv6报文后,检查报文的目的IPv6地址是否能够匹配到IPv6目的地址转换配置(例如NAT64前缀转换配置)。

¡     如果能匹配到IPv6目的地址转换配置,说明该报文需要进行AFT转换。接下来AFT设备执行步骤(3)

¡     如果匹配不到IPv6目的地址转换配置,则AFT设备进入报文转发流程,不再执行后续步骤。

(3)     转换报文目的地址。

AFT设备根据报文匹配到的IPv6目的地址转换配置将报文目的IPv6地址转换为IPv4地址。

(4)     根据目的地址预查路由。

AFT设备根据转换后的IPv4目的地址查找路由表,确定报文的出接口。

¡     如果查找成功,则AFT设备执行步骤(5)

¡     如果查找失败,则丢弃报文。

(5)     转换报文源地址。

AFT设备将源IPv6地址去除前32位前缀和“FF”后,再取32位并转换为正确的IPv4地址,该地址即为转换后的源IPv4地址。

2.4.3  General前缀转换

General前缀与NAT64前缀类似,都是长度为324048566496位的IPv6地址前缀,用来构造IPv4节点在IPv6网络中的地址。

1. General前缀

7所示,General前缀与NAT64前缀的区别在于,General前缀没有6471位的8位保留位,而是将IPv4地址作为一个整体添加到IPv6地址中,该IPv6地址是IPv6主机实际使用的IPv6地址。

图6 对应IPv4地址带有General前缀的IPv6地址格式

 

2. General前缀转换原理

General前缀用于IPv6侧主动发起向IPv4侧访问的场景,AFT设备使用General前缀能够将报文的源IPv6地址以及目的IPv6地址转换为IPv4地址。

IPv6侧主动发起对IPv4侧访问的场景中,源IPv6地址、目的IPv6地址的转换过程如下:

(1)     IPv6主机首先发起对IPv4主机的访问请求,源IPv6地址、目的IPv6地址分别为IPv6主机的General地址、IPv4主机的General地址。

(2)     AFT设备收到IPv6主机发送的IPv6报文后,检查报文的目的IPv6地址是否能够匹配到General前缀转换配置。

¡     如果能匹配到General前缀转换配置,说明该报文需要进行AFT转换。接下来AFT设备执行步骤(3)

¡     如果匹配不到General前缀转换配置,则AFT设备进入报文转发流程,不再执行后续步骤。

(3)     转换报文目的地址。

AFT设备将目的IPv6地址去除General前缀后,再取32位并转换为正确的IPv4地址,该地址即为转换后的目的IPv4地址。

(4)     根据目的地址预查路由。

AFT设备根据转换后的IPv4目的地址查找路由表,确定报文的出接口。

¡     如果查找成功,则AFT设备执行步骤(5)

¡     如果查找失败,则丢弃报文。

(5)     转换报文源地址。

AFT设备将源IPv6地址去除General前缀后,再取32位并转换为正确的IPv4地址,该地址即为转换后的源IPv4地址。

2.4.4  IPv4IPv6地址转换策略

IPv4IPv6地址转换策略用于IPv4侧主动发起向IPv6侧访问的场景。IPv4IPv6地址转换策略包括:

·     引用NAT64前缀或General前缀的IPv4IPv6源地址转换策略

对于需要进行AFT转换的报文,AFT设备使用引用NAT64前缀或General前缀的IPv4IPv6源地址转换策略将报文的源IPv4地址转换为IPv6地址。

·     引用IVI前缀或General前缀的IPv4IPv6目的地址转换策略

对于需要进行AFT转换的报文,AFT设备使用引用IVI前缀或General前缀的IPv4IPv6目的地址转换策略将报文的目的IPv4地址转换为IPv6地址。

说明

直接使用前缀转换,无法使用ACL对地址转换的范围进行控制,也不支持跨VPN互访。

 

例如,使用引用NAT64前缀的IPv4IPv6源地址转换策略和引用IVI前缀的IPv4IPv6目的地址转换策略将报文的源IPv4地址和目的IPv4地址转换为IPv6地址,AFT转换过程如10所示。

图7 IPv4IPv6地址转换策略示例

 

2.5  动态转换方式

动态转换方式是指动态地创建IPv6地址与IPv4地址的对应关系来实现IPv6地址与IPv4地址的转换。和静态转换方式不同,动态转换方式中IPv6IPv4地址之间不存在固定的一一对应关系。

IPv6IPv4的源地址动态转换策略用于IPv6侧主动发起向IPv4侧访问的场景。

IPv6IPv4的源地址动态转换策略支持PATPort Address Translation,端口地址转换)方式和NO-PATNot Port Address Translation,非端口地址转换)方式。两者的对比如5所示。

表9 PATNO-PAT模式的对比

方式

特点

支持的报文类型

PAT

同时对报文的IP地址和传输层端口进行转换

·     TCP

·     UDP

·     ICMPv6Internet Control Message Protocol for IPv6IPv6互联网控制消息协议)查询报文

NO-PAT

仅对报文的IP地址进行转换

所有IP协议的报文

 

1. PAT方式

PAT方式下,一个IPv4地址可以同时被多个IPv6地址共用。该模式下,AFT设备需要对报文的IP地址和传输层端口同时进行转换,且只支持TCPUDPICMPv6查询报文。

PAT模式的IPv6IPv4的源地址动态转换策略支持端口块方式的地址转换,支持用户数限制和溯源。IPv6主机首次发起连接时,AFT设备为该主机分配一个用于转换的IPv4地址,以及该IPv4地址的一个端口块。后续从该IPv6主机发起的连接都使用这个IPv4地址和端口块里面的端口进行转换,直到端口块里面的端口用尽。

PAT方式动态地址转换支持两种模式:Endpoint-Independent Mapping(不关心对端地址和端口的转换模式)和Address and Port-Dependent Mapping(关心对端地址和端口的转换模式)。

·     Endpoint-Independent Mapping模式

Endpoint-Independent Mapping模式下,地址转换后的结果与IPv6侧发往IPv4侧的报文的目的IP和端口号无关。只要是来自相同源IPv6地址和源端口号的报文,不论其目的地址是否相同,通过PAT映射后,其源IPv6地址和源端口号都被转换为同一个外部地址和端口号,该映射关系会被记录下来并生成一个EIM三元组源地址、源端口号、协议类型表项。并且AFT设备允许IPv4网络侧的主机通过转换后的地址和端口来访问这些IPv6网络侧的主机。这种模式可以很好地支持IPv4网络中的主机主动访问IPv6网络中的主机。

8所示,所有从同一个私网IPv6地址和端口(IPv6 address 1:Port1)发送过来的报文,都会被AFT设备映射成同一个公网IPv4地址和端口(IPv4:Port)。

IPv6网络侧主机之前已经向任意IPv4网络侧主机发送过报文后,任何IPv4网络侧主机均可以向(IPv4:Port)发送报文。

图8 Endpoint-Independent Mapping模式工作机制示意图

 

·     Address and Port-Dependent Mapping模式

Address and Port-Dependent Mapping模式下,地址转换后的结果与IPv6侧发往IPv4侧的报文的目的IP和端口号有关。对于来自相同源IPv6地址和源端口号的报文,若其目的地址和目的端口号不同,通过PAT映射后,相同的源IPv6地址和源端口号通常会被转换成不同的外部地址和端口号。并且AFT设备只允许IPv6侧访问过的IPv4侧的主机通过转换后的地址和端口来访问这些IPv6网络的主机。这种模式安全性好,但是不便于IPv4网络中的主机主动访问IPv6网络中的主机。

9所示,只有从同一个IPv6地址和端口发送到同一个IPv4地址和端口的报文,才会被AFT设备映射成同一个IPv4地址和端口号。

只有IPv6网络侧主机向某个IPv4网络侧主机发送过报文后,该IPv4网络侧主机才能主动访问IPv6网络侧主机。

图9 Address and Port-Dependent Mapping模式工作机制示意图

 

2. NO-PAT方式

NO-PAT方式下,一个IPv4地址同一时间只能对应一个IPv6地址进行转换,不能同时被多个IPv6地址共用。当使用某IPv4地址的IPv6网络用户停止访问IPv4网络时,AFT会将其占用的IPv4地址释放并分配给其他IPv6网络用户使用。

NO-PAT模式下,AFT设备只对报文的IP地址进行AFT转换,同时会建立一个NO-PAT表项用于记录IPv6地址和IPv4地址的映射关系,并不涉及端口转换,可支持所有IP协议的报文。

2.6  IPv6内部服务器方式

IPv6内部服务器是指向IPv4网络主机提供服务的IPv6网络中的服务器。通过配置IPv6内部服务器,可以将IPv6服务器的地址和端口映射到IPv4网络,IPv4网络中的主机通过访问映射后的IPv4地址和端口就可以访问IPv6网络中的服务器。

11所示,IPv6内部服务器方式的处理过程如下:

(1)     AFT设备收到IPv4网络主机发送给IPv6网络内部服务器的报文。

(2)     AFT设备根据“目的IPv4地址+目的端口号”查找10所示的目的IPv4地址转换配置,并根据AFT配置转换报文的目的IPv4地址和端口号。然后根据IPv4源地址转换配置将报文源IPv4地址转换为IPv6地址,并记录IPv4地址和IPv6地址的映射关系。

表10 目的IPv4地址转换为IPv6地址的转换配置

转换配置(按照匹配优先级从高到低的顺序排列)

IPv6内部服务器

IPv6IPv4源地址静态转换策略

引用IVI前缀或General前缀的IPv4IPv6目的地址转换策略

 

(3)     AFT设备收到IPv6内部服务器的回应报文后,根据已保存的映射关系进行相反的转换,然后将转换后的报文发送给IPv4网络主机。

图10 IPv6内部服务器方式原理图

 

2.7  AFT ALG机制

AFT只对报文头中的IP地址和端口信息进行转换,不对应用层数据载荷中的字段进行分析。然而对于一些特殊协议,它们的报文的数据载荷中可能包含IP地址或端口信息。例如,FTP应用由数据连接和控制连接共同完成,而数据连接使用的地址和端口由控制连接报文中的载荷信息决定。这些载荷信息也必须进行有效的转换,否则可能导致功能问题。ALGApplication Level Gateway,应用层网关)主要完成对应用层报文的处理,利用ALG可以完成载荷信息的转换。

下面介绍AFTFTP报文、DNS报文、ICMP差错报文的ALG处理机制。

2.7.1  FTP协议的ALG处理

FTP工作过程中,客户端与服务器之间将建立两条TCP连接:一条为控制连接,负责传输诸如用户指令和参数等控制信息,其中包括发起数据连接时要用到的端口信息;另一条为数据连接,负责在服务器与客户端之间建立数据通道以传送文件。

FTP有两种工作方式:

·     主动方式(PORT):建立数据连接时由FTP服务器发起连接请求,当FTP客户端处于防火墙后时不适用(如FTP客户端处于私网内)。

·     被动方式(PASV):建立数据连接时由FTP客户端发起连接请求,当FTP服务器限制客户端连接其高位端口(一般情况下大于1024)时不适用。

说明

是否使用被动方式由FTP客户端程序决定,不同FTP客户端软件对FTP工作方式的支持情况可能不同,请在使用时以软件的实际情况为准。

 

1. 主动方式下的FTP连接建立过程

主动方式下,在由客户端发起的控制连接中,客户端将指定的端口通过PORT指令发送给服务器,然后由服务器向该端口发起数据连接。

图11 主动方式下的ALG处理

 

12所示,位于IPv4 Internet的客户端以PORT方式访问位于IPv6网络的FTP服务器,AFT设备上配置了IPv6内部服务器和NAT64前缀,分别用于进行目的IPv4地址和源IPv4地址转换。

地址转换过程如下:

(1)     客户端向服务器发送PORT指令,以向服务器通知发起数据连接所应使用的IPv4地址和端口(IPv4 addressPort)。

(2)     AFT设备收到该指令后,将其中载荷所携带的IPv4地址替换为IPv6地址,此过程即为ALG处理。

(3)     服务器收到该指令后,主动向IPv6地址和端口(IPv6 addressPort)发起数据连接,并在通过AFT设备时被转化为IPv4地址。

2. 被动方式下的FTP连接建立过程

被动方式下,在由客户端发起的控制连接中,客户端向服务器发送PASV请求来通知服务器它将以被动方式建立数据连接,服务器再将指定的端口通过PASV响应发送给客户端,然后由客户端向该端口发起数据连接。

图12 被动方式下的ALG处理

 

13所示,位于IPv4 InternetFTP客户端以PASV方式访问位于IPv6网络的FTP服务器,AFT设备上配置了IPv6内部服务器和NAT64前缀,分别用于进行目的IPv4地址和源IPv4地址转换。地址转换过程如下:

(1)     客户端向服务器发送PASV请求。

(2)     服务器收到该请求后,选择并打开服务器端数据通道的地址和端口(IPv6 addressPort),并通过PASV响应向客户端返回该地址和端口。

(3)     AFT设备收到该响应后,将其中载荷所携带的IPv6地址替换为IPv4地址,此过程即为ALG处理。

(4)     客户端收到该响应后,向IPv4地址和端口(IPv4 addressPort)发起数据连接,并在通过AFT设备时被转换为IPv6地址。

2.7.2  DNS协议的ALG处理

14所示,IPv4 Internet主机要使用域名访问IPv4 InternetWWW服务器(域名为www.example.com,公网地址为20.1.1.200),但它查询的DNS服务器位于IPv6网络,DNS服务器的响应报文中包含的是WWW服务器的IPv6地址,导致收到响应报文的IPv4 Internet主机无法利用域名访问WWW服务器。此时,需要AFT设备对DNS响应报文进行ALG处理,将DNS响应报文中携带的IPv6地址转换为WWW服务器的IPv4地址。

图13 DNS报文载荷的ALG处理示意图

 

DNS报文载荷的NAT ALG处理机制如下:

(1)     IPv4 Internet主机IPv6网络的DNS服务器发起DNS查询。

(2)     AFT设备收到DNS查询报文后,转换报文的源、目的IPv4地址,并修改DNS请求报文中的查询类型字段,由A类型改为AAAA类型。

(3)     DNS服务器收到查询报文后进行AAAA查询处理,并将查询到的结果(域名www.example.com对应IPv6地址2023::200)放在DNS响应报文(DNS Answer)中发送给IPv4 Internet主机对应的IPv6地址。

(4)     DNS响应报文在到达具有ALG特性的AFT设备时,报文载荷中的IPv6地址会被映射成为WWW服务器的IPv4地址。即,AFT设备将收到的DNS响应报文数据载荷中的IPv6地址2023::200替换为20.1.1.200后,将DNS响应报文转发给IPv4 Internet主机。

这样,IPv4 Internet主机收到的DNS响应报文中就携带了www example.comIPv4地址,从而实现IPv4 Internet主机通过AFT设备获取到ALG处理后的DNS服务器的IPv4地址,并访问IPv4 InternetWWW服务器。

2.7.3  ICMP协议的ALG处理

15所示,IPv4 Internet的主机要访问IPv6网络中的FTP服务器,该内部服务器在IPv4 Internet中的公网地址为10.1.1.1。若FTP服务器的21端口未打开,那么它会向主机发送一个ICMPv6差错报文,该差错报文的数据载荷中的源地址为Host经过AFT转换后的IPv6地址201::1401:164,目的地址FTP服务器的IPv6地址2023::100

在上述情况下,如果ICMPv6差错报文未经ALG处理从IPv6网络发送到IPv4 Internet,那么IPv4 Internet中的主机就无法识别该差错报文属于哪个应用程序。因此,需要AFT设备对ICMPv6差错报文进行ALG处理。

ALG会根据原始FTP会话的地址转换信息记录,将其数据载荷中的IPv6地址转换为IPv4地址,再将该ICMP差错报文发送到IPv4 Internet。这样,IPv4 Internet中的主机就可以正确识别出错的应用程序。

图14 ICMPv6差错报文载荷的ALG处理示意图

 

2.8  AFT支持VPN多实例

AFT多实例主要针对IPv4 VPN用户访问IPv6公网服务、以及IPv6 VPN用户访问IPv4公网服务而提出。AFT多实例在转换过程中增加了对VPN的识别和处理,把VPN作为区分会话的参数之一,以此实现了IPv4多实例同时访问IPv6公网服务、以及IPv6多实例同时访问IPv4公网服务的功能。

1. 多实例PATNO-PAT

IPv6IPv4的源地址动态转换策略支持PATPort Address Translation,端口地址转换)方式和NO-PATNot Port Address Translation,非端口地址转换)方式。

多实例PATNO-PAT的特点如下:

·     与单实例相比,多实例的PAT在原有IP地址和端口号转换的基础上,增加了对VPN的识别和处理,即在PAT转换表项中增加了VPN信息,并将其作为转换依据之一。

·     与单实例一样,多实例的NO-PAT只对私网的IP地址进行转换,但不同的是多实例NO-PAT在原有IP地址转换的基础上增加了对VPN的识别和处理,即在AFT转换表项中增加了VPN信息,并将其作为转换依据之一。

例如,如15所示,IPv4私网VPN用户希望通过AFT设备访问IPv6 Internet中的FTP服务器。

图15 IPv4私网VPN用户访问IPv6 Internet中的FTP服务器组网示例

 

假设该FTP服务器在IPv4私网VPN中的IPv4地址为192.168.1.100,则IPv4私网VPN用户访问IPv6 Internet中的FTP服务器的流程如下:

(1)     IPv4私网VPN用户发起FTP控制连接,向FTP服务器发送PASV请求,该请求的目的IPv4地址为192.168.1.100

(2)     AFT设备收到PASV报文后,匹配到AFT设备上的配置:aft v6tov4 source 2023::1 192.168.1.100 vpn-instance vpn1,则AFT设备转换将报文的目的IPv4地址转换为IPv6地址2023::1

(3)     AFT设备根据目的IPv6地址2023::1预查路由,能够查找到该目的地址对应的路由条目,则AFT设备根据配置aft v4tov6 source 192.168.1.1 vpn-instance vpn1 2023::200PASV报文的源IPv4地址转换为2023::200

(4)     AFT设备根据目的IPv6地址查找IPv6路由表转发报文,并记录映射关系。

AFT设备将报文的源IPv4地址和目的IPv4地址都转换为IPv6地址后,按照正常的转发流程将报文转发到IPv6网络中的FTP服务器。同时将如下地址映射关系保存在设备中:

192.168.1.1/23176 - 192.168.1.100/21(VPN:vpn1) ------>

2023::200/23176 - 2023::1/21(VPN:0)

(5)     AFT设备根据记录的映射关系转发应答报文。

AFT设备收到FTP服务器发送给IPv4私网VPN用户的应答报文后,根据已保存的映射关系进行相反的转换,并将载荷中的IPv6地址转换为IPv4地址,然后查找VPN1路由表将转换后的报文发送给IPv4私网VPN用户

2. 多实例IPv6内部服务器

与单实例相比,多实例的IPv6内部服务器增加了对VPN的支持,即在AFT转换表项中增加了VPN信息,并将其作为转换依据之一,以确保将访问不同VPN的报文送达正确的VPN,其处理流程与单实例相同。

3. 多实例ALG处理

多实例的ALG处理流程与单实例基本相同,不同的是AFT设备在创建IPv4地址与IPv6地址、端口映射表项时,AFT多实例在地址和端口基础上增加了对VPN的识别与处理,即在映射表项中增加了VPN信息,譬如将IPv4侧的(VPN AIPv4Port 1)映射为(VPN AIPv6Port 2)。

典型组网应用

3.1.1  IPv4网络和IPv6网络互访

16所示,某公司内部同时部署了IPv4网络和IPv6网络,并且希望IPv4网络和IPv6网络能够互相访问。通过在Device上配置AFT IPv6源地址转换、以及AFT IPv6目的地址转换功能即可实现。

图16 IPv4网络和IPv6网络互访配置组网图

3.1.2  IPv4网络访问IPv6网络内部服务器

17所示,某公司将网络升级到了IPv6,此时Internet仍然是IPv4网络。该公司希望内部的FTP服务器能够继续为IPv4 Internet的用户提供服务。通过在Device上配置IPv6内部服务器功能、以及IPv4源地址转换功能即可实现。

图17 IPv4网络访问IPv6网络内部服务器配置组网图

参考文献

·     RFC 6146Stateful NAT64 Network Address and Protocol Translation

·     RFC 6147DNS64 DNS Extensions for Network Address Translation

·     RFC 6219The China Education and Research Network (CERNET) IVI Translation

·     RFC 6384An FTP Application Layer Gateway (ALG) for IPv6-to-IPv4 Translation

新华三官网
联系我们