Unlike similar protocols such as 6to4, it can perform its function even from behind network address translation (NAT) devices such as home routers.
In effect, a host that implements Teredo can gain IPv6 connectivity with no cooperation from the local network environment.
To do that, the client crafts an ICMPv6 Echo Request (ping) toward the IPv6 node, and sends it through its configured Teredo server.
Maintaining a Teredo server requires little bandwidth, because they are not involved in actual transmission and reception of IPv6 traffic packets.
However, setting up a Teredo relay on a scale beyond that of a single network requires the ability to export BGP IPv6 routes to the other autonomous systems (AS's).
On March 30, 2006, Italian ISP ITGate[4] was the first AS to start advertising a route toward 2001::/32 on the IPv6 Internet, so that RFC 4380-compliant Teredo implementations would be fully usable.
In Q1 2009, IPv6 backbone Hurricane Electric enabled 14 Teredo relays[5] in an anycast implementation and advertising 2001::/32 globally.
The relays were located in Seattle, Fremont, Los Angeles, Chicago, Dallas, Toronto, New York, Ashburn, Miami, London, Paris, Amsterdam, Frankfurt, and Hong Kong.
The Shipworm specification[6] original that led to the final Teredo protocol also supported symmetric NATs, but dropped that due to security concerns.
People at the National Chiao Tung University in Taiwan later proposed SymTeredo,[7] which enhanced the original Teredo protocol to support symmetric NATs, and the Microsoft and Miredo implementations implement certain unspecified non-standard extensions to improve support for symmetric NATs.
Without this assumption, it would not be possible to establish a direct communication between the two clients, and a costly relay would have to be used to perform triangle routing.
(This limitation can sometimes be worked around by manually configuring a port forwarding rule on the NAT box, which requires administrative access to the device).
6to4 requires a public IPv4 address, but provides a large 48-bit IPv6 prefix for each tunnel endpoint, and has a lower encapsulation overhead.
Some point-to-point tunnel brokers also support UDP encapsulation to traverse NATs (for instance, the AYIYA protocol can do this).
Teredo increases the attack surface by assigning globally routable IPv6 addresses to network hosts behind NAT devices, which would otherwise be unreachable from the Internet.
Teredo tunnel encapsulation can also cause the contents of the IPv6 data traffic to become invisible to packet inspection software, facilitating the spread of malware.
Teredo tunneling software reports a fatal error and stops if outgoing IPv4 UDP traffic is blocked.
The idea was that the protocol would pierce through NAT devices, much as the shipworm (a kind of marine wood-boring clam) bores tunnels through wood.
Christian Huitema, in the original draft, noted that the shipworm "only survives in relatively clean and unpolluted water; its recent comeback in several Northern American harbors is a testimony to their newly retrieved cleanliness.