• ipv6转ipv4 NAT64与DNS64基本原理概述


    原文:

    https://blog.csdn.net/zhangjie1989/article/details/51464251

    1NAT64 DNS64背景 

     IPv6网络的发展过程中,面临最大的问题应该是 IPv6 IPv4的不兼容性,因此无法实现二种不兼容网络之间的互访。为了实现 IPv6IPv4的互访,IETF(互联网工程任务组)在早期设计了 NAT-PT的解决方案:RFC2766NAT-PT通过 IPv6 IPv4的网络地址与协议转换,实现了 IPv6网络与 IPv4网络的双向互访。但 NAT-PT在实际网络应用中面临各种缺陷, IETF推荐不再使用,因此已被 RFC4966所废除。 

    为了解决 NAT-PT中的各种缺陷,同时实现 IPv6 IPv4之间的网络地址与协议转换技术, IETF(互联网工程任务组)重新设计一项新的解决方案: NAT64 DNS64技术。

    NAT64 是一种有状态的网络地址与协议转换技术,一般只支持通过 IPv6网络侧用户发起连接访问 IPv4侧网络资源。但 NAT64也支持通过手工配置静态映射关系,实现 IPv4网络主动发起连接访问 IPv6网络。NAT64可实现 TCPUDPICMP协议下的 IPv6 IPv4网络地址和协议转换。 

    DNS64 则主要是配合 NAT64工作,主要是将 DNS查询信息中的 A记录(IPv4地址)合成 AAAA记录(IPv6地址)中,返回合成的AAAA记录用户给 IPv6侧用户。DNS64也解决了 NAT-PT中的 DNS-ALG存在的缺陷。 

    NAT64 一般与 DNS64协同工作,而不需要在 IPv6客户端或 IPv4服务器端做任何修改。 NAT64解决了 NAT-PT中的大部分缺陷,同时配合 DNS64的协同工作,无需像 NAT-PT中的 DNS-ALG等。 

    目前 NAT64 DNS64均处于 IETF的草案阶段,尚未形成正式的 RFC文档。但由于 IPv6的快速发展、应用场景的需求、IPv6侧网络用户的强烈需求,处于草案阶段的 NAT64 DNS64已经正式开始在互联网中部署应用了。NAT64也只是 IPv6网络发展初期的一种过渡解决方案,在 IPv6发展前期会被广泛部署应用,而后期则会随着 IPv6网络的发展壮大,逐步退出历史舞台。 

    本文主要讨论 DNS64 NAT64的基本原理与应用场景,不涉及 DNS64 NAT64协议的具体实现、协议规范及数据处理细节,希望深入了解 NAT64 DNS64的网络技术人员或 IPv6网络开发人员可直接参考本文后面的 IETF草案链接。 

    2 NAT64 DNS64的网络部署场景 NAT64 DNS64的常见应用场景组网如下图所示:

    在上图中,、DNS64Server与NAT64Router是完全独立的部分。其中64:FF9B::/96为DNS64的知名前缀,DNS64一般默认使用此前缀进行IPv4地址到IPv6地址的合成,同时该前缀也作为NAT64的转换前缀,实现匹配该前缀的流量才做NAT64转换。一般在DNS64与NAT64中该前缀被表示为pref64::/n,该前缀可根据实际网络部署进行配置。在NAT-PT中,转换的前缀只支持固定96位长度,而NAT64中则可使用:32,40,48,56,64或96等范围,每种长度的前缀转换规则也不完全相同。
    当IPv6OnlyUser发起连接访问普通IPv6网站,流量将会匹配IPv6默认路由而直接转发至IPv6Router处理。而访问的是IPv4单协议栈的服务器时,将经DNS64Server进行前缀合成,Pref64::/n网段的流量将被路由转发至NAT64Router上,从而实现IPv6与IPv4地址和协议的转换,访问IPv4网络中的资源。
    3.NAT64与DNS64的报文交互
    DNS64与NAT64的报文交互过程如下图所示

    在上图中,、DNS64Server与NAT64Router是完全独立的部分。其中64:FF9B::/96为DNS64的知名前缀,DNS64一般默认使用此前缀进行IPv4地址到IPv6地址的合成,同时该前缀也作为NAT64的转换前缀,实现匹配该前缀的流量才做NAT64转换。一般在DNS64与NAT64中该前缀被表示为pref64::/n,该前缀可根据实际网络部署进行配置。在NAT-PT中,转换的前缀只支持固定96位长度,而NAT64中则可使用:32,40,48,56,64或96等范围,每种长度的前缀转换规则也不完全相同。
    当IPv6OnlyUser发起连接访问普通IPv6网站,流量将会匹配IPv6默认路由而直接转发至IPv6Router处理。而访问的是IPv4单协议栈的服务器时,将经DNS64Server进行前缀合成,Pref64::/n网段的流量将被路由转发至NAT64Router上,从而实现IPv6与IPv4地址和协议的转换,访问IPv4网络中的资源。

  • 相关阅读:
    C#中NULL,"",DBNULL,String.Empty,Convert.IsDBNull()的区别
    vs 扩展和更新下载的插件在什么位置呢,看看吧,哈哈
    全面了解 Nginx 主要应用场景
    Nginx配置详解
    ulimit -n 修改
    mysql系列十一、mysql优化笔记:表设计、sql优化、配置优化
    java.net.UnknownHostException 异常处理
    Oracle 11G在用EXP 导出时,空表不能导出解决
    expdp和impdp导入和导出数据
    CentOS6.5运行yum报错:No module named yum
  • 原文地址:https://www.cnblogs.com/itfat/p/10992548.html
Copyright © 2020-2023  润新知