Teredo

termo

redes

Um método de transição IPv6 de último recurso que tunela IPv6 em UDP para hosts atrás de NAT IPv4 ainda chegarem ao IPv6.

O Teredo (RFC 4380) foi pensado como acesso IPv6 de último recurso, para hosts atrás de NAT que não podem usar nenhum outro esquema de transição. Seus endereços ficam em 2001::/32 e os servidores escutam na porta UDP 3544; a RFC 6724 lhe dá precedência 5, bem abaixo do IPv6 nativo, com 40, e do IPv4, com 35.

Um endereço Teredo cabe a travessia do NAT inteira em 128 bits: o prefixo 2001::/32, o IPv4 do servidor Teredo, 16 bits de flags e, depois, a porta UDP mapeada e o IPv4 público do cliente, ambos com todos os bits invertidos. A título de ilustração, com o servidor 192.0.2.45 e o mapeamento 203.0.113.20:40000, o endereço é 2001:0:c000:22d:3c5a:63bf:34ff:8eeb, em que 63bf é 40000 (9c40) XOR ffff e 34ff:8eeb é cb00:7114 XOR ffffffff.

Os hosts supõem um MTU de enlace de 1280 bytes no Teredo, o mínimo do IPv6. Em dezembro de 2010 Geoff Huston mediu falhas de conexão Teredo de 1% a 2%, contra uns 13% do 6to4, mas testes com NAT de operadora no mesmo ano viram Teredo e 6to4 falhando de vez ou muito degradados atrás de um CGN.

O ipaddress do Python decodifica os endereços do servidor e do cliente pela propriedade teredo; o IPv6 Toolkit não reconhece o prefixo e mostra um endereço Teredo como global unicast comum.

Também conhecido como: teredo tunneling, teredo tunnelling, 2001::/32, udp 3544, rfc 4380

← Todos os verbetes do glossário