ネットワーク

【応用情報】IPアドレスとサブネットマスクを解説

お茶ん太
お茶ん太

この記事では、IPアドレスとサブネットマスクについて、初心者にも分かりやすく図解付きで丁寧に解説しています!

IPアドレス

  • IPアドレスはネットワークにおける住所のような役割を果たす番号
  • IPv4は32ビットの2進数で表記されるIPアドレス
  • IPv6は128ビットの2進数で表記されるIPアドレス
  • IPアドレスはネットワーク部とホスト部に分かれる

IPアドレスのクラス

  • IPアドレスはネットワークの規模によって、クラスA、クラスB、クラスCに分かれます

サブネットマスク

  • サブネットマスクでホスト部の一部をネットワーク部に再定義する
  • 192.168.30.32/28とあれば、最初28ビットがネットワーク部

IPアドレスはネットワークの住所

IPアドレスは、インターネット上に存在する全ての端末に割り当てられている識別番号です。サーバ、パソコン、携帯電話などインターネットと繋がっている全ての端末にIPアドレスが与えられています。IPアドレスがあることで、どの端末にデータを送れば良いのかが分かるようになります。IPアドレスはネットワーク界の住所なんですね。

IPアドレスにはIPv4とIPv6がある

IPv4IPv6はインターネット通信で使われるIPと呼ばれるプロトコルのバージョンによって使い分けられます。基本情報ではIPv4が出題されます。

IPv4

IPv4では32ビットの2進数でIPアドレスを表現します。しかし、例えば、「10101100001110100011100011100101」と表現されても分かりにくいですよね。

なので、32ビットを8ビットのブロックに分けて10進数に変換し、「.」で繋いで表現するのが一般的です。

2進数から10進数に変換する方法について自信が無い方はこちらの記事を見てみて下さい。

【応用情報】2進数と10進数をそれぞれ変換する方法について解説 2進数 2進数は0と1だけで数字を表現する方法 2進数を10進数に変換する 2進数の各位の...

IPv6

IPv6では128ビットの2進数でIPアドレスを表現します。しかし、これもIPv4と同じで128個の0と1が並んでいても何がなんだか分かりませんよね。

なので、128ビットを4ビットのブロックに分けて16進数に変換し、「:」で繋いで表現するのが一般的です。

16進数にについて自信が無い方はこちらの記事を見てみて下さい。

【基本情報】16進数と10進数を変換する方法を解説この記事では16進数から10進数、10進数から16進数に変換する方法について解説します。小数の変換方法についても解説しています。【令和5年度問1】【平成30年度秋期問1】の解説もしています。...

(参考)IPv6では0を省略できる「2001:0db8:85a3:0000:0000:8a2e:0070:7334」を例に0の省略方法を見てみましょう。

①各ブロックで前に0が続いている場合、その0は省略できます。ただし、「0000」を省略する場合は、0を1つ残す必要があります。例えば「0070」は「70」、「0000」は「0」にすることができます。なので、例のIPアドレスは「2001:db8:85a3:0:0:8a2e:70:7334」と表現出来ます。

②0だけのブロックがあれば「::」で省略できます。例えば①の結果IPアドレスが「~:0:0:0:~」となっていれば、「~::~」にすることができます。なので、①のIPアドレスは「2001:db8:85a3::8a2e:70:7334」と表現出来ます。「::」は1回しか使えません。

IPアドレスのネットワーク部とホスト部

ネットワーク部とホスト部

IPアドレスはネットワーク部ホスト部で構成されています。

ネットワーク部:どのネットワークに所属しているかを表す
ホスト部   :どのコンピュータかを表す

ホスト部が全て0のIPアドレスと全て1のIPアドレスは特別なIPアドレスです。なので、コンピュータに割り当てることが出来ません。

ホスト部が全て0、全て1のIPアドレス

  • 全て0のアドレス
    ホスト部が全て0のアドレスはネットワークアドレスと呼ばれ、そのネットワーク自体を表します。
  • 全て1のアドレス
    ホスト部が全て1のアドレスはブロードキャストアドレスと呼ばれ、そのネットワーク内の全てのコンピュータにデータを一斉送信するために使われます。

