6in4是一种IPv6转换传送机制,是将IPv6的数据包直接封装在IPv4数据包中,通过IPv4链路一条明确配置的隧道中进行传送,相应定义在RFC 4213中(废除自RFC 2893RFC 1933)。这种IPv4数据包的IP协议号为41,这个协议号专门定义为“IPv6封装(IPv6 encapsulation)”,[1],在6in4中,其IPv6的数据包比特串直接跟接着IPv4的数据包头,这意味着IPv6数据包的负载量需要腾出至少20字节用于IPv4数据包头作为封装开销。6in4隧道又被称为“proto-41 static”,因为隧道端点是需要手动配置的,虽然如此,但也可以使用AICCU英语AICCU通过隧道信息与控制协议服务器通信获得配置信息来自动配置。

虽然名字相似、封装方法相同,6to4是将终端的IPv4地址嵌入到其IPv6地址,代替使用手工配置隧道终端信息,从而实现自动传输,而6over4则将IPv4基础网络视为数据链路层,通过特定的多播地址在IPv4网络进行多播来传输。ISATAP也同样使用相同的协议号和封装方法来封装数据包。

网络地址转换

当 6in4 穿隧中的一端是在网络地址转换之后,在某些情况下用户能使用DMZ。这些网络地址转换路由路会传递所有进入的协议号为41的IPv4包转发到指定DMZ主机上,并使得隧道得以运作。

有些网络地址转换设备甚至允许 6in4 的转换运算。

心跳和动态组隧道

尽管6in4隧道本质上是静态的,但在心跳协议的帮助下,仍然实现动态的隧道端点。[2]心跳协议以当前的端点位置向隧道另一侧发出信号。然后,AICCU等工具可以更新端点,使端点实际上保持动态,同时仍然使用6in4协议。 这种隧道通常被称为“proto-41 heartbeat”隧道。

安全问题

6in4协议不提供安全特性,所以可以通过伪造IPv4源地址的数据包来侵入到6in4隧道中的IPv6通信中。可以通过在靠近真实源地址处部署网络入口过滤或者使用IPsec来解决。

参见

参考文献

  1. ^ Protocol Numbers. [2018-05-29]. (原始内容存档于2010-05-29). 
  2. ^ Heartbeat Protocol页面存档备份,存于互联网档案馆), J. Massar and P. van Pelt

外部链接