はじめに
今回は、『CIDRはルーティングテーブルにある10行のエントリを1行にまとめられる』という参考書などでよく目にする文言を深掘りして行きます!
よ~し、今日もマントルまで、深堀していくぞー!
いや、言うとる場合か!(笑)…..💦
【ここで扱うトピック】
- 大枠
- CIDRによるアグリゲーションの具体例
- CIDRでネットワークをまとめる
- CIDR表記とサブネットマスク
- 2. サブネットマスクを理解する
- ルーティングテーブルがシンプルになる理由
- 適切なアグリゲーションの範囲は?
- アグリゲーションを大きくしすぎることのデメリット
CIDR(Classless Inter-Domain Routing)を使ったアグリゲーションの概念について、ルーティングテーブルがシンプルになる理由を説明します。
大枠
ルーティングテーブルには、ルーターがどのネットワークにどのように到達するかを示す情報が含まれています。通常、ネットワークごとに1行のエントリが必要です。CIDRを使うと、複数の連続するIPアドレス範囲を1つのエントリにまとめて表現でき、ルーティングテーブルをシンプルにできます。
CIDRによるアグリゲーションの具体例
たとえば、以下のように10個のクラスCのネットワークを持っているとします:
- 192.168.0.0/24
- 192.168.1.0/24
- 192.168.2.0/24
- …
- 192.168.9.0/24
これらのネットワークは、クラスCのアドレス空間であり、それぞれ254台のホストをサポートします。通常、これらのネットワークをルーティングテーブルに追加するには、10行のエントリが必要です。
まぁ、ここまでは分かります。
10個のネットワークがあるんだから、必然的にエントリも10行になる。って感じ
CIDRでネットワークをまとめる
CIDRを使用すると、連続するこれらのネットワークを1つの大きなネットワークとして扱うことができます。これらのネットワークを「192.168.0.0/20」として表現すると、この1行だけで192.168.0.0から192.168.15.255までのIPアドレス範囲をカバーできます。
- 192.168.0.0/20は、ビット単位で考えると、192.168.0.0から192.168.15.255までの範囲を意味します。つまり、10個どころか16個のクラスCネットワークを1つにまとめることができるのです。
まぁ、流れはなんとなくわかりました….
でも、なんで15(青波線)が算出されたのか分かりません……
*『192.168.15.255の15はどこから算出されたの?』と感じたらこちら↓
15はどこから算出された?
1. CIDR表記とサブネットマスク
まず、CIDR(Classless Inter-Domain Routing)表記の意味を確認しましょう。IPアドレス「192.168.0.0/20」は、IPアドレスの先頭20ビットがネットワーク部(固定の部分)を示し、残りの12ビットがホスト部(可変の部分)を示しています。
- 192.168.0.0 はIPアドレスを表します。
- /20 は、そのうち先頭20ビットがネットワーク部であることを示します。
2. サブネットマスクを理解する
/20のCIDR表記は、2進数で書くと次のようなサブネットマスクに対応します。
- 255.255.240.0 (2進数で11111111.11111111.11110000.00000000)
これを解釈すると、最初の20ビットが固定される部分で、後ろの12ビットがホスト部として可変であることを意味します。
3. ホスト部の範囲
次に、ホスト部(可変部分)の12ビットが表せる範囲を考えてみましょう。12ビットでは2^12(=4096)通りの値が取れます。つまり、ホスト部は「0000.00000000」から「1111 1111 1111」までの範囲をカバーします。
つまり、ホスト部の前4桁すべてを1にした値(1111)が10進数の15になるということです!
4. IPアドレスの範囲を確認
このホスト部が可変な部分を含めると、次のような範囲になります。
- 最小のIPアドレス: 192.168.0.0(ホスト部がすべて0)
- 最大のIPアドレス: 192.168.15.255(ホスト部がすべて1)
11111111.11111111.11110000.00000000
ここで、「192.168.15.255」が出てくるのは、ホスト部が最大値(12ビットすべてが1)の場合を示しているためです。
5. まとめ
「192.168.0.0/20」というCIDR表記は、「192.168.0.0」から「192.168.15.255」までの範囲のIPアドレスを1つのネットワークとして扱うことを意味しています。これは、最初の20ビットを固定し、残りの12ビットを可変としてカバーできる範囲が「192.168.0.0」から「192.168.15.255」だからです。
この範囲内のすべてのIPアドレスは、「192.168.0.0/20」という1行のルーティングエントリで処理されます。
ルーティングテーブルがシンプルになる理由
ルーターは、宛先IPアドレスがどのネットワークに属するかを確認し、そのネットワークに対応するルートを探します。CIDRを使ってアドレス空間をまとめると、個別に管理しなければならないネットワークが減り、ルーターが処理するルーティングテーブルも短縮され、管理が容易になります。
例えば、192.168.0.0/20の1行がルーティングテーブルにあれば、その範囲に含まれるすべてのIPアドレス(192.168.0.0から192.168.15.255まで)は、このエントリに従って処理されます。これにより、10行必要だったエントリを1行にまとめられるわけです。
なるほど..複数のサブネットを一つのネットワークとして扱うことで、ルーティング負荷を減らしているってことね….
でも、まとめるんだったら(アグリゲーション)、いっそのこと世界中のサブネットをまとめちゃえばいいじゃん!なんでやらないの??
*『アグリゲーションでエントリ数が減らせるなら、世界中をまとめちゃえばかなりのエントリ削減ができるのに、しないのはなぜ?適切な範囲は?』と思ったらこちら↓
適切なアグリゲーションの範囲は?
アグリゲーションを過度に行うことにはデメリットがあります。それを理解するために、まず適切なアグリゲーションの範囲について説明し、その後、大きくしすぎることのデメリットについて解説します。
アグリゲーションの適切な範囲
アグリゲーションの範囲は、ルーティングテーブルの効率化とネットワークの柔軟性のバランスを取ることが目標です。一般的に、同じ管理者が管理する一連のネットワークや、同じ地域や組織内で使用されるアドレス範囲をアグリゲーションすることが適切です。
- 同一管理範囲内でのアグリゲーション: 例えば、企業の内部ネットワークやISP(インターネットサービスプロバイダー)が管理する特定の地域のネットワークなど。同じ管理者やポリシーの下で運用されるネットワークなら、アグリゲーションを行うことで管理が簡素化されます。
- 地理的・ロジスティックなまとまり: 同じ地域や建物内にあるネットワーク範囲をアグリゲーションすることで、効率的なルーティングが可能になります。
アグリゲーションを大きくしすぎることのデメリット
アグリゲーションを過度に行うことには、以下のようなデメリットがあります。
- 詳細なルーティング情報の欠如:
- アグリゲーションを大きくしすぎると、ネットワーク内での詳細なルーティング情報が失われます。これにより、特定のサブネットやホストにトラフィックを最適にルーティングできなくなることがあります。
- 例えば、ネットワーク内のあるサブネットで障害が発生した場合、その情報がルーティングテーブルに反映されず、トラフィックが無駄に送り続けられる可能性があります。ーー
- トラフィックの非効率なルーティング:
- アグリゲーションの範囲が大きすぎると、特定のトラフィックがより遠回りなルートを通ることになり、ネットワーク全体の効率が低下する可能性があります。
- セキュリティのリスク:
- すべてのトラフィックが同じ大きなネットワーク範囲でルーティングされると、セキュリティの観点からもリスクが高まります。たとえば、特定のIPアドレス範囲にアクセスを制限したい場合に、アグリゲーションされた大きな範囲では適切な制御が難しくなることがあります。
- スケーラビリティの問題:
- 大きな範囲でアグリゲーションを行うと、将来的なネットワークの拡張や再構築が難しくなることがあります。適切な細分化が行われていないと、ネットワークの柔軟性が失われ、変更が困難になります。
まとめ
要するに…
CIDRによるネットワークアドレスの集約は、複数のサブネットを共通部分に基づいてまとめることで、ルーティングテーブルのエントリ数を削減し、ルーターの処理負荷を軽減する手法です。この技術を使うと、例えば複数のクラスCネットワークを一つのエントリにまとめることが可能になります。これにより、ルーティングテーブルに記載されるエントリ数が少なくなり、ネットワーク全体の効率が向上します。
ただし、アドレスの集約を行う際には、アグリゲーションの範囲を適切に設定することが重要です。過度に大きな範囲をまとめると、ネットワークの管理が複雑になり、セキュリティや運用面での柔軟性が損なわれる可能性があります。
そのため、同一の管理者が管理するサブネットや、同じ地域に属するネットワークなど、共通の特徴を持つものに限定してアグリゲーションを行うのが望ましいです。CIDRはこのように、ネットワークアドレスの効率的な運用を可能にする強力なツールであると同時に、その適用には慎重な判断が求められる技術です。
おわりに
本日はここまでです。今日は『CIDRはルーティングテーブルにある10行のエントリを1行にまとめられる』という参考書などでよく目にする文言を深掘りしてきました!
全体を一気にまとめてやろうとするより、今回みたいに一つに絞って1つずつ着実に勉強していく方が頭に残りやすいです。
何事も継続は力なりですから、焦らず一歩ずつ着実に進んでいきましょう!それを続けていけば気づいた時には、ものすごいスペシャリストになっているはずです!では、さらばじゃ!
やっぱり、範囲を網羅的に勉強しようと思ってもなかなか、先輩・上司に追いつき追い抜くことって時間がかかりますよね。そのせいでモチベーション下がったり……
だったら、1つのことに1点集中して『これに関しては同レベルor僕の方が上だ!』と思える領域を作っていきましょう!で、それを続けていって、どんどんどんどん勝てる領域を増やしていきましょう!きっと気づいたら、超越しているはずです!!!
一緒に頑張りましょう!!!