BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース IPv4、残り100日

IPv4、残り100日

ブックマーク

原文(投稿日:2010/11/25)へのリンク

インターネットはIPv4と呼ばれるネットワークプロトコルの上につくられている。そのプロトコルはTCP(HTTPやチャットアプリケーションで使われている)とUDP(ビデオやオーディオアプリケーションで利用されている)の下の基礎となっていて、その経路での両端点を識別するために192.168.54.32のような4バイトのIPアドレスを使用している。(たいていの人やアプリケーションはこの数字の代わりにDNSホスト名を利用する。DNSはwww.infoq.comを数字の63.246.7.184のような数字のIPv4アドレスに変換する。)

残念ながら、IPv4アドレス空間は枯渇しようとしている。それもかなり急速に。@ipv4countdownによると、アドレスが利用可能である期間が残り100日を切ったようだ。全体で残り1億6000万アドレス以下となっている。それを考慮に入れて見直すと、約9.137.0.0個のアドレスが残っているということになる。245.0.0.0個のIPv4アドレスを使ってしまった(つまり、割り当てることができない)。そして、急速に枯渇に向かっている。IPv6プロバイダHurricane Electricにあるカウントダウンでそのデータは示されている。

まだ利用可能なIPv4アドレスはいくらかある。初期のネットワークのパイオニアたちの中には大きな数のIPアドレスを(潜在的に使われずに)保持しているものもいる。そして、合併によって、一つの組織が多くのインターネットアドレスをもっている場合もある。しかしながら、このことは避けられない状態をわずかに、おそらく数ヶ月という程度だけ、遅らせることになるだけだ。このxkcdによる2006年版インターネット地図はトップレベルの /8 アドレス群(すなわち 1.0.0.0)を示しており、Apple、DEC、ベル研究所、ボーイングといった企業がそれぞれIPv4アドレス空間の256分の1を与えられているという事実が少し気にかかるだろう。

NAT(をUPnPと組み合わせて)使えばパブリックなIPアドレスを使わずに済むようになるので問題は解決する、という主張をする人もいるが、そんなことはないだろう。モバイルのネットワークは、デバイスにネットワークの「プライベート」クラス(10.x.x.xとかホットスポットでは一般的な192.168.x.xといたネットワーク)の1つを割り当てるために、IPv4 NATを利用する。これらは、パブリックルーティング可能でない状態でも動作するが、ルータ自身が動作するにはIPv4アドレスは必要である。

唯一の長期的な解決策はIPv6である。これによりネットワーク空間が膨大に広がる。そして、たいていのネットワーク機器はこの10年ほどの間にIPv6サポートを完了していて、オペレーティングシステムも同様にネイティブサポートをしている。主要な問題は最終消費者への展開の遅れである。それは、(現状多くがIPv4しかサポートしていない)xDSLモデムがIPv6をサポートすることである。ブリティッシュテレコム21世紀型ネットワーク(電話線からIPのバックボーンへの移行)を展開してきているが、おかしなことにそれを20世紀のネットワークプロトコル上で行っているのだ。

IPv6はIPv4アドレスとは異なる記法を用いる。ドットで区切られた4つの数字の代わりに、IPv6は1234:5678:90ab:cdef:1234:5678:90ab:cdefのような16進数のグループで表現される128ビットを用いる。後方互換性のため、IPv4アドレスは0000:0000:0000:0000:0000:0000:63.246.7.184のように書くことができる(このことは、IPv6がIPv4に対してもたらすアドレス数の増加の大きさを示すことにも役立っている)。ありがたいことに、0で始まるどんな数に対しても、0は省略することができる。つまり、0:0:0:0:0:0:63.246.7.184は同じアドレスである。さらに、どれだけ0が連続していても(1つだけ)2つのコロンで置き換えることができる。その結果、::63.246.7.184もまったく同じ値となる。

移行メカニズムはいくつか存在している。まず最初に、ウェブサイトはIPv4アドレス(Aレコード)とIPv6アドレス(AAAAレコード)の両方を持つことができる。この両方を持っているサイトは、どちらかのネットワークからもアクセス可能である。システムは両方のアドレスを試し、前者を返す。(IPv6アドレスを先に調べて、その後でIPv4に切り替えるシステムもある - しかし、最近のMac OSXのアップデートではその2つの優先順位が切り替わった)。

IPv6の別の利点はネットワークカードが自己設定可能になるということだ。発見メカニズムを使って、IPv6クライアントはIPv6ルータからのブロードキャストによってIPv6アドレスを発見できる。その際クライアントはMACアドレス(または乱数)をアドレスの最後の部分に詰め、ローカルシステム上でのユニークなアドレスを与える。この仕組みはクライアントにとってはうまく動作するものの、サーバは特定のIPアドレスを頻繁に設定して、DNSに登録されるようにする必要がある。

現状、いくつかの特殊なアドレスが使われている。FF01::はノードローカルマルチキャストネットワーク(つまり、特定のマシンに対して)使われているし、FF02::FF05::はリンクローカル(同じ直接つながっているネットワーク)マルチキャスト、サイトローカルマルチキャストにそれぞれ使われている。他にも、::1はローカルホスト(すなわち、127.0.0.1)である。(自動的に発見された)ローカルアドレスはFE80::で始まる。もしIPv6ネットワークをサポートしているコンピュータを持っているのなら、すでにFE80::アドレスが割り当てられているだろう。IPv4とは異なり、それぞれのネットワークカードに多数のIPv6アドレスを(ループバックも含めて)一度に割り当てることができる。そして、ブロックごとに1つのIPアドレスを'ブロードキャスト'アドレスとして割り当てるIPv4とは異なり、IPv6は通常、データをブロードキャストする特定のアドレスの代わりに、リンクローカルまたはほかのブロードキャストメカニズムを利用する。

IPv4アドレス空間が枯渇したとき、各国はその国の供給を使い尽くすのに、さらに6ヶ月から12ヶ月かかるかもしれない。そうなった時には、新しいIPアドレスを割り当てることはできず、新しいコネクションはすべて、NATの裏に隠されるか、IPv6への移行が行われなければならない。

幸いにも、このことはケーブルプロバイダやISPに注目されていないわけではない。IPv6に投資していても、積極的にそれを展開しようとしていないだけだ。しかし、IPv6接続を提供するラッシュが来年か再来年のうちに起きるかもしれない。疑問は、少なすぎて遅すぎるのではないか、ということだ。

この記事に星をつける

おすすめ度
スタイル

BT