6to4隧道和6in4隧道都是用于ipv4到ipv6过渡时期的策略,可以使得主机或站点在其ISP(宽带运营商)并未提供IPV6服务时仍然获得访问IPV6网络的能力。但如果主机本身本不支持ipv6协议,那么隧道机制也不能使其访问ipv6。
二者的共同点是它们都通过封装的形式使用IPV4报文头对IPV6报文进行封装,并且都有封装和解封装的过程。且二者都需要一个公网IPV4地址。
不同点是:
1.IANA分配给6to4隧道的TLA部分是0x0010,和前三位001(可汇聚全球单播地址)拼接起来是2002,而分配给6in4的是0x0001,拼接后是2001。所以当看到2002:开头的IPV6地址就是6to4隧道的地址,而2001:开头的则是6in4的地址。
2.6to4地址是由公网IPV4的地址构造而来,构造方式很简单,地址的前48位中前16位是2002,后32位则直接嵌入其公网IPV4地址。而6in4则并不是这样。
3.由于6to4网络号部分(前48)和公网IPV4地址可以一一对应起来,所以6to4隧道并不需要配置隧道的另一端口的相关信息,只需要配置源端口信息(包括公网IPV4地址,GATEWAY等)即可。而6in4隧道则需要配置隧道的另一端口的IPV4地址。
4.6to4隧道的GATEWAY表示默认网关,通常指向6to4中继(介于ipv4网络与native ipv6网络之间)。而6to4中继有很多,而通常是使用任播地址(anycast)配置GATEWAY,任播地址指向任意中继 ::192.88.99.1。
5.6in4的对端看上去是静态的,但实际上通过heartbeat协议可以实现动态对端。而6to4设置的时候不需要考虑对端,实际上6to4运行的时候走哪个对端都是由目的IP地址决定的。