CIDR 記法を理屈で理解する:/24 や /16 の意味と使い分け

約7分

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サブネットマスクネットワーク部ホスト部ホスト数候補
/8255.0.0.08 bit24 bit16,777,216
/16255.255.0.016 bit16 bit65,536
/24255.255.255.024 bit8 bit256
/27255.255.255.22427 bit5 bit32
/30255.255.255.25230 bit2 bit4
/32255.255.255.25532 bit0 bit1

サブネットマスクの「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 以下の小さいサブネットほど、ツールで確認する価値があります。