CIDR

読み:さいだー / 英語表記:Classless Inter-Domain Routing

IPアドレスのクラスにとらわれず、ネットワーク部の長さを任意のビット数で決めて、アドレスの割り当てと経路の集約を行う仕組み。「192.168.0.0/22」のように、プレフィックス長で表記する。

イマシルちゃんの解説

昔のIPアドレスは、ネットワークの大きさを「大・中・小」の3つから選ぶしかなかったんだ。
これだと「中は小さすぎるけど、大だと大きすぎる」なんてことがよく起きて、アドレスがもったいなかった。

CIDRは、この区切りの位置を1ビット単位で自由に決められるようにしたんだよ!
ちょうどいい大きさで配れるし、いくつかのネットワークを1つにまとめて扱うこともできるんだ。

より深い解説

定義

CIDR(Classless Inter-Domain Routing)は、RFC 1519(現在はRFC 4632)で定められた、IPv4アドレスをクラスに関係なく扱う割り当てと経路制御の方式である。ネットワーク部の長さをプレフィックス長として明示し、「アドレス/プレフィックス長」の形(CIDR表記)で表す。

導入された背景

1990年代のはじめ、インターネットの急速な拡大によって、次の2つの問題が深刻になった。

問題内容CIDRによる解決
アドレスの浪費クラスBを割り当てると、多くのアドレスが使われずに余る必要な大きさに合わせて割り当てる
経路表の肥大化クラスCを多数割り当てると、インターネットのルータの経路表が膨れ上がる連続するアドレスを1つの経路に集約する

CIDRでできること

機能内容
可変長での割り当て/20、/22 など、組織の規模に合わせた大きさでアドレスを割り当てる
経路集約(スーパーネット化)連続する複数のネットワークを、より短いプレフィックス長の1つの経路にまとめる

組織の内部でサブネットごとに異なる長さのマスクを使う技術はVLSM、組織の外に向けて複数のネットワークを1つにまとめて広告する技術がCIDRによる経路集約、と整理できる。どちらも「ネットワーク部の長さを自由に決める」という同じ考え方に基づく。

集約の例

192.168.4.0/24 ~ 192.168.7.0/24 の4つのネットワークを集約する場合

ネットワーク第3オクテット(2進数)
192.168.4.0/24000001 00
192.168.5.0/24000001 01
192.168.6.0/24000001 10
192.168.7.0/24000001 11

第3オクテットの上位6ビットが共通なので、共通部分は 8 + 8 + 6 = 22ビットとなり、集約したネットワークは 192.168.4.0/22(サブネットマスク 255.255.252.0)になる。

集約できる条件

1つのプレフィックスにまとめられるのは、次の条件を満たす場合である。

例:192.168.5.0/24 ~ 192.168.8.0/24 の4つは連続しているが、第3オクテットの5が4の倍数ではないため、/22の1つにはまとめられない。まとめると、192.168.0.0/20 のように、関係のないアドレスまで含む大きな範囲になってしまう。

経路表での扱い:最長一致

CIDRの導入により、経路表には長さの異なるプレフィックスが混在するようになった。宛先に一致する経路が複数ある場合、ルータはプレフィックス長が最も長い(最も詳細な)経路を選ぶ。これを最長一致(ロンゲストマッチ)という。

例:経路表に 10.0.0.0/8 と 10.1.2.0/24 があり、宛先が 10.1.2.3 なら、/24 の経路が選ばれる。

プレフィックス長とサブネットマスクの対応

プレフィックス長サブネットマスク/24のネットワークの数
/21255.255.248.08
/22255.255.252.04
/23255.255.254.02
/24255.255.255.01

実際の試験ではここに出る!

この用語が出てくる記事

↑