当ブログをご覧の皆様、あけましておめでとうございます。
さくらインターネット研究所の大久保です。今年もどうぞよろしくお願いします。
さて、前回6to4を用いたIPv6接続方法について解説してきましたが、今回から6to4を発展させた「6rd」というプロトコルを取り上げたいと思います。
6rdの概要
6rdはIPv6 rapid deploymentの省略で、RFC5969にて定義されています。6to4と同様IPv6をIPv4上で転送するための自動トンネル技術の一種で、既存のIPv4ネットワーク上に低コストでIPv6を提供する方式として最近注目を集めています。
前回の記事で、6to4ではリレールータと呼ばれる装置がIPv4とIPv6間を中継していると説明しましたが、この6to4リレールータは同じIPアドレスで世界中に分散設置されており、anycastと呼ばれる方式でルーティング的に近い装置で処理されるようになっています。
しかし逆に言うと、どこのリレールータを経由して通信が行われているのか、ユーザサイドからは完全に把握できませんし、制御することもできません。そのため、通信不良などのトラブルが発生した場合、原因究明が難しく、最悪の場合トラブルの解決ができないこともあります。そのような制約から6to4は実験用途でしか使えませんでした。
一方6rdは、6to4の自動トンネルというメリットを生かしつつ、上記のデメリットを解決するために、2002::/16の代わりにプロバイダが持っているunicastのIPv6アドレスを使うことでトラフィック制御を可能としたものです。
6rdの動作
6rdのネットワーク構成は以下のように6to4とほとんど変わりません。ただ、6to4はインターネット全体で用いられる方式ですが、6rdはどちらかというと一つのプロバイダの中で用いられる方式です(もちろん、インターネット全体で使用することもできます)。
Border Relayと呼ばれる装置がIPv4とIPv6ネットワーク間の中継を行っており、6rdクライアントのデフォルトゲートウェイに相当します。インターネット宛ての通信は必ずここを通りますが、6rdクライアント同士の通信はBorder Relayを介さずに直接通信されます。
6rdで用いられるIPv6アドレスのフォーマットは以下のようになっています。
- 6rdプレフィックスはプロバイダが持っているIPv6アドレスの一部を割り当てます。
(6to4では2002::/16に相当する部分です) - IPv4アドレスは、6to4の場合はクライアントのIPv4アドレス32bit全てを埋め込む仕様になっていましたが、6rdの場合はIPv4アドレスの一部のみ埋め込むことが可能です。(例えば、IPv4アドレスの下16bitなど)
一部とすることで、クライアントが使えるIPv6アドレス空間を広くとることができますが、その場合、6rdクライアント、Border Relay含めてIPv4アドレスの省略する部分が共通である必要があるため、ネットワーク構成に制約が生じます。
サーバ系OSの6rd対応状況
6rdの仕様RFC5969、およびその前身となるRFC5569は、2010年に入ってから発行されたドキュメントであり、6to4に比べて歴史は浅く、実装されているOS、ルータはまだ少ない状況です。
当方で動作確認した結果、6rdに対応しているサーバ系OSは以下の通りです。
OS | 対応状況 |
---|---|
FreeBSD8.1 | パッチをあてることで対応可能 |
Ubuntu10.10 | 標準で対応 |
Fedora14 | 標準で対応 |
次回は、FreeBSDを例に6rdの設定方法を解説したいと思います。
[…] This post was mentioned on Twitter by Y.Nagatomo. Y.Nagatomo said: RT @ken_washikita: さくらインターネット研究所ブログ 6rdによるIPv6接続(概要編) http://research.sakura.ad.jp/2011/01/05/tunnel-6rd-intro/ […]
さくらインターネットわ本当に使えるとしたら、便利だと思います。
I’m gretufal you made the post. It’s cleared the air for me.