ニュースレターNo.26/2004年3月発行
インターネット10分講座:IPv4アドレス
今回の10分講座では、インターネットの基礎の基礎、IPv4アドレスについて解説します。
はじめに
インターネットプロトコル(IP)は、インターネットに接続されたコンピュータ同士がデータをやりとりするための通信規約です。大きな特徴として、データをパケットと呼ばれる単位に分割して扱うこと、バケツリレー式にルータという機械で中継されることが挙げられます。またそれぞれのコンピュータを区別するために番号をつけてあり、この番号をIPアドレスといっています。現在IPはバージョン4とバージョン6が混在した状態ですが、ここでは広く使われているバージョン4のアドレスについて解説します。
IPv4アドレスは2進数で32桁で、アドレス総数は2の32乗個、つまり約43億個となります。
アドレス空間を128ビットに大幅に拡張した新しいバージョンのIP、IPv6の導入も進んでいますが、ここまで発展したIPv4がすぐにIPv6に置き換わることはありません。以降IPv4アドレスについて解説します。
IPv4アドレス体系
~クラスフルとクラスレス、プライベートアドレス
32ビットのIPv4アドレスを表記する場合、8ビットごとに四つに区切って10進数に直し、ピリオドで区切った表記が広く用いられます。また、IPv4アドレスは、ネットワークを識別する部分(ネットワーク部)と、そのネットワーク内のホストを識別する部分(ホスト部)に分かれます。
以前はこの境界をIPv4アドレスの上位数ビットによって決定する方式が採られていました。これがクラスと呼ばれる概念です。
クラスはその規模によって、「クラスA」「クラスB」「クラスC」に分けられます。※1これらを10進数のアドレスで表記した場合、それぞれのクラスの上位ビット、アドレス範囲、ネットワーク部のビット数と利用できる最大ホスト数は表1のようになります。このような方式を「クラスフル」と呼びます。以前は、ネットワークの規模すなわちネットワークに接続されるコンピュータの数に応じ、クラスのアドレスが分配されていました(「クラスフル」の割り当て)。
クラス | 上位ビット | アドレス範囲 | ネットワーク部のビット数 | 最大ホスト数 |
---|---|---|---|---|
A | 0 | 0.0.0.0 ~ 127.255.255.255 | 8ビット | 16,777,214 |
B | 10 | 128.0.0.0 ~ 191.255.255.255 | 16ビット | 65,534 |
C | 110 | 192.0.0.0 ~ 223.255.255.255 | 24ビット | 254 |
しかし、この方式は世の中のネットワークの規模をあまりに大雑把に分けており、実際には膨大な余剰アドレスを生む原因となりました。そこで現在では、8ビットごとという単位に縛られることなく、任意のビットでネットワーク部とホスト部の境界を定めることができる「クラスレス」と呼ばれる技術が用いられるようになりました。
クラスレスでは、ネットワーク部のビット長(プリフィクス長といいます)を明示する必要があるため、アドレスのあとに / で区切って プリフィクス長を表記します。
(例)
192.168.0.0/28 = 192.168.0.0~192.168.0.15 (16ホスト)
→ネットワーク部28ビット、ホスト部4ビット
このクラスレスによってネットワークの規模に応じた適切なアドレスの分配ができるようになり、クラスフルの概念は過去のものとなりました。現在IPv4アドレスは、クラスレスの考え方によって分配されています。
また、IPv4アドレスにはプライベートアドレスとグローバルアドレスという概念があります。前者はインターネットに直接接続されていないネットワークで自由に使って良いとされるアドレスで、以下の通り範囲が定められています。
(プライベートアドレスの範囲)
10.0.0.0 ~10.255.255.255(10.0.0.0/8)
172.16.0.0 ~172.31.255.255 (172.16.0.0/12)
192.168.0.0 ~192.168.255.255 (192.168.0.0/16)
「節約」と「経路集成」
冒頭で紹介しました通り、IPv4アドレスは32ビットですので、IPv4アドレスの総数は2の32乗個、つまり約43億個となります。これは地球の総人口より少ない程度の数であり、世界規模であるインターネットで利用する上で十分な数とは言えないため、節約が必要です。「当面必要なところに必要なだけ」の分配が原則であり、使わないアドレスを将来のために確保しておくような行為は認められていません。
一方で、節約を重視して単純に細かくアドレスを分配していくと、経路情報が増加し、ルータに大きな負担がかかります。アドレスの節約を実現しながら、経路情報の増加を抑える技術が「経路集成」です。
経路集成とは、連続した複数のネットワークの経路情報を、一つの経路情報にまとめることです(図1)。経路情報とは、宛先のネットワークと、そこにデータを送るためにはどのルータにパケットを転送すればよいかという情報、言い換えると、通信先への通信経路を決定するのに必要な情報ですので、宛先となり得るネットワークの数が多くなればなるほど、経路情報も増加していきます。
以前インターネットの普及に伴う経路情報の増加が、ルータの性能を超えてしまうのではないかということが懸念され、経路集成し、できるだけ効率化することが求められた時期がありました。現在ではルータの性能も向上したため差し迫った危険は無くなりましたが、それでもなお経路集成は経路情報の増加を抑えるため、アドレス管理の重要な原則とされています。
こうした中、再び「経路集成」に関する議論が活発に行われています。RIR(地域インターネットレジストリ)/NIR(国別インターネットレジストリ)からLIR(ローカルインターネットレジストリ)に対して割り振りを行う際には、下限のサイズが定められています。2004年2月時点での日本を含めたアジア・太平洋地域の最小割り振りサイズは「/20(= 4,096個)」となっており、このサイズ未満の割り振りは行われません。※RIR、NIR、LIR、割り振りについての詳細は文末の「参考資料」をご参照ください。
基本的には、RIR/NIRがLIRに対して、小さい単位で割り振りを行えば行うほど、小さい独立したネットワークが増え、経路情報の増大につながりますので、最小割り振りサイズの規定によって、これを防ぎます。
一方で、過去、最小割り振りサイズは「/19(= 8,192個)」から、2000年8月に「/20」へ変更され、さらに今回「/21(= 2,048個)」へ変更する提案がAPNICから提出されています。これは、より多くの組織が割り振りを受けられるようにすべきだという意見があるということと、最小割り振りサイズが小さいほどより需要に見合った割り振りが行え、アドレスの節約が可能になるという二つの理由があるためです。
この提案は2004年2月末のAPNICミーティングで議論されることとなりますが、ここでポイントとなるのが「経路集成」の原則です。最小割り振りサイズを「/21」に変更しても、それによって起きる経路情報増加がルータの許容範囲であるというコンセンサスが得られれば、この提案は採用される方向となるでしょう(2004年2月執筆時点)。
IPv4アドレスの寿命はあと何年?
クラスレスの採用、プライベートアドレスの利用等、インターネットコミュニティの協力によって、当初考えられていたよりもIPv4の枯渇は先になりそうです。2004年2月現在、未だIANAには全グローバルアドレスの半分近くがどの組織にも割り振られずに残っており※2、あと数年で枯渇するようなことはないと思われます。
APNICのECであるGeoff Houston氏は、2003年7月にIPv4の寿命予測を発表しました※3。これは過去から現在までのIPアドレスの分配ペースと、経路数の伸び、使われていないアドレスの量などを考慮に入れたものとなっており、過去のさまざまな予測よりも、内容的に踏み込んだものとなっています。IPアドレス管理の一翼を担うRIR関係者から提示された予測ということもあり、現在ではこれが最も確からしい予測として受け入れられています。
気になる内容ですが、「IANAの在庫がなくなるのが2020年、RIRでの在庫がなくなるのが2022年、LIRでの在庫もなくなって新規にエンドユーザへ割り当てるアドレスがなくなるのが2028年」とされています。不確定要素がありますので、どれほど正確なのかは今後も注視していく必要はありますが、今まで通りの使われ方である限りは、少なくともここ数年の間に枯渇するということはなさそうだということは自明だと言えるかと思います。
最後に
IPv6の利用が進みつつあるとはいえ、文中で述べたようにIPv4はまだ当分の間利用され続けるでしょう。この共有資源を利用者が公平に、できるだけ長い間利用するためには、皆様のご理解とご協力が不可欠です。今後ともどうぞよろしくお願いいたします。
(JPNIC IP事業部 穂坂俊之)
参考:IPアドレスの管理構造
IPアドレスについては所有権という概念はなく、公共の資源を管理・使用しているという状況です。この管理構造の最上位にいるのがIANA(Internet Assined Numbers Authority)です。
その下に、RIR(地域インターネットレジストリ)、NIR(国別インターネットレジストリ)という組織があり、RIR/NIRからIPv4アドレスの分配を受けてエンドユーザへ再分配する、LIR(ローカルインターネットレジストリ)という組織があります。これらの組織はIPアドレスの分配等のレジストリ業務を行っておりますが、アドレスを所有しているわけではありません。JPNICは、ここでいうNIRにあたります。
ここではあえて「分配」という言葉を使いましたが、ここで説明した分配構造を理解する際には、「割り振り(allocation)」と「割り当て(assignment)」の違いを認識しておくことは非常に重要です。「割り振る」とは、再分配用にインターネットレジストリにアドレスを分配することを指し、「割り当てる」とは、インターネットレジストリがエンドユーザの(もしくは自分自身の)ネットワーク利用のためにアドレスを分配することをいいます。
- ※1
- この他にマルチキャスト通信用のクラスD、実験用のクラスEという分類もあります
- ※2
- http://www.iana.org/assignments/ipv4-address-space
- ※3
- http://www.potaroo.net/ispcolumn/2003-07-v4-address-lifetime/ale.html