[情報処理技術者試験]IPアドレスとは?概略や計算方法について

2018年8月16日

0と1の配列

IPアドレスとはインターネット上における住所の役割を果たすもので、パケットを送る際に宛先IPアドレスとして指定してやります。

宛先IPアドレスやパケットなど、馴染みにくい場合は分かりやすく例えると、北海道住みのAさんが東京住みのBさんに夕張メロンを送る際にメロンの入った箱に送り先の住所として書くものが宛先IPアドレス、その箱自体がパケットだと思ってください。

つまりここで住所(IPアドレス)をミスると正しい相手に届かないことが分かります。

IPv4について

IPv4は現在インターネットで使われている主流の形式で、0~255の間の数字を.(ドット)区切りで4つ並べた値になります。

例えば255.192.0.1や255.255.255.0等が該当します。

この0~255の値ですが、ここで先ほどの2進数変換が生きてきます。というのも、0~255の範囲の値は2進数表記ですべて8桁で表すことができるのです。

最小の0は2進数8桁で00000000、最大の255は2進数8桁で11111111となります。

この変換ができることで次項のサブネットマスクによる計算がかなり楽になります。

サブネットマスク

サブネットマスクはネットワークの範囲を定義するために用いられます。

先ほど紹介したIPv4のアドレスとサブネットマスクを組み合わせることで範囲を指定でき、同一範囲上にある他のPCやサーバと通信が容易になるといった特性があります。

サブネットマスクは2進数で置いたときに32桁中、左から1がいくつあるかであらわします。

例えば

11111111.11111111.11111111.11110000

なら1が28回続いているので

28

もしくは

255.255.255.240

11111111.11111111.00000000.00000000

なら

16

もしくは

255.255.0.0

といったように表します。

具体的な計算方法

ではこのサブネットマスクが何のためにあって、どのように計算するかを見てみましょう。

ここにPC1(IPアドレス:172.16.0.60)とPC2(IPアドレス:172.16.1.60)があるとします。

それぞれのIPアドレスを2進数に直すと以下のようになります。

PC1:10101100.00010000.00000000.00111100

PC2:10101100.00010000.00000001.00111100

この2台のPCがお互いに通信できるかどうかを見ます。

サブネットマスクが28の時

PC1:10101100.00010000.00000000.00111100

PC2:10101100.00010000.00000001.00111100

サブネットマスクが28の時は上のように、左から28桁分の網掛けの部分に注目し、その部分が一致していれば通信可能、一致していなければ通信不可能と判断できます。

こうしてみると左から24桁目が違っているので通信は不可能と分かります。

サブネットマスクが16の時

PC1:10101100.00010000.00000000.00111100

PC2:10101100.00010000.00000001.00111100

サブネットマスクが16の時は左から16桁が一致していれば通信ができると言えます。

上の図を見る限り網掛けの部分は一致していることが分かるので通信可能と分かります。

スポンサーリンク

IPv6について

最近話題になっており、試験でもちょくちょく登場するのがIPv6と言う形式のIPアドレスです。

IPv4との違いが気になるところですが、まずはIPv4のアドレスの個数に注目してみましょう。

IPv4は2進数8桁が4回続くので、その個数は\(2^{32}=4294967296\)個、つまり約43億個となります。

ここで話は変わりますが、現在世界の人口は73億人居ると言われており、今後も増えていくとされています。

現在はまだまだコンピュータの普及率が低いですが、もし一人1台コンピュータ(スマホを含む)を持つ時代になったらIPアドレスが枯渇してしまうことが懸念されていました。

そこで登場したのがIPv6になります。

IPv6は2進数16桁を8回続けたもので、その個数は\(2^{128}\)個、要するにほぼ無限の個数があると言われています。

また、IPv6は2進数16桁を16進数4桁に分けて.(ドット)では無く、::(ダブルコロン)で区切るのが一般的です。

例えば

1101011011110011::0011~(2)

だったら

d6f3::3~(16)

といった具合になります。

ちなみにサブネットマスクはIPv4にのみ利用されており、IPv6には利用されていません。

まとめ

今回はIPアドレスに関する話しになりました。

IPアドレスには進数の知識や進数変換ができることが前提知識として必要になるので苦手な方は下記ページで練習してみてください。

スポンサーリンク