HuaweiSymantec之IPv6 over IPv4隧道

1. IPv6 over IPv4隧道原理

IPv6 over IPv4隧道机制是将IPv6数据报文前封装上IPv4的报文头,通过隧道(Tunnel)使IPv6报文穿越IPv4网络,实现隔离的IPv6网络的互通,如图1-1所示。
  注意:
IPv6 over IPv4隧道两端的设备必须支持IPv4/IPv6双协议栈。
 
1 IPv6 over IPv4隧道原理图
IPv6 over IPv4隧道对报文的处理过程如下:
l              IPv6网络中的设备发送IPv6报文,到达隧道的源端设备。
l              隧道的源端设备根据路由表判定该报文要通过隧道进行转发,将会在IPv6报文前封装上IPv4的报文头,通过隧道的实际物理接口将报文转发出去。
l              封装报文通过隧道到达隧道目的端设备,目的端设备判断该封装报文的目的地是本设备后,将对报文进行解封装。
l              目的端设备根据解封装后的IPv6报文的目的地址将报文进行转发;如果目的地就是本设备,则将IPv6报文转给上层协议处理。

2. 配置隧道和自动隧道

IPv6 over IPv4隧道可以建立在主机-主机、主机-设备、设备-主机、设备-设备之间。隧道的终点可能是IPv6报文的最终目的地,也可能需要进一步转发。
根据隧道终点的IPv4地址的获取方式不同,隧道分为“配置隧道”及“自动隧道”。
l              如果隧道的终点不是IPv6报文的最终目的地,当IPv6报文通过隧道到达隧道终点后,隧道终点设备(通常为路由器)会对封装的IPv6报文进行解封装,并转发IPv6报文到最终目的地。在这种情况下,不能从IPv6报文的目的地址中自动获取到隧道终点的IPv4地址,需要进行手工配置。这样的隧道即为“配置隧道”。
l              如果隧道的终点就是IPv6报文的最终目的地,则可以采用内嵌IPv4地址的特殊IPv6地址形式,实现从IPv6报文的目的地址中自动获取隧道终点的IPv4地址。这样的隧道即为“自动隧道”。

3. IPv6 over IPv4隧道模式

根据对IPv6报文的封装方式的不同,IPv6 over IPv4隧道分为以下几种模式:
l              IPv6手动隧道
l              IPv4兼容IPv6自动隧道
l              6to4隧道
l              ISATAPIntra-Site Automatic Tunnel Addressing Protocol,站点内自动隧道寻址协议)隧道
l              IPv6-over-IPv4 GREGeneric Routing Encapsulation,通用路由封装)隧道(简称GRE隧道)
在上面列出的隧道模式中,IPv6手动隧道及GRE隧道为配置隧道;IPv4兼容IPv6自动隧道、6to4隧道及ISATAP隧道为自动隧道。
(1)        IPv6手动隧道
手动隧道是点到点之间的链路,一条链路就是一个单独的隧道。主要用于边缘路由器-边缘路由器或主机-边缘路由器之间定期安全通信的稳定连接,可实现与远端IPv6网络的连接。
(2)        IPv4兼容IPv6自动隧道
IPv4兼容IPv6自动隧道是点到多点的链路。隧道两端采用特殊的IPv6地址:IPv4兼容IPv6地址,其格式为:0:0:0:0:0:0:a.b.c.d/96,其中a.b.c.dIPv4地址。通过这个嵌入的IPv4地址可以自动确定隧道的终点,使IPv6隧道的建立非常方便。但由于它必须使用IPv4兼容IPv6地址,仍依赖于IPv4地址,在使用时有一定的局限性。
(3)        6to4隧道
l              普通6to4隧道
6to4隧道是点到多点的自动隧道,主要用于将多个IPv6孤岛通过IPv4网络连接到IPv6网络。6to4隧道通过IPv6报文的目的地址中嵌入的IPv4地址,可以自动获取隧道的终点。6to4隧道采用特殊的地址:6to4地址,其格式为:2002:abcd:efgh:子网号::接口ID/64,其中2002表示固定的IPv6地址前缀,abcd:efgh表示该6to4隧道对应的32IPv4源地址,用16进制表示(如1.1.1.1可以表示为0101:0101)。通过这个嵌入的IPv4地址可以自动确定隧道的终点,使隧道的建立非常方便。
由于6to4地址的64位地址前缀中的16位子网号可以由用户自定义,前缀中的前48位已由固定数值、隧道起点或终点设备的IPv4地址确定,使IPv6报文通过隧道进行转发成为可能。6to4隧道可以实现IPv6网络的互连,克服了IPv4兼容IPv6自动隧道使用的局限性。
l              6to4中继
6to4隧道只能将前缀为2002::/16的网络连接起来,但在IPv6网络中也会使用像2001::/16这样的IPv6网络地址。为了使这些地址可达,必须有一台6to4路由器作为网关转发到IPv6网络的报文,这台路由器就叫做6to4中继(6to4 relay)路由器。如下图所示,6to4网络的边缘路由器Router A需配置一条静态路由,下一跳地址指向6to4中继路由器Router C6to4地址,这样,所有去往IPv6网络的报文都会被转发到6to4中继路由器,之后再由6to4中继路由器转发到IPv6网络中,从而实现6to4网络(地址前缀以2002开始)与IPv6网络的互通。
2 6to4隧道和6to4中继原理图
(4)        ISATAP隧道
随着IPv6技术的推广,现有的IPv4网络中将会出现越来越多的IPv6主机,ISATAP隧道技术为这种应用提供了一个较好的解决方案。ISATAP隧道是点到点的自动隧道技术,通过在IPv6报文的目的地址中嵌入的IPv4地址,可以自动获取隧道的终点。使用ISATAP隧道时,IPv6报文的目的地址和隧道接口的IPv6地址都要采用特殊的地址:ISATAP地址。ISATAP地址格式为:Prefix(64bit):0:5EFE:ip-addressip-address形式为a.b.c.d 或者abcd:efgh,其中abcd:efgh表示32IPv4源地址。通过这个嵌入的IPv4地址就可以自动建立隧道,完成IPv6报文的传送。ISATAP隧道主要用于在IPv4网络中IPv6路由器-IPv6路由器、IPv6主机-IPv6路由器的连接。
3 ISATAP隧道原理图
(5)        GRE隧道
使用标准的GRE协议可对IPv6报文进行封装,使IPv6报文能通过隧道穿越IPv4网络。与IPv6手动隧道相同,GRE隧道也是点到点之间的链路,每条链路都是一条单独的隧道。GRE隧道主要用于边缘路由器-边缘路由器、主机-边缘路由器定期安全通信的稳定连接。相关配置请参见“×××分册”中的“GRE配置”。

4. 快速终结

对于到达本机的隧道报文,如果报文的源IP地址与快速终结子网地址匹配,则将此隧道报文送到IPv6引擎进行转发或者上送CPU的处理。
如果是需要转发的报文,则由IPv6引擎去掉隧道报文的IP封装,取得原始入隧道IPv6报文后直接进行转发。
快速终结功能支持的隧道类型为IPv6 over IPv4隧道,分为以下两种情况:
l              对于配置隧道(如GRE over IPv4隧道、IPv6手动隧道),当使能快速终结后,系统自动将隧道目的地址作为快速终结子网地址,掩码为255.255.255.255,因此没有用于指定快速终结子网和掩码的命令expediting subnet
l              对于自动隧道(如IPv4兼容IPv6自动隧道、6to4隧道、ISATAP隧道),在配置了expediting enable命令后,需要配置expediting subnet命令指定快速终结子网和掩码。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章