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

原文:

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

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的常见应用场景组网如下图所示:

在上图中,、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网络中的资源。

ipv6转ipv4 NAT64与DNS64基本原理概述相关推荐

  1. ipv6地址概述——带你了解ipv6与ipv4的不同

    作者简介:一名在校云计算网络运维学生.每天分享网络运维的学习经验.和学习笔记.   座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.ipv4与ipv6 1.ipv4与i ...

  2. ipv6地址概述——了解ipv6与ipv4不同

    目录 一 ipv4与ipv6 1.ipv4的概述 2.ipv4存在的问题 3.ipv6的概述 4.ipv4与ipv6的优点和特点 5.ipv6与ipv4的变化 ipv4包头 ipv6包头 6.ipv6 ...

  3. IPv6 与 IPv4现状

    IPv6 与 IPv4现状 一.概述 (1) IPv4可提供bai4,294,967,296个地址,IPv6将原来的32位地址空间增大du到128位,数目是zhi2的128次方.能够对地球上每平方米d ...

  4. Ipv6上Ipv4的方法

    在纯IPv6网络的用户如果需要访问IPv4的网络资源时,一般需要通过第三方软件来实现(Veno\六飞\IPV6VPN等),而现在大家可直接通过支持NAT64/DNS64的服务器,来实现IPv6与IPv ...

  5. Docker基本原理概述

    Docker基本原理概述 Docker是一个用于开发,交付和运行应用程序的开放平台.Docker能够将应用程序与基础架构分开,从而可以快速交付软件.借助Docker,可以以与管理应用程序相同的方式来管 ...

  6. 4.4 IPv6(诞生原因、数据报格式、与IPv4的不同、地址表现形式、基本地址类型、IPv6与IPv4的过渡策略)

    文章目录 0.思维导图 1.为什么要有IPV6? 2.IPV6的数据报格式 3.IPV6与IPV4的比较 4.IPV6的地址表示形式 5.IPV6基本地址类型 6.IPV6向IPV4过滤的策略 0.思 ...

  7. CCIE理论-第十篇-IPV6 VS IPV4(带你们看看U.S.A的ISP的设备)

    CCIE理论-第十篇-IPV6 VS IPV4(带你们看看U.S.A的ISP的设备) IPV4缺点 这个前面一章讲过了,这里再讲一次 https://www.potaroo.net/ 这是一个统计的机 ...

  8. ipv6头部格式 c语言,2.2.1 IPv6和IPv4基本头部格式

    2.2  IPv6报文 2.2.1  IPv6和IPv4基本头部格式 根据IPv4报文中存在的问题,IPv6报文头格式与IPv4相比进行了一些改动.IPv6头部结构遵循以下新规则: 基本头部的固定长度 ...

  9. ipv6的表示、ipv6与ipv4之间的转换、ipv6地址大小判定

    本文对初步接触到ipv6时,常遇到的三个疑问(ipv6的表示.ipv6与ipv4之间的转换.ipv6地址大小判定)进行了简单介绍. ipv6的表示 关于单个ipv6地址的基本表示有:标准表示.压缩表示 ...

  10. 什么是IP地址?IPV6和IPV4的区别-一个初学小白的笔记

    参考视频:https://www.bilibili.com/video/BV1DD4y127r4 从历史的发展角度来看: 如果只有一台电脑,所有的数据都会存储在硬盘上,不会和其他的电脑产生任何关系. ...

最新文章

  1. demo解析 小程序node.js_小程序-demo:小程序示例
  2. 定义一个Teacher(教师)类,和一个Student(学生)类
  3. 软件测试集成测试广度,软件测试的规范[6]
  4. postman参数化 接口响应数据获取符合条件的内容参数化给后面的接口使用
  5. python二十三:生产者 消费者模型
  6. ios开发ocr识别_车牌识别技术
  7. Angular里的style property binding的一个例子
  8. 操作系统锁的实现方法有哪几种_「从入门到放弃-Java」并发编程-锁-synchronized...
  9. python3.70_Python3 基本数据类型
  10. [Java学习资料] [成长之路]
  11. (计算机组成原理)第三章存储系统-第七节1:页式存储器、页表及快表
  12. 从程序员到项目经理(9):程序员加油站 -- 再牛也要合群【转载】
  13. Java基础面试题:常见的异常类有哪些?
  14. 【Ngrok】小米球实践-内网穿透【映射本地到外网访问】
  15. 河北省人民检察院利用深信服桌面云办公,实现智慧检务
  16. word任意带圈数字
  17. 手机App测试的相关测试点-简单总结
  18. 梁宁《产品思维》之5同理心训练:产品要顺应用户潜意识
  19. 技术领导力 程序员如何才能带团队 文摘 (一)
  20. 朴素的美丽、抑郁中的缕缕阳光——“红衣妹妹”于洋博文选粹

热门文章

  1. 老师用计算机教我们画画拼音,《汉语拼音13 ang eng ing ong》第三课时教学设计...
  2. Java AES/ECB/PKCS5Padding加密和PHP解密的实现
  3. 空间直线与球面相交算法
  4. mysql case when in_MySQL case when 使用
  5. imx8qxp uuu 下载脚本example_kernel_emmc.uuu注释
  6. 计算机单位厘米 像素,英尺和厘米的换算计算器 显示器的像素解析度可能不是...
  7. 卡方线性趋势检验_趋势卡方检验
  8. 加快黑群晖套件中心的套件下载速度
  9. 希尔排序、快速排序的每一趟
  10. 数据治理:数据指标管理平台解决方案