IPアドレス・ネットマスクの変換・チェック・統合・除外を簡単に。

Google or AdMax Promotion (ipvtop)

サブネットマスクが分かればサブネット内のIP数は既に分かっている

情報試験などで最初からサブネットマスクの値が与えられている場合、
その時点でそのサブネットマスクで構成される、
1サブネットワーク内のIPアドレス数(ステップ数)は、
単純な引き算で簡単に求められます。

 

サブネットマスクが分かればサブネット内のIP数は瞬殺

サブネットマスクとは、
ネットワーク内のネットワーク部とホスト部を任意のビット位置で分割し、
サブネットワークを構成するために利用される、
「255.255.255.0」などの形式の値です。

このサブネットマスクが問題などで出てきたら、
結構重要なヒントを与えてくれることになります。

これが分かっていると、

構成される1つのサブネットに含まれるIPアドレスの総数(*1)が分かるためです。

*1)厳密にはオクテットの位置によって、
総数ではなくIPアドレスのネットワーク分割のステップ数が分かります。

まずサブネットマスクの第四オクテット部分が、
0~255までの場合のIP数を一覧で見てみます。

※「1-3」は前半の3オクテットを示します。
※「4」は最後の第四オクテットを示します。

1-3 4 サブネット内IP数 ビットパターン
255.255.255. 0 256 00000000
255.255.255. 128 128 10000000
255.255.255. 192 64 11000000
255.255.255. 224 32 11100000
255.255.255. 240 16 11110000
255.255.255. 248 8 11111000
255.255.255. 252 4 11111100
255.255.255. 254 2 11111110
255.255.255. 255 0 11111111

 

上記の表は別に珍しいものでもないでしょう。

では、以下の式で見てみましょう。

※「総IP数」は0~255までのIP数を示します。
※「第四オクテット値」はサブネットマスクの第四オクテットの値を示します。

総IP数 第四オクテット値 サブネット内IP数
256- 0 = 256
256- 128 = 128
256- 192 = 64
256- 224 = 32
256- 240 = 16
256- 248 = 8
256- 252 = 4
256- 254 = 2
256- 255 = 1 (*2)

(*2)ここは本来0ですが2の0乗が1になる為ここでは1になっていますが、
「255」の場合は「ホストなしの0」です。

 

どのサブネットマスクも、256からサブネットマスクの値を引くと
その値が、そのサブネットマスクで構成される、
1つのサブネットワーク内に存在するIPに一致します。

 

プロモーション

Google or AdMax Promotion (ipvpos)

検証となぜそうなるのか?

どうしてそうなるのか?という部分ですが、
それはサブネットマスクのビットパターンを見るとわかります。

00000000 (0)
10000000 (128)
11000000 (192)
11100000 (224)
11110000 (240)
11111000 (248)
11111100 (252)
11111110 (254)
11111111 (255)

分かりきったビットパターンかと思います。

しかし、この後半に0が続くビットパターンに何か気づきませんか?

ネットワークIPアドレスのビットパターンと同じです。
(ホスト部がすべて0である)

 

サブネットマスクの(1オクテット内の)値は、
そのオクテットをサブネットワークに分割した際の、
最後のサブネットワークのネットワークIPアドレスの値に一致する

ということです。

 検証

例として以下の例を考えます。

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

 

この条件から構成されるネットワークをCIDRにすると、
192.168.0.0/28 ですが、

このネットワークは、 192.168.0.0/24 のサブネットワークの1つです。
そこで、他のサブネットワークを確認します。

CIDRからその他のサブネットワークを確認するには以下が利用できます。

 

以下が 192.168.0.0/24 を「255.255.255.240(/28)」で、
サブネットワーク分割した際のサブネットワーク一覧です。

No サブネットCIDR ネットワークIP範囲 IP数
1 192.168.0.0/28 192.168.0.0 - 192.168.0.15 16
2 192.168.0.16/28 192.168.0.16 - 192.168.0.31 16
3 192.168.0.32/28 192.168.0.32 - 192.168.0.47 16
4 192.168.0.48/28 192.168.0.48 - 192.168.0.63 16
5 192.168.0.64/28 192.168.0.64 - 192.168.0.79 16
6 192.168.0.80/28 192.168.0.80 - 192.168.0.95 16
7 192.168.0.96/28 192.168.0.96 - 192.168.0.111 16
8 192.168.0.112/28 192.168.0.112 - 192.168.0.127 16
9 192.168.0.128/28 192.168.0.128 - 192.168.0.143 16
10 192.168.0.144/28 192.168.0.144 - 192.168.0.159 16
11 192.168.0.160/28 192.168.0.160 - 192.168.0.175 16
12 192.168.0.176/28 192.168.0.176 - 192.168.0.191 16
13 192.168.0.192/28 192.168.0.192 - 192.168.0.207 16
14 192.168.0.208/28 192.168.0.208 - 192.168.0.223 16
15 192.168.0.224/28 192.168.0.224 - 192.168.0.239 16
16 192.168.0.240/28 192.168.0.240 - 192.168.0.255 16

サブネットワークの場合でもルールは一緒で、
各CIDRのビットパターンは28桁目以降(ホスト部)は、
すべて「0」になっています。(後述)

 

ここで、着眼して欲しい点としては16行目です。

192.168.0.240/28

240」が出てきていますね。

そして、その最後の16個目のサブネットワークの、
IPアドレスの範囲は 192.168.0.240 - 192.168.0.255 になっています。

240~255(240を含む)で16個です。

これが「256-240=16」で、
1つのサブネットワークのIP数(ステップ数)が求まる理由です。

※第三オクテットなどではIP数にはなりません。
この場合IPのステップ数と解釈できます。

サブネットマスクのルールから見た場合

192.168.0.0/24 をサブネットマスクを255.255.255.240で、
サブネットワーク化した場合の各ビットパターンを比較します。

は「/24」のネットワーク部
ピンクは255.255.255.240によってサブネット分割されたビット部
は各サブネットワークのホストビット部

11000000.10101000.00000000.00000000(192.168.0.0)
11000000.10101000.00000000.00010000(192.168.0.16)
11000000.10101000.00000000.00100000(192.168.0.32)
11000000.10101000.00000000.00110000(192.168.0.48)
11000000.10101000.00000000.01000000(192.168.0.64)
11000000.10101000.00000000.01010000(192.168.0.80)
11000000.10101000.00000000.01100000(192.168.0.96)
11000000.10101000.00000000.01110000(192.168.0.112)
11000000.10101000.00000000.10000000(192.168.0.128)
11000000.10101000.00000000.10010000(192.168.0.144)
11000000.10101000.00000000.10100000(192.168.0.160)
11000000.10101000.00000000.10110000(192.168.0.176)
11000000.10101000.00000000.11000000(192.168.0.192)
11000000.10101000.00000000.11010000(192.168.0.208)
11000000.10101000.00000000.11100000(192.168.0.224)
11000000.10101000.00000000.11110000(192.168.0.240)

これはすべて「ネットワークIP」ですので、
ホストビット部はすべて0になっています。

各サブネットワーク内でホストIPを表現できる数は、
「0000」の4ビットです。

4ビットは、2の4乗の数を表現することができます。

2の4乗=16

結果、表現できるIP数が16個になります。
これまで求めた値と、一致しています。

 

そして、最下部の16行目の「192.168.0.240」は、
ビットパターンが「11110000」となっており、

サブネットワーク部のマスクビットが「1111」になった、
「ネットワークIPアドレス」になっています。

サブネットマスクの最後の値は、
そのオクテットで分割されたサブネットワークのうち、
最後のサブネットワークの「ネットワークIPアドレス」になります。

 

ですから、

256-240=16

で、サブネットワーク内のIP数が求まるということです。

 

さいごに

試験問題でサブネットマスクの値が「255」以外だと、
計算が面倒くさそうと、ちょっと気分が下がることもあるかもしれません。

しかし、サブネットマスクの値が出ていると、
むしろCIDR表記よりも直感的に計算がしやすくなります。

 

おまけですが、これが求まるということは、

任意のIPアドレスからの、
「ネットワークIPアドレス」の値が単純計算で求まります。

IPアドレス:192.168.0.56
サブネットマスク:192.168.0.240 のとき、
ネットワークIPアドレスを求めなさい。

 

そんな問題結構目にしますよね。
これも実は、瞬殺です。

 


AdMax Promotion

公開日:
最終更新日:2015/02/27

AdMax Promotion

サイト内コンテンツ
すべて展開 | すべて省略

Google or AdMax Promotion (ipvlink)

QRコードからもこのURLを開けます。