Teredoと3°(threedegrees)
ようやく自宅のNAT内にWindowsXP端末を2台用意出来たので、早速NAT内のノード同士でthreedegreesやってみました。threedegreesはmusicmixというグループ内での音楽共有、というかジュークボックスサービスなどをP2Pで実現してるんですが、これをバックアップする技術として使われてるのがTeredoです。
で、一通りいろいろやってみて、NAT内のノード同士でTeredoを使ったIPv6 over IPv4/UDP通信をしていることはEtherealで確認できました。大まかな話については最近公開されたIPv6styleの記事を見た方がわかりやすいのでそちらをどうぞ。
3°(スリーディグリーズ)を使ってみよう(IPv6style)
http://www.ipv6style.jp/jp/tryout/20040106/index.shtml
僕は細かいところをちょっとつつく程度にしときます。
threedegreesでは、グループの作成時にユーザをリスト追加するんですが、このリストの中に1人でもTeredoを使えないやつがいたらどうするつもりなんだろう……と思って、試しにTeredoを無効にしてからthreedegreesを起動してみたらこんなエラーが出ました。
インターネットからの接続を受け付けるようにIPv6アドレスが設定されていないため、3°または3°musicmixを開始できません。詳細については、ヘルプのトラブルシューティングを参照してください。
で、診断ページに飛ばされます。ホントにP2P通信を実現するためだけにTeredo&IPv6を強制してるみたいです。
あと、実際のパケットのやり取りを見ようとしてEtherealを起動していて気付いたんですが、Teredoに関わっていると思われる「MS Tunnel Interface Driver」をEtherealでキャプチャしていると、グループへの参加やmusicmixへの招待などのthreedegreesに関係するパケットのやり取りが全て失敗してしまうみたいです。
何が原因なのかは謎ですけど……なんか邪魔しちゃうんでしょうかねー。