IPv6演进过程中,网络侧的IPv6 Ready程度较高,但是业务侧IPv6化还不乐观,因此解决IPv6和IPv4互访,是目前网络建设者重点关注问题,特别是IPv6用户访问IPv4服务器的场景。
前两篇NAT444和DS-lite技术都是为了实现IPv4用户访问IPv4业务,IPv6用户访问IPv6业务服务的,不解决IPv4和IPv6互访需求。NAT64则是专为IPv4和IPv6互访而产生,可以与NAT444或者DS-lite结合使用来满足各种业务应用。
NAT64+DNS64是有状态地址转换协议,支持IPv6用户发起访问IPv4服务器资源,同时,NAT64也支持通过手工配置静态映射关系,实现IPv4用户访问IPv6网络资源。NAT64执行IPv4-IPv6的有状态地址转换和协议转化,DNS64实现域名地址解析,现有如下三种应用:
应用1:IPv4 IDC/ISP站点为IPv6用户提供业务,NAT64最主要业务
应用2:运营网络内IPv6用户与IPv4用户互访业务
应用3:IPv6-only IDC/ISP站点为IPv4用户提供业务,比较超前的业务场景
对于应用1的场景,具体业务流程如下:

- IPv6主机发起example.com的AAAA域名解析到DNS64
- DNS64触发查询到DNS66查询结果为NULL,转向触发查询到DNS44
- DNS 44返回example.com的地址192.0.2.1给DNS64
- DNS64合成IPv6地址2001:db8:cdfe::192.0.2.1返回给IPv6主机
- IPv6主机发起目的2001:db8:cdfe::192.0.2.1的IPv6数据包;由于2001:db8:cdfe::为NAT64服务器的通告前缀,数据包被发往NAT64服务器
- NAT64执行地址转换和协议转换,目的地址转换为192.0.2.1,源地址根据地址状态转换(2001:db8::1,1500)->(203.0.113.1,2000);在IPv4域内路由到IPv4 服务器
- 数据包返回,目的地址和端口为203.0.113.1,2000;
- NAT64根据已有记录进行转换,目的地址转换为2001:db8::1,源地址为加了IPv6前缀的IPv4 服务器地址2001:db8:cdfe::192.0.2.1,发送到IPv6主机;
根据业务流程可以清楚的了解到,DNS64是将IPv4服务器的IPv4地址嵌入到IPv6地址,这个过程就叫做合成。(RFC6052给出了IPv4-embedded IPv6 address的格式)。NAT64在翻译IPv6地址到IPv4地址时,对于目的地址(IPv4服务器的地址,是内嵌IPv4的IPv6地址)按照规则直接转换为IPv4地址,这个过程是无状态的地址转换,对于源地址(IPv6用户地址)通过NAT64转换为公网IPv4地址(通常是从配置的IPv4地址池中随机选择一个可用的IPv4地址和端口号),这个过程是有状态的地址转换。NAT64设备同时记录这个状态信息,用于数据流返回时的地址转换。
数据流大概如下:

在NAT64+DNS64部署的时候需要特别注意,DNS64地址合成所使用的IPv6-prefix要和NAT64配置的IPv6-prefix一致。如果网络中存在多台NAT64设备时,每台NAT64配置的IPv6-prefix是不同的,DNS64可以通过不同的IPv6-prefix合成IPv6地址来控制NAT64间的业务负载(DNS负载均衡)。
另外,NAT64设备需要同时向IPv4网络和IPv6网络发布路由。NAT64与IPv6网络连接的端口配置IPv6地址,向IPv6网络发布配置的IPv6-prefix路由;如果NAT64配置了多个IPv6-prefix,需要选择合适的汇总方式发布IPv6路由;NAT64与IPv4网络连接的端口配置IPv4地址,向IPv4网络发布配置的IPv4地址池路由。
NAT64设备通常部署在网络边界,比如IPv6城域网与IPv4城域网的互联互通层次以及IPv4 IDC中心的出口路由器层次。
NAT64+DNS64是一种有状态地址转换协议,用于解决IPv6用户访问IPv4服务器资源的问题。DNS64将IPv4地址嵌入到IPv6地址,NAT64执行IPv4-IPv6的有状态和无状态地址转换。在部署时,DNS64和NAT64的IPv6-prefix需一致,并且NAT64需发布到IPv4和IPv6网络的路由。该技术常见于IPv6用户访问IPv4服务的场景。
2万+

被折叠的 条评论
为什么被折叠?



