サイダー

CIDR

英語
Classless Inter-Domain Routing(クラスレスインタードメインルーティング)
別名
クラスレス・アドレッシング
ひとこと解説
クラスを使わずにIPアドレスを柔軟に使えるようする仕組み

CIDR(サイダー)は、IPアドレスのルールをとっぱらい、もっと自由に決めようぜ!という仕組み。

お菓子を買うとして大量の袋詰めしか買えなかったら嫌ですよね。食べきれず捨てることになる可能性大。自由にお菓子の数を選んで買うことができるというイメージがCIDR(サイダー)です。

パポのアイコン
パポ

しゅわしゅわサイダー?

ウルルちゃんのアイコン
ウルルちゃん

残念ながら炭酸ジュースのことじゃないわ。IPアドレスのアドレスクラスというルールをなくしてもっと自由に決めよう!っていう仕組みよ。

ここでもIPアドレスのことを少し説明するけど、よく知らない人はIPアドレスのページをチェックしてね。

意味:CIDRとはIPアドレスの無駄遣いをなくす節約術

CIDR

CIDR(サイダー)はクラスレスアドレッシングとも言い、IPアドレスのクラスを廃止してネットワークの大きさやそのネットワークに属するコンピュータ数をもう少し自由に決めようよ、としたものです

これによりIPアドレスの無駄遣いをせずに節約することができるようになりました。

アドレスクラスの問題点

CIDR5.png

CIDRを知るうえで必要な知識を少しかいつまんで説明していきます。

IPアドレスについてちょっと説明

CIDR1.png

IPアドレスについて簡単に説明します。くわしく知りたい時はIPアドレスのページをチェックしてね。

IPアドレスは、ネットワーク上でのコンピュータの住所のようなものです。

コンピュータは「1」と「0」のみを理解して処理するので、IPアドレスも「1」と「0」のみ。
32個(32ビット)の0と1で表される数値です。

11000000.10101000.00000000.00000011

ぱっと見たら、ただ0と1が連続していてなんだかよくわかりませんが、このIPアドレスには「どのネットワークにいるのか」と「どのコンピュータなのか」という2つの情報がわかるようになっています。

この「どのネットワークなのか」という情報をネットワーク部、「どのコンピュータなのか」という情報をホスト部といいます。

なので、IPアドレスを見ればどのネットワークのどのコンピュータなのかわかるようになっています。

アドレスクラス

CIDR2.png

IPアドレスの「ネットワーク部」と「ホスト部」を区切るところはネットワークの規模によって変わってきます。

ホスト部に割り当てられる数字が多いほど、たくさんのコンピュータが1つのネットワークに属することができるからです。

これまでIPアドレスは、ネットワークの規模よってクラスという分類方法で分けていました。

大きいネットワークを使いたい人はクラスAのIPアドレスをあげるよ!
小さいネットワークでいいという人はクラスCのIPアドレスを使ってね!

というように。

1つのネットワークの中に割り当てられるホスト数(コンピュータの数)がクラスごとに決まっています。一般的にクラスA~Cが使われています。(本当はD、Eまでありますが一般的ではありません)

ip-address-class-host.png

たとえばクラスBではホスト部が16ビットと決まっているので、以下の計算で「割り当て可能なホスト数」を求めることができます。

2の16乗=65,536
65,536ー2=65,534

ということで、1つのネットワークの中にIPアドレスが65,536個ついてきます。

そのうち2つはコンピュータに割り当てられない特殊なIPアドレスなので、マイナス2した65,534個が1つのネットワークに割り当てられるホスト数です。

クラス 割り当て可能なホスト数
クラスA 16,777,214個
クラスB 65,534個
クラスC 254個

しかし、このアドレス・クラスという考え方には問題がありました。
それは、IPアドレスがセット売りなことです。

クラスAは、約1677万個のIPアドレスがセットになっています。
またクラスBは、65,536個のIPアドレスがセットになっています。

クラスによってネットワーク部とホスト部が固定されているので、必要な分だけのIPアドレスを選ぶことはできません。

IPアドレスが無駄になる例

CIDR6.png

お菓子に例えてみよう

たとえば、セット売りのお菓子だと考えてみましょう。お菓子セットがアドレスクラスで、お菓子1つ1つがIPアドレスです。

500個くらいお菓子がほしいとします。でも訪れたお菓子屋さんには袋づめのセット売りしかありませんでした。

  • お菓子セットA=約1677万個
  • お菓子セットB=65,536個
  • お菓子セットC=256個

Cセットでは足りないのでしかたなくBセットを買いましたが、必要なお菓子は500個だけです。残りの約6万5千個のお菓子は無駄になってしまいました。

実際にネットワークの例を見てみよう

コンピュータ500台ほどのネットワークを作ろうと思いました。

クラスCでは1つのネットワークに254台のコンピュータしか入れないので、65,534台が1つのネットワークに入れるクラスBのIPアドレスを使うことにしました。

しかしクラスBのIPアドレスでコンピュータ500台のネットワークを作ると、65,534ー500=65,034台分のIPアドレスが余ってしまいます。

「じゃあ他の人に使ってもらおう」というわけにもいきません。
ネットワークに他の人が入るのはセキュリティ上とても危ないからです。

ということで約6万5千台のIPアドレスは使われずに無駄になってしまいました。

IPアドレスは約43億個ありますが、70億人以上が住む世界規模で使われるので全然足りません。
ましてやこんなふうにIPアドレスを無駄づかいしていてはすぐに足りなくなってしまいます。

そこで登場するのがCIDRです。

CIDRは、IPアドレスのクラスを廃止してネットワークの大きさやそのネットワークに属するコンピュータ数をもう少し自由に決めようよって仕組みです。

CIDRはクラスのルールを完全無視

CIDR3.png

CIDRはアドレス・クラスの考え方を完全無視しちゃいます。
アドレス・クラスの分類方法では、ネットワーク部とホスト部が固定されていましたね。

CIDRは、ネットワーク部とホスト部の境界線を自由に決められます。
それで極力IPアドレスの無駄をなくすことができるんです。

どうやるかというと、サブネットマスクの値を自由に変えちゃいます。
サブネットマスクはどこからどこまでがネットワーク部でホスト部なのかを示す情報です。

上の例と同じく、クラスBのIPアドレスで1つのネットワークの中に500台のコンピュータを接続したいとします。

クラスBではデフォルトとして以下のサブネットマスクが設定されています。
アドレス・クラスでは、ネットワーク部とホスト部が固定されているので、クラスBはネットワーク部16ビット、ホスト部16ビットですね。

クラスにデフォルトで設定されているサブネットマスクをデフォルトマスクとかナチュラルマスクといいます。

11111111.11111111.00000000.00000000

1の部分がネットワーク部で、0の部分がホスト部です。
これを以下のように変えちゃいます。

11111111.11111111.11111110.00000000

ネットワーク部が23ビットで、ホスト部が9ビットになりました。

2の9乗=512
512ー2=510

ということで、割り当てられるホスト数は、510個です。
510ー500=10で無駄になるIPアドレスを10個におさえることができました。

クラスBの分類のままネットワークをつくると、65,034個のIPアドレスが無駄になってしまっていたので、かなり節約できましたね。

クラスAではネットワーク部24ビット、ホスト部8ビット
クラスBではネットワーク部16ビット、ホスト部16ビット
クラスCではネットワーク部24ビット、ホスト部8ビット

と固定で決まっていましたが、CIDRを利用すればホスト部を9ビットや10ビットに自由に決めることができます。

これである程度使いたいIPアドレスの数を調整することができます。

CIDR表記

CIDR4.png

現在はアドレス・クラスによる分類はほとんど使われていません。CIDRによるサブネットマスクの値の変更が主流となっています。

そこでちょっとした問題が起きました。

アドレス・クラスは、ネットワーク部とホスト部が固定されていたので、デフォルトでサブネットマスクが決まっています。

つまりどのクラスのIPアドレスかわかれば、どこからどこまでがネットワーク部でどこまでがホスト部なのかすぐにわかりました。

でもクラスの分類がなくなった今、IPアドレスを見ただけではネットワーク部とホスト部の境界線がわからなくなりました。

なので、IPアドレスを見ただけでサブネットマスクがわかるように表記しようということになりました。

たとえば以下のようなIPアドレスがあったとします。
CIDRによってサブネットマスク値がネットワーク部26ビット、ホスト部9ビットに設定されていたとします。

10進数表記:172. 20. 1. 1
2進数表記:10101100.00010100.00000001.00000001

これはクラスBのIPアドレスにあたりますが、クラスの分類を使っていないので見ただけではどこまでがネットワーク部でホスト部かわかりません。

なので、「ここまでがネットワーク部ですよ」っていう数字をくっつけてあげます。

172.20.1.1/26

これは2進数の時、「左から数えた26けたがネットワーク部ですよ」という意味になります。
以下のサブネットマスクを設定しているのと同じです。

2進数表記:255.255.255.192

10進数表記:11111111.11111111.11111111.11000000

こうしてIPアドレスにネットワーク部を「/xx」というように表記することを「CIDR表記」といいます。

まとめ

  • CIDRは「サイダー」と読む
  • クラスのルールを無視して自由にネットワークの大きさやホスト数を決めることができる
  • IPアドレスを見ただけではネットワーク部とホスト部の境界線がわからないので「CIDR表記」を使う。
papo-smile-icon-r.png
パポ

ま、何でも節約って大事よね!

ururu-well-icon-l.png
ウルルちゃん

いつも電気つけっぱなしのくせによく言うわね…