In mid-2003, there was a paper written that defined teredo. Basically it is a method of using already existing Network Address Translation (NAT) connection to the internet to get and use IPv6. Windows XP's Advanced Networking Pack (Q817778) allows you to easily add IPv6 to your interface and then simply by typing netsh interface ipv6 set teredo client at the Start -> Run prompt and pressing OK.
How does this work?
Rather then have an upstream provider or an in-house router provide you with an IPv6
address, teredo uses your connection to the internet (no matter how many levels of
Network Address Translation you're connecting to it through) to get you an IPv6
address and by connecting through a Teredo server, you're using IPv6 over IPv4 from
within a NATted environment.