Teredo アドレス
Teredo アドレスは、次の要素で構成されます。
Teredo プレフィックス を する
最初の 32 ビットは Teredo プレフィックス用であり、すべての Teredo アドレスで同じです。 Windows XP と Windows Server 2003 では、最初に 3FFE:831F::/32 Teredo プレフィックスが使用されていました。 RFC 4380 で Teredo に定義されているプレフィックスは 2001::/32 で、Windows Vista および Windows Server 2008 で Teredo によって使用されるプレフィックスです。 Windows XP および Windows Server 2003 を実行しているコンピューターは、Microsoft セキュリティ情報 MS06-064 で更新された場合、2001::/32 Teredo プレフィックスを使用します。
Teredo サーバーの IPv4 アドレス を する
次の 32 ビットには、この Teredo アドレスの構成に役立った Teredo サーバーの IPv4 パブリック アドレスが含まれています。 詳細については、この記事の「Teredo クライアントの初期構成」を参照してください。
フラグの
次の 16 ビットは Teredo フラグ用に予約されています。 Windows XP ベースの Teredo クライアントの場合、定義されているフラグは、Cone フラグと呼ばれる上位ビットのみです。 Cone フラグは、Teredo クライアントがコーン NAT の背後にある場合に設定されます。 インターネットに接続されている NAT がコーン NAT であるかどうかを判断するには、Teredo クライアントの初期構成中に発生します。 詳細については、この記事の「Teredo クライアントの初期構成」を参照してください。
Windows Vista および Windows Server 2008 ベースの Teredo クライアントの場合、[フラグ] フィールド内の未使用ビットは、悪意のあるユーザーによるアドレス スキャンからの保護レベルを提供します。 Windows Vista および Windows Server 2008 ベースの Teredo クライアントの [フラグ] フィールド内の 16 ビットは、CRAAAAUG AAAAAAAA で構成されます。 C ビットは円錐フラグ用です。 R ビットは将来使用するために予約されています。 U ビットは、ユニバーサル/ローカル フラグ (0 に設定) 用です。 G ビットは個別/グループ フラグ (0 に設定) です。 A ビットは、ランダムに生成された 12 ビットの数値に設定されます。 A ビットに乱数を使用することで、Teredo クライアントと Teredo サーバー間のパケットの初期構成交換をキャプチャして Teredo アドレスの残りの部分を特定した悪意のあるユーザーは、アドレス スキャン中に Teredo クライアントのアドレスを決定するために最大 4,096 (212) の異なるアドレスを試す必要があります。
隠された外部ポート を する
次の 16 ビットは、この Teredo クライアントのすべての Teredo トラフィックに対応する外部 UDP ポートのあいまいなバージョンを格納します。 Teredo クライアントが初期パケットを Teredo サーバーに送信すると、パケットのソース UDP ポートは NAT によって別の外部 UDP ポートにマップされます。 Teredo クライアントは、NAT の変換テーブルに残るように、このポート マッピングを維持します。 そのため、ホストのすべての Teredo トラフィックは、同じ外部のマップされた UDP ポートを使用します。 外部 UDP ポートは、Teredo クライアントによって送信され、Teredo クライアントに送り返される受信初期パケットのソース UDP ポートから Teredo サーバーによって決定されます。
外部ポートは、0xFFFFを使用して外部ポートを XORing することによって隠されます。 たとえば、16 進数形式の外部ポート 5000 の隠されたバージョンは EC77 (5000 = 0x1388、0x1388 XOR 0xFFFF = 0xEC77) です。 外部ポートを隠す場合、NAT が転送するパケットのペイロード内で外部ポートを変換できなくなります。
隠された外部アドレス を する
最後の 32 ビットは、この Teredo クライアントのすべての Teredo トラフィックに対応する外部 IPv4 アドレスのあいまいなバージョンを格納します。 外部ポートと同様に、Teredo クライアントが初期パケットを Teredo サーバーに送信すると、パケットの送信元 IP アドレスは NAT によって別の外部 (パブリック) アドレスにマップされます。 Teredo クライアントは、NAT の変換テーブルに残るように、このアドレス マッピングを維持します。 そのため、ホストのすべての Teredo トラフィックは、同じ外部のマップされたパブリック IPv4 アドレスを使用します。 外部 IPv4 アドレスは、Teredo クライアントによって送信され、Teredo クライアントに返送された受信初期パケットの送信元 IPv4 アドレスから Teredo サーバーによって決定されます。
外部アドレスは、0xFFFFFFFFを使用して外部アドレスを XORing することによって隠されます。 たとえば、コロン 16 進数形式のパブリック IPv4 アドレス 131.107.0.1 の隠れたバージョンは 7C94:FFFE (131.107.0.1 = 0x836B0001、0x836B0001 XOR 0xFFFFFFFF = 0x7C94FFFE) です。 外部アドレスを隠す場合、NAT が転送するパケットのペイロード内で外部アドレスを変換できなくなります。