Teredo トンネリング
「難読化」されたIPv4アドレス。これはNATのパブリックIPv4アドレスの全ビットを反転させたものである。
例えば、IPv6 アドレス 2001:0000:4136:e378:8000:63bf:3fff:fdd2 は、次のような Teredo クライアントを指す。
アドレス 65.54.227.120 (16進表現で 4136e378) の Teredo サーバーを使用している
RFC 5991 に完全には準拠しておらず、 cone NAT 越しであることを示している(ビット64が1である)
おそらく (99.98%の確率で) RFC 5991 に準拠していない(12個のランダムビットが全て0となる確率は 0.025% である)
NAT上のUDPポート40000をマッピングして用いる(16進表現 63bf のNOTは 9c40、すなわち10進表現で40000である)
NATのパブリックIPv4アドレスは192.0.2.45である(3ffffdd2 のNOTは c000022d、すなわち 192.0.2.45 である)
このために、クライアントは ICMPv6 Echo Request (ping) データグラムを作成し、設定済み Teredo サーバー向けに送信する。Teredo サーバーはこれを非カプセル化して IPv6 インターネットに ping を転送し、やがて ping は IPv6 ノードに到達する。そのノードは ICMPv6 Echo Reply をRFC 2460で必須とされている通り返信する。この返信データグラムは「最近傍」Teredo リレー経由でルーティングされ、リレーはクライアントにこれを転送を試みる。
Teredo サーバを維持するためにはほとんど帯域幅は必要ない。なぜなら、実際のIPv6トラフィックデータグラムの送受信には関与しないからである。また、インターネットルーティングプロトコルへアクセスすることもない。Teredo サーバーに要求されるのは以下の二点のみである。
Teredo プレフィクスのついたソースアドレスを持つ ICMPv6 データグラムを送信する能力
二つの異なるパブリックIPv4アドレス。これは公式の仕様には書かれていないが、Microsoft Windows クライアントは二つのアドレスが連続していることを予期している。二つ目のIPv4アドレスはNAT検知用である。
Teredo プレフィクス (2001::/32)。