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 クライアントの初期構成」を参照してください。

  • Flags

    の次の 16 ビットは、Teredo フラグ用に予約されています。 Windows XP ベースの Teredo クライアントの場合、定義されているフラグは、コーン フラグと呼ばれる上位ビットのみです。 コーン フラグは、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 ビットは Individual/Group フラグ (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 サーバーによって決定されます。

    外部ポートは XORing によって隠され、外部ポートは 0xFFFFで隠されます。 たとえば、16 進数形式の外部ポート 5000 の隠しバージョンは EC77 です (5000 = 0x1388、XOR 0xFFFF = 0xEC77 0x1388)。 外部ポートを隠す場合、NAT は、転送するパケットのペイロード内で外部ポートを変換できなくなります。

  • 隠された外部アドレス

    最後の 32 ビットは、この Teredo クライアントのすべての Teredo トラフィックに対応する、隠されたバージョンの外部 IPv4 アドレスを格納します。 外部ポートと同様に、Teredo クライアントが初期パケットを Teredo サーバーに送信すると、パケットの送信元 IP アドレスは NAT によって別の外部 (パブリック) アドレスにマップされます。 Teredo クライアントは、NAT の変換テーブルに残るように、このアドレス マッピングを維持します。 そのため、ホストのすべての Teredo トラフィックは、同じ外部のマップされたパブリック IPv4 アドレスを使用します。 外部 IPv4 アドレスは、Teredo クライアントによって送信され、Teredo クライアントに送り返される受信初期パケットのソース IPv4 アドレスから Teredo サーバーによって決定されます。

    外部アドレスは XORing によって隠され、外部アドレスは 0xFFFFFFFF。 たとえば、コロン 16 進数形式のパブリック IPv4 アドレス 131.107.0.1 の隠しバージョンは 7C94:FFFE (131.107.0.1 = 0x836B0001、0x836B0001 XOR 0xFFFFFFFF = 0x7C94FFFE) です。 外部アドレスを隠す場合、NAT が転送するパケットのペイロード内で外部アドレスを変換できなくなります。