IPV6过渡技术

概述:

现今 IP 网络仍然是以 IPv4 为主体,IPv6 网络只是得到小范围的部署和商用,因此必然会在很长的一个时期内,IPv4 及 IPv6 网络必然会有共存的场景,那就需要考虑 V4V6 并存的策略和技术。
同时从 IPv4 过渡到 IPv6 不可能一气呵成,这是一个综合政治、经济、商业、技术、方法、策略等各种因素的问题,因此 IPv4 到 IPv6 的过渡需要一个漫长的过程。在这个过程中,就不得不考虑过渡的策略和方法。以下是三种常见的共存策略和过渡技术:

  1. 双栈技术(大前提,之后的技术都是在这个基础上运作的)
    所谓的双栈就是主机或者网络设备同时支持 IPv4 及 IPv6 双协议栈,如果节点支持双栈,那么它能够同时使用 V4 和 V6 的协议栈、同时处理 IPv4 及 IPv6的数据。在双栈设备上,上层应用会优先选择 IPv6 协议栈,而不是 IPv4。

  2. IPv6 over IPv4隧道和IPv4 over IPv6隧道
    • IPv6 over IPv4过渡初期使用
    通过隧道技术,使IPv6报文在IPv4网络中传输。
    手动隧道包括IPv6 over IPv4手动隧道和IPv6 over IPv4 GRE隧道。
    自动隧道包括IPv4兼容IPv6自动隧道、6to4隧道和ISATAP隧道。
    • IPv4 over IPv6过渡后期使用
    通过隧道技术,使IPv4报文在IPv6网络中传输。

  3. NAT64
    NAT64 技术实际上是一种协议转换技术,能够将分组在 V4 及 V6 格式之间灵活转换。当 IPv4 网络的节点需要直接与 IPv6 网络的节点进行通信时,默认情况下当然是行不通的,因为两个协议栈无法兼容。但是借助一台设备,由该设备来实现 IPv6 与 IPv4 的互转,那么上述通信需求就可以实现了。
    在这里插入图片描述

双栈技术:

在这里插入图片描述
双栈技术是IPv4向IPv6过渡的一种有效的技术。网络中的节点同时支持IPv4和IPv6协议栈,源节点根据目的节点的不同选用不同的协议栈,而网络设备根据报文的协议类型选择不同的协议栈进行处理和转发。双栈可以在一个单一的设备上实现,也可以是一个双栈骨干网。对于双栈骨干网,其中的所有设备必须同时支持IPv4/IPv6协议栈,连接双栈网络的接口必须同时配置IPv4地址和IPv6地址。

拓扑描述:
主机向DNS服务器发送DNS请求报文,请求域名www.huawei.com对应的IP地址。DNS服务器将回复该域名对应的IP地址。如图所示,该IP地址可能是10.1.1.1或3ffe:yyyy::1。主机系统发送A类查询,则向DNS服务器请求对应的IPv4地址;系统发送AAAA查询,则向DNS服务器请求对应的IPv6地址。

图中R1支持双协议栈功能。如果主机访问IPv4地址为10.1.1.1的网络服务器,则可以通过R1的IPv4协议栈访问目标节点。如果主机访问IPv6地址为3ffe:yyyy::1的网络服务器,则可以通过R1的IPv6协议栈访问目标节点。

隧道技术:

一、IPv6 over IPv4隧道:
在这里插入图片描述
原理描述:
边界路由设备启动IPv4/IPv6双协议栈,并配置IPv6 over IPv4隧道。边界路由设备在收到从IPv6网络侧发来的报文后,如果报文的目的地址不是自身且下一跳出接口为Tunnel接口,就要把收到的IPv6报文作为数据部分,加上IPv4报文头,封装成IPv4报文。在IPv4网络中,封装后的报文被传递到对端的边界路由设备。对端边界路由设备对报文解封装,去掉IPv4报文头,然后将解封装后的IPv6报文发送到IPv6网络中。

IPv6 over IPv4隧道的起点的IPv4地址必须为手工配置,而终点的确定有手工配置和自动获取两种方式。根据隧道终点的IPv4地址的获取方式不同可以将IPv6 over IPv4隧道分为手动隧道和自动隧道:

  1. 手动隧道:手动隧道即边界设备不能自动获得隧道终点的IPv4地址,需要手工配置隧道终点的IPv4地址,报文才能正确发送至隧道终点。
  2. 自动隧道:自动隧道即边界设备可以自动获得隧道终点的IPv4地址,所以不需要手工配置终点的IPv4地址,一般的做法是隧道的两个接口的IPv6地址采用内嵌IPv4地址的特殊IPv6地址形式,这样路由设备可以从IPv6报文中的目的IPv6地址中提取出IPv4地址。其中ISATAP隧道是基于软件的,使用环境在PC与PC之间或者PC与网络设备之间。

手动隧道:
包括IPv6 over IPv4隧道和gre隧道,这两种隧道的差别就是一个GRE隧道中被封装的协议可以是协议中允许的任意协议(可以是IPv4、IPv6、OSI、MPLS等)而普通的IPV6 over IPV4隧道只能在IPV4和IPV6之间运行。还有一个差别是gre隧道在乘客和承载协议之间有一个gre报头进行过渡。

1.IPV6 over IPv4隧道:
在这里插入图片描述

2.gre隧道:
在这里插入图片描述
手动隧道优缺点:
优点:可以用于任何IPv6穿越IPv4的环境,通用性好。
缺点:必须手工配置。

自动隧道:(不用设置目的地址)
自动隧道主要是IPv4兼容IPv6隧道,6to4隧道(6to4中继隧道)和ISATAP隧道。

理念:将目的IPv4地址嵌套在IPv6地址中(不同隧道嵌套的位置不一样),然后发送数据包时通过对应的嵌套IPv4发送给对应的设备。

1.IPv4兼容IPv6隧道(了解即可):
在这里插入图片描述
IPv4兼容IPv6自动隧道,其承载的IPv6报文的目的地址(即自动隧道所使用的特殊地址)是IPv4兼容IPv6地址。IPv4兼容IPv6地址的前96位全部为0,后32位为IPv4地址。

IPv4兼容IPv6缺点:
由于IPv4兼容IPv6隧道要求每一个主机都要有一个合法的IPv4地址,而且通讯的主机要支持双栈、支持IPv4兼容IPv6隧道,不适合大面积部署。目前该技术已经被6to4隧道所代替。

转发过程:
需要经过R1发给R2的IPv6报文到达R1后,以目的地址::2.1.1.1查找IPv6路由,发现路由的下一跳为虚拟的Tunnel口。由于R1上的配置的隧道的类型是IPv4兼容IPv6自动隧道。于是R1对IPv6报文进行了封装。封装的时候,IPv6报文被封装为IPv4报文,IPv4报文中的源地址为隧道的起始点地址1.1.1.1,而目IP地址直接从IPv4兼容IPv6地址::2.1.1.1的后32位拷贝过来即2.1.1.1。这个报文被路由器从隧道口发出后,在IPv4的网络中被路由转发到目的地2.1.1.1,也就是R2。R2收到报文后,进行解封装,把其中的IPv6报文取出,送给IPv6协议栈进行处理。R2返回R1的报文也是按照这个过程来进行的。

2.6to4隧道:
在这里插入图片描述
6to4隧道也属于一种自动隧道,隧道也是使用内嵌在IPv6地址中的IPv4地址建立的。与IPv4兼容自动隧道不同,6to4自动隧道支持Router到Router、Host到Router、Router到Host、 Host到Host。(可以看出使用范围广)

地址格式:

  1. FP:可聚合全球单播地址的格式前缀(Format Prefix),其值为001。
  2. TLA:顶级聚合标识符(Top Level Aggregator),其值为0x0002。
  3. SLA:站点级聚合标识符(Site Level Aggregator)。

6to4地址可以表示为2002::/16,而一个6to4网络可以表示为2002:IPv4地址::/48。6to4地址的网络前缀长度为64bit,其中前48bit(2002: a.b.c.d)被分配给路由器上的IPv4地址决定了,用户不能改变,而后16位(SLA)是由用户自己定义的。

多个分区可以通过一个6to4隧道互相连接,方便使用:
在这里插入图片描述
6to4隧道还能进行中继:
在这里插入图片描述
普通IPv6网络需要与6to4网络通过IPv4网络互通,这可以通过6to4中继路由器方式实现。所谓6to4中继,就是通过6to4隧道转发的IPv6报文的目的地址不是6to4地址,但转发的下一跳是6to4地址,该下一跳为路由器我们称之为6to4中继。隧道的IPv4目的地址依然从下一跳的6to4地址中获得。

如果6to4网络2中的主机要与IPv6网络互通,在其边界路由器上配置路由指向的下一跳为6to4中继路由器的6to4地址(6to4网络之间只需要指明对应的出接口为tunnel接口即可),中继路由器的6to4地址是与中继路由器的6to4隧道的源地址相匹配的。6to4网络2中去往普通IPv6网络的报文都会按照路由表指示的下一跳发送到6to4中继路由器。6to4中继路由器再将此报文转发到纯IPv6网络中去。当报文返回时,6to4中继路由器根据返回报文的目的地址(为6to4地址)进行IPv4报文头封装,数据就能够顺利到达6to4网络中了。

3.ISATAP隧道:
在这里插入图片描述
ISATAP(Intra-Site Automatic Tunnel Addressing Protocol)是另外一种自动隧道技术。ISATAP隧道同样使用了内嵌IPv4地址的特殊IPv6地址形式,只是和6to4不同的是,6to4是使用IPv4地址做为网络前缀,而ISATAP用IPv4地址做为接口标识。

地址描述:
如果IPv4地址是全局唯一的,则u位为1,否则u位为0。g位是IEEE 群体/个体标志。由于ISATAP是通过接口标识来表现的,所以,ISATAP地址有全局单播地址、链路本地地址、ULA地址、组播地址等形式。ISATAP地址的前64位是通过向ISATAP路由器发送请求来得到的,它可以进行地址自动配置。在ISATAP隧道的两端设备之间可以运行ND协议。ISATAP隧道将IPv4网络看作一个非广播的点到多点的链路(NBMA)。
转发过程描述:

在IPv4网络内部有两个双栈主机PC2和PC3,它们分别有一个私网IPv4地址。要使其具有ISATAP功能,需要进行如下操作:

  1. 首先配置ISATAP隧道接口,这时会根据IPv4地址生成ISATAP类型的接口ID。
  2. 根据接口ID生成一个ISATAP链路本地IPv6地址,生成链路本地地址以后,主机就有了在本地链路上进行IPv6通信的能力。
  3. 进行自动配置,主机获得IPv6全球单播地址、ULA地址等。
  4. 当主机与其它IPv6主机进行通讯时,从隧道接口转发,将从报文的下一跳IPv6地址中取出IPv4地址作为IPv4封装的目的地址。如果目的主机在本站点内,则下一跳就是目的主机本身,如果目的主机不在本站点内,则下一跳为ISATAP路由器的地址。

二、IPv4 over IPv6隧道(对应技术较少,是IPV6后期时的技术)
在这里插入图片描述
在IPv4 Internet向IPv6 Internet过渡后期,IPv6网络被大量部署后,而IPv4网络只是散布在世界各地的一些孤岛。利用隧道技术可以在IPv6网络上创建隧道,从而实现IPv4孤岛的互联,IPv4孤岛能通过IPv6公网访问其他IPv4网络。

转发过程描述:

  1. 边界路由设备启动IPv4/IPv6双协议栈,并配置IPv4 over IPv6隧道。
  2. 边界路由设备在收到从IPv4网络侧发来的报文后,如果报文的目的地址不是自身,就要把收到的IPv4报文作为负载,加上IPv6报文头,封装到IPv6报文里。
  3. 在IPv6网络中,封装后的报文被传递到对端的边界路由设备。
  4. 对端边界路由设备对报文解封装,去掉IPv6报文头,然后将解封装后的IPv4报文发送到IPv4网络。

参考资料:HCIE培训文档

猜你喜欢

转载自blog.csdn.net/tushanpeipei/article/details/113108099