基于IPv4网络的IPv6隧道技术的分析与研究*

2012-03-06 02:20赵开新
河南工学院学报 2012年2期
关键词:路由器报文数据包

赵开新,孙 波

(河南机电高等专科学校计算机科学与技术系,河南新乡 453000)

1 概述

IPv6协议解决了IPv4协议中地址枯竭、骨干路由器路由表庞大、地址配置与使用不方便、安全性不足等问题,从IPv4完全过渡到IPv6不是短期能实现的。目前解决过渡问题的基本技术主要有3种:双协议栈技术、NAT/PT(Network Address Translation-Protocol Translation)技术、隧道技术。双协议栈在网络节点上同时启用IPv4和IPv6两种协议栈,使之能够同时支持两种协议的通信。双协议栈互通性好,易于理解,但是需要给每个网络设备和终端分配IPv4地址,主要和其他技术结合使用。NAT/PT是指带协议转换功能的网络地址转换器,通过修改协议报文头来转换网络地址,实现IPv4节点IPv6节点互访,但网络设备进行协议、地址转换的处理开销较大,实现技术比较复杂。隧道技术可以通过现有的运行IPv4协议的骨干网络作为隧道将IPv6网络的孤岛连接起来,因而是IPv4向IPv6过渡的初期最易于采用的技术。

2 隧道技术

2.1 隧道技术基本原理

隧道的实质就是将一种协议报文封装在另一种协议报文中,如图1所示,利用隧道技术将IPv6报文封装在IPv4报文中进行传输,用以穿越IPv4网络,具体实现情况主要有以下两点:

1)IPv6的数据包在路由器RA上被路由至隧道,在隧道的入口对IPv6的报文进行IPv4报头的封装。

2)在隧道的出口RB收到封装好的IPv6 in IPv4报文,先判断报文是否经过分段,如果是,就对数据包进行重组,然后去掉IPv4报头,更新IPv6报头后查IPv6路由发送至相应接口;如果没有分段,直接去掉隧道封装的IPv4报头,进行相应的IPv6报文处理。即完成了隧道报文的解封装和IPv6报文的路由发送[1]。

图1 隧道技术

2.2 隧道的配置

隧道可分为手工配置型隧道和自动型隧道两种。手工配置隧道是由隧道端点所在网络的管理员手工配置建立,隧道的端点地址由配置来决定,不需要为站点分配特殊的IPv6地址,适合用于经常通信的IPv6节点之间,其主要缺点是网络管理员配置工作复杂、维护难度大,手动配置隧道主要有GRE隧道,非兼容IPv4的IPv6地址隧道。自动配置隧道的建立和拆除是动态的,它的端点根据分组的目的地址确定,适用于单独的主机之间或不经常通信的站点之间。自动隧道通常有IPv4兼容IPv6自动隧道、6to4、ISATAP 等几种方式[2]。

3 主要的隧道技术

3.1 GRE 隧道

3.1.1 GRE 隧道的工作原理

GRE(Generic Routing Encapsualation)隧道是两个节点之间的链路,每条链路都是一条单独的隧道,隧道把IPv6作为载荷协议,把GRE作为承载协议,先通过GRE头部封装IPv6报文,然后用IPv4报头封装GRE封装后的IPv6报文。IPv6地址配置在Tunnel接口上,Tunnel口的源和目的地址是IPv4地址,并且隧道的所有地址都需要手工配置。

3.1.2 GRE隧道的特点和应用

GRE隧道是基于成熟的GRE技术来封装报文,其通用性好,易于理解,但GRE隧道是一种手工配置型隧道,如果网络中站点数量多,则管理员配置和维护工作量比较大。一般用于站点固定、站点间传输数据量大,站点比较少的网络中。

3.2 IPv4兼容IPv6自动隧道

3.2.1 IPv4兼容IPv6自动隧道的工作原理

在IPv4兼容IPv6的自动隧道中,只需要设置隧道的起点地址,隧道的终点地址通过报文的IPv4兼容IPv6地址自动生成,使用IPv4兼容IPv6隧道时,IPv6报文的目的地址和隧道接口的IPv6地址都要采用特殊的地址,格式为:::IPv4ADDR。通过这个嵌入的IPv4地址就可以自动建立隧道,完成IPv6报文的传送。

3.2.2 IPv4兼容IPv6自动隧道的特点和应用

IPv4兼容IPv6自动隧道是随报文建立的隧道,无论和多少个对端设备建立隧道,本端只需要有一个隧道接口就可以了,路由器的配置维护比较简单,但它的局限性是要求IPv6地址必须是特殊的IPv4兼容IPv6地址,并且由于IPv6地址中前缀只能是0,实际上所有节点处于一个IPv6网络中,因此只能用于节点本身之间的通信。

3.3 6to4 隧道

3.3.1 6to4 隧道的工作原理

6to4隧道和IPv4兼容IPv6隧道类似,是点到多点的自动隧道,主要用于将多个IPv6孤岛通过IPv4网络连接到IPv6网络,并且使用一种特殊的6to4地址。6to4隧道通过IPv6报文的目的地址中嵌入IPv4地址,来自动获取隧道的终点地址。6to4地址以2002开头,后面跟着32位的IPv4地址转化的32位16进制表示,构成一个 48位的 6to4前缀 002:IPv4ADDR::/48,除了64位的接口 ID,还有中间16位可以进行划分子网,这样就避免了IPv4兼容IPv6隧道中所有节点处于同一IPv6网络中[3]。

3.3.2 6to4 隧道的特点和应用

6to4隧道具有自动隧道维护方便的优点,同时又克服IPv4兼容IPv6自动隧道不能连接IPv6网络的缺陷,它的缺点是必须使用规定的6to4地址。6to4隧道主要用于解决孤立的IPv6站点、IPv6子网,在没有Internet提供商提供IPv6服务的情况下与其他孤立的IPv6站点、IPv6主干网内部站点之间的通信问题。

3.4 ISATAP 隧道

3.4.1 ISATAP 隧道的工作原理

ISATAP(Intra-Site Automatic Tunnel Addressing Protocol)不但是一种自动隧道技术,同时还可以进行地址自动配置。ISATAP隧道是点到点的自动隧道技术,通过在IPv6报文的目的地址中嵌入的IPv4地址,可以自动获取隧道的终点。ISATAP地址格式为:::0:5EFE:IPv4ADDR。通过这个嵌入的IPv4地址就可以自动建立隧道,完成IPv6报文的传送。

3.4.2 ISATAP 隧道的特点和应用

ISATAP隧道的特点是把IPv4网络看做一个下层链路,IPv6的ND(Neighbor discover)协议通过IPv4网络进行承载,从而实现跨IPv4网络设备的IPv6地址自动配置。分散在IPv4网络中的各个双栈主机能够通过ISATAP技术自动获得全局的IPv6地址并连接起来。另外,ISATAP主机可以生成Link-local ISATAP地址,这些主机也可以使用Link-local ISATAP地址直接通信。ISATAP隧道适用于在IPv4网络中的IPv6主机之间的通信或IPv4网络中IPv6主机接入到IPv6网络的通信。

3.5 各种隧道过渡技术特点比较

目前隧道的过渡技术比较多,上面分析过的各种过渡技术的特点比较,如表1所示。

4 6to4隧道配置实例

如图2所示,路由器R1,R2和R3通过如图所示端口相连,路由器R1和R2分别通过F0/0端口连接主机pc1和pc2,pc1和pc2所在的网络为IPv6的网络,路由器之间互连的网络为IPv4的网络,设备中各个端口IP地址如图所示。通过6to4技术,来实现IPv6网络中的主机pc1和pc2通过IPv4的网络进行通信。

?

设备的主要配置

R1

interface fastethernet 0/0

ipv6 address 2002:0101:0101:1::1 64//配置F0/0口IPv6地址

interface tunnel 1

ipv6 address 2002:0101:0101:2::1 64//配置tunnel 1口IPv6地址

tunnel-protocol ipv6-ipv4 6to4//配置6to4封装模式

source s0/0//指定6to4封装包的源接口地址

ip address 1.1.1.1 24

ipv6 route-static 2002::16 Tunnel 1//到pc2所在网段的数据路由到tunnel 1口进行封装

R3

interface fastethernet 0/0

ipv6 address 2002:0202:0202:1::1 64//配置F0/0口IPv6地址

interface tunnel 1

ipv6 address 2002:0202:0202:2::1 64//配置tunnel 1口IPv6地址

tunnel-protocol ipv6-ipv4 6to4//配置6to4封装模式

source s0/1//指定6to4封装包的源接口地址

ip address 2.2.2.2 24

ipv6 route-static 2002::16 Tunnel 1//到 pc1所在网段的数据路由到tunnel 1口进行封装

由于R2只进行IPv4的配置,相对比较简单,这里不再给出配置,另外在三台路由器上还要启用动态路由协议,以保证IPv4的数据包能被正常转发。当pc1向pc2转发数据包时,首先到达路由器R1,通过路由查找,把数据包发到tunnel 1口,然后把IPv6的数据包封装到IPv4的数据包中,封装后的数据包被转发到R3,查找路由后应该在R3上解封装,形成IPv6的数据包,转发到主机pc2。

5 结束语

目前所有的过渡技术都不是普遍适用的,每一种技术都适用于某种或几种特定的网络,而且常常需要与其他技术组合适用,所以在实际应用时需要综合考虑各种实际情况来制定合适的过渡策略。

(责任编辑吕春红)

[1]杭州华三通信技术有限公司.H3C网络学院路由交换第3卷[M].杭州:杭州华三通信技术有限公司,2011.

[2]杭州华三通信技术有限公司.IPv6技术[M].北京:清华大学出版社,2010.

[3]王相林.IPv6核心技术[M].北京:科学出版社,2009.

猜你喜欢
路由器报文数据包
基于J1939 协议多包报文的时序研究及应用
买千兆路由器看接口参数
维持生命
路由器每天都要关
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
SmartSniff
无线路由器的保养方法
ATS与列车通信报文分析
视觉注意的数据包优先级排序策略研究