ネットワークエンジニアであればIPアドレスからサブネットアドレスをパッと計算できると便利な場面が多々あるでしょう。ルーティングテーブルを見てアドレスの範囲を計算しなければいけない場面もあるはずです。
そんな方に向けて、誰でも簡単にサブネット計算を行う方法を解説します。
目次
これだけは暗記して欲しいリスト
計算を始める前にビット数と表現できる数の組み合わせを暗記してください。数は多くありません。
| ビット数 | 表現できる数 |
| 0 | 0 |
| 1 | 2 |
| 2 | 4 |
| 3 | 8 |
| 4 | 16 |
| 5 | 32 |
| 6 | 64 |
| 7 | 128 |
| 8 | 256 |
ネットワークアドレスの求め方
計算方法を細かく書いても分かりづらくなるので、実際にネットワークアドレスを求める過程を解説します。
クラスC:192.168.0.123/26のネットワークアドレスを求める
まずは192.168.0.123/26のネットワークアドレスを例にします。「/26」という事は第4オクテット目の上位2ビットがサブネットで残り6ビットがホストアドレスです。

ホストアドレスが6ビットという事は、ひとつのサブネットにつきIPアドレスを64個格納できることがわかります(先ほどの「暗記リスト」を参照)。
ひとつのサブネットに64個のIPアドレスを格納できるという事は、ネットワークアドレスは64の倍数である「0」「64」「128」「192」の4つになります。
- 192.168.0.0/26
- 192.168.0.64/26
- 192.168.0.128/26
- 192.168.0.192/26
この4つのサブネットの中で「192.168.0.123」が含まれるアドレス範囲を持っているネットワークアドレスはどれでしょうか?それは「192.168.0.64~127」のアドレス範囲を持っている「192.168.0.64」です。
つまり答えは192.168.0.64/26です。
ではクラスBの場合はどうでしょうか。クラスBでもやる事は同じです。
クラスB:172.16.123.123/22のネットワークアドレスを求める
次に172.16.123.123/22を例にします。
/22の場合、第3オクテットの上位6ビットがサブネットで残り2ビットがホストアドレスです。そして第4オクテットはすべてホストアドレスですね。

第4オクテットはこの際無視してOKです。
第3オクテットに注目するとホストアドレスは2ビットなので、第3オクテットだけ見るとひとつのサブネットにつきIPアドレスを4個格納できる事がわかります。
ですからネットワークアドレスは4の倍数である「0」「4」「8」「12」..「252」の64個になります。
※サブネット数の求め方は次の章で解説しています
では「172.16.123.123」が含まれるサブネットはどれでしょうか?それは「172.16.120.0~172.16.123.255」のアドレス範囲を持っている「172.16.120.0」です。
つまり答えは172.16.120.0/22です。簡単ですね。
サブネットアドレスからサブネット数を計算する方法
サブネットアドレスを求める方法は分かりました。それではサブネットアドレスからサブネット数を計算するにはどうすれば良いのでしょうか?
サブネットの数を計算するには、まずはサブネットがクラスAなのかBなのかCなのか意識する必要があります。
クラスAは上位8ビットがネットワークアドレス、クラスBは上位16ビットがネットワークアドレス、クラスCは上位24ビットがネットワークアドレスです。ではクラスBの/20がいくつサブネットを作成できるのか考えます。
クラスBは上位16ビットがネットワークアドレスですから/20の場合は「20 - 16 = 4」で4ビットがサブネットになると分かります。

4ビットという事は16個のサブネットが作成できる事がわかります 。分からない方は、冒頭の「これだけは覚えてほしいリスト」を見てください。
サブネット数・ホスト数チートシート
最後にクラスごとにいくつサブネットが作成できてホスト数はいくつなのか、まとめたものを掲載します。この表を見ればサブネット数とホスト数の組み合わせがパッと分かりますので活用してください。
クラスA
| サブネット | サブネット数 | IP数 | 割り当て可能なホスト数 |
|---|---|---|---|
| /8 | 1 | 16,777,216 | 16,777,214 |
| /9 | 2 | 8,388,608 | 8,388,606 |
| /10 | 4 | 4,194,304 | 4,194,302 |
| /11 | 8 | 2,097,152 | 2,097,150 |
| /12 | 16 | 1,048,576 | 1,048,574 |
| /13 | 32 | 524,288 | 524,286 |
| /14 | 64 | 262,144 | 262,142 |
| /15 | 128 | 131,072 | 131,070 |
| /16 | 256 | 65,536 | 65,534 |
| /17 | 512 | 32,768 | 32,766 |
| /18 | 1,024 | 16,384 | 16,382 |
| /19 | 2,048 | 8,192 | 8,190 |
| /20 | 4,096 | 4,096 | 4,094 |
| /21 | 8,192 | 2,048 | 2,046 |
| /22 | 16,384 | 1,024 | 1,022 |
| /23 | 32,768 | 512 | 510 |
| /24 | 65,536 | 256 | 254 |
| /25 | 13,1072 | 128 | 126 |
| /26 | 262,144 | 64 | 62 |
| /27 | 524,288 | 32 | 30 |
| /28 | 1,048,576 | 16 | 14 |
| /29 | 2,097152 | 8 | 6 |
| /30 | 4,194,304 | 4 | 2 |
| /31 | 8,388,608 | 2 | 2 |
| /32 | 16,777,216 | 1 | 1 |
クラスB
| サブネット | サブネット数 | IP数 | 割り当て可能なホスト数 |
|---|---|---|---|
| /16 | 1 | 65,536 | 65,534 |
| /17 | 2 | 32,768 | 32,766 |
| /18 | 4 | 16,384 | 16,382 |
| /19 | 8 | 8,192 | 8,190 |
| /20 | 16 | 4,096 | 4,094 |
| /21 | 32 | 2,048 | 2,046 |
| /22 | 64 | 1,024 | 1,022 |
| /23 | 128 | 512 | 510 |
| /24 | 256 | 256 | 254 |
| /25 | 512 | 128 | 126 |
| /26 | 1,024 | 64 | 62 |
| /27 | 2,048 | 32 | 30 |
| /28 | 4,096 | 16 | 14 |
| /29 | 8,192 | 8 | 6 |
| /30 | 16,384 | 4 | 2 |
| /31 | 32,768 | 2 | 2 |
| /32 | 65,536 | 1 | 1 |
クラスC
| サブネット | サブネット数 | IP数 | 割り当て可能なホスト数 |
|---|---|---|---|
| /24 | 1 | 256 | 254 |
| /25 | 2 | 128 | 126 |
| /26 | 4 | 64 | 62 |
| /27 | 8 | 32 | 30 |
| /28 | 16 | 16 | 14 |
| /29 | 32 | 8 | 6 |
| /30 | 64 | 4 | 2 |
| /31 | 128 | 2 | 2 |
| /32 | 256 | 1 | 1 |
この記事は役に立ちましたか?
もし参考になりましたら、下記のボタンで教えてください。
コメント