3.

CIDR表記とは|プレフィックス長・VLSM・集約(スーパーネット)・IP範囲計算を解説

編集
この記事の要点
  • CIDR は「/プレフィックス長」でネットワークの大きさを示す表記法。/24 は先頭 24 ビットがネットワーク部。
  • クラス A/B/C の固定境界をやめ、任意のビット境界でネットワークを区切れるようにしたのが CIDR の本質。
  • VLSM はひとつの組織内で部署ごとに異なるプレフィックス長を使い、アドレスを無駄なく割り当てる手法。
  • 複数の連続ネットワークを 1 本のルートにまとめる「集約(スーパーネット)」でルーティングテーブルを縮小できる。
  • プレフィックス長から、総アドレス数 2^(32−n)・利用可能ホスト数 2^(32−n)−2 が計算できる。
  • /30 は 4 アドレス中ホスト 2 台で、ルータ間のポイントツーポイント接続に使われる。

概要

CIDR(Classless Inter-Domain Routing、サイダー)は、IP アドレスのネットワーク部の長さを「/24」のようにビット数で表す表記法、およびそれに基づくアドレス割り当て・ルーティングの方式です。192.168.10.0/24 と書けば「先頭 24 ビットがネットワーク部」を意味し、サブネットマスク 255.255.255.0 と同じことを簡潔に表現できます。

CIDR が登場する前は、IP アドレスは先頭ビットによってクラス A(/8)・クラス B(/16)・クラス C(/24)へ自動的に分類される「クラスフル」方式でした。しかしこの固定境界では、たとえば 500 台の端末が必要なだけでもクラス B(約 6.5 万アドレス)を払い出すしかなく、IPv4 アドレスの枯渇を早める原因になっていました。CIDR はこの固定境界を撤廃し、必要なサイズに合わせて任意のビット境界でネットワークを区切れるようにした仕組みです。

仕組み

プレフィックス長 n とは、32 ビットのうち先頭 n ビットがネットワーク部であることを示します。残り 32 − n ビットがホスト部です。これにより次の関係が成り立ちます。

総アドレス数      = 2^(32 − n)
利用可能ホスト数  = 2^(32 − n) − 2   (ネットワーク/ブロードキャストを除く)

例)
/24 → 2^8  = 256  個 → ホスト 254 台
/26 → 2^6  =  64  個 → ホスト  62 台
/30 → 2^2  =   4  個 → ホスト   2 台 (ルータ間接続向け)
/32 → 2^0  =   1  個 → 単一ホスト

クラスフルでは表現できなかった「/26」や「/19」といった中間サイズが CIDR では自在に使えます。プレフィックスを 1 増やすとネットワーク数は 2 倍に、各ネットワークのサイズは半分になります。

具体例・計算

VLSM(可変長サブネットマスク)の例です。192.168.0.0/24 を、必要ホスト数の異なる 3 部署へ割り当てます。大きい順に切るのが定石です。

割り当て元: 192.168.0.0/24 (256 アドレス)

営業部 (100 台必要) → /25 (126 台)
  192.168.0.0/25     範囲 .1 ~ .126     BC .127

開発部 (50 台必要)  → /26 (62 台)
  192.168.0.128/26   範囲 .129 ~ .190   BC .191

予備 (10 台必要)    → /28 (14 台)
  192.168.0.192/28   範囲 .193 ~ .206   BC .207
  ※ 192.168.0.208 ~ .255 は将来用に残る

逆に複数のネットワークを 1 本にまとめる集約(スーパーネット)の例です。連続する 4 つの /24 は共通プレフィックスでまとめられます。

192.168.0.0/24
192.168.1.0/24
192.168.2.0/24   →  192.168.0.0/22  (1 本に集約)
192.168.3.0/24

第3オクテット 0,1,2,3 = 000000xx → 上位 6bit 共通
24 − 2 = /22 でまとまる (アドレス 1024 個)

プログラムでプレフィックスからマスクを求めるなら、次のようにビットシフトで計算します。

// PHP: /26 のサブネットマスクを求める
$prefix = 26;
$mask   = long2ip(-1 << (32 - $prefix));  // 255.255.255.192
$hosts  = (1 << (32 - $prefix)) - 2;        // 62

主な用途

  • アドレスの効率配分 — VLSM で部署・拠点ごとに最適サイズを割り当て、IPv4 アドレスの無駄を最小化します。
  • ルーティングテーブルの縮小 — 集約により BGP などのルート数を減らし、インターネット全体の経路表の肥大化を抑えます。
  • ファイアウォール/ACL のレンジ指定10.0.0.0/8 のように一括で許可・拒否範囲を表現します。
  • クラウドの VPC/サブネット設計 — AWS や Azure では VPC を CIDR ブロックで定義し、その中をサブネットに切り分けます。

関連技術との比較

項目CIDR(クラスレス)クラスフル
境界の決め方任意のビット数(/0 ~ /32)先頭ビットで /8・/16・/24 に固定
アドレス効率高い(必要分だけ確保)低い(過剰に払い出し)
ルート集約可能(スーパーネット)困難
表記例192.168.0.0/22クラス C ×4 と認識
現在の扱い標準歴史的概念

注意点・落とし穴

  • 集約は連続したアドレスでないとできない — 192.168.1.0/24 と 192.168.5.0/24 のように飛んでいると、1 本にまとめると無関係なネットワークまで含んでしまいます。
  • VLSM は大きいサブネットから割り当てる — 小さいものから切ると境界が合わず、後から大きなブロックが確保できなくなります。
  • /31 と /32 の特殊性 — /31 はホスト 0 台に見えますが、RFC 3021 によりルータ間 P2P で 2 台使う運用があります。/32 は単一ホストです。
  • プレフィックスの数え違い — /20 を「255.255.255.240」と勘違いするミスが多発します。/24 を基準に +8 ビットごとにオクテットが切り替わる感覚を持つと安全です。

関連リンク

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. IPアドレス
  2. サブネットとサブネットマスク
  3. CIDR表記
  4. IPv6
  5. NAT・NAPT
  6. ポート番号
  7. MACアドレス

最近更新/作成されたページ