
はじめに
ネットワークの設計やIPアドレスの管理に欠かせないのが「CIDR(Classless Inter-Domain Routing)」という考え方です。
CIDRは、IPアドレスの割り当てや通信範囲の指定に使われる仕組みで、現在ではクラスA・B・Cといった分類方法に代わる標準的な方式となっています。
特に /24
や /16
などのCIDR表記は、VPC(仮想プライベートクラウド)やファイアウォール設定、サーバー構築など、ITのあらゆる場面で登場します。
この記事では、CIDRの基本的な仕組みと表記方法、そのIPアドレス範囲の考え方、実際の用途までを初心者にもわかりやすく解説します。
ネットワークの仕組みを少しずつ理解していく第一歩として、CIDRの仕組みを一緒に学んでいきましょう。
CIDRとは
CIDR(Classless Inter-Domain Routing)は、IPアドレスの割り当て方法を定めた仕組みで、現在のインターネットで広く使用されています。日本語では「クラスレスアドレッシング」とも呼ばれます。
従来の方式では、ネットワークの規模にかかわらず、あらかじめ決められた単位でIPアドレスを割り当てていました。CIDRではその制限をなくし、必要な数に応じて柔軟にIPアドレスを割り当てられる点が特徴です。
CIDRを理解するには「IPアドレス」や「サブネットマスク」の基本的な知識が必要です。以下の記事もあわせてご覧いただくと、より理解が深まります。
▼【徹底解説】IPアドレスの全知識
https://envader.plus/article/51
▼【図解】サブネット・サブネットマスクの違いと仕組みを徹底解説
https://envader.plus/article/53
なぜCIDRが使われるのか?背景と導入の理由
IPアドレスの管理方式としてCIDRが導入された背景には、「IPアドレスの枯渇問題」と「アドレス割り当ての非効率さ」があります。
クラスフルアドレッシングの課題
初期のインターネットでは、IPアドレスの割り当てに「クラスフルアドレッシング」という仕組みが使われていました。この方式では、クラスA・B・Cといった決められた単位ごとに、IPアドレスのネットワーク部とホスト部が固定されており、割り当て可能なホスト数もクラスごとに決まっていました。
しかし、実際の利用規模に対して「ちょうどよいサイズ」のクラスが存在しないケースが多く、必要以上に多くのアドレスが割り当てられることで、アドレスの割り当て効率が非常に悪いという問題がありました。その結果、使われないIPアドレスが大量に発生し、IPアドレスの枯渇を早める要因にもなっていたのです。
サブネットからCIDRの導入へ
この問題に対処するために登場したのが「サブネット」の概念です。ネットワークをより細かく分割し、柔軟なアドレス設計を可能にする考え方です。当初は、既存のクラスをさらに細かく分ける意味で使われていましたが、次第にクラスに依存せずネットワークを自由に分割する仕組みとして発展していきました。
その仕組みが、CIDR(クラスレスアドレッシング)です。CIDRでは、IPアドレスとともにサブネットマスクの情報を指定することで、ネットワークとホストの範囲を任意のビット数で自由に設定できるようになりました。
CIDR導入で何が変わったのか?
CIDRが使われるようになり、ネットワーク部とホスト部の区切りを8ビット単位に固定せず、柔軟に設定できるようになりました。これにより、IPアドレスをムダなく効率的に使うことが可能です。 以下の図は、クラスフルアドレッシングとCIDRの違いを比較したものです。
すでに述べたように、従来のクラスフルアドレッシングでは、クラスA/B/Cごとにネットワークとホストの範囲が固定されていました。そのため、実際の利用規模に合わない場合は、多くのIPアドレスが使われないまま残ってしまいます。
一方でCIDRではこの制限をなくし、ネットワークの規模に応じて最適なサイズでIPアドレスを割り当てられるようになります。
CIDR表記とネットワーク範囲の考え方
CIDRでは、IPアドレスだけではネットワークの範囲を判断できないため、サブネットマスクやCIDR表記とセットで使用する必要があります。
以下の図は、クラスフルアドレッシングとCIDRの違いを示しています。
クラスフルアドレッシングでは、IPアドレスの先頭ビットによって「クラスA/B/C」が判別でき、そこからネットワーク部のビット数も自動的に決まっていました。たとえば、先頭ビットが 110
で始まる場合はクラスCであり、「ネットワーク部は24ビット(255.255.255.0
)」と判断できます。
一方CIDRでは、IPアドレスそのものにネットワーク部の情報は含まれていません。そのため、サブネットマスクまたはCIDR表記でネットワークの範囲を明示する必要があります。次のセクションではCIDR表記とCIDRブロックについてもう少し詳しく確認しましょう。
CIDR表記とは
CIDR表記とは、IPアドレスの後に「/24
」のようなスラッシュ付きの数字を付けて、そのIPアドレスが属するネットワークの範囲を示す書き方です。
例えば、192.168.0.0/24
というCIDR表記は、「このIPアドレスのうち上位24ビットがネットワーク部です」という意味になります。スラッシュ以降の数字(この場合は24)をプレフィックス長と呼び、CIDR表記のことをプレフィックス表記と呼ぶこともあります。
プレフィックス長の意味
IPv4アドレスは32ビットで構成されています。プレフィックス長は、その32ビットのうち何ビットをネットワーク部として使うかを示します。
/24
の場合:最初の24ビットがネットワーク部、残り8ビットがホスト部/16
の場合:最初の16ビットがネットワーク部、残り16ビットがホスト部
CIDR表記とサブネットマスクの比較
CIDR表記は、従来の「IPアドレス + サブネットマスク」での表記方法を、より簡潔に表したものです。
CIDR表記 | IPアドレス + サブネットマスクでの表記 |
---|---|
192.168.0.0/24 | 192.168.0.0 + 255.255.255.0 |
10.0.0.0/16 | 10.0.0.0 + 255.255.0.0 |
172.16.0.0/12 | 172.16.0.0 + 255.240.0.0 |
このように、CIDR表記を使えば複雑なサブネットマスクの計算や表記が不要になり、直感的で扱いやすいため現在では標準的な表記方法となっています。
補足:IPv6でもCIDR表記は使われます。詳しくは以下の記事をご覧ください。
▼IPv6におけるCIDRの役割 IPv4との違いは?
https://envader.plus/article/453
CIDRブロックとは
CIDRブロックとは、あるCIDR表記が表すIPアドレスの範囲全体(まとまり)のことです。
たとえば、192.168.0.0/24
というCIDR表記は、256個のIPアドレスを含む1つのCIDRブロック(まとまり)であり、その範囲は 192.168.0.0
〜 192.168.0.255
です。アドレスの内訳は以下のとおりとなり、実際に使用可能なホストアドレスは先頭(ネットワークアドレス)と末尾(ブロードキャストアドレス)を除いた254個となります。
種類 | アドレス範囲 | 説明 |
---|---|---|
ネットワークアドレス | 192.168.0.0 | ネットワーク全体を表すアドレス |
ブロードキャストアドレス | 192.168.0.255 | ネットワーク内の全端末に一斉送信するアドレス |
利用可能なホストアドレス | 192.168.0.1 ~ 192.168.0.254 | 実際に端末に割り当て可能なアドレス |
このCIDRブロックという単位は、VPC(仮想プライベートクラウド)やファイアウォール設定などで、アクセス範囲の指定や通信制御の対象として頻繁に使われます。
CIDRの用途
CIDRの用途を、以下の2点に焦点を当てて説明します。
- クラスを使わないIPアドレスの割り当て
- 経路情報の集約
クラスを使わないIPアドレスの割り当て
クラスを使わないIPアドレスの割り当てとは、クラスの定義にかかわらず単にネットワークをより小さな複数のネットワークに分割することを指します。クラスを使わないIPアドレスの割り当てを以下の図にまとめました。
※実際に使えるIPアドレス数は、IPアドレスの数
-2
(ネットワークアドレス+ブロードキャストアドレス)です。
①が、ISP(インターネットサービスプロバイダー)からユーザに割り当てられたIPアドレスだとします。ISPは、CIDRを用いることで、ユーザが必要なネットワーク規模に応じてIPアドレスを割り当てることができます。
①の割り当てを受けたユーザは、②、③、④のように自身でサブネットを構築することが可能です。このサブネットの規模も、ユーザ自身が必要なネットワーク規模に応じて柔軟に構築することができます。
経路情報の集約
経路情報の集約とは、複数のネットワークアドレスのルート情報を1つにまとめることです。
経路(ルート)が多くなると、ルータ内のルーティングテーブルが大きくなり、宛先ネットワークを見つけるための時間が長くなったり、ルーティングテーブルに保存するためのメモリ量が大量に必要になります。実際インターネット上には膨大な数のネットワークが存在しており、インターネットの出入り口となる基幹ルータともなると、それら全てのエントリ(ネットワーク情報)を扱う必要があります。
この、ルーティングテーブルが増大することへの解決策の1つが、経路情報の集約です。経路情報の集約とは、ルータのルーティングテーブルを圧縮し、エントリ数を減らすことです。
実際に経路の集約を行うことで、経路情報の集約を説明します。まず、経路情報が集約されていない例を、以下の図①にまとめました。
図①のルータXのルーティングテーブルを見ると、8つのエントリが登録されています。このように、ルータXのルーティングテーブルにルータAから先のルーティングを登録するのはあまり意味がありません。なぜなら、ルータはルーティングする際にネクストホップへ転送すれば良いからです。
この8つのエントリをまとめられないかどうか確認します。それぞれのエントリを表にまとめましたので以下をご覧ください。
IPアドレス(CIDR表記) | IPアドレス(2進数表記) |
---|---|
172.168.32.0/24 | 10101100.00010000.00100000.00000000 |
172.168.33.0/24 | 10101100.00010000.00100001.00000000 |
172.168.34.0/24 | 10101100.00010000.00100010.00000000 |
172.168.35.0/24 | 10101100.00010000.00100110.00000000 |
172.168.36.0/24 | 10101100.00010000.00100100.00000000 |
172.168.37.0/24 | 10101100.00010000.00100101.00000000 |
172.168.38.0/24 | 10101100.00010000.00100110.00000000 |
172.168.39.0/24 | 10101100.00010000.00100111.00000000 |
それぞれのエントリを見ると、10101100.00010000.00100
(上位21bit)までが共通しています。そのため、この8つのエントリを/21
で1つに集約することができ、まとめて1つのネットワークと扱うことができます。
8つのエントリを集約した結果が、以下の図②です。
経路が集約されたことでルータXはルータAから先のルーティングは覚える必要がなくなります。なぜなら、ルータAから先のルーティングはルータAが行うからです。
このように、経路情報の集約とは、複数のネットワークアドレスの経路情報を1つにまとめることです。経路情報を集約することにより、ルータの使用メモリを減らすことができます。また、単純に次の宛先の登録数が少なくなることにより検索にかかる計算量も少なくなり、ルータの負荷を軽減することにつながります。
CIDRの早見表
CIDRを用いてIPアドレスの割り当てや経路情報の集約を行う時に便利な「CIDRの早見表」を作成しました。「Ctrl or Cmd + F」でお探しの値を見つけてください。
CIDR | サブネットマスク | IPアドレスの数 |
---|---|---|
/32(注1) | 255.255.255.255 | 1 |
/31(注2) | 255.255.255.254 | 2 |
/30 | 255.255.255.252 | 4 |
/29 | 255.255.255.248 | 8 |
/28 | 255.255.255.240 | 16 |
/27 | 255.255.255.224 | 32 |
/26 | 255.255.255.192 | 64 |
/25 | 255.255.255.128 | 128 |
/24 | 255.255.255.0 | 256 |
/23 | 255.255.254.0 | 512 |
/22 | 255.255.252.0 | 1,024 |
/21 | 255.255.248.0 | 2,048 |
/20 | 255.255.240.0 | 4,096 |
/19 | 255.255.224.0 | 8,192 |
/18 | 255.255.192.0 | 16,384 |
/17 | 255.255.128.0 | 32,768 |
/16 | 255.255.0.0 | 65,536 |
/15 | 255.254.0.0 | 131,072 |
/14 | 255.252.0.0 | 262,144 |
/13 | 255.248.0.0 | 524,288 |
/12 | 255.240.0.0 | 1,048,576 |
/11 | 255.224.0.0 | 2,097,152 |
/10 | 255.192.0.0 | 4,194,304 |
/9 | 255.128.0.0 | 8,388,608 |
/8 | 255.0.0.0 | 16,777,216 |
/7 | 254.0.0.0 | 33,554,432 |
/6 | 252..0.0.0 | 67,108,864 |
/5 | 248.0.0.0 | 134,217,728 |
/4 | 240.0.0.0 | 268,435,456 |
/3 | 224.0.0.0 | 536,870,912 |
/2 | 192.0.0.0 | 1,073,741,824 |
/1 | 128.0.0.0 | 2,147,483,648 |
/0 | 0.0.0.0 | 4,294,967,296 |
(注1)/32
は単一ホストを表現する際に使われます。
(注2)/31
はIPアドレス数が2個しかないため基本的には使えませんが、RFC3021でポイント・ツー・ポイントリンクとして使用して良いと定められています。
まとめ
こちらの記事ではCIDR・CIDR表記について解説しました。
CIDRはIPv4のIPアドレスの枯渇問題を解消するために誕生し、現在主流で利用されている仕組みです。CIDRを使用してネットワークを構築できるようになるためにも、IPアドレスの知識やCIDR以前に導入されていたクラスアドレッシングの仕組み、サブネット・サブネットマスクの知識も合わせて学習することが必要です。
【番外編】USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話

プログラミング塾に半年通えば、一人前になれると思っているあなた。それ、勘違いですよ。「なぜ間違いなの?」「正しい勉強法とは何なの?」ITを学び始める全ての人に知って欲しい。そう思って書きました。是非読んでみてください。
「フリーランスエンジニア」
近年やっと世間に浸透した言葉だ。ひと昔まえ、終身雇用は当たり前で、大企業に就職することは一種のステータスだった。しかし、そんな時代も終わり「優秀な人材は転職する」ことが当たり前の時代となる。フリーランスエンジニアに高価値が付く現在、ネットを見ると「未経験でも年収400万以上」などと書いてある。これに釣られて、多くの人がフリーランスになろうとITの世界に入ってきている。私もその中の1人だ。数年前、USBも知らない状態からITの世界に没入し、そこから約2年間、毎日勉学を行なった。他人の何十倍も努力した。そして、企業研修やIT塾で数多くの受講生の指導経験も得た。そこで私は、伸びるエンジニアとそうでないエンジニアをたくさん見てきた。そして、稼げるエンジニア、稼げないエンジニアを見てきた。
「成功する人とそうでない人の違いは何か?」
私が出した答えは、「量産型エンジニアか否か」である。今のエンジニア市場には、量産型エンジニアが溢れている!!ここでの量産型エンジニアの定義は以下の通りである。
比較的簡単に学習可能なWebフレームワーク(WordPress, Rails)やPython等の知識はあるが、ITの基本概念を理解していないため、単調な作業しかこなすことができないエンジニアのこと。
多くの人がフリーランスエンジニアを目指す時代に中途半端な知識や技術力でこの世界に飛び込むと返って過酷な労働条件で働くことになる。そこで、エンジニアを目指すあなたがどう学習していくべきかを私の経験を交えて書こうと思った。続きはこちらから、、、、
エンベーダー編集部
エンベーダーは、ITスクールRareTECHのインフラ学習教材として誕生しました。 「遊びながらインフラエンジニアへ」をコンセプトに、インフラへの学習ハードルを下げるツールとして運営されています。

関連記事

2023.02.21
【図解】MACアドレスとIPアドレスの違いとは?どちらも通信に欠かせない理由
MACアドレスとIPアドレスの役割の違いについて理解することができれば、なぜインターネット通信において両者が必要となってくるのかが理解できます。
- ネットワーク

2024.03.04
【疑問解消】ただのサーバー置き場じゃない データセンターって何?クラウドとどう違うの?
この記事では、データセンターについての詳細や似た概念であるクラウドと比較した内容を解説します。
- ネットワーク

2024.12.04
初学者向け!HTTP通信について知ろう
この記事では、フロントエンド初学者向けにWebの仕組みの1つであるHTTP通信について解説します。HTTP通信の基本的な仕組みや役割をわかりやすく解説し、最後には`curl`コマンドを使った簡単なハンズオンも用意しています。
- ネットワーク

2022.12.10
インフラエンジニアとは?
インフラエンジニアについて調べてみるとネガティブなワードが出てきますが実際はどうなっているのか気になりませんか?気になるインフラエンジニアのあれこれを紹介しておりますので、どんな職業なのかぜひ参考にしてみてくださいね
- インフラエンジニア
- ネットワーク