いまさら聞けない!IPアドレスとサブネットマスク

こんにちは、Tomです。

今回は、

「IPアドレス」

について詳しく解説していきます。

 

IPアドレスというのは、ネットワークを勉強していなくても日常生活の中で耳にすると思います。

しかし、大半の人は

「聞いたことあるけど、よくわからない」

「IPアドレスって結局なんのためにあるの?」

とあまりよくわかっていないと思います。まぁ、知らなくても困らないでしょう。

それでも、ネットワークを勉強しているあなたは、

  • IPアドレスのクラス
  • サブネットマスク
  • プライベートIPアドレス

            etc.

と聞いたら、すぐに答えられなければいけないくらい、ネットワークにおいては“基礎中の基礎”です。

もし、よくわかっていないなら、私と一緒に学んでいきましょう。

1.はじめに

 

1-1.IPアドレスとは?

IPアドレスとは、IPネットワークに接続されたコンピュータに割り当てられる「識別番号」のことです。

また、IPアドレスは、そのコンピュータがどのネットワークにいるのかという位置情報を表します。

実際、TCP/IPのネットワークでは、IPアドレスにより、コンピュータがどのネットワークにいるのかを識別しています。

そして、IPアドレスには、IPv4のIPアドレス(IPv4アドレス)とIPv6のIPアドレス(IPv6アドレス)があります。

この記事では、一般的に使われているIPv4アドレスについてご説明します。

1-2.IPv4アドレスの構造

IPv4アドレスは、32ビットの情報です。

0と1が32個並んでいます。

そして、ネットワーク部とホスト部で構成されています。

例えば、図のように、前半の何ビット目までがネットワーク部、それ以降がホスト部という感じです。

※ホストとは、スマホやパソコン、タブレットなど、ネットワークにつながる端末のことです。

ネットワーク部は、

「所属するネットワーク」

を表します。

同じネットワークのホストに割り当てられたIPアドレスでは、ネットワーク部は全て同じです。

また、ホスト部は、

「ネットワークに属する個々のホスト」

を表します。

同じネットワークの中で、ホスト毎に番号が割り当てられます。

2.IPv4アドレスの表記

IPv4アドレスは32ビットで表現されますが、ビット表現は人間にはわかりづらいです。

こんな感じで0と1が32個並んでいますから。

11010011001111010010111010000111

こんなの見せられても何が何だかわからないですよね。

なので、人間にもわかるように8ビットずつに区切ります。

11010011   00111101   00101110   10000111

そして、8ビット毎に10進数で表現します。

11010011  →  205

00111101  →  61

00101110  →  46

10000111  →  135

10進数にしたら、それらを「.(ドット)」で区切ります。

205.61.46.135

これが IPv4アドレスの表記です。

まだ、どんな意味なのかはわからないかもしれませんが、先ほどの0と1の羅列よりは少しはわかりやすくなりました。

ちなみに、8ビット毎の区切りを「オクテット」といいます。

IPv4アドレスの左側から、第1オクテット、第2オクテット、第3オクテット、第4オクテットと呼びます。

3.IPアドレスの分類

次に、IPアドレスの分類について解説します。

IPアドレスには、

  • ユニキャストアドレス
  • ブロードキャストアドレス
  • マルチキャストアドレス

の3つがあります。

3-1.ユニキャストアドレス

ユニキャストとは、

「1対1の通信方式」

のことです。

その「1対1の通信」において、相手を識別するためのIPアドレスをユニキャストアドレスといいます。

要するに、コンピュータ1台1台に割り当てられるIPアドレスのことです。

3-2.ブロードキャストアドレス

ブロードキャストとは、

「1対全の通信方式」

のことです。

「1対全の通信」とは、放送みたいなものです。

テレビ局やラジオ局から一斉に電波が発さられて、アンテナがあれば誰でも受信できますよね。

実際、テレビやラジオなどの放送をブロードキャストといいます。

ネットワークの世界でも、全員向けに一斉にデータを送る場合があります。

その、全員向けに一斉にデータを送る「1対全の通信」において使用されるIPアドレスがブロードキャストアドレスです。

全員宛にデータを送信したいとき、ブロードキャストアドレスに対して送信すれば、そのネットワークに属している全員に届きます。

3-3.マルチキャストアドレス

マルチキャストとは、

「1対多の通信方式」

のことです。

「1対多の通信」とは、特定のグループに同じデータを送る通信のことです。

ブロードキャストは、不特定多数の相手への通信でしたが、

マルチキャストは、特定多数の相手への通信です。

「1対多の通信」において使用されるIPアドレスがマルチキャストアドレスです。

特定のグループにデータを送信したいときに、マルチキャストアドレスに対して送信すれば、そのグループの全員に届きます。

4.IPv4アドレスのクラス

IPv4アドレスは、さまざまなネットワークに対応するためにクラスというカテゴリに分類されています。

クラスは、

「IPv4アドレスのネットワーク部とホスト部をどこで区切るか」

で分類しています。

クラスは、クラスA〜Eまで5つありますが、クラスEは実験用のアドレスで実際には使われません。

なので、ここではクラスA〜クラスDについて説明します。

4-1.クラスA

クラスAは、超大規模なネットワークに対応するためのIPアドレスです。

クラスAには、以下の特徴があります。

  • 第1オクテットがネットワーク部(8ビット)
  • 第2オクテット以降がホスト部(24ビット)
  • 第1オクテットの先頭は「0」に固定

なので、第1オクテットの範囲は

00000000〜0111111(10進数 : 0〜127)

です。

しかし、「00000000」と「01111111」はユニキャストアドレスとしては使えません。予約されているからです。

そのため、クラスAのユニキャストアドレスのネットワーク部の範囲は、

0000001〜01111110(10進数 : 1〜126)

です。

なので、IPv4アドレスで

第1オクテットが1〜126の範囲なら、クラスAのアドレス

であるとわかります。

そして、クラスAのユニキャストアドレスの範囲は、

1.0.0.0〜126.255.255.255

です。

また、一つのネットワークあたりのホストアドレスの数は、ホスト部が24ビットなので、

となります。

クラスAのIPアドレスでは、一つのネットワークでこれだけの数のホストを接続することができるということです。

超大規模とはこのことです。

クラスAのIPアドレスは、主にISP(Internet Service Provider)に配布されます。

1つのネットワークで1600万台ものホストを接続するのはISPくらいしかありません。

4-2.クラスB

クラスBは、比較的大規模なネットワークに対応するためのIPアドレスです。

クラスBには、以下の特徴があります。

  • 第2オクテットまでがネットワーク部(16ビット)
  • 第3オクテット以降がホスト部(16ビット)
  • 第1オクテットの先頭は「10」に固定

なので、第1オクテットの範囲は、

10000000〜10111111(10進数 : 128〜191)

です。

そのため、IPv4アドレスで

第1オクテットが128〜191の範囲なら、クラスBのアドレス

であるとわかります。

そして、クラスBのユニキャストアドレスの範囲は、

128.0.0.0〜191.255.255.255

です。

また、一つのネットワークあたりのホストアドレスの数は、ホスト部が16ビットなので、

となります。

クラスBのIPアドレスは、主に規模の大きな企業に配布されます。

ホスト数がガクッと落ちて6万台なので、規模の大きな企業ならこのくらいは使います。

4-3.クラスC

クラスCは、中規模なネットワークに対応するためのIPアドレスです。

クラスCには、以下の特徴があります。

  • 第3オクテットまでがネットワーク部(24ビット)
  • 第4オクテットがホスト部(8ビット)
  • 第1オクテットの先頭は「110」に固定

なので、第1オクテットの範囲は

11000000〜1101111(10進数 : 192〜223)

です。

そのため、IPv4アドレスで

第1オクテットが192〜223の範囲なら、クラスCのアドレス

であるとわかります。

そして、クラスCのユニキャストアドレスの範囲は、

192.0.0.0〜223.255.255.255

です。

また、一つのネットワークあたりのホストアドレスの数は、ホスト部が8ビットなので、

となります。

クラスCのIPアドレスは、主に小規模な企業や個人向けに配布されます。

4-4.クラスD

クラスCは、マルチキャスト用のIPアドレスです。

クラスCは、以下の特徴があります。

  • 第4オクテットまでがネットワーク部(32ビット)
  • ホスト部はない
  • 第1オクテットの先頭は「1110」に固定

なので、第1オクテットの範囲は

11100000〜1110111(10進数 : 224〜239)

です。

そのため、IPv4アドレスで第1オクテットが224〜239の範囲なら、クラスDのアドレスであるとわかります。

クラスDのアドレスの範囲は、

224.0.0.0〜239.255.255.255

です。

クラスDはマルチキャスト用のIPアドレスなので、ホストアドレスの数を計算する必要はありません。

クラスDのアドレス一つ一つが、あるグループごとにマルチキャスト通信するために用いられます。

5.予約済みIPアドレス

感の鋭い方ならお気づきかもしれませんが、各クラスごとの説明で、ホストアドレスの数を計算するときに必ず「−2」していました。

 

なぜ−2するのでしょうか?

 

それは、ユニキャストアドレスにおいて、ホストアドレスとして使用できない予約済みのIPアドレスがあるからです。

予約済みのIPアドレスとは

ネットワークアドレス

ブロードキャストアドレス

です。

この二つの予約済みIPアドレスがあるため、−2しています。

では、「ネットワークアドレス」と「ブロードキャストアドレス」とは一体どんなものでしょうか?

一つずつご説明します。

5−1.ネットワークアドレス

まずはネットワークアドレスについてご説明します。

ネットワークアドレスとは、

「IPアドレスにおいてそのネットワーク自体を表すアドレス」

のことを言います。

例えば、「192.168.10.5」というIPv4アドレスが割り当てられたホストAがあったとします。

このとき、このホストはどのネットワークに属しているでしょうか?

 

第1オクテットが「192」なので、クラスCのアドレスであるとわかります。そして、クラスCは第3オクテットまでがネットワーク部でした。

つまり、

ということです。

そして、

ネットワークアドレスは、ホスト部が全て「0」

という決まりがあります。

なので、ホスト部を全て「0」にします。

そうすると、図のように、「192.168.10.0」がネットワークアドレスになります。

このホストはこのネットワークに属しているといいます。

5-2.ブロードキャストアドレス

次にブロードキャストアドレスについてご説明します。

ブロードキャストアドレスについては、先ほど説明しました。

あるネットワークに属する全員宛にデータを送信するときに指定するアドレスでした。

 

先ほどと同じように、「192.168.10.5」というIPv4アドレスが割り当てられたホストAの場合を考えてみましょう。

このホストが、そのネットワークに属する全員に向けてデータを送信したいとき、ブロードキャストアドレスはどのように指定するのでしょうか?

 

ネットワークアドレスと同じように、ブロードキャストアドレスにもある決まりがあります。

それは、

ブロードキャストアドレスはホスト部を全て「1」にする

ということです。

なので、ホスト部を全て「1」にします。

そうすると、図のように、ブロードキャストアドレスは「192.168.10.255」となります。

ホストAがネットワーク内の全員宛にデータを送信するときは、このアドレス宛に送信します。

6.クラスレスアドレス

先ほど、クラスごとに分類されたクラスフルアドレスについてご説明しました。

しかし、クラスフルアドレスをしようすると非常に無駄が多いです。

例えば、企業AにクラスAのアドレスが配布されたとします。

このとき、企業Aではネットワーク内で1600万ものホストを接続することが可能になります。

しかし、実際にそのような莫大な数のホストを接続する必要があるでしょうか?

東京都の人口くらい従業員を抱えていれば話は別ですが、ある企業で、一つのネットワークでそんな莫大な数のホストを接続することはありません。

そのため、クラスAを配布されても、実際には使わず無駄になってしまうIPv4アドレスが生じてしまいます。

 

なので、IPv4アドレスを管理しているICANN(Internet  Corporation  for Assigned  Names   and  Numbers)では、IPv4アドレスの無駄をなくすためにクラスフルアドレスに利用をやめ、

クラスの考え方によらないクラスレスアドレスを利用しています。

そのため、先程あんなに説明したクラスAとかクラスBというクラスフルアドレスは概念として覚えておくだけで結構です。

 

さて、クラスレスアドレスでは、ネットワーク部とホスト部の区切りが必ずしも8ビット単位とはなりません。

そのため、ネットワーク部とホスト部の区切り位置を示すための情報が必要です。

ネットワーク部とホスト部の区切り位置は、サブネットマスクというもので表します。

7.サブネットマスク

サブネットマスクとは一体どんなものでしょうか?

 

サブネットマスクとはIPv4アドレスと同様に32ビットの情報です。

そして、32ビットのうち、先頭から「1」を並べていき、「1」の部分がネットワーク部、「0」の部分がホスト部を表します。

 

図のような場合、先頭から21ビットまでがネットワーク部、それ以降がホスト部となります。

また、サブネットマスクも0と1の羅列ではわかりにくいため、8ビット毎に10進数で表します。

 

そして、クラスレスアドレスを表記するときは、図のようにIPアドレスとサブネットマスクを合わせて表記します。

サブネットマスクの表し方は、先頭からの1の個数を使って図のようにも表せます。

このようなサブネットマスクの表記を「プレフィックス表記」といいます。

8.グローバルIPアドレスとプライベートIPアドレス

次に、「グローバルIPアドレス」と「プライベートIPアドレス」についてご説明します。

IPアドレスには、グローバルIPアドレスとプライベートIPアドレスがあります。

もともと、インターネットに接続されたホストはそれぞれ固有のIPアドレスが割り振られなければいけませんでした。

しかし、インターネットの普及により、接続するホストが増加し、IPv4アドレスが枯渇してしまいました。

この問題を解決するために、IPアドレスを管理するICANNは、インターネットに接続する必要のないプライベートのネットワークでは、プライベートIPアドレスを使用することに決めました。

プライベートIPアドレスは、インターネット内のルータで転送されません。

インターネットに接続するためには、グローバルIPアドレスを持っている必要があります。

8-1.グローバルIPアドレス

グローバルIPアドレスとは、インターネットに接続するためのIPアドレスです。

インターネットにおいて、IPアドレスは重複してはいけません。

そのため、何度も言っていますが、IPアドレスはICANNという組織が管理しています。

そして、グローバルIPアドレスは、管理団体に申請して割り当てを受けなければいけません。管理団体からIPアドレスの割り当てを受けるのは、OCNやBIGLOBEといったISP(Internet  Service  Provider)です。

例えば、スマホやパソコンなどでインターネットに接続するには、ISPと契約しますが、

私たちはISPと契約することで、ISPが割り当てを受けたIPアドレスを貸してもらって、インターネットに接続しているのです、

8-2.プライベートIPアドレス

プライベートIPアドレスとは、インターネットに接続することのできないIPアドレスです。

企業内や家庭内(プライベートネットワーク)でのみ使用することができるIPアドレスです。

それは、プライベートIPアドレス宛のパケットはインターネット上のルータでは転送されないからです。

各クラスで次の範囲がプライベートIPアドレスと決められています。

クラスA  :  10.0.0.0 〜 10.255.255.255

クラスB  :  172.16.0.0 〜 172.31.255.255

クラスC  :  192.168.0.0 〜 192.168.255.255

この範囲外のIPアドレスはグローバルIPアドレスです。

8.まとめ

いかがでしたでしょうか?

IPアドレスについて理解を深めることができましたでしょうか。

インターネットの技術において、最も重要な役割を担っているプロトコルがIPです。

そして、IPの仕組みの中で一番理解しなければいけないのがIPアドレスです。この記事を何度も読んでぜひ、あなたの知識にしてください。

IPについても理解を深めたい場合は以下の記事も参考にしてください。

IPとは?IPプロトコルを徹底解説

また、今回の記事の中で何度も行なった2進数から10進数の変換についてちゃんと理解したい場合は、以下の記事をご覧ください。

2進数、16進数…変換方法をまとめました

最後まで読んでくださり、本当にありがとうございました。

 

この分野も記事を書いてほしい!
ここがわらかないから教えてほしい
など、ブログを読んで疑問に思ったこと・気づいたことなど、何でもメールしてください!

  お問い合わせはこちら