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

こんな機能欲しいけど、自分で作るの面倒くさい!みたいな思いつきを
是非Twitterで意見投げてみてください。
時間は掛かるかもしれませんがコツコツ頑張るかも!?
Twitterリンクは下部)

IPアドレスから地理的位置情報(GeoIPLocation)の検索機能を公開しました。

Google or AdMax Promotion (ipvtop)

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

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

 

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

プロモーション

Google or AdMax Promotion (ipvpos)

サブネットマスクとは、
ネットワーク内のネットワーク部とホスト部を任意のビット位置で分割し、
サブネットワークを構成するために利用される、
「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に一致します。

 

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

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

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

公開日:
最終更新日:2019/06/20

シェア頂けると新機能開発の励みになります!!

最後までお読みいただきありがとうございました。
便利!と思って頂けたらシェアを是非お願いします。
ご意見・ご批判でも感じた事を気にせずご指摘ください。

アカウント新規作成の為、是非フォローもお願いします。(無言OK)

※このページでこんな情報も一緒に見れたら便利!などの
アイディア・ご意見もお聞かせください。

また弊サイトはすべて広告費と個人の自腹にて運営・開発を行っています。
皆様、お仕事中でお忙しいことと存じますが、
ご興味がおありの広告が目に留まりましたら
広告主様のサイトもご覧いただけますと励みになります。

QRコードからもこのURLを開けます。
リンク先URL: https://ipvx.info/ip_cal/subnet-ipcount/


AdMax Promotion

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

Google or AdMax Promotion (ipvlink)

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください