IPアドレスとサブネットマスク

前回の勉強内容

ponsuke-tarou.hatenablog.com

勉強のきっかけになった過去問

次のIPアドレスサブネットマスクをもつPCがある。このPCのネットワークアドレスとして,適切なものはどれか。

 IPアドレス: 10.170.70.19
 サブネットマスク:255.255.255.240

ア. 10.170.70.0  イ. 10.170.70.16  ウ. 10.170.70.31  エ. 10.170.70.255
平成31年春期問34 ネットワークアドレス|応用情報技術者試験.com

サブネットマスク(subnet mask)というものがあります

サブネットマスクとは、ネットワーク部がどこからどこまでかを定義する数値です。

IPアドレスは、「ネットワーク部」と「ホスト部」からできています。
その「ネットワーク部」がどこからどこまでかを定義する32ビットの数値です。

そもそもサブネットというのは、小さく分割したネットワークです。

大きなネットワークを複数の小さなネットワークに分割して管理する際の管理単位となる小さなネットワーク。
サブネットとは - IT用語辞典 e-Words

例えば、「Cクラスを使うにはホストが多すぎる」が「Bクラスを使うにはホストが少なすぎる」
こんな場合「Bクラスを小さなネットワークに分割」してその1つを使えばちょうどいい。
この小さなネットワークがサブネットです。

サブネットにするから「ネットワーク部」がクラスとは変わります。

上記の例で考えると「Bクラスを小さなネットワークに分割」したので「Bクラスのネットワーク部」とは違う「ネットワーク部」になります。
そうなると、どこからどこまでが「ネットワーク部」かわからなくなります。

そこで、

どこからどこまでが「ネットワーク部」かわかるようにするのにサブネットマスクがある

のです。

Aクラスのサブネットマスクは2進数で、
11111111 00000000 00000000 00000000

Bクラスのサブネットマスクは2進数で、
11111111 11111111 00000000 00000000

Cクラスのサブネットマスクは2進数で、
11111111 11111111 11111111 00000000

サブネットマスクの「ネットワーク部」には見方があります。

サブネットマスクを2進数でみると先頭から途中まで「1」が連続しています。

「1」が連続している範囲が、「ネットワーク部」です。
「0」が連続している範囲が、「ホスト部」です。

「勉強のきっかけになった過去問」で考えます。
サブネットマスクは、「255.255.255.240」です。
これを2進数にすると
11111111 11111111 11111111 11110000
です。
ピンクの部分がCクラスより小さくネットワークを分割しています。
そのネットワークに繋がるIPアドレス「10.170.70.19」のホストがあります。
この「ネットワーク部」を見てみます。

① ホストのIPアドレスを2進数にします。

00001010 10101010 01000110 00010011

サブネットマスクと見比べます。

00001010 10101010 01000110 00010011
11111111 11111111 11111111 11110000

③ 2つをAND演算(論理積)すると「ネットワーク部」になります。

結果は、00001010 10101010 01000110 00010000 です。
「ネットワーク部」は、00001010 10101010 01000110 00010000 です。

④ 2つをOR演算(論理和)すると「ホスト部」になります。

結果は、11111111 11111111 11111111 11110011 です。
ホスト部」は、11111111 11111111 11111111 11110011 です。

⑤ 10進数に戻します。

「ネットワーク部」は、10.170.70.16です。
ホスト部」は、255.255.255.243です。

という感じでサブネットマスクにおける「ネットワーク部」「ホスト部」を見分けます。

対象 10進数 2進数
サブネットマスク 255.255.255.240 11111111 11111111 11111111 11110000
IPアドレス 10.170.70.19 00001010 10101010 01000110 00010011
ネットワーク部(AND演算) 10.170.70.16 00001010 10101010 01000110 00010000
ホスト部(OR演算) 255.255.255.243 11111111 11111111 11111111 11110011

サブネットマスクの10進数表記

サブネットマスクは2種類の10進数表記があります。

CIDR表記

例えば、255.255.252.0/14

フォーマット:xxx.xxx.xxx.xxx/xx
「/」の前にある「xxx.xxx.xxx.xxx」にはサブネットマスクの10進数を記載します。
「/」の後ろにある「xx」にはネットワーク部のビット数を記載します。

IPアドレスサブネットマスクを併記する表記

例えば、255.255.255.1/255.255.252.0

フォーマット : xxx.xxx.xxx.xxx/xxx.xxx.xxx.xxx
「/」の前にある「xxx.xxx.xxx.xxx」にはホストに割当てられたIPアドレスの10進数を記載します。
「/」の後ろにある「xxx.xxx.xxx.xxx」にはサブネットマスクの10進数を記載します。