【精选】IPv4过渡到IPv6的方案选择 |
您所在的位置:网站首页 › ipv4如何向ipv6过渡 › 【精选】IPv4过渡到IPv6的方案选择 |
一、场景提要
当我们在实际工作中,由现行的IPV4网络想IPv6过渡时,不可能完全抛弃IPv4,因IPv6虽然已经发展多年,但并未大范围在全球应用,很多实际应用还是用了诸如NAT等技术来使用IPv4网络,且目前很多IPv6的通信不得不在IPv4网路上传输,故此IPv4到IPv6的过渡机制就变得非常重要,如何针对各企业的实际网络选择一个合适的平稳过度方案,是能否实现安全成功过度到IPv6网络实践的关键。 另外一定要清楚认识,IPv4向IPv6过渡的过程是渐进的,可控制的,过渡时期会相当长,而且网络/终端设备需要同时支持IPv4和IPv6,最终的目标是使所有的业务功能都运行在IPv6的平台上。 二、过渡方法 2.1、IPv4到IPv6的较成熟过渡方法从IPv4到IPv6的过渡方法有三种: 1)IPv40IPv6双协议栈(Dual-stack) 2)网络中的隧道技术(Tunnelling) 3)翻译机制(Translation Mechanism ) 其中双协议栈和隧道技术是主要的方法,而翻译机制由于效率较低,只在不同IP版本的网络之间进行通信时才采用。 2.2、 三种方法的比较1)网络设备和移动终端上的IPv4/IPv6双协议栈是很重要的过渡机制,从网络方面来看,网络设备(如GGSN)实现双协议栈对于实现IPv4和IPv6的接入点并完成IPv6-in-IPv4的隧道都是至关重要的,另外运营商IP网络和公众因特网边缘的边际路由器也应该是双栈路由器。从移动终端来看,需要通过双协议栈来访问IPv4和IPv6的业务而不需要网络上的翻译机制。下图为DS的原理图: 2)隧道技术 将IPv6的数据包封装在IPv4的数据包中并在隧道的另一端解除封装的解决方案;隧道技术要求在封装和解除封装的节点上都有IPv4/IPv6双协议栈的功能。隧道技术又分为自动和人工配置两种,人工配置的隧道技术是在隧道的终点人工配置到某个特定的IPv4地址;对于自动隧道技术来说,封装是自动在进行封装的路由器/主机上完成的,隧道终点的IPv4地址被包含在目的地址为IPv6地址的数据包中,如“6to4”隧道技术。 原理示意图: 3)网络上的IPv4-IPv6协议翻译器: 翻译器是纯IPv4主机和纯IPv6主机之间的----->【中间件】,使两种主机不需要修改任何配置就可以实现彼此之间的直接通信,翻译器的使用对于移动终端来说是透明的,标头转换是一种重要的翻译机制,通过这种方法IPv6数据包的头标被转换为IPv4数据包的头标,或者反过来,IPv4转换为IPv6,有必要的时候对校验进行调整或重新计算,NAT/PT就是采用这种机制的一种方法。 采用地址/协议翻译器需要转换IP数据包的头标,带来的问题是破坏了端到端的服务(如端到端的IPSec),而且NAT/PT可能成为网络性能的瓶颈,有可能限制业务提供平台的容量和扩展性。使用网络中的地址/协议翻译器还是采用其它过渡方法主要由网络运营商决定,一般来说,只有当两个通信节点的IP版本不同时才建议采用翻译器。 不同层次的协议翻译如下图所示:
注:应分析各类终端访问IPv4/IPv6同时存在的网络如何动态切换优先级并完成相关测试。 2.3、 IPv4过渡到IPv6阶段性案例参考(图片来自网络)下图所示为一个IPv4的网络通信结构图:
第二步:
第三阶段:
1)网络模型1: 2)过渡期网络模型: 【IPv4IPv6翻译技术】 网络的过渡时期不可能要求所有的主机或终端都升级支持双栈,网络中必然存在纯IPv4主机和纯IPv6主机之间进行通信的需求,但由于协议栈的不同,那么就需要对这些协议进行---->翻译转换。对于协议的翻译涉及两个方面: 一方面是:IPv4与IPv6协议层的翻译 一方面是:IPv4应用与IPv6协议栈的应用之间的翻译。 常用的翻译技术主要有以下几种技术来实现: 1)NAT-PT:(Network Address Translator/Protocol Translator) 这是一种协议翻译技术,主要应用于网络汇聚层;NAT-PT是用于实现IPv4 向IPv6 平滑过渡的协议转换技术。NAT-PT 由网络地址翻译技术(Network Address Translation,NAT)和协议翻译技术(Protocol Translation, PT)2 个部分组成。 NAT-PT网关能够实现IPv4和IPv6协议栈的互相转换,包括网络层协议、传输层协议以及一些应用层协议之间的互相转换;NAT-PT翻译技术包括两方面,一方面是IPv4与IPv6协议层的翻译,另一方面是IPv4应用与IPv6应用之间的翻译。前者是通过NAT-PT技术实现的,后者则通过应用代理网关ALG来实现。NAT-PT是一种纯IPv6节点和IPv4节点间的互通方式,所有转换工作都由网络设备来完成。支持NAT-PT的网关路由器应该具有一个IPv4地址池,当IPv6的网络向IPv4的网络通讯时,用以对应IPv6地址翻译成ipv4,实现地址间的翻译等等; NAT-PT不必修改已经存在的IPv4网络,原有的各种协议可以不加改动就能与新的协议互通,可以实现内部网络的IPv4主机对外部网络IPv6主机的访问,且通过上层协议映射使大量的IPv6主机使用同一个IPv4地址,节省了IPv4地址资源。但该技术在应用上有一些限制: 1.1 首先,拓扑结构上要求一次会话中双向数据包的转换都在同一个路由器上完成,因此地址/协议转换方法较适用于:只有一个路由器出口的网络; 1.2 一些协议字段在转换时不能完全保持原有的含义。 工作原理如下: NAT-PT只能提供从IPv6到IPv4的单向连接,要实现从IPv4外网到IPv6网络的访问,这就必须结合DNS-ALG进行域名支持。 工作过程主要有以下几点: (1)IPv4主机要与IPv6主机通信,首先向IPv6网络的DNS发出请求; (2)请求到达NAT-PT网关后,NAT-PT网关对报文的头部进行转换; (3)IPv6内的DNS服务器收到报文后,查询自己的记录表; (4)报文到达NAT-PT网关后, NAT-PT对其头部进行转换; (5)IPv4主机在收到此DNS应答后,就知道IPv6主机的IPv4地址,IPv4主机就可以发起到IPv6主机的连接。 (6)报文到达NAT-PT网关后,由于它已经记录了IPv4地址与IPv6地址之间的映射,就可以对地址进行转换; (7)报文到达IPv6主机后,IPv6主机对此报文回复; (8)NAT-PT网关再按照原有记录的信息对此报文进行地址转换。 原理举例: IPv6网络中主机和IPv4中主机通讯寻址比较简单,就是说IPv4地址可以直接加上NAT-PT前缀成为IPv6地址,如:IPv4主机地址为10.18.34.1,NAT-PT设备设定的前缀为2222::/64,则IPv4主机对应的IPv6地址就是2222::10.18.34.1。 反过来,IPv4网络中主机不能这样和IPv6网络中主机通讯,这就需要DNS-ALG的帮助,通过IPv6主机对应的域名访问。如下图所示: 两个不同网络中的连接主要有以下4步: (1)DNS请求。IPv4主机发送DNS请求给IPv4网络中的DNS服务器,此DNS服务器无IPv6网络的资源记录。现在IPv4网络中的DNS服务器替IPv4主机发送DNS请求给IPv6网络的DNS服务器。由于NAT-PT设备上有两个DNS服务器的地址对应关系,因而NAT-PT再次发送经过转换的DNS请求给IPv6的DNS服务器。 (2)返回DNS请求。IPv6中的DNS服务器接收到NAT-PT转换过的DNS请求后,发送DNS应答给IPv4中的DNS服务器。期间经过NAT-PT的转换。 (3)NAT-PT设备发送经过转换之后的DNS应答报文给IPv4的DNS服务器。 (4)IPv4的DNS服务器收到应答报文之后在它的DNS缓存中增加一条记录,表明www.IPv6.com.cn这个域名所对应的IPv4地址为10.18.34.11。在此之后,IPv4主机要和IPv6主机进行通信,只需要访问IPv6主机的域名即可。 2)TRT 主要应用于网络汇聚层;TRT(Transport Relay Translator)即传输中继转换器,适用于纯IPv6网络与纯IPv4网络通信的环境。TRT系统位于纯IPv6主机和纯IPv4主机之间,可以实现(TCP, UDP)/IPv6与(TCP,UDP)/IPv4的数据的对译。传输中继可以分为TCP中继和UDP中继两类。 TRT与NAT-PT的最大区别是,TRT做为中继,在TCP/UDP层面以代理的身份来沟通双方,例如TCP中继分别与TCP通信的双方建立TCP连接,双方的所有TCP通信均由TCP中继来中转,而NAT-PT则只起翻译作用,并不代理通信。 3)BIS:主要是针对主机终端 BIS技术是在【双栈主机】中添加---->若干个模块(翻译器、扩展域名解析器、地址映射器),用于监测TCP/IP模块与{网卡驱动程序}之间的数据流,并进行相应IPv4与IPv6协议栈的数据包之间的相互翻译。当与其他IPv6主机进行通信时,在这台主机内部给对应IPv6主机分配一些IPv4地址,这些地址只在这台主机内部使用。而且,这种分配过程是通过DNS协议自动来完成的。主机可以使用现有的IPv4应用和其他IPv6主机进行通信,使其成为能够既支持IPv4应用又同时支持IPv6应用的双栈主机,从而扩大了双栈主机的应用领域。此外,BIS机制还可以和其他的转换机制共存。 4)BIA:主要针对主机终端,应用与Socket接口 BIA技术在双栈主机的Socket API模块与TCP/IP模块之间加入一个【API翻译器】,它能够在IPv4的Socket API函数和IPv6的Socket API函数间进行互译,这种机制简化了IPv4和IPv6间的转换,无需进行IP头的翻译。 采用BIA的双栈主机假定在本地节点上同时存在TCP/IPv4和TCP/IPv6两种协议栈。当双栈主机上的IPv4应用程序与其他IPv6 主机通信时,API翻译器检测到IPv4应用程序中的Socket API函数,并调用IPv6协议栈的Socket API函数与IPv6主机通信,反之亦然。 3.2、 NAT-PT分类NAT-PT是一种纯IPv6节点和IPv4节点间的互通方式,所有包括地址、协议在内的转换工作都由网络设备来完成。支持NAT-PT的网关路由器应具有IPv4 地址池,在从IPv6向IPv4域中转发包时使用,地址池中的地址是用来转换IPv6 报文中的源地址的。 NAT-PT 协议转换网关又称为NAT-PT翻译网关,一般被配置在边界路由器上,用来连接IPv4 网络和IPv6 网络,负责IPv4 和IPv6 网络地址和协议的翻译工作,实现纯IPv4节点和纯IPv6 节点之间的网络通信。 NAT-PT有可以细分为以下3种: 1)静态NAT-PT: 静态NAT-PT原理简单明了,但由于网关上的配置的IPv6地址与IPv4地址一一对应、一一对应的处理方式,故配置复杂,维护量大,而且需要消耗大量的IPv4地址,类似于IPv4 中的静态NAT。 2)动态NAT-PT: 在动态NAT-PT中,NAT-PT网关向IPv6网络通告一个96位的地址前缀,并结合主机32位IPv4地址作为对IPv4网络中的主机的标识。它使用一个IPv4地址池,然后再IPv6网络中动态的将预定义的NAT-PT前缀加到目前的IPv4地址。这种模式需要一个IPv4 地址池来执行,类似于IPv4 的动态NAT。 3.3、 NAPT-PT(来源网路)NAT 技术存在局限性,当IPv4 地址池的地址使用完后,其他IPv6 节点不能与网络外部的IPv4 节点建立会话连接。因此,提出NAPT(Network Address Port Translation)技术,它允许多个IPv6 节点通过一个IPv4 地址和IPv4 节点进行通信,IPv6 节点的TCP/UDP 端口被转换为合法IPv4 地址的TCP/UDP 端口。NAPT 解决了NAT 无法解决的问题,但该方法只适用于有端口号的协议类型(如TCP,UDP 协议)。它使用多个有NAT-PT前缀的IPv6地址和一个源IPv4地址之间多对一的动态映射,转换同时在3层和UDP/TCP层上进行,和IPv4中的PAT类似。 在具体实现过程中,在边界转换网关上,维护一个存放可分配的IPv4地址、端口对的地址池和一个源IPv6地址、端口与分配的IPv4地址、端口的对应状态表。收到的IPv6数据报,首先检查其目的地址是否为兼容IPv4的IPv6地址,否则丢弃报文。地址映射状态如表1示: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |