Teredo

P2Pのアプリケーションを自分で作ろうと思うと、おそらく、NAT越えのための実装から始めなければならない。UDP Hole Punchingは比較的簡単に実装できるが、逆に問題は、UDPだと、通信の制御をほとんど自前で作成しないといけないことだろう。これは技術的には非常に楽しい部分ではあるが、単にP2Pの応用のアプリケーションを作ろうとしているプログラマにとっては、時間の浪費にしかならないかもしれない。できれば、誰かが作った似非TCPの実装を使いたい。

Windows XPWindows Vistaでは、実はこの面倒なレイヤーの実装がOSに同梱されている。TeredoというIPv6を使ってトンネリングをする技術である。そんなことを言っても、IPv4のアドレスしか持ってませんなんていう心配はない。この技術は、IPv4のネットワーク上で、IPv6の技術を用いているだけなのだ。この説明だけだと、なおさら???な状態だが、必要な知識はIPv6のアドレスがIPv4とは異なることぐらいで十分。それ以外はあえてブラックボックスだと思って使い始める方が良いぐらいかもしれない。