Teredoは,IPv4のネットワーク経由でIPv6パケットを転送するトンネル技術です。Windows VistaなどのIPv6通信に対応したOSを搭載したパソコンを,IPv6インターネットに接続する際に使います。ここでは,Windows Vistaをインストールしたパソコン(Windows Vista端末)の場合を例に,Teredoの動きを見ていきましょう。

 Windows Vista端末は,ユーザーがIPv6アドレスを持つサーバーにアクセスしようとすると,最初に米マイクロソフトなどがインターネット上に設置している「Teredoサーバー」と通信して,通信途中にあるNATルーター(ブロードバンド・ルーターと考えればよいでしょう)のインターネット側の送信元IPアドレスや送信元ポート番号などの情報を収集します。

 次にWindows Vista端末は,Teredoサーバーを介して通信相手のIPv6サーバーへ,IPv6を使ったping通信を実行します。その返信パケットは,サーバーの最寄りにある「Teredoリレー・ルーター」というルーターを介してWindows Vista端末に届きます。Teredoリレー・ルーターも,マイクロソフトなどが設置しています。この時点で端末は,Teredoリレー・ルーターのアドレスを入手します。これで準備は完了です。

 このあとWindows Vista端末は,サーバーに送りたいIPv6パケットをIPv4パケットでカプセル化して送り出します。IPv4パケットのあて先は,先ほど応答を返してきた Teredoリレー・ルーターです。IPv4パケットがTeredoリレー・ルーターに到着すると,Teredoリレー・ルーターはIPv6パケットを取り出して,目的のあて先へ転送します。IPv6サーバーからWindows Vista端末に送られる返信のパケットは,上記の場合と逆の手順になります。

 Teredoの通信は,経路途中にルーターのアドレス変換(NAT)があっても届きます。Windows Vista端末が作るIPv6パケットの中には,最初にTeredoサーバーと通信して入手したNATルーターのグローバル・アドレスとポート番号の情報が書き込まれているからです。

 これまで紹介したように,TeredoはIPv6インターネットを手軽に使えるしくみですが,いくつか利用上の注意点があります。こちらについてもWindows Vistaの場合を例に挙げておきます。まず,Windowsが標準で搭載している「Windowsファイアウォール」を有効にしておくことが必要です。加えて,IPv6のグローバル・ユニキャスト・アドレスが割り当てられていないことも利用の条件になります。

 それから,Windows Vistaでは,デフォルトでTeredoによるトンネル接続よりIPv4接続の方を基本的に優先するしくみになっていることも覚えておきましょう。Teredoを使って確実にIPv6通信させたいときは,WebブラウザのURL入力欄にIPv6アドレスを直接入力する必要があります。