zoukankan      html  css  js  c++  java
  • NAT64与DNS64基本原理概述

    NAT64与DNS64基本原理概述

    1.NAT64与DNS64背景
         在IPv6网络的发展过程中,面临最大的问题应该是IPv6与IPv4的不兼容性,因此无法实现二种不兼容网络之间的互访。为了实现IPv6与IPv4的互访,IETF(互联网工程任务组)在早期设计了NAT-PT的解决方案:RFC2766,NAT-PT通过IPv6与IPv4的网络地址与协议转换,实现了IPv6网络与IPv4网络的双向互访。但NAT-PT在实际网络应用中面临各种缺陷,IETF推荐不再使用,因此已被RFC4966所废除。
         为了解决NAT-PT中的各种缺陷,同时实现IPv6与IPv4之间的网络地址与协议转换技术,IETF(互联网工程任务组)重新设计一项新的解决方案:NAT64与DNS64技术。
         NAT64是一种有状态的网络地址与协议转换技术,一般只支持通过IPv6网络侧用户发起连接访问IPv4侧网络资源。但NAT64也支持通过手工配置静态映射关系,实现IPv4网络主动发起连接访问IPv6网络。NAT64可实现TCP、UDP、ICMP协议下的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的常见应用场景组网如下图所示:

     



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

    3.NAT64与DNS64的报文交互

    NAT64与DNS64的报文交互过程如下图所示:

     

     



    假定的网络地址结构:
    IPv6 Only Client: 2001::1234::1234
    Pref64::/n :  64:FF9B::/96
    NAT64 Public IPv4 Address:22.22.22.22
    WWW.IPV6BBS.CN  IPv4 Address:11.11.11.11

    4.NAT64与DNS64相关协议标准

    NAT64:Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers
    draft-ietf-behave-v6v4-xlate-stateful-12:
    http://datatracker.ietf.org/doc/ ... 6v4-xlate-stateful/

    DNS64: DNS extensions for Network Address Translation from IPv6 Clients to IPv4 Servers
    draft-ietf-behave-dns64-11:
    http://datatracker.ietf.org/doc/draft-ietf-behave-dns64/


    与此相关的文档:
    1.RFC 6052:IPv6 Addressing of IPv4/IPv6 Translators
    链接地址:http://www.rfc-editor.org/rfc/rfc6052.txt

    2.IETF Draft文档:draft-ietf-behave-v6v4-xlate-23
    IP/ICMP Translation Algorithm 
    链接地址:http://datatracker.ietf.org/doc/draft-ietf-behave-v6v4-xlate/
    同时该Draft成为正式RFC后将废除SIIT [RFC 2765] 

    3.IETF Draft文档:draft-ietf-behave-v6v4-framework-10
    Framework for IPv4/IPv6 Translation
    链接地址:http://datatracker.ietf.org/doc/draft-ietf-behave-v6v4-framework/


    本文档会更新与修改,同时逐步对NAT64及DNS64的相关细节部分进行完善补充!

    2010.10.14 :发布NAT64与DNS64基本原理概述V1.0
    2010.12.12 :补充NAT64相关的算法及IETF  RFC/Draft文档!

     

    NAT64与DNS64基本原理概述V1.0:发布于2010.10.14
    本文档会更新与修改,同时逐步对NAT64及DNS64的相关细节部分进行完善补充,V1.0介绍的细节比较少!
     
     
     

    技术背景:

    1.NAT64与DNS64背景

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

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

    NAT64是一种有状态的网络地址与协议转换技术,一般只支持通过IPv6网络侧用户发起连接访问IPv4侧网络资源。但NAT64也支持通过手工配置静态映射关系,实现IPv4网络主动发起连接访问IPv6网络。NAT64可实现TCP、UDP、ICMP协议下的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网络的发展壮大,逐步退出历史舞台。

    目前互联网大部分内容只对IPv4可用,在互联网内容迁移到IPv6的过渡期,IPv6终端用户也需要访问IPv4内容,NAT64和DNS64技术提供这种服务。

    NAT64和DNS64技术被运营商用来为IPv6终端用户提供IPv4内容访问,其它的技术还有DS-Lite等。

    益处:

    提供IPv6客户端对IPv4内容的访问

    无需改造已有IPv4基础设施 

    运营商 NAT64 和 DNS64 解决方案

    NAT64 and DNS64 technical walkthrough

    IPv6终端用户发出的DNS请求通过DNS64设备进行域名解析。

    如果存在请求域名的IPv6 DNS记录(AAAA记录),解析结果将直接返回给IPv6终端用户,IPv6终端用户使用该地址进行访问。

    如果对应域名记录不是基于IPv6而是基于IPv4的DNS记录(A记录),DNS64设备使用其NAT64做前缀将A记录转换为AAAA记录并转发给IPv6终端用户,IPv6终端用户经NAT64设备进行NAT转换访问相应的IPv4服务器。

    解决方案

    此方案可供IPv6网络用户访问IPv4资源,注意,必须是纯IPv6的网络,或IPv4与IPv6双栈用户 若是IPv4用户通过其它方式接入IPv6,则此方案不可用!

    windows xp 无解

    在纯IPv6网络的用户如果需要访问IPv4的网络资源时,一般需要通过第三方软件来实现(Veno六飞IPV6VPN等),而现在大家可直接通过支 持NAT64/DNS64的服务器,来实现IPv6与IPv4之间的NAT,从而实现在纯IPv6网络访问纯IPv4服务器资源(一般为Web服务或依靠 域名的IPv4服务器),目前应该只支持TCPUDPICMP等协议的NAT转换。

    注意:NAT64为单向NAT,只支持IPv6端用户发起连接来访问IPv4网络的资源,不支持IPv4用户访问IPv6资源。

    目前Windows Vista与Win 7操作系统的用户,

    再打开“本地连接”网卡的属性,双击“Internet协议版本6(TCP/IPv6)”,然后将IPv6 DNS服务器地址手工设定为:2001:778::37,备份2001:df8:0:7::1

     

    同时将ipv4的dns的202.118.80.2 取消掉,让电脑做ipv6解析,这样就可以访问IPv4的网络资源了。

    重要提醒:切换DNS服务器后,记得在命令提示符下输入:ipconfig /flushdns命令来清空本机的DNS缓存记录。

    而且基于ipv4地址的网站或基于ipv4的应用无法使用。但校园网使用ip访问无压力

    对于Windows XP的用户,无解

    目前互联网上公布的二台DNS服务器地址为:

    2001:778::37

    2001:df8:0:7::1

  • 相关阅读:
    Notes of Daily Scrum Meeting(12.18)
    Notes of Daily Scrum Meeting(12.17)
    Notes of Daily Scrum Meeting(12.16)
    Notes of Daily Scrum Meeting(12.8)
    Notes of Daily Scrum Meeting(12.5)
    Notes of Daily Scrum Meeting(12.3)
    Notes of Daily Scrum Meeting(11.12)
    Linux中profile、bashrc、bash_profile之间的区别和联系
    Linux GCC编译
    mysql 5.7.16 远程连接
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/9209300.html
Copyright © 2011-2022 走看看