6in4
6in4是一种IPv6转换传送机制,是将IPv6的数据包直接封装在IPv4数据包中,通过IPv4链路一条明确配置的隧道中进行传送,相应定义在RFC 4213中(废除自RFC 2893和RFC 1933)。这种IPv4数据包的IP协议号为41,这个协议号专门定义为“IPv6封装(IPv6 encapsulation)”,[1],在6in4中,其IPv6的数据包位元串直接跟接着IPv4的数据包头,这意味着IPv6数据包的负载量需要腾出至少20字节用于IPv4数据包头作为封装开销。6in4隧道又被称为“proto-41 static”,因为隧道端点是需要手动配置的,虽然如此,但也可以使用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来解决。
参见
[编辑]参考文献
[编辑]- ^ Protocol Numbers. [2018-05-29]. (原始内容存档于2010-05-29).
- ^ Heartbeat Protocol (页面存档备份,存于互联网档案馆), J. Massar and P. van Pelt