6to4 vs ISATAP vs Teredo Adapters

ipv4ipv6network-adapter

I understand that all three adapters mentioned in the title are related to transitioning IPv4 to IPv6.

ISATAP: Transmits IPv6 packets between dual-stack nodes on top of an IPv4 network.

Teredo: IPv6 connectivity to IPv4 hosts.

On my windows machine, ipconfig /all returns multiple ISATAP adapters, one 6to4 adapter, one Teredo Tunneling Pseudo-Interface and two Tunnel adapter Reusable ISATAP Interface.

How are these different or related to provide IPv6 functionality to a host on a IPv4 network?
Wikipedia and other sites seem convoluted in their explanation for these terms. A simple language explanation would be appreciated.

Best Answer

6to4 is a mechanism where a router with a public IPv4 address can be an IPv6 gateway/provider for a whole set of LANs. The IPv6 prefix starts with 2002: followed by the 32 bits of the public IPv4 address. This gives a /48 prefix which can be used to provide 65536 LANs with a /64 each. The problem is that to reach the normal IPv6 internet the 6to4 router needs to use public 6to4 relays, and these relays are not always reliable. Add to this that the inbound and outbound traffic use different relays most of the time, and the reliability of 6to4 networks leaves a lot to be desired. These days using 6to4 is strongly discouraged.

Teredo is a built-in mechanism in Windows systems that is used to give a single system behind an IPv4 NAT access to IPv6. Like 6to4 it uses public relays. Teredo combines this with a setup protocol using Teredo servers (by default those hosted by Microsoft) to detect and break through the IPv4 NAT. It is not very reliable, but Teredo is only used when explicitly connecting to an IPv6 address and not when connecting to a hostname and looking up the addresses in DNS. This happens for example when using BitTorrent, and there the lesser reliability doesn't matter a lot.

ISATAP is a managed technology for providing IPv6 on an IPv4 network. It emulates IPv6 connectivity on the IPv4 infrastructure. IPv6 Router Discovery usually uses multicast. This isn't possible on an infrastructure based on IPv6-over-IPv4 tunnels, so ISATAP solves that in a different way. An ISATAP router is provided on the network and its IPv4 address is made known to the ISATAP hosts (usually using the hostname isatap. in DNS). The ISATAP hosts then can use that address to set up their IPv6 connectivity.

In all cases it is better to get native IPv6 on your networks. Preferably through your ISP, and otherwise through a tunnelbroker like tunnelbroker.net or sixxs.net.

Related Question