I client Teredo essenzialmente avvolgono un pacchetto IPv6 in un pacchetto UDP IPv4 e lo inoltrano ad un server Teredo.
- Il server Teredo esegue un indirizzo IPv4 accessibile pubblicamente.
- Il server inoltra il pacchetto IPv6 incapsulato IPv4 alla destinazione prevista.
- Il client Teredo utilizza il traffico “keep alive” con il server.
- Mantiene la mappatura NAT tra la porta sorgente del client e l'indirizzo IP pubblico (l'IP pubblico del “client” o del router).
- C'è un intervallo di “refresh” in cui il client verifica che la porta sorgente sia ancora valida.
- Questo intervallo è variato in modo casuale dal servizio Teredo.
- Le porte sorgente possono essere soggette a cambiamenti ed è importante che il server Teredo sappia come raggiungere il client.
- Teredo agisce quasi come un servizio di port forwarding dinamico che tiene traccia sia dell'indirizzo IP pubblico e della porta sorgente del client.
- Tenendo traccia della porta sorgente e dell'IP, questo permette al server Teredo di raggiungere direttamente il client, essenzialmente bypassando il NAT senza alcuna configurazione richiesta.
Teredo non sembra giocare molto bene con il NAT simmetrico.
- Il NAT simmetrico cambia casualmente la porta sorgente “esterna” per ogni sessione
- Prima l'indirizzo IP viene cambiato dall'indirizzo non indirizzabile della sorgente all'indirizzo IP pubblico.
- Altro la porta sorgente viene cambiata casualmente, con la mappatura esistente solo nella memoria del router.
- Quando la comunicazione è completa la porta sorgente non è più in uso
- Una nuova porta sorgente casuale viene scelta per la prossima sessione.
In qualche modo Teredo in Windows Vista e più recente supera questo problema, ma non ho ancora trovato una spiegazione chiara su come.
Si prega di leggere il IETF RFC su Teredo per ulteriori dettagli.
Nota: Mi rendo conto che questo argomento è abbastanza vecchio, ma è attualmente il principale successo della ricerca interna di SuperUser per “Cos'è il Teredo Tunneling”. Volevo fornire una risposta più generica, dato che questo è ciò che cercavo quando sono venuto qui.