Teredo-Clients wickeln im Wesentlichen ein IPv6-Paket in ein IPv4-UDP-Paket ein und leiten es an einen Teredo-Server weiter.
- Der Teredo-Server betreibt eine öffentlich zugängliche IPv4-Adresse.
- Der Server leitet das IPv4-gekapselte IPv6-Paket an sein vorgesehenes Ziel weiter.
- Der Teredo-Client verwendet “Keep-Alive”-Verkehr mit dem Server.
- Dadurch wird die NAT-Abbildung zwischen dem Quellport des Clients und der öffentlichen IP-Adresse (die öffentliche IP des “Clients” oder Routers) aufrechterhalten.
- Es gibt ein “Aktualisierungs”-Intervall, in dem der Client überprüft, ob der Quell-Port noch gültig ist.
- Dieses Intervall wird vom Teredo-Dienst zufällig variiert.
- Quell-Ports können anfällig für Änderungen sein, und es ist wichtig, dass der Teredo-Server weiß, wie er den Client erreichen kann.
- Teredo verhält sich fast wie ein dynamischer Port-Weiterleitungsdienst, der sowohl die öffentliche IP-Adresse als auch den Quell-Port des Clients verfolgt.
- Durch die Verfolgung des Quellports und der IP ermöglicht dies dem Teredo-Server, direkt zum Client zurückzukehren und NAT im wesentlichen zu umgehen, ohne daß eine Konfiguration erforderlich ist.
Teredo scheint mit symmetrischem NAT nicht sehr gut zu spielen.
- Symmetrisches NAT ändert zufällig den “äußeren” Quellport pro Sitzung
- Zuerst wird die IP-Adresse von der nicht routingfähigen Adresse der Quelle in die öffentliche IP-Adresse geändert.
- Weiter wird der Quellport zufällig geändert, wobei die Zuordnung nur im Speicher des Routers vorhanden ist.
- Wenn die Kommunikation abgeschlossen ist, wird der Quellport nicht mehr verwendet
- Für die nächste Sitzung wird ein neuer, zufälliger Quellport gewählt
Irgendwie überwindet Teredo in Windows Vista und neuer dies, aber ich habe noch keine klare Erklärung dafür gefunden, wie das geschieht.
Bitte lesen Sie den IETF RFC on Teredo für weitere Einzelheiten.
Anmerkung: Mir ist klar, daß dieses Thema ziemlich alt ist, aber es ist derzeit der Top-Treffer bei der internen Suche von SuperUser nach “Was ist Teredo Tunneling”. Ich wollte eine allgemeinere Antwort geben, da es das ist, wonach ich gesucht habe, als ich hierher kam.