CIDR 記法を理屈で理解する:/24 や /16 の意味と使い分け
192.168.1.0/24 のような CIDR 表記は、ルータの設定や AWS VPC のサブネット設計などで頻出します。意味を覚えていれば即答できる場面でも、/27 や /19 あたりが出てくると毎回計算したくなる仕様でもあります。本記事では CIDR 記法の理屈と、よく使うプレフィックス長の感覚値を整理します。
CIDR とは:従来クラス制の置き換え
CIDR(Classless Inter-Domain Routing)は 1993 年の RFC 1519 で導入された、IP アドレスをプレフィックス長で扱う方式です。
それまでの クラスフルアドレッシング(クラス A/B/C)は、アドレスの先頭ビットでネットワーク部のサイズが固定されていました:
- クラス A:先頭 8 bit がネットワーク(最大ホスト数 約1677万)
- クラス B:先頭 16 bit がネットワーク(最大ホスト数 約6万5千)
- クラス C:先頭 24 bit がネットワーク(最大ホスト数 254)
これが粗すぎて、「数千ホストの組織にクラス B を割り当てると 6 万アドレスのうち大半が未使用」という IP アドレスの大量浪費を招きました。CIDR は 任意のプレフィックス長を許すことでこの問題を解決します。
表記:<アドレス>/<プレフィックス長>
192.168.1.0/24
└──────┬──┘ └┬┘
開始 プレフィックス長
アドレス (ネットワーク部のビット数) - IPv4 のアドレスは 32 bit
/24は「先頭 24 bit がネットワーク部、残り 8 bit がホスト部」を意味する- ホスト部のビット数 = 32 - 24 = 8、ホスト数候補 = 2^8 = 256
サブネットマスクとの対応
CIDR のプレフィックス長は、従来のサブネットマスクと等価です。
| CIDR | サブネットマスク | ネットワーク部 | ホスト部 | ホスト数候補 |
|---|---|---|---|---|
| /8 | 255.0.0.0 | 8 bit | 24 bit | 16,777,216 |
| /16 | 255.255.0.0 | 16 bit | 16 bit | 65,536 |
| /24 | 255.255.255.0 | 24 bit | 8 bit | 256 |
| /27 | 255.255.255.224 | 27 bit | 5 bit | 32 |
| /30 | 255.255.255.252 | 30 bit | 2 bit | 4 |
| /32 | 255.255.255.255 | 32 bit | 0 bit | 1 |
サブネットマスクの「255.255.255.224」のような微妙な値が出てくる理屈:
/27は先頭 27 bit が 1、残り 5 bit が 0- 27 bit = 24 bit + 3 bit
- 最後のオクテットは
11100000=224
実際に使えるホスト数:マイナス2 のルール
「ホスト数候補」と「実際に割り当てられるホスト数」は2つ違います。理由は、各サブネット内で2つのアドレスが特殊用途に予約されているためです:
- ネットワークアドレス(ホスト部が全 0):サブネット自体を表す
- ブロードキャストアドレス(ホスト部が全 1):サブネット内の全ホスト宛
192.168.1.0/24 の場合:
192.168.1.0 ← ネットワークアドレス(使えない)
192.168.1.1 ← 最初の使えるホスト
...
192.168.1.254 ← 最後の使えるホスト
192.168.1.255 ← ブロードキャスト(使えない)
実際に割り当てられるホスト数: 256 - 2 = 254 例外として /31 と /32 はこの原則から外れます。/31 は2点間リンク用に2つとも使う特殊用途、/32 は単一ホスト指定用です。
よく使うプレフィックス長の感覚値
業務で目にしやすいプレフィックス長の規模感:
| CIDR | 用途・感覚値 |
|---|---|
| /8 | プロバイダ規模。10.0.0.0/8 の私用アドレス全体など |
| /16 | 組織全体。192.168.0.0/16 の私用アドレス、AWS VPC のデフォルトサイズ |
| /20 | 大規模サブネット。約 4096 アドレス |
| /24 | 一般的な部署や VLAN。256 アドレス(実用 254) |
| /27 | 小規模 LAN や VPN。32 アドレス(実用 30) |
| /29 | 専用線の両端など。8 アドレス(実用 6) |
| /30 | ポイントツーポイントリンク。4 アドレス(実用 2) |
| /32 | 単一ホスト。ファイアウォール ACL で頻出 |
「/24 は 254 ホスト、ビット数を1減らすたびに2倍」という覚え方をすると、暗算しやすくなります。
サブネット設計でつまずくポイント
1. ネットワーク境界に揃えないとサブネット化できない
/27(32 アドレス)のサブネットを切る場合、開始アドレスは 32 の倍数のオクテット末尾にする必要があります:
192.168.1.0/27→ OK(0, 32, 64, 96, … の境界)192.168.1.16/27→ NG(16 は 32 の倍数ではない)
CIDR は アドレスがプレフィックス長に揃っていることが前提です。
2. AWS VPC では予約アドレスが追加で4つ
AWS VPC では、各サブネット内で 5 つのアドレスが予約されます(先頭4つ + 末尾1つ):
10.0.0.0/24 を AWS で使う場合:
10.0.0.0 ネットワーク
10.0.0.1 VPC ルータ
10.0.0.2 DNS
10.0.0.3 将来用
10.0.0.255 ブロードキャスト
→ 実用ホスト数: 256 - 5 = 251 オンプレで 254 だった /24 が、AWS では 251 になります。/29(8 アドレス)以下のサブネットを AWS で切ると、使えるホストが 3 つしか無く実用的ではないので、AWS での最小推奨は /28(16 アドレス、実用 11)になります。
3. プレフィックス長を変えるのは原則できない
サブネットを切ったあとにサイズを変えるのは、ほとんどのクラウドで「作り直し」が必要です。設計時に余裕を見て大きめの CIDR を取っておくのが定石です。
まとめ
CIDR の本質は「先頭何ビットがネットワーク部か」を直接書く方式で、これさえ理解していれば残りは暗算でいけます。
実際のサブネットの範囲・ホスト数・サブネットマスクを確認したいときは、本サイトの CIDR 計算機で 192.168.1.0/24 のような表記を入れると即座に表示されます。手計算だと間違えやすい /27 以下の小さいサブネットほど、ツールで確認する価値があります。