6over4
6over4是一种IPv6转换传送机制,通过支持多播的IPv4网络的双栈节点传输IPv6数据包。6over4将IPv4网络视为一个数据链路层。
运作机制
6over4定义使用IPv4生成IPv6链路本地地址的方法,和在IPv4网络进行邻居发现的机制。
地址生成
任何使用6over4进行IPv6通信的主机,需要在相应的IPv4接口建立一个对应的虚拟IPv6接口。使用IPv6本地链路网络前缀fe80::/10
,将IPv4地址的十六进制值加载该网络前缀的低位侧,成为该6over4的IPv6地址。例如:192.0.2.142
对应转换为fe80:0000:0000:0000:0000:0000:c000:028e
(c000:028e
为192.0.2.142
的十六进制值),缩短为fe80::c000:28e
。
多播地址映射
为了使ICMPv6的邻居发现可用,IPv4网络必须能进行多播访问。IPv6多播数据包按照6in4进行封装后,其IPv4数据包目的地址为239.192.x.y
,x和y值是IPv6多播目的地址的倒数第二和第一个字节值。
- 例子:
- 多播全部节点:
ff02::1
=>239.192.0.1
- 多播全部路由器:
ff02::2
=>239.192.0.2
- 多播到节点
fe80::c000:28e
=>239.192.2.142
邻居发现
获得本地链路地址和多播地址映射后,主机就可以基于IPv4的以太网用ICMPv6发现链路上的邻居、路由器、并进行无状态配置。
限制
6over4依赖于IPv4多播的可用性,但IPv4网络基础设施并未得到广泛的支持。 6over4实际使用有限,并且不被最常见的操作系统支持。 要连接不同物理链路上的IPv6主机,必须在连接链路的路由器上启用IPv4组播路由。
对于不依赖IPv4网络多播的话,ISATAP是更复杂的替代方案。