In IT , il protocollo Teredo , " Tunneling IPv6 su UDP tramite NAT " ( RFC 4380 ), definisce un metodo che consente l'accesso a Internet IPv6 dietro apparecchiature che eseguono NAT. Fa parte dei meccanismi di transizione da IPv4 a IPv6 e consiste nell'incapsulare i pacchetti IPv6 in UDP su datagrammi IPv4 tra il client e il relè Teredo, con l'aiuto di un server Teredo.
6to4 , il protocollo di incapsulamento IPv6 su IPv4 più comune, richiede che l'hardware alla fine del tunnel di incapsulamento abbia un indirizzo IPv4 pubblico. Tuttavia, attualmente e per colmare l' esaurimento degli indirizzi IPv4 , la maggior parte dei suoi host sono collegati alla rete IPv4 da un dispositivo che esegue NAT . Pertanto, l'indirizzo pubblico viene assegnato a questo dispositivo NAT ed è quindi esso che deve implementare il protocollo 6to4. Sfortunatamente, gran parte di questa apparecchiatura non può essere aggiornata per fornire supporto 6to4 per motivi tecnici o economici.
Teredo risolve questo problema incapsulando i pacchetti IPv6 in datagrammi UDP / IPv4, che la maggior parte dei NAT può trasmettere correttamente. Pertanto, gli host IPv6 dietro NAT possono essere utilizzati come endpoint del tunnel Teredo, anche quando non dispongono di un indirizzo IPv4 pubblico dedicato. Questo perché un host che implementa il protocollo Teredo può acquisire la connettività IPv6 senza la collaborazione dell'ambiente del resto della rete locale.
Teredo vuole essere una misura temporanea: a lungo termine, tutti gli host IPv6 dovrebbero utilizzare la connettività IPv6 nativa. Il protocollo Teredo include disposizioni per una procedura di chiusura: le implementazioni Teredo devono fornire un mezzo per poter smettere di utilizzare la connettività Teredo quando IPv6 è disponibile e consentiranno una connettività meno complicata.
Il protocollo Teredo svolge diverse funzioni:
Teredo definisce diversi tipi di nodo: