Adresy Teredo
Adres Teredo składa się z następujących elementów:
prefiks Teredo
Pierwsze 32 bity są przeznaczone dla prefiksu Teredo, który jest taki sam dla wszystkich adresów Teredo. Systemy Windows XP i Windows Server 2003 początkowo używały prefiksu 3FFE:831F:::/32 Teredo. Prefiks zdefiniowany dla teredo w RFC 4380 to 2001::/32 i jest prefiksem używanym przez Teredo w systemach Windows Vista i Windows Server 2008. Komputery z systemami Windows XP i Windows Server 2003 będą używać prefiksu 2001::/32 Teredo podczas aktualizacji z biuletynem zabezpieczeń firmy Microsoft MS06-064.
adres IPv4 serwera Teredo
Następne 32 bity zawierają publiczny adres IPv4 serwera Teredo, który pomógł skonfigurować ten adres Teredo. Aby uzyskać więcej informacji, zobacz "Konfiguracja początkowa dla klientów Teredo" w tym artykule.
flagi
Następne 16 bitów dla programu są zarezerwowane dla flag Teredo. W przypadku klientów Teredo opartych na systemie Windows XP jedyną zdefiniowaną flagą jest bit o wysokiej kolejności znany jako flaga cone. Flaga cone jest ustawiona, gdy klient Teredo znajduje się za stożkiem NAT. Określenie, czy translator adresów sieciowych połączonych z Internetem jest translatorem adresów sieciowych, występuje podczas początkowej konfiguracji klienta Teredo. Aby uzyskać więcej informacji, zobacz "Konfiguracja początkowa dla klientów Teredo" w tym artykule.
W przypadku klientów Teredo opartych na systemach Windows Vista i Windows Server 2008 nieużywane bity w polu Flags zapewniają poziom ochrony przed skanowaniem adresów przez złośliwych użytkowników. 16 bitów w polu Flags for Windows Vista and Windows Server 2008-based Teredo clients składa się z następujących elementów: CRAAAAUG AAAAAAAAAAAA. Bit C jest przeznaczony dla flagi cone. Bit języka R jest zarezerwowany do użytku w przyszłości. Bit U jest flagą uniwersalną/lokalną (ustawioną na 0). Bit G to flaga Pojedyncza/Grupa (ustawiona na 0). Bity są ustawione na 12-bitową liczbę wygenerowaną losowo. Korzystając z losowej liczby bitów, złośliwy użytkownik, który ustalił pozostałą część adresu Teredo, przechwytując początkową wymianę konfiguracji pakietów między klientem Teredo a serwerem Teredo, będzie musiał spróbować maksymalnie 4096 (212) różnych adresów, aby określić adres klienta Teredo podczas skanowania adresu.
zaciemniane zewnętrzne portów
Następne 16 bitów przechowują zaciemnianą wersję zewnętrznego portu UDP odpowiadającego całemu ruchowi Teredo dla tego klienta Teredo. Gdy klient Teredo wysyła swój początkowy pakiet do serwera Teredo, źródłowy port UDP pakietu jest mapowany przez translator adresów sieciowych na inny, zewnętrzny port UDP. Klient Teredo utrzymuje to mapowanie portów, tak aby pozostał w tabeli tłumaczenia translatora adresów sieciowych. W związku z tym cały ruch Teredo dla hosta używa tego samego zewnętrznego, mapowanego portu UDP. Zewnętrzny port UDP jest określany przez serwer Teredo ze źródłowego portu UDP przychodzącego pakietu początkowego wysyłanego przez klienta Teredo i wysyłany z powrotem do klienta Teredo.
Port zewnętrzny jest zaciemniany przez XORing portu zewnętrznego z 0xFFFF. Na przykład zaciemniana wersja zewnętrznego portu 5000 w formacie szesnastkowym to EC77 (5000 = 0x1388, 0x1388 XOR 0xFFFF = 0xEC77). Zaciemnianie portu zewnętrznego uniemożliwia translatorowi portów zewnętrznych w ładunku pakietów, które są przekazywane.
zaciemniane adresy zewnętrzne
Ostatnie 32 bity przechowują zaciemnianą wersję zewnętrznego adresu IPv4 odpowiadającego całemu ruchowi Teredo dla tego klienta Teredo. Podobnie jak w przypadku portu zewnętrznego, gdy klient Teredo wysyła swój początkowy pakiet do serwera Teredo, źródłowy adres IP pakietu jest mapowany przez translator adresów sieciowych na inny, zewnętrzny (publiczny). Klient Teredo utrzymuje to mapowanie adresów, tak aby pozostał w tabeli tłumaczenia translatora adresów sieciowych. W związku z tym cały ruch Teredo dla hosta używa tego samego zewnętrznego, mapowanego, publicznego adresu IPv4. Zewnętrzny adres IPv4 jest określany przez serwer Teredo ze źródłowego adresu IPv4 przychodzącego pakietu początkowego wysyłanego przez klienta Teredo i wysyłany z powrotem do klienta Teredo.
Adres zewnętrzny jest zaciemniany przez XORing adresu zewnętrznego z 0xFFFFFFFF. Na przykład zaciemniana wersja publicznego adresu IPv4 131.107.0.1 w formacie dwukropkowym jest 7C94:FFFE (131.107.0.1 = 0x836B0001, 0x836B0001 XOR 0xFFFFFFFF = 0x7C94FFFE). Zaciemnianie adresu zewnętrznego uniemożliwia TRANSLATOR adresów zewnętrznych w ładunku pakietów, które są przekazywane.