ネットワークエンジニアであれば、IPv4 のサブネット計算は何度も行うことになります。ただ、毎回 2 進数に戻して考えるというより、実際にはよく使うパターンとブロックサイズを頭の中で扱っていることが多いと思います。
この記事では、サブネット計算を暗記だけにせず、CIDR、サブネットマスク、ブロックサイズ、利用可能 IP 数の関係として整理します。
サブネット計算で見るべきもの
サブネット計算で混乱しやすいのは、いくつかの話が同時に出てくるからです。まずは、次の4つを分けて考えると整理しやすくなります。
- マスク長:
/24や/28のような CIDR 表記 - サブネットマスク:
255.255.255.0や255.255.255.240のような表記 - ブロックサイズ: そのサブネットが何個の IP アドレスを含むか
- 利用可能 IP 数: ネットワークアドレスとブロードキャストアドレスを除いたホスト数
特に重要なのは、ブロックサイズです。ネットワークアドレス、ブロードキャストアドレス、次のサブネットの境界は、ブロックサイズがわかると一気に見えやすくなります。
よく使う CIDR と利用可能 IP 数
まずは、実務でよく出てくる /24 から /30 までを押さえると十分です。
| CIDR | サブネットマスク | 総 IP 数 | 利用可能 IP 数 | 4th Octet の刻み |
|---|---|---|---|---|
| /24 | 255.255.255.0 | 256 | 254 | 256 |
| /25 | 255.255.255.128 | 128 | 126 | 128 |
| /26 | 255.255.255.192 | 64 | 62 | 64 |
| /27 | 255.255.255.224 | 32 | 30 | 32 |
| /28 | 255.255.255.240 | 16 | 14 | 16 |
| /29 | 255.255.255.248 | 8 | 6 | 8 |
| /30 | 255.255.255.252 | 4 | 2 | 4 |
/24 は 256 個の IP アドレスを含み、一般的な LAN セグメントでよく使われます。/28 なら 16 個単位、/30 なら 4 個単位です。
通常の IPv4 サブネットでは、先頭がネットワークアドレス、最後がブロードキャストアドレスになるため、利用可能 IP 数は総 IP 数から 2 を引いて考えます。
ブロックサイズで考える
サブネット計算を簡単にするには、256 - サブネットマスクの値 でブロックサイズを見るのが実用的です。たとえば /28 は 255.255.255.240 なので、4th Octet は 256 - 240 = 16 の刻みになります。
/25:256 - 128 = 128/26:256 - 192 = 64/27:256 - 224 = 32/28:256 - 240 = 16/29:256 - 248 = 8/30:256 - 252 = 4
つまり、192.168.10.0/28 なら、サブネットの境界は .0, .16, .32, .48 のように 16 ずつ進みます。
オクテットとマスク値の関係
8 ビット境界ではない /19 や /26 が苦手な場合は、どのオクテットで区切っているのかを見るとわかりやすいです。
| マスク値 | 1st Octet | 2nd Octet | 3rd Octet | 4th Octet |
|---|---|---|---|---|
| 0 | /8 | /16 | /24 | /32 |
| 128 | /9 | /17 | /25 | – |
| 192 | /10 | /18 | /26 | – |
| 224 | /11 | /19 | /27 | – |
| 240 | /12 | /20 | /28 | – |
| 248 | /13 | /21 | /29 | – |
| 252 | /14 | /22 | /30 | – |
| 254 | /15 | /23 | /31 | – |
| 255 | /16 | /24 | /32 | – |
たとえば /19 は 3rd Octet の 224 に対応します。つまりサブネットマスクは 255.255.224.0 です。この場合、3rd Octet は 256 - 224 = 32 の刻みで進みます。
計算例: 192.168.10.16/28
サブネットマスク
/28 は 255.255.255.240 です。
ブロックサイズ
256 - 240 = 16 なので、4th Octet は 16 ずつ区切られます。
範囲
- ネットワークアドレス:
192.168.10.16 - 利用可能 IP:
192.168.10.17から192.168.10.30 - ブロードキャストアドレス:
192.168.10.31 - 次のサブネット:
192.168.10.32/28
/28 は総 IP 数が 16 個なので、通常のホスト用途では利用可能 IP 数は 14 個です。
計算例: 192.168.32.0/19
サブネットマスク
/19 は 255.255.224.0 です。
ブロックサイズ
3rd Octet が 224 なので、256 - 224 = 32 です。つまり、3rd Octet は 0, 32, 64, 96 のように 32 ずつ進みます。
範囲
- ネットワークアドレス:
192.168.32.0 - 利用可能 IP:
192.168.32.1から192.168.63.254 - ブロードキャストアドレス:
192.168.63.255 - 次のサブネット:
192.168.64.0/19
/19 はホスト部が 13 ビットなので、総 IP 数は 2^13 = 8192 個です。通常の利用可能 IP 数は 8192 - 2 = 8190 個です。
クラス A/B/C は現在の設計では主役ではない
クラス A、クラス B、クラス C という言い方は、歴史的なクラスフルネットワークの文脈では意味があります。ただ、現在の設計では CIDR を前提に考えるのが基本です。
192.168.0.0 だからクラス C、というような説明だけで止まってしまうと、/23 や /27 のような現実の設計を扱いにくくなります。実務では、クラス名よりも CIDR、マスク長、ブロックサイズで考える方が自然です。
サブネット計算でよくある間違い
- 総 IP 数と利用可能 IP 数を混同する
- ネットワークアドレスをホストに割り当てようとする
- ブロードキャストアドレスをホストに割り当てようとする
/24以外の境界を 4th Octet だけで考えてしまう- CIDR ではなくクラス A/B/C だけで判断しようとする
特に /19 や /21 のように 3rd Octet で区切るサブネットでは、4th Octet だけを見ていると範囲を間違えます。どのオクテットの値が変化しているのかを見ることが重要です。
参考書籍
書籍
マスタリング TCP/IP 入門編 第6版
TCP/IP、Ethernet、VLAN、ルーティングなど、ネットワークの基礎を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
関連する記事
まとめ
サブネット計算は、2 進数を毎回すべて書き出さなくても、CIDR、サブネットマスク、ブロックサイズの関係を押さえるとかなり楽になります。
特に、256 - マスク値 でブロックサイズを見る考え方は実用的です。あとは、そのブロックの先頭がネットワークアドレス、最後がブロードキャストアドレス、その間が利用可能 IP であると考えれば、多くの IPv4 サブネットは整理できます。