IPアドレスのクラス

ネットワークの規模によって、ネットワーク部とホスト部の桁数が変わります。従業員数が多い大企業はネットワークに含まれるコンピュータが多いのでホスト部の桁を大きくする必要がありますし、人が少ない組織ではホスト部の桁を大きくする必要がありません。

IPアドレスはネットワークの大きさによってクラスA、クラスB、クラスCに分けることが出来ます。また、特別な通信に使われるクラスDというのも存在します。

クラスAは先頭8ビットがネットワーク部で構成されています。ホスト部に使えるビット列が多いので、多くのコンピュータを所属させることが出来ます。大規模ネットワークに使われます。ネットワーク部の先頭は「0」から始まります

クラスBは先頭16ビットがネットワーク部で構成されています。規模ネットワークに使われます。ネットワーク部の先頭は「10」から始まります

クラスCは先頭24ビットがネットワーク部で構成されています。小規模ネットワークに使われます。ネットワーク部の先頭は「110」から始まります。クラスCのネットワークの場合、192.168.0.0~192.168.255.255のアドレスはプライベートIPアドレスであると決められています。

サブネットワーク

ネットワークに所属するコンピュータが多いと通信が混雑して速度が遅くなります。そのため、建物のフロアや部門ごとにネットワークを細分化することがあります。これをサブネット化と言います。

サブネット化ではホスト部の上位ビットを借りてサブネット部を構成します。サブネット化することで、ホスト部の一部を使ってネットワーク部を定義することが出来ます。

サブネットマスクは各ビットの値によってネットワーク部とホスト部を再定義します。ビットが1ならネットワーク部、0ならホスト部となります。なので、下の例なら先頭26桁がネットワーク部で、後ろ6桁がホスト部になります。

サブネットマスクの別の表記法

サブネットマスクはビット列で表記する方法以外に、IPアドレスの隣に、ネットワーク部が何ビットなのかを示す方法があります。例えば、「192.168.30.32/28」と書いてあれば、先頭28桁がネットワーク部であると分かります。

応用情報技術者試験での出題例

令和6年度春期問31

応用情報技術者
午前試験 令和6年度春期問31

IPアドレス208.77.188.166は,どのアドレスに該当するか。

ア グローバルアドレス
ウ ブロードキャストアドレス

イ プライベートアドレス
エ マルチキャストアドレス

正解と解説

正解は”ア”

問題のIPアドレスの先頭8ビットは、11010000(=208)です。
110から始まっているのでクラスCのIPアドレスだと分かります。

クラスCでは、192.168.0.0~192.168.255.255以外は基本グローバルアドレスです。よって、アが答えです。(下8桁が全て1のアドレスはブロードキャストアドレス、全て0のアドレスはネットワークアドレスです)

イ クラスCのプライベートアドレスは192.168.0.0~192.168.255.255なので誤りです。
ウ ブロードキャストアドレスはホスト部がすべて1のアドレスです。よって誤りです。
エ マルチキャストアドレスはクラスDのアドレスなので誤りです。

令和5年度春期問34

応用情報技術者
午前試験 令和5年度春期問34

サブネットマスクが255.255.255.0のとき,IPアドレス172.30.123.45のホストが属するサブネットワークのアドレスはどれか。

ア 172.30.3.0
ウ 172.30.123.0

イ 172.30.120.0
エ 172.30.252.0

正解と解説

正解は”イ”

サブネットマスクを2進数で表記すると、
「11111111.11111111.11111111.00000000」です。
つまり、このネットワークでは頭24桁がネットワーク部です。

IPアドレス172.30.123.45を2進数で表記すると、
10101100.00011110.01111011.00101101」となるため、サブネットワークのアドレスは「10101100.00011110.01111011.00000000」になります。

これを10進数で表記すると「172.30.120.0」となり、答えはイです。

令和4年度秋期問33

応用情報技術者
午前試験 令和4年度秋期問33

IPv4のネットワークアドレスが192.168.16.40/29のとき,適切なものはどれか。

ア 192.168.16.48は同一サブネットワーク内のIPアドレスである。
イ サブネットマスクは,255.255.255.240である。
ウ 使用可能なホストアドレスは最大6個である。
エ ホスト部は29ビットである。

正解と解説

正解は”ウ”

IPアドレス192.168.16.40を2進数表記すると、
11000000.10101000.00010000.00101000」となり、
サブネットマスクが「11111111.11111111.11111111.11111000」、
サブネットワークのアドレスが「11000000.10101000.00010000.00101000」と分かります。

ア 192.168.16.48を2進数表記すると、「11000000.10101000.00010000.00110000」となり、同一サブネットワーク内のIPアドレスではないことが分かります。よって誤りです。

イ サブネットマスク「11111111.11111111.11111111.11111000」を10進数表記すると、255.255.255.248なので誤りです。

ウ ホスト部は3ビットです。なので、2³個-2=6個が使用可能なホストアドレスです。

エ ホスト部は3ビットなので誤りです。

令和4年度春期問31

応用情報技術者
午前試験 令和4年度春期問31

IPv6アドレスの表記として,適切なものはどれか。

ア 2001:db8::3ab::ff01
ウ 2001:db8.3ab:ff01

イ 2001:db8::3ab:ff01
エ 2001.db8.3ab.ff01

正ビ解と解説

正解は”イ”

IPv6は128ビットの2進数でIPアドレスを表現したものです。
ただ、2進数表記だと読み辛いので、4ビット毎に分割したビット列を10進数に変換して表記するのが一般的です。

10進数表記に変換した後は4つずつ数字を「:」で区切ります。
また、0が続いている部分は「::」で省略することが可能です。ただし、「::」はIPアドレス内で1回しか使えません。
上の例だと、「2001:db8:85a3::8a2e:70:7334」と表現出来ます。

これらのルールにマッチしているのはイだけです。

令和4年度春期問34

応用情報技術者
午前試験 令和4年度春期問34

IPv4で192.168.30.32/28のネットワークに接続可能なホストの最大数はどれか。

ア 14     イ 16     ウ 28     エ 30

正解と解説

正解は”ア”

192.168.30.32/28なのでネットワーク部は28ビット、ホスト部は32-28=4ビットであると分かります。ホスト部がすべて0と1のIPアドレスは割り当て不可なので、接続可能なホストの最大数は2⁴-2=14です。

令和3年度秋期問35

応用情報技術者
午前試験 令和3年度秋期問35

IPv4ネットワークにおいて,あるホストが属するサブネットのブロードキャストアドレスを,そのホストのIPアドレスとサブネットマスクから計算する方法として,適切なものはどれか。ここで,論理和,論理積はビットごとの演算とする。

ア IPアドレスの各ビットを反転したものとサブネットマスクとの論理積を取る。

イ IPアドレスの各ビットを反転したものとサブネットマスクとの論理和を取る。

ウ サブネットマスクの各ビットを反転したものとIPアドレスの論理積を取る。

エ サブネットマスクの各ビットを反転したものとIPアドレスの論理和を取る。

正解と解説

正解は”エ”

IPアドレス、サブネットマスク、ブロードキャストアドレスのネットワーク部とホスト部はそれぞれこのようになります。

ネットワーク部を考える
ブロードキャストアドレスのネットワーク部はIPアドレスと同じビット列なので、
①IPアドレスとサブネットマスク(すべて1)の論理積を取る
②IPアドレスと反転したサブネットマスク(すべて0)の論理和を取る
のどちらかです。

ホスト部を考える
ブロードキャストアドレスのホスト部はすべて1なので、
①IPアドレスと反転したサブネットマスク(すべて1)の論理和を取る
しかありません。

ネットワーク部とホスト部の両方を満たす方法は、IPアドレスと反転したサブネットマスクの論理和を取る方法だけですね。よって答えはエです。