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

CIDR(サイダー)

pointこの用語のポイント

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

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

point「Classless Inter-Domain Routing」の略だよ

スポンサーリンク

簡単に書くよ

CIDR(サイダー)とは

「クラス?何それ?美味しいの?」なIPアドレス(インターネットをするときにコンピュータに割り当てられる住所)をあれこれする仕組みのこと。
もう少し小難しく書くと

アドレスクラス(すべてのIPアドレスはクラスA~Eのどれかに分類されちゃうよ~な考え方)の概念を気にしないことで、IPアドレスの割り当てや経路選択などの自由度を上げる仕組み
です。


image piyo

詳しく書くよ

サクっと一言で説明すると

IPアドレスの話からアドレスクラスの概念を取っ払った仕組み

が「CIDR」です。

CIDR

「アドレスクラスの概念を取っ払った仕組み」とか言われても、よく分からないでしょうけどね。
今の時点では気にしないで読み進めてください。

先に、理解が前提となる用語の説明をしておきます。

まず、IPアドレスは「ネットワーク上の住所」です。
インターネットっぽい通信において、送信先を特定するときとかに使う情報です。
「198.51.100.2」のような形式になっています。

CIDR2

IPアドレスは

どのネットワークの、どのコンピュータですよ~

を表現しています。

「どのネットワークですよ~」が書いてある部分は「ネットワーク部」と言います。
「どのコンピュータですよ~」が書いてある部分は「ホスト部」です。

CIDR3

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

CIDR4

サブネットマスクの書式はIPアドレスと同じです。
例えば

255.255.255.0

のような見た目になっています。

サブネットマスク「255.255.255.0」は10進数で書かれています。
実は このままだと分かりにくいので、2進数に直してみましょう。

サブネットマスク「255.255.255.0」を2進数に直すと

11111111.11111111.11111111.00000000

に なります。

パッと見で

1.「1」が並んでいる部分
2.「0」が並んでいる部分


がありますよね。

この2つのうち

1.「1」が並んでいる部分

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

2.「0」が並んでいる部分

は「どのコンピュータですよ~」を表しています。
ホスト部を示す情報です。

それだけの話です。
簡単ですね。

CIDR5

例えば「192.168.0.2」というIPアドレスがあったとします。
このIPアドレスを2進数に直すと

11000000.10101000.00000000.00000010

に なります。

このIPアドレスと先程のサブネットマスクを並べてみましょう。

11000000.10101000.00000000.00000010
11111111.11111111.11111111.00000000

IPアドレスとサブネットマスクを、じ~っと見比べてください。

サブネットマスクの「1」になっている部分と対応するところが、IPアドレスの「どのネットワークですよ~」を示している部分です。
IPアドレス「192.168.0.2」の場合は

11000000.10101000.00000000.00000010

の中の

11000000.10101000.00000000

の部分になります。

残りの部分、サブネットマスクの「0」の部分に対応するところが、IPアドレスの「どのコンピュータですよ~」を示している部分です。
IPアドレス「192.168.0.2」の場合は

11000000.10101000.00000000.00000010

の中の

00000010

の部分になります。

サブネットマスクが「255.255.255.0」の場合、IPアドレス「192.168.0.2」は「11000000.10101000.00000000ネットワークの00000010コンピュータですよ~」という意味になるわけです。

CIDR6

アドレスクラスは「すべてのIPアドレスはクラスA~Eのどれかに分類されちゃうよ~」な考え方です。

CIDR7

アドレスクラスの考え方に従った場合、IPアドレスが分かると、そのIPアドレスがどのクラスに属するかが分かります。
どのクラスに属するかが分かると使うべきサブネットマスクの値が分かります。

IPアドレスを見れば、どこから どこまでが「どのネットワークですよ~」な情報で、どこから どこまでが「どのコンピュータですよ~」な情報かが分かるようになっているのです。
便利ですね。

以上を踏まえて、本題に入ります。

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

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

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

CIDR8

どれくらいの量かというと、ざっと4,294,967,296個(約43億個)です。
全部食べたら鼻血ブーですね。

CIDR9

この約43億個のチョコレートは単品売りはされていません。
それぞれ袋に入って売られています。

大きい袋には16,777,216個(約1,677万個)のチョコレートが入っています。
中くらいの大きさの袋には65,536個(約6万5千個)入っています。
小さい袋には256個入っています。

CIDR10

さて、ピヨ太君は無性にチョコレートが食べたくなりました。
どれくらいの量食べたいかというと、5万個くらいです。
ピヨ太君は、どの袋を買えば良いですかね?

CIDR11

大は小を兼ねると言います。
5万個食べたいのであれば中くらいの大きさの袋(約6万5千個入り)を買うべきでしょう。

CIDR12

ピヨ太君は5万個のチョコを食べるのに6万5千個入りの袋を買いました。
ということは約6万5千個から5万個を引いた約1万5千個は無駄になってしまいます。

CIDR13

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

CIDR14

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

このチョコレートの話を踏まえて、実際の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台


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

CIDR15

ピヨピヨカンパニーは新規事業の一環として、ISP事業に乗り出しました。

少し話が逸れますが「ISP」は「あなたの使っている回線とインターネットの世界をくっつけてくれる業者さん」ね。
今回は「インターネットをするときのIPアドレスを貸してくれる業者さん」だと思ってください。
インターネットをするときはIPアドレスが必要ですが、それは、みなさんが個人個人でどこかから買っているわけでは ありません。
ISPさんがIPアドレスを(まとめて)買って、それを、みなさんに貸してくれているのです。

話を戻します。

ピヨピヨカンパニーではISP事業を始めました。
お客さまの見込み数は、今のところ10,000人くらいです。

そうすると1つのネットワークに256個しかないクラスCでは足りませんよね。
65,536個あるクラスBの割り当てが欲しいです。

仮にピヨピヨカンパニーの頑張りでクラスBがもらえたとしましょう。
65,536個のIPアドレスがもらえたので65,536台(厳密には65,534台)接続できますが、実際に使うのは10,000台分くらいです。
残りの約5万5千個はあるだけで使いません。

この余った分をどうしましょう。
他の人にあげちゃいますか?
とはいえ同じネットワークに他の人がいるのはセキュリティ的に心配ですよね。

仕方がないので残りの5万5千個は見なかったことにしました。

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

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

CIDR16

Classless Inter-Domain Routing(クラスレス・インタードメイン・ルーティング)」の略で「CIDR」ね。
気が向いたら、覚えてあげてください。

CIDR17

※「Classless Inter-Domain Routing」を何となく日本語にすると「アドレスクラスの概念がない、領域間の経路制御」となります。[詳細]

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

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

CIDR18

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

CIDR19

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

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

例えば、サブネットマスクが2進数表記で

11111111.11111111.11111111.00000000

だったとしましょう。

IPアドレスは、これもやっぱり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は、インターネット全体を1つのネットワークと捉えて、それをサブネット化していると考えて かまいません。

CIDR20

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

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

198.51.100.1/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.1/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では、サブネットマスクを調整することで任意の大きさのネットワークを作れます。
インターネット全体を1つのネットワークと捉えて、それをサブネット化するイメージです。

その代わり、IPアドレスを見てもサブネットマスクの値が分かりません。
そのため「198.51.100.1/24」のように、IPアドレスと一緒にサブネットマスクも伝えてあげる必要があります。

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


image piyo2

一言でまとめるよ

まぁ「CIDR」って単語が出てきたら「アドレスクラス(すべてのIPアドレスはクラスA~Eのどれかに分類されちゃうよ~な考え方)の概念がないやり方なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像071
書籍画像070

おまけ

■訳してみるよ

「CIDR(サイダー)」は「Classless Inter-Domain Routing(クラスレス・インタードメイン・ルーティング)」の略です。
「classless(クラスレス)」は「クラスがない」的な意味です。
「inter(インター)」という接頭辞が付くと「相互の」とか「~の間」の意味になります。
「domain(ドメイン)」の意味は「領域」とか「区域」とか「領土」とかです。
「routing(ルーティング)」は「route(ルート)」+「ing」です。
「route(ルート)」の意味は「道」とか「道筋」とか「経路」とかです。
「routing」で「道案内」的な意味になります。
何となく くっつけると

クラスがない領域間の道案内

となります。


■違いの分かるピヨピヨ





書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
ソフトウェア受託現場の「失敗」集めてみた。 42の失敗事例で学ぶ受託開発のうまい進めかた
クイズで学ぶUIデザイン ユーザビリティの基本が身につく50問