32ビットでアドレスを表す現在広く使われているIPの規格。
IPv4(=Internet Protocol version 4)とは、32ビットでアドレスを表す、現在もっとも広く使われているIPの規格です。インターネットが普及した1980年代から長く使われ続けている、いわばIPアドレスの定番です。
身近な例で考えると、住所の書き方のルールのようなものです。「都道府県・市区町村・町名・番地」という決まった形式で住所を書くのと同じく、IPv4は「8ビット × 4区切り」という決まった形式でアドレスを書きます。みんなが同じルールで書くからこそ、世界中で通信が成り立ちます。
上のツールで▶ボタンを押すと、ドット10進表記が8ビットのオクテットに分解され、合計32ビットになり、アドレス総数を経て枯渇問題に至るまでを順に確認できます。
IPv4アドレスは8ビットのオクテットが4つで構成されます。順に見ていくと次のとおりです。
・1オクテット = 8ビット:0と1が8個。表せる数は 0〜255 の256通り
・4オクテット = 32ビット:8 × 4 = 32 がアドレス全体のビット数
・ドット10進表記:各オクテットを10進数にしてドットでつなぐ(例 203.0.113.5)
各オクテットが0〜255になるのは、8ビットで表せる範囲がちょうど256通り(0から255まで)だからです。2⁸ = 256。だからIPv4アドレスに256以上の数字(例 192.300.1.1 など)は登場しません。
IPv4のアドレス総数は、32ビットそれぞれが0か1の2通りなので2³² ≈ 43億通りです。当初は十分すぎる数に見えました。
ところが、パソコンに加えてスマートフォンや家電・IoT機器(=ネットにつながる身の回りの機器)が爆発的に増え、約43億個では足りなくなりました。これがアドレス枯渇問題です。世界の人口より少ないのですから、1人で何台も機器を持つ時代には到底足りません。
これに対処する方法は主に2つあります。
・NAT(アドレス変換):1つのグローバルアドレスを複数の機器で共有して延命する応急処置
・IPv6への移行:アドレスを128ビットに拡張し、枯渇を根本から解消する本命の対策
ドット10進表記とは、32ビットのIPv4アドレスを8ビット(1オクテット)ずつ10進数に変換し、ドット(.)で区切って表記した書き方です。コンピュータの内部では 11000000 10101000 00000001 00001010 と32個の0と1が並んでいますが、人間が読むには不便です。そこでドット10進に変換して 192.168.1.10 と表記します。
変換の流れは次のとおりです。
・先頭8ビット 11000000 → 192
・次の8ビット 10101000 → 168
・3番目8ビット 00000001 → 1
・最後の8ビット 00001010 → 10
1オクテットが 0〜255 の範囲になるのは、2⁸ = 256 通りで 0 から数えると最大が 255 になるからです。したがって、256以上の数字(例:192.300.1.1)が含まれるアドレスは存在しないことも判断できます。上のツールで▶ボタンを押すと2進数への展開を確認できます。
IPv4のアドレス枯渇を根本から解決するために設計されたのがIPv6(Internet Protocol version 6)です。IPv6はアドレスを128ビットで表し、使えるアドレスの総数は 2¹²⁸ ≈ 340澗(澗=兆の兆の兆) という事実上無限の数になります。
IPv4とIPv6の主な違いは次のとおりです。
・アドレス長:IPv4は32ビット、IPv6は128ビット
・表記方法:IPv4はドット10進(例 192.168.1.10)、IPv6はコロン区切りの16進数(例 2001:db8::1)
・アドレス総数:IPv4は約43億、IPv6は約340澗(桁違いに大きく枯渇しない)
現在はIPv4とIPv6が並行して使われている移行期です。家庭のルータや携帯電話の通信は両方に対応しているものが多くなっています。IPv4が「古いビル(もう部屋が埋まってきた)」だとすれば、IPv6は「広大な新しい土地(部屋がほぼ無限にある)」のようなイメージです。