ipv6过渡技术.docx

上传人:b****6 文档编号:3326585 上传时间:2022-11-21 格式:DOCX 页数:12 大小:172.25KB
下载 相关 举报
ipv6过渡技术.docx_第1页
第1页 / 共12页
ipv6过渡技术.docx_第2页
第2页 / 共12页
ipv6过渡技术.docx_第3页
第3页 / 共12页
ipv6过渡技术.docx_第4页
第4页 / 共12页
ipv6过渡技术.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

ipv6过渡技术.docx

《ipv6过渡技术.docx》由会员分享,可在线阅读,更多相关《ipv6过渡技术.docx(12页珍藏版)》请在冰豆网上搜索。

ipv6过渡技术.docx

ipv6过渡技术

IPv4到IPv6的过渡技术

1.1引言

由于Internet的规模以及目前网络中数量庞大的IPv4用户和设备,IPv4到v6的过渡不可能一次性实现。

而且,目前许多企业和用户的日常工作越来越依赖于Internet,它们无法容忍在协议过渡过程中出现的问题。

所以IPv4到v6的过渡必须是一个循序渐进的过程,在体验IPv6带来的好处的同时仍能与网络中其余的IPv4用户通信。

能否顺利地实现从IPv4到IPv6的过渡也是IPv6能否取得成功的一个重要因素。

实际上,IPv6在设计的过程中就已经考虑到了IPv4到IPv6的过渡问题,并提供了一些特性使过渡过程简化。

例如,IPv6地址可以使用IPv4兼容地址,自动由IPv4地址产生;也可以在IPv4的网络上构建隧道,连接IPv6孤岛。

目前针对IPv4-v6过渡问题已经提出了许多机制,它们的实现原理和应用环境各有侧重,这一部分里将对IPv4-v6过渡的基本策略和机制做一个系统性的介绍。

在IPv4-v6过渡的过程中,必须遵循如下的原则和目标:

·保证IPv4和IPv6主机之间的互通;

·在更新过程中避免设备之间的依赖性(即某个设备的更新不依赖于其它设备的更新);

·对于网络管理者和终端用户来说,过渡过程易于理解和实现;

·过渡可以逐个进行;

·用户、运营商可以自己决定何时过渡以及如何过渡。

本章就支持IPv4向IPv6过渡的主要技术进行讨论,讨论主要分三个方面:

1、IP层的过渡策略与技术

2、链路层对IPv6的支持

3、IPv6对上层的影响

1.2IP层的过渡策略与技术

对于IPV4向IPV6技术的演进策略,业界提出了许多解决方案。

特别是IETF组织专门成立了一个研究此演变的研究小组NGTRANS,已提交了各种演进策略草案,并力图使之成为标准。

纵观各种演进策略,主流技术大致可分如下几类:

图13IPV4/IPV6演进策略分类

1.2.1双栈策略

实现IPv6结点与IPv4结点互通的最直接的方式是在IPv6结点中加入IPv4协议栈。

具有双协议栈的结点称作“IPv6/v4结点”,这些结点既可以收发IPv4分组,也可以收发IPv6分组。

它们可以使用IPv4与IPv4结点互通,也可以直接使用IPv6与IPv6结点互通。

双栈技术不需要构造隧道,但后文介绍的隧道技术中要用到双栈。

IPv6/v4结点可以只支持手工配置隧道,也可以既支持手工配置也支持自动隧道。

双栈方式的工作过程可以简单描述为:

·若目的地址是一个IPv4地址,则使用IPv4;

·若目的地址是“IPv4兼容”IPv6地址,则将IPv6分组封装在IPv4报文里;

·若目的地址是其它类型的兼容地址,则使用IPv6,有可能要进行封装。

后文在介绍隧道技术时将详细讨论IPv6分组如何封装在IPv4分组里。

双栈方式要考虑的一个主要问题是地址,涉及双栈结点的地址配置和如何通过DNS获取通信对端的地址。

·双栈结点的地址配置

由于双栈结点同时支持IPv4/v6协议,因此必须配置IPv4和IPv6地址。

结点分别使用IPv4机制(如DHCP)获取IPv4地址,使用IPv6协议机制(如无状态自动配置)获取IPv6地址。

结点的IPv4和IPv6地址之间不必有关联,但是对于支持自动隧道的双栈结点,必须配置有与IPv4地址兼容的IPv6地址,地址格式是96为0加IPv4地址。

·通过DNS获取通信对端的地址

用户给应用层提供的只是通信对端的名字而不是地址,这就要求系统中提供名字与地址之间的映射。

无论是在IPv4中还是在IPv6中,这个任务都是由DNS完成的。

对于IPv6地址,定义了新的记录类型“A6”和“AAAA”。

由于IPv4/v6结点要能够直接与IPv4和IPv6结点通信,因此必须提供对IPv4“A”、IPv6“A6/AAAA”类记录的解析库。

但是仅仅有解析库还不够,还必须对返回给应用层的地址类型做出决定。

在查询到IP地址之后,解析库向应用层返回的IP地址可以有三个选择:

·只返回IPv6地址;

·只返回IPv4地址;

·返回IPv6和IPv4地址。

对前两种情况,应用层将分别使用IPv6或IPv4与对端通信;对第三种情况,应用层必须做出选择使用哪个地址,即使用哪个IP协议。

具体选择哪一个地址与应用的环境有关。

双栈技术要求在原有的IPV4节点上开发:

(1)IPV6、ICMPV6和邻居发现等程序;

(2)上层TCP、UDP对IPV6的处理软件;

(3)修改与各种高层应用程序接口的Socket库,以便支持IPV6地址和接口的扩充;

(4)支持IPV6的DNS。

优点:

互通性好,易于理解。

缺点:

每个IPV6节点都需要使用一个内嵌IPV4地址的IPV6地址,这样比较浪费IPV4

地址。

适用情况:

一般适用于V4地址不缺乏的企业或运营商,起临时过渡支持V6网络的作用。

1.2.2隧道技术

在IPV6发展初期,必然有许多局部的纯IPV6网络,这些IPV6网络被IPV4骨干网络隔离开来,为了使这些孤立的“IPV6岛”互通,就采取隧道技术的方式来解决。

利用穿越现存IPV4因特网的隧道技术将许多个“IPV6孤岛”连接起来,逐步扩大IPV6的实现范围,这就是目前国际IPV6试验床6Bone的计划。

工作机理:

在IPV6网络与IPV4网络间的隧道入口处,路由器将IPV6的数据分组封装入IPV4中,IPV4分组的源地址和目的地址分别是隧道入口和出口的IPV4地址。

在隧道的出口处再将IPV6分组取出转发给目的节点。

优点:

隧道技术只要求在隧道的入口和出口处进行修改,对其它部分没有要求,因而非常容易实现。

缺点:

V4网络只不过是V6网络间的构造隧道的外部环境,并不能实现IPV4节点与IPV6节点间的直接通信,只能实现V6与V6间的互通。

隧道技术在实践中有四种具体形式:

构造隧道、自动配置隧道、组播隧道以及6to4。

9.2.2.1构造隧道(ConfiguredTunneling)

构造隧道的IPV6-in-IPV4的隧道目的端IPV4地址是由封装IPV6分组的IPV4节点预先配置的,隧道可以是单向的,也可以是双向的。

双向配置的隧道在实际运行中就像一个虚拟的点到点的连接。

缺点:

由于隧道只能预先配置,因此只能适应于比较稳定,不易变化的网络,且网络规模不能太大。

9.2.2.2自动配置隧道(AutomaticTunneling)

自动配置的IPV6-in-IPV4的隧道目的端IPV4地址是不需要事先配置,使用这种隧道机制的节点必须使用IPV4兼容的IPV6地址作为其目的地址,隧道端口就根据这个IPV4兼容地址直接产生隧道端口的IPV4目的地址,然后建立隧道。

缺点:

IPV6节点在访问目的IPV6节点时,目的节点的V6地址必须是IPV4兼容地址,显然这限制了网络的适用范围。

9.2.2.3组播隧道(MulticastTunneling)

IPV4组播隧道使用的IPV4隧道目的端口IPV4地址是通过邻居发现机制来获得的。

这种隧道配置技术要求IPV4网络支持组播。

9.2.2.46to4

提出6to4的目的是为IPv4网络中的IPv6孤岛提供互通的手段,并且使手工配置隧道的工作两尽量少。

这种方式要求每个IPv6孤岛至少有一个全网唯一的IPv4地址。

6to4的基本思路是,任何一个IPv6孤岛都使用其全网唯一的IPv4地址构造自己的IPv6地址前缀,因此前缀也是全网唯一的。

每个孤岛的出口路由器从IPv6目的地址中提取出隧道末端的IPv4地址,因此隧道的构造过程可以自动进行。

可见6to4的关键是在IPv4地址和IPv6地址之间定义了一种映射,与“IPv4兼容”IPv6地址不同,在6to4中,IPv4到IPv6地址的映射是把IPv4地址作为IPv6地址前缀的一部分。

6to4中的地址构成方法如下图所示:

即2002:

v4ADDR:

:

/48。

我们通过下图中的例子说明6to4的工作过程,图中两个有6to4地址前缀的IPv6网络要通过IPv4网络互通。

图146to4的应用举例

假设主机A要向B发起通信,它首先要向DNS查询B的v6地址,发出v6分组。

分组到达6to4边缘路由器后,边缘路由器从v6分组的源和目的地址中提取出对应于IPv6域A和B的v4地址,将v6分组封装在v4分组中,在v4网络中进行转发,到达IPv6域B的边缘路由器,该路由器对v4分组进行解封装,将提取出的IPv6分组转发给主机B。

可见,在上述过程中,除了DNS和6to4边缘路由器中要添加额外的功能外,对网络中的其它部分没有任何改动。

1.2.3TB(TunnelBroker,隧道代理)

对于独立的v6用户,要通过现有的IPv4网络连接IPv6网络上,必须使用隧道技术。

但是手工配置隧道的扩展性很差,TB的主要目的就是简化隧道的配置,提供自动的配置手段。

对于已经建立起IPv6的ISP来说,使用TB技术为网络用户的扩展提供了一个方便的手段。

从这个意义上说,TB可以看作是一个虚拟的IPv6ISP,它为已经连接到IPv4网络上的用户提供连接到IPv6网络的手段,而连接到IPv4网络上的用户就是TB的客户。

TB的结构如下图所示。

图15TB的结构

·隧道代理:

负责根据用户(双栈结点)的要求建立、更改和拆除隧道。

为了均衡负载,TB可以在多个隧道服务器中选择一个作为TEP。

TB还负责将用户的IPv6地址和名字信息存放到DNS里;

·隧道服务器:

是一个双栈服务器,是连接到IPv6网络上的隧道末端。

它从隧道代理处接收命令,对隧道进行必要的操作。

下面简单介绍TB方式的工作原理。

第1步,双栈结点向TB提供身份和认证信息,因此TB也可以实现接入控制功能;

第2步,双栈结点通过认证之后,向TB提供自己的IPv4地址(即隧道端口的IPv4地址)、名字(用于在DNS里建立IPv6地址与名字之间的对应关系)、类型(主机或路由器),如果双栈结点是一个路由器,还要告诉TB它需要多少IPv6地址,这样TB才有可能分配一个合适的地址前缀;

第3步,TB在收到双栈结点提供的这些信息后,根据一些规则(如负载均衡)选定一个隧道服务器作为隧道的末端;同时为双栈结点分配一个IPv6地址前缀,地址前缀的长度一般为48(对site)、64(对子网)或128(对主机);给隧道分配一个生存时间,将分配的IPv6地址前缀在DNS中进行注册;对隧道服务器进行配置,并且把相关的配置信息(包括DNS名字和隧道参数等)通知双栈主机。

这样就在IPv4的网络上建立起隧道,主机可以通过隧道服务器接入IPv6网络。

1.2.4双栈转换机制(DSTM)

DSTM的目标是实现新的IPv6网络与现有的IPv4网络之间的互通。

使用DSTM,IPv6网络中的双栈结点与一个IPv4网络中的IPv4主机可以互相通信。

DSTM的基本组成部分包括:

·DHCPv6服务器,为IPv6网络中的双栈主机分配一个临时的IPv4全网唯一地址,同时保留这个临时分配的IPv4地址与主机IPv6永久地址之间的映射关系,此外提供IPv6隧道的隧道末端(TEP)信息;

·动态隧道端口DTI:

每个DSTM主机上都有一个IPv4端口,用于将IPv4报文打包到IPv6报文里;

·DSTMDeamon:

与DHCPv6客户端协同工作,实现IPv6地址与IPv4地址之间的解析。

DSTM中各组成部分的示意图如下图所示。

图16DSTM的组成示意图

我们通过下面的工作原理图简单说明DSTM的工作过程。

假设一个DSTM主机要与对端通信,步骤如下:

第1步:

DSTM主机向DNS发出查询信息,要求返回对端的IPv4地址;

第2步:

DNS返回对端的IPv4地址,DNS不要求必须处在DSTM域里;

第3步:

应用层发出的第一个IPv4数据包到达DTI;

第4步:

DSTM主机向DHCPv6服务器发出请求,请求一个临时的IPv4地址;

第5步:

DHCPv6服务器返回一个IPv4地址;

第6步:

DTI将IPv4分组打包,发给DSTM边缘路由器(即TEP);

第7步:

TEP将分组拆包,同时记录IPv4地址与IPv6地址的对应信息;

第8步:

TEP将IPv4分组发给通信对端;

图17DSTM的工作过程

对于从对端发给DSTM主机的IPv4分组,由于在DSTM边缘路由器里已经有IPv4地址和IPv6地址的对应信息,因此DSTM边缘路由器接收到以后,将IPv4分组打包到IPv6分组里,发给DSTM主机。

可见,使用DSTM之后,对于应用层来说是透明的,应用层仍通过IPv4地址工作;对于网络来说也是透明的,DSTM域的网络上只跑IPv6分组,而IPv4网络上只跑IPv4分组。

1.2.5协议转换技术

其主要思想是在V6节点与V4节点的通信时需借助于中间的协议转换服务器,此协议转换服务器的主要功能是把网络层协议头进行V6/V4间的转换,以适应对端的协议类型。

优点:

能有效解决V4节点与V6节点互通的问题。

缺点:

不能支持所有的应用。

这些应用层程序包括:

①应用层协议中如果包含有IP地址、端口等信息的应用程序,如果不将高层报文中的IP地址进行变换,则这些应用程序就无法工作,如FTP、STMP等。

②含有在应用层进行认证、加密的应用程序无法在此协议转换中工作。

9.2.5.1SIIT(StatelessIP/ICMPTranslation)

此技术单独对IP分组和ICMP分组报文进行协议转换,不记录一个流的状态,所以是“无状态”的。

其工作机理如下:

(1)IPV4到IPV6的头标转换

其工作机理如下图所示:

图18IPV4到IPV6的头标转换模型

V4主机A要访问V6主机B,A的V4地址是没有限定的全球V4地址,B的V6地址必须是形如:

:

FFFF:

0:

a.b.c.d的IPV4翻译地址,且低32位是SIIT分配的全球V4地址。

当A发出的访问B的分组到达SIIT时,分组中目的地址是B的低32位地址,SIIT判断出此地址属于其管理的IPV6-Only节点的IPV4地址空间,因此做相应的V4-V6的协议分组头转换,把源地址转换成IPV4的映射地址,目的地址转换成IPV4的翻译地址,再把此IPV6分组传给主机B。

(2)IPV6到IPV4的头标转换

B访问A,发出的分组中源地址是B的翻译地址,目的地址是A的映射地址,当IPV6的分组到达SIIT协议转换器时,SIIT判断出目的地是IPV4的映射地址,就要对该分组进行V6-V4的协议分组头转换,再把转换后的V4分组传给主机A。

(3)SIIT的局限

SIIT技术需要有一个备用的全局IPV4地址池来给与IPV4节点通信的IPV6节点分配IPV4地址,这个备用的全局IPV4地址池不能很大,因为IPV4地址空间优先。

这样,当SIIT中备用的IPV4地址池分配完时,如果有新的IPV6节点需要同IPV4节点通信,就会因为没有剩余的IPV4地址空间而导致SIIT无法进行协议转换,造成通信失败。

显然此技术应用的网络规模不能很大。

同时,SIIT还具有协议转换技术所共有的缺点。

9.2.5.2NAT-PT

NAT-PT是NetworkAddressTraslation-ProtocolTranslation的缩写,它是通过SIIT协议转换技术和IPV4网络中动态地址翻译技术(NAT)相结合的一种技术。

它利用了SIIT技术的工作机制,同时又利用传统的IPV4下的NAT技术来动态地给访问IPV4节点的IPV6节点分配IPV4地址,很好地解决了SIIT技术中备用全局IPV4地址池规模有限的问题。

NAT-PT处于IPv6和IPv4网络的交界处,可以实现IPv6主机与IPv4主机之间的互通。

协议转换的目的是实现IPv4和IPv6协议头之间的转换;地址转换则是为了让IPv6和IPv4网络中的主机能够识别对方,也就是说,IPv4网络中的主机用一个IPv4地址标识IPv6网络中的一个主机,反过来,IPv6网络中的主机用一个IPv6地址标识IPv4网络中的一个主机。

当一台IPv4主机要与IPv6对端通信时,NAT-PT从IPv4地址池中分配一个IPv4池地址标识IPv6对端。

在IPv4与IPv6主机通信的全过程中,由NAT-PT负责处理IPv4池地址与IPv6主机之间的映射关系。

在NAT-PT中可以选择使用ALG(ApplicationLevelGateway,应用层网关),因为NAT-PT只能对IP头中的地址进行转换,而有些应用在净荷中包含有IP地址,此时只能通过ALG对分组净荷中的IP地址进行格式转换。

我们通过下图的实例说明NAT-PT的工作过程。

图19NAT-PT应用举例

主机B要与A通信,首先要向v6网络中的DNS发出请求对A进行名字解析,这个请求在途径NAT-PT时,NAT-PT上的DNS-ALG对其内容进行修改,把“A”类型请求转换成“AAAA”或“A6”类,转发给IPv6网络内的DNS。

DNS返回的应答中包含的是A的v6地址,这个应答在途径NAT-PT时,又被DNS-ALG修改,把“AAAA”或“A6”类转成“A”类,同时从IPv4地址池中分配一个地址,替换应答中的IPv6地址,并记录地址池地址与IPv6地址之间的映射信息。

主机B在收到DNS应答之后,就可以以正常的方式进行通信。

数据分组在经过NAT-PT时,NAT-PT对分组头信息进行修改,由于在NAT-PT中已经记录了v4地址池地址与IPv6地址之间的映射信息,因此可以按照原有记录的信息对地址进行转换。

对于主机B如何在IPv6网络中进行标识的问题,采用的方法是,NAT-PT向IPv6网络中广播一个96位的地址前缀,用96位地址前缀加上32位主机IPv4地址作为对v4网络中主机的标识。

从IPv6网络中的主机发给IPv4网络中的分组,其目的地址前缀与NAT-PT发布的地址前缀相同,这些分组都被路由到NAT-PT处,由NAT-PT对分组头进行修改,替换源和信宿地址,向主机B转发。

优点:

解决了SIIT技术中备用全局IPV4地址池分配地址不足的问题。

缺点:

①带来了传统IPV4采用NAT技术所具有的缺陷:

那就是只能由IPV6节点访问IPV4节点,反之,则不能;②同时具有协议转换技术所共有的缺陷。

1.2.6SOCKS64

下图是SOCKS网关机制的示意图

图20SOCKS64工作机制示意图

在图中,客户端C向目的端D发起连接,通过两个新增的功能块实现SOCKS网关机制。

一个是在客户端里引入SOCKS库,这个过程称为“socks化”(socksifying),它处在应用层和socket之间,对应用层的socketAPI和DNS名字解析API进行替换;

另一个是SOCKS网关,它安装在IPv6/v4双栈结点上,是一个增强型的SOCKS服务器,能实现客户端C和目的端D之间任何协议组合的中继。

当C上的SOCKS库发起一个请求后,由网关产生一个相应的线程负责对连接进行中继。

SOCKS库与网关之间通过SOCKS(SOCKSv5)协议通信,因此它们之间的连接是“SOCKS化”的连接,不仅包括业务数据也包括控制信息;而G和D之间的连接未作改动,属于正常连接。

D上的应用程序并不知道C的存在,它认为通信对端是G。

SOCKS网关机制的关键是名字解析的实现。

由于通信双方的地址格式不同,因此在名字解析的过程中必须进行一些处理。

SOCKS网关机制中使用了DNS名字解析代理的方法。

仍以图中的情况为例,具体操作过程如下:

·C上的应用程序要获得D的IP地址(IPvX),调用名字解析函数,其中包含D的名字信息;

·但是真正的DNS解析并不在这个时候完成,只是把名字信息记录在SOCKS库的映射表里,之后选择一个“伪”IPvX地址返回给应用层,这个伪地址信息也记录在映射表里;

·应用层用收到的伪地址信息作为对端地址调用API开始通信;

·SOCKS库检查地址信息,看它是否属于伪地址,若属于,则从映射表里查找出对应的名字信息;

·名字信息通过SOCKSAPI发送给SOCKS网关;

·网关调用API进行真正的DNS解析,得到对端的IPvY地址;

·网关使用得到的IP地址,调用API与对端通信。

通过上面的描述可以发现,应用层无须改动,由SOCKET库将应用层发出的socket调用改为由SOCKS客户主机向SOCKS服务器发出的socket调用。

SOCKS64机制的一个限制是连接必须由内部发起,因此是单向的。

SOCKS64网关是一个双栈主机,它可以同时和IPV4或IPV6节点进行通信,SOCKS64的客户只与SOCKS64网关直接通信,与IPV4或IPV6节点的通信实际上由SOCKS64网关来完成。

优点:

这种机制不需要修改DNS或者地址映射,可满足IPV4与IPV6节点的互操作。

缺点:

由于所有互操作都靠SOCKS64双栈代理服务器来转发完成,SOCKS64代理服务器相当于高层软件网关,实现的代价很大,并需要在客户端支持SOCKS代理的软件,对于用户来讲不是透明的,只能作为临时性的过渡技术。

1.2.7传输层中继(TransportRelay)

与SOCKS64的工作机理相似,只不过是在传输层中继器进行传输层的“协议翻译”,而SOCKS64是在网络层进行协议翻译。

它相对于SOCKS64,可以避免“IP分组分片”和“ICMP报文转换”带来的问题,因为每个连接都是真正的IPV4或IPV6连接。

但同样无法解决网络应用程序数据中含有网络地址信息所带来的地址无法转换的问题。

1.2.8应用层代理网关(ALG)

ALG是ApplicationLevelGateway的简称,与SOCKS64、传输层中继等技术一样,都是在V4与V6间提供一个双栈网关,提供“协议翻译”的功能,只不过ALG是在应用层级进行协议翻译。

这样可以有效解决应用程序中带有网络地址的问题,但ALG必须针对每个业务编写单独的ALG代理,同时还需要客户端应用也在不同程序上支持ALG代理,灵活性很差。

显然,此技术必须与其它过渡技术综合使用,才有推广意义。

1.2.9过渡策略总结

双栈、隧道是主流

所有的过渡技术都是基于双栈实现的

不同的过渡策略各有优劣、应用环境不同

网络的演进过程中将是多种过渡技术的综合

根据运营商具体的网络情况进行分析

由不同的组织或个人提出的IPV4向IPV6平滑过渡策略技术很多,它们都各有自己的优势和缺陷。

因此,最好的解决方案是综合其中的几种过渡技术,取长补短,同时,兼顾各运营商具体的网络设施情况,并考虑成本的因素,为运营商设计一套适合于他自己发展的平滑过渡解决方案。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1