インターネットの通信に不可欠、IPアドレスの正体

インターネットの通信に不可欠、IPアドレスの正体
安藤 正芳 日経クロステック/日経NETWORK
https://xtech.nikkei.com/atcl/nxt/column/18/01413/090100001/

『インターネットに接続するにはIPアドレスが必要だ。パソコンやスマートフォンなどインターネットに接続する機器には必ずIPアドレスが割り当てられている。一体、IPアドレスとは何なのか。ここで疑問を解決しよう。

Q1 IPアドレスって何?
A1 インターネット上の住所に相当する情報です
 誰かに荷物を届ける場合には、相手の住所を指定しなければならない。「東京都港区虎ノ門」といった宛先の住所を指定して、初めて荷物が相手に届けられる。

 これはインターネットの世界でも同じである。誰かとデータをやりとりするには、相手を特定するための情報が必要だ。そのための情報が「IPアドレス」である。IPアドレスはインターネット上の住所に相当する。

 企業ネットワークなどのLANに接続したパソコンを使ってWebサーバーにアクセスしたとしよう。このときパソコンはWebサーバーに向けてIPパケットを送信する。IPパケットには宛先のWebサーバーのIPアドレスが含まれている。

IPアドレスで転送先を決める
[画像のクリックで拡大表示]

 インターネット上のルーターは宛先のIPアドレスを見てIPパケットを転送する。このようにIPアドレスというインターネット上の住所があるので、パソコンとWebサーバーは正しく通信できる。

 スマートフォンやネットワーク家電、IoT機器といったインターネットに接続する機器には、必ずIPアドレスが割り当てられている。ただしルーターには機器単位ではなく、ポートごとにIPアドレスが割り当てられる。ルーターはIPパケットを送り出すポートをIPアドレスで指定する。

IPアドレスは32桁のビット列
 続いて、IPアドレスの表記方法を見ていこう。IPアドレスは「1」または「0」が並んだ32ビットのビット列である。通常は8ビットごとに区切って表記する。

32桁の2進数を10進数に変換して表記
[画像のクリックで拡大表示]

 ただし2進数で表記すると人間には分かりづらい。そこで、8ビットずつを10進数に置き換えて表記するのが一般的だ。数字の間は「.(ピリオド)」を入れて区切る。「11000000101010000000000101100100」というIPアドレスなら「192.168.1.100」と表記する。

現行のIPは2種類
 現在一般に使われているIPには1978年に制定された「IPv4」と1995年に制定された「IPv6」の2種類があり、それぞれでIPアドレスの体系が異なる。

IPv4アドレスとIPv6アドレスの違い

[画像のクリックで拡大表示]
 両者の違いはIPアドレスの長さだ。前述の32ビットはIPv4アドレスである。一方、IPv6アドレスは128ビットだ。IPv4と同様、人間に分かりやすいように2進数を16進数に変換して表記することが多い。

 ビット数ではIPv6アドレスはIPv4アドレスの4倍だが、アドレスの数では2の96乗倍になる。IPv6アドレスが2の128乗(約340澗)個であるのに対して、IPv4アドレスは2の32乗(約43億)個だ。

 このようにIPv6アドレスの数を多くしたのはIPv4アドレスの数が足りなくなってしまったからだ。IPv4アドレスの枯渇により、今後IPv6アドレスの普及は進むだろう。

 とはいえ、現状ではIPv4が主流だ。基礎を学ぶのにもIPv4アドレスのほうが分かりやすいので適している。そこで本特集では主にIPv4アドレスについて解説する。

ネットワーク部とホスト部で構成
 IPアドレスは2階層になっている。前方がネットワークを指定する情報(ネットワーク部)、後方がそのネットワークにある機器を指定する情報(ホスト部)だ。

IPアドレスの構造
[画像のクリックで拡大表示]

 またネットワーク部以外を「0」にしたIPアドレスはネットワークアドレス、ホスト部も含めたIPアドレスはホストアドレスと呼ぶ。前者はネットワーク、後者はホストに割り当てられる。

 そしてネットワーク部の長さを表すのがサブネットマスクである。IPアドレスと同じく32ビットのビット列で「1」の部分がネットワーク部、「0」の部分がホスト部を指す。ちなみにサブネットマスクも人間が分かりやすいように「255.255.255.0」といった10進数で表記することが多い。

 IPアドレスの後ろに「/24」とネットワーク部の長さを付記するCIDR表記もある。サブネットマスクを使うよりも簡潔だ。そのため現在ではCIDR表記を採用するのが一般的である。』