IPv6はInternet Protocol Version 6の略で、IP(Internet Protocol)というプロトコルの「6番目のバージョン」を意味する。

 IPはインターネットをはじめとして、企業や家庭のLAN、通信事業者のネットワークなど、あらゆるところで最も幅広く使われているプロトコルである。すべてのデータを「IPパケット」という小さな単位にしてやり取りするという特徴を持っている。

 現在、インターネットなどで広く利用されているのはIPのバージョン4、すなわち「IPv4」である。IPでは、バージョン5を別の実験用プロトコルに割り当てていたので、バージョン4の後継となるプロトコルとして、バージョン6が選ばれた。このことから、実質的にIPv4の次世代プロトコルはIPv6ということになる。

 IPv4は、1978年に原型ができてから、ほとんどそのままの姿で現在まで使われてきた。インターネットの発展に伴い、最初の仕様では不都合なことが出てきたが、あとから工夫を加えることでなんとかしのいできた。しかし、IPの開発に携わってきた人たちは、その場しのぎの工夫ではいずれ限界が来ると考えた。そこで、1990年台前半にIPv4の後継となるプロトコルの検討が始まった。当初はいろいろな候補が提案されたが、1995年に現在のIPv6の基本仕様となるRFC1883「Internet Protocol、Version 6(IPv6)Specification」が、標準化団体IETFによって承認された。その後も、IPv6とそれを支える周辺プロトコルの開発が続けられている。

IPv4とはここが違う

図●IPv4とIPv6の違い
IPv6はIPv4を改良して作られたので、いろいろ異なる点はあるが、何と言っても最大の違いはアドレス長である。
[画像のクリックで拡大表示]

 IPv4とIPv6の違いを単刀直入に言うと「IPv6はアドレス長が長い」。この一言に尽きる。

 IPは、IPパケットの宛先や送信元を指定するための目印として「IPアドレス」という情報(ビット列)を使う。そのビット列の長さが、IPv4とIPv6では大きく異なる()。IPv4アドレスは32ビット長の値だ。0または1が32個並ぶ。一方のIPv6アドレスは、IPv4アドレスの4倍、128ビットある。0または1が128個も並ぶことになる。

 アドレスの表し方も変わった。IPv4のアドレスでは、見やすくするために、10進数が利用されている。32ビットのアドレスを8ビットずつ「.」(ドット)で四つに区切り、それぞれを0~255の10進数で表すというものだ。それに対して、IPv6ではアドレスを16進数で表記することにした。128ビットを16ビットずつ「:」(コロン)で八つに区切り、それぞれ0~FFFFの16進数で表す。さらに短くするため、「0」が連続する部分は1カ所だけ、「: :」のようにコロンを重ねて省略できるようにした。

 このようにアドレス長を長くしたのは、使えるアドレスの数を大幅に増やすためだ。IPv4アドレスは以前から枯渇することが予測されており、実際にも2011年2月3日にIANA(Internet Assigned Numbers Authority)の持つ中央在庫が枯渇。続く4月15日にはAPNIC(Asia Pacific Network Information Centre)/JPNIC(日本ネットワークインフォメーションセンター)の持つアジア・太平洋および日本の在庫もなくなった。こうした事態に備えて、たくさんのアドレスを確保できるIPv6が開発された。

 では、IPv4とIPv6は、それぞれどのくらいの数のアドレスが使えるのだろうか。IPv4の場合、単純に計算すると2の32乗、すなわち約43億個のアドレスを用意できる。一方のIPv6で使えるアドレスの数は、2の128乗となる。計算すると、34に0が37個も付く膨大な数値になる。日常使う数の単位では表現できず、実用上、ほぼ無尽蔵と言える。

 このように、IPv6のそもそもの開発動機は、アドレスをたくさん確保できる次世代IPを作るというものだった。そのとき、「せっかくIPを新しいバージョンに作り直すのだから、ついでにさまざまな改良を加えよう」ということになった。そのようにして追加された、IPv4にはないIPv6の仕様の代表例をいくつか紹介しよう。

 アドレス長の長さに次いでIPv6の重要な特徴に挙げられるのが、「アドレスの自動設定」だ。IPv6対応の端末は、自分でIPv6アドレスを生成したり、IPv6ルーターなどから自動的にアドレスをもらったりするように作られている。このため、IPv4のように、ネットワーク管理者が苦労してアドレスを設定する必要はない。

 このほかにもIPv6は、1台の端末から複数の端末に効率良くパケットを送れる「マルチキャスト通信」や、認証や暗号化によって通信のセキュリティを高める「IPsec」という機能を標準仕様として備えている。こうした機能はIPv4でも利用できるが、別のプロトコルとして実装されているため、使うには余分な手間とコストがかかる。