[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

CIDR

pointこの用語のポイント

pointアドレスクラスの概念を気にしないよ

pointIPアドレスと一緒にサブネットマスクも伝えるよ

スポンサーリンク

簡単に書くよ

CIDRとは

「クラス?何それ?美味しいの?」なIPアドレスをあれこれする仕組みのこと。
もう少し小難しく書くと

アドレスクラスの概念を気にしないことで、IPアドレスの割り当てや経路選択などの自由度を上げる仕組み
です。

image piyo

詳しく書くよ

大雑把に言えば、IPアドレスのお話からアドレスクラスの概念を取っ払った仕組みが「CIDR」です。
Classless Inter-Domain Routing(クラスレス・インタードメイン・ルーティング)」を省略して「CIDR」ね。
「サイダー」と読みます。

先に、理解が前提となる用語の解説をしておきますね。
ざっくりと書きますので、詳細はそれぞれの用語の解説をご覧ください。

まず「IPアドレス」は「ネットワーク上の住所」です。
IPアドレスには「どのネットワークのどのコンピュータですよ~」という情報が書かれています。
どこからどこまでが「どのネットワークですよ~」な情報で、どこからどこまでが「どのコンピュータですよ~」な情報かは「サブネットマスク」と呼ばれるものを見ると分かるようになっています。

CIDR

「アドレスクラス」は「すべてのIPアドレスはクラスA~Eのどれかに分類されちゃうよ~な考え方」です。
アドレスクラスの考え方に従うと、IPアドレスが分かるとそのIPアドレスがどのクラスに属するかが分かり、どのクラスに属するかが分かると使用するべきサブネットマスクの値が分かります。IPアドレスを見れば、どこからどこまでが「どのネットワークですよ~」な情報で、どこからどこまでが「どのコンピュータですよ~」な情報かが分かるようになっているのです。便利ですね。

CIDR2

そんな便利なアドレスクラスの考え方ですが、実はちょっとだけ弱点がありました。

それは「もったいない病」です。

イメージとしては……そうですね。
チョコレートがあったとします。

CIDR3

どれくらいの量かというと、ざっと4,294,967,296個(約43億個)です。

CIDR4

全部食べたら鼻血ブーですね。
この約43億個のチョコレートは単品売りはされていません。それぞれ袋に入って売られています。
大きい袋には16,777,216個(約1677万個)のチョコレートが入っています。
中くらいの大きさの袋には65,536個(約6万5千個)入っています。
小さい袋には256個入っています。

CIDR5

さて、あなたは無性にチョコレートが食べたくなりました。
どれくらいの量食べたいかというと、5万個くらいです。どの袋を買いますか?
大は小を兼ねると言いますし、中くらいの大きさの袋(約6万5千個入り)を買う人が多いのではないでしょうか。
5万個食べるのに6万5千個入りの袋を買いました。
ということは約6万5千個から5万個を引いた約1万5千個は無駄になってしまいますよね。

CIDR6

もったいなっ!
約1万5千個、もったいなっ!

CIDR7

これがアドレスクラスの弱点です。
あらかじめ決まった数が袋詰めになっているので、欲しい分だけ買えないのです。

このチョコレートの話を踏まえて、実際のIPアドレスを見てみましょう。

詳細は省きますが、アドレスクラスの考え方に従うと、クラスAのネットワークには、1つのネットワークにつき16,777,216個のIPアドレスが割り当てられます。
つまり、クラスAのIPアドレスは、同じネットワーク内で16,777,216台(から特殊なIPアドレスを除外して16,777,214台)のコンピュータを接続できるのです。
同様にクラスBは65,536台(から特殊なIPアドレスを除外して65,534台)、クラスCは256台(から特殊なIPアドレスを除外して254台)のコンピュータを接続できます。
これをまとめるの以下の表のようになります。

クラス接続可能コンピュータ数
クラスA16,777,214台
クラスB65,534台
クラスC256台


さて、ここでピヨピヨカンパニーに登場してもらいましょう。

CIDR8

ピヨピヨカンパニーは新規事業の一環として、プロバイダ事業に乗り出しました。
少し話が逸れますが「プロバイダ」は「あなたの使っている回線とインターネットの世界をくっつけてくれる業者さん」ね。ここでは、皆さんにIPアドレスを貸してくれる業者さんだとお考えください。
インターネットをするにはIPアドレスが必要ですが、それは皆さんが個人個人でどこかから買っているわけではありません。プロバイダさんが買って、それを皆さんに貸してくれているのです。

話を戻します。

ピヨピヨカンパニーではプロバイダ事業を始めました。
お客さまの見込み数は、今のところ10,000人くらいです。
そうすると1つのネットワークに256個しかないクラスCでは足りませんよね?65,536個あるクラスBの割り当てが欲しいです。
仮にピヨピヨカンパニーの頑張りでクラスBが貰えたとしましょう。
65,536個のIPアドレスが貰えたので65,536台(厳密には65,534台)接続できますが、実際に使うのは10,000台分くらいです。残りの約5万5千個はあるだけで使いません。
この余った分をどうしましょう。他の人にあげちゃう?
でも同じネットワークに他の人がいるってのはセキュリティ上、心配ですよね。
仕方ないので残りの5万5千個は見なかったことにしました。

もったいないですね。

ただでさえIPアドレスが枯渇するとか言われているのに、もったいないことこの上ないですね。

この「もったいない」を解消するために登場したのが「CIDR(サイダー)」です。

CIDR9

CIDRではアドレスクラスの考え方にこだわりません。
サブネットマスクの値を調整することによって、一つのネットワークと見なすIPアドレスの範囲を(ある程度)自由に決めちゃうのです。

先程のチョコレートの話で言えば、あらかじめ用意された大・中・小の袋は使いません。

CIDR10

自分たちで好きな大きさの袋を用意して、そこに好きなだけ(といってもある程度の制約はありますが)チョコレートを詰め込みます。

CIDR11

そうすれば、持っていくチョコレートの量をある程度は調整できますよね。
無駄にするチョコレートの数が減りました。

IPアドレスの世界でも同じことをします。
チョコレートの話で出てきた袋の大きさはサブネットマスクだと思ってください。
サブネットマスクの値を調整することで、同じネットワークと見なすIPアドレスの数が変わります。

例えばサブネットマスクが

11111111.11111111.11111111.00000000

だった場合、2進数表記で

xxxxxxxx.xxxxxxxx.xxxxxxxx.00000000
※「x」は0か1

から

xxxxxxxx.xxxxxxxx.xxxxxxxx.11111111

までのIPアドレスが同じネットワークになります。
サブネットマスクの1の部分が「どのネットワークですよ~」な情報になるので、

xxxxxxxx.xxxxxxxx.xxxxxxxx.

の部分は共通です。
同じネットワークと見なされるIPアドレスの個数は2の8乗で256個になります。

サブネットマスクが

11111111.11111111.11110000.00000000

の場合はどうでしょう。

xxxxxxxx.xxxxxxxx.xxxx0000.00000000

から

xxxxxxxx.xxxxxxxx.xxxx1111.11111111

までのIPアドレスが同じネットワークになります。

今度は

xxxxxxxx.xxxxxxxx.xxxx

の部分が「どのネットワークですよ~」の情報で、共通です。
同じネットワークと見なされるIPアドレスの個数は2の12乗で4096個になります。

サブネットマスクの値が変わったことによって、同じネットワークに所属するIPアドレスの範囲も変わりましたね。
このように、任意のサブネットマスク値を使うことによって、ネットワークの大きさを変えられるようにしたのがCIDRです。

あれ?なんかサブネット化の説明でも同じような話が出てきましたね。
そうです。同じです。CIDRはインターネット全体を一つのネットワークと捉えて、それをサブネット化していると考えて構いません。

CIDR12

CIDRではサブネットマスクの値を好きに決められます。そうすることによって、同じネットワークとして扱うIPアドレスの個数を調整できます。
その代わり……と言っては語弊がありますが、IPアドレスを見てもサブネットマスクの値は分かりません。どこからどこまでが「どのネットワークですよ~」な情報で、どこからどこまでが「どのコンピュータですよ~」な情報か、IPアドレスから判断できないのです。

そこでCIDRではサブネットマスクの値も一緒に伝えてやります。
CIDRでは、IPアドレスを

198.51.100.xxx/24

のような形式で書くのです。(「CIDR表記」と言います)
このときの「/24」の部分がサブネットマスクを表しています。この場合は「左から24桁目までが『どのネットワークですよ~』な情報だよ」の意味になります。
これは、サブネットマスクとして

2進数表記:11111111.11111111.11111111.00000000
10進数表記:255.255.255.0

を使うよ~ということです。1が左から24個並んでいますよね。
このサブネットマスクを使うことによって

2進数表記:11000110.00110011.01100100.00000000
10進数表記:198.51.100.0

から

2進数表記:11000110.00110011.01100100.11111111
10進数表記:198.51.100.255

までのIPアドレスが同じネットワークとして扱われます。
2進数表記で

11000110.00110011.01100100.

の部分が「どのネットワークですよ~」を表していますよ。

これが

198.51.100.xxx/20

になるとどうなるでしょう。
「/20」の部分がサブネットマスクを表していて「左から20桁目までが『どのネットワークですよ~』な情報だよ」の意味になります。
これは、サブネットマスクとして

2進数表記:11111111.11111111.11110000.00000000
10進数表記:255.255.240.0

を使うよ~ということです。1が左から20個並んでいますよね。
そうすると

2進数表記:11000110.00110011.01100000.00000000
10進数表記:198.51.96.0

から

2進数表記:11000110.00110011.01101111.11111111
10進数表記:198.51.111.255

までのIPアドレスが同じネットワークとして扱われます。
2進数表記で

11000110.00110011.0110

の部分が「どのネットワークですよ~」を表している部分です。

うん、やっぱり考え方はサブネット化と同じですね。

長くなったので最後にもう一度まとめておきます。

IPアドレスは元々、クラスアドレスの考え方に従ってクラスに分けて管理されていました。
これを「クラスフルアドレッシング」と言います。
クラスフルアドレッシングでは、IPアドレスを見ればクラスが分かり、クラスが分かれば使うべきサブネットマスクの値も分かります。
つまりIPアドレスを見れば「どのネットワークのどのコンピュータですよ~」というのがすぐに判断できるようになっていました。

これはとても便利だったのですが、弱点もありました。
それはIPアドレスに無駄が出てくることです。その仕組み上、使わないのに割り当てざるを得ないIPアドレスが出てくるのです。

これを改善するために「もうさ、クラスの考え方は止めにしてさ。もっと自由に羽ばたこうぜ!」という考え方が出てきました。
わざわざクラス分けしないで、任意の大きさのネットワークを作れるようにしますべさ、という考え方です。
これを「クラスレスアドレッシング」と言います。
そしてクラスレスアドレッシングを実現するための仕組みがCIDRです。

CIDRでは、サブネットマスクを調整することで任意の大きさのネットワークを作れます。インターネット全体を一つのネットワークと捉えて、それをサブネット化するイメージです。
その代わりIPアドレスを見てもサブネットマスクの値が分かりません。
そのため「198.51.100.xxx/24」のように、IPアドレスと一緒にサブネットマスクも伝えてあげる必要があります。

暗黙の了解をなくして、代わりに自由度を上げたってことでしょうかね。
サブネットマスクを調整することによって、ネットワークの区切りを柔軟にしています。

image piyo2

一言でまとめるよ

まぁ「CIDR」って単語が出てきたら「クラスの概念が無いんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク