IPv6与IPv4的通信方式有很多种,不过都是基于隧道技术的。在前面的文章中,我们已经说过不少有关于IPv6与IPv4的隧道技术了。现在在这里我们不多介绍,主要是对两者的通信方式做一个简洁的归纳。现在就请大家参考下面的文章吧。
IPv6与IPv4的通信方式(1):手工配置隧道 ( Configured Tunnel, RFC2893 )
这种隧道的建立是手工配置的,需要隧道两个端点所在网络的管理员协作完成。隧道的端点地址由配置来决定,不需要为站点分配特殊的IPv6地址,适用于经常通信的IPv6站点之间。每一个隧道的封装节点必须保存隧道终点的地址,当一个IPv6包在隧道上传输时终点地址会作为IPv4包的目的地址进行封装。通常封装节点要根据路由信息决定一个包是否要通过隧道转发。
采用手工配置隧道进行通信的站点之间必须有可用的IPv4 连接,并且至少要具有一个全球唯一的IPv4地址。站点中每个主机都至少需要支持IPv6,路由器需要支持双栈。在隧道要经过NAT设施的情况下这种机制不可用。
手工配置隧道的主要缺点是网络管理员的负担很重,因为他要为每一条隧道做详细的配置。
IPv6与IPv4的通信方式(2):自动配置的隧道 ( Auto-configured Tunnel, RFC2893 )
这种隧道的建立和拆除是动态的,它的端点根据分组的目的地址确定,适用于单独的主机之间或不经常通信的站点之间。自动配置的隧道需要站点采用IPv4兼容的IPv6地址( IPv4 Compatible IPv6 Address,0::IPv4ADDR/96 ),这些站点之间必须有可用的IPv4连接,每个采用这种机制的主机都需要有一个全球唯一的IPv4地址。
采用这种机制不能解决IPv4地址空间耗尽的问题(采用手工配置隧道的站点就不需要IPv4地址)。两外还有一种危险就是如果把Internet 上全部IPv4路由表包括到IPv6网络中,那么会加剧路由表膨胀的问题。这种隧道的两个端点都必须支持双协议栈(手工配置就不需要)。在隧道要经过NAT设施的情况下这种机制不可用。
IPv6与IPv4的通信方式(3):Tunnel Broker ( RFC3053-IPv6 Tunnel Broker )
Tunnel Broker不是一种隧道机制,而是一种方便构造隧道的机制。可以简化隧道的配置过程,适用于单个主机获取IPv6连接的情况。Tunnel Broker也可用于站点之间,但这时可能会在IPv6的路由表中引入很多条目,导致IPv6的路由表过于庞大,违背了IPv6设计的初衷。用户可以通过Tunnel Broker从支持IPv6的ISP处获得持久的IPv6地址和域名。 Tunnel Broker要求隧道的双方都支持双栈并有可用的IPv4连接,在隧道要经过NAT设施的情况下这种机制不可用。采用TB方法,可以使IPv6 的ISP可以很容易对用户执行接入控制,按照策略对网络资源进行分配。
TB转换机制包括Tunnel Server(TS)和Tunnel Broker(TB)。server和boker位于不同的计算机上,对于隧道的控制通常是web形式的。
IPv6与IPv4的通信方式(4):6 over 4 ( RFC2529 ),IPv4多播隧道
6 over 4 也是一种自动建立隧道的机制,这种隧道端点的IPv4地址采用邻居发现的方法确定。与手工配置隧道不同的是,它不需要任何地址配置;与自动隧道不同的是它不要求使用V4兼容的V6地址。但是采用这种机制的前提就是IPv4网络基础设施支持IPv4多播。这里的IPv4多播域可以是采用全球唯一的IPv4地址的网络,或是一个私有的IPv4网络的一部分。这种机制适用于IPv6路由器没有直接连接的物理链路上的孤立的IPv6主机,使得它们能够将IPv4广播域作为它们的虚拟链路,成为功能完全的IPv6站点。
采用这种方法连接的IPv6站点的不需要采用IPv4兼容地址,也不需要手工配置的隧道。当采用6 over 4的站点通过一台支持6 over 4的路由器与外界相连时,站点内的主机可以和外部IPv6站点通信。但是6 over 4还是没有解决一个孤立的用户连接到全球性的IPv6 Internet上。
IPv6与IPv4的通信方式(5):6 to 4 ( RFC3056)
6to4也是一种自动构造隧道的机制,这种机制要求站点采用特殊的IPv6地址(2002:IPv4ADDR::/48 ),这种地址是自动从站点的IPv4地址派生出来的。所以每个采用6to4机制的节点至少必须具有一个全球唯一的IPv4地址,(这种地址分配方法,可以使得其它域的边界路由器自动地区分隧道接收端点是否在本域内)。由于这种机制下隧道端点的IPv4地址可以从IPv6地址中提取,所以隧道的建立是自动的。6to4不会在IPv4的路由表中引入新的条目,在IPv6的路由表中只增加一条表项。采用6to4机制的IPv6 ISP只需要做很少的管理工作,这种机制很适用于运行IPv6的站点之间的通信。6to4要求隧道中至少有两台路由器支持双栈和6to4,主机要求至少支持IPv6协议栈。
6to4机制允许在采用6to4的IPv6站点和纯IPv6站点之间通过中继路由器 ( 6to4 Relay Router ) 进行通信,这时不要求通信的两个端点之间具有可用的IPv4连接,中继路由器建议运行BGP4+。
这种机制把广域的IPv4网络作为一个单播的点到点链路层。这种机制适合作为V4/V6共存的初始阶段的转换工具,它可以与防火墙、NAT共存,但是NAT box必须具有全球唯一的IPv4地址,并且应有6to4机制和完备的路由功能。
在隧道终点,任何从正常IPv4链路传来的6to4数据流都可以被接受和解封装。为了防止IPv6欺骗,可采用附加的基于源地址的包过滤技术。一种方法就是检查用于封装的IPv4地址是否与被封装的IPv6包头地址一致。这种检查要在中继路由器(relay router)中设置。在任何情况下,6to4数据流中的源和目的地址嵌入的V4地址必须是以全球唯一单播地址格式,否则这些数据包将会在不被警告的情况被丢弃。