クラスによる境界をなくし,自由にアドレスを割り振ることができるのがクラスレスアドレッシングです。このクラスレスの技術のうち,主にルーティングによる経路情報のやりとりで使用されるものがCIDR(Classless Inter-Domain Routing)です。今回はクラスフルアドレッシングとクラスレスアドレッシングについて復習し,CIDRを覚えましょう。

クラスフルアドレッシングとクラスレスアドレッシング

 最初に,「クラスフル」と「クラスレス」のアドレス割り当て(アドレッシング)について確認しましょう。クラスフルアドレッシングというのは,利用するIPアドレスによって最初からサブネット・マスクの値が決まっている方式です。クラスAなら255.0.0.0,クラスBなら255.255.0.0,クラスCなら255.255.255.0といった具合です。 一方のクラスレスアドレッシングは,こうしたクラスの概念に縛られずに,サブネット・マスクを割り当てる方式です。

 過去,IPアドレス管理組織がプロバイダなどにグローバルIPアドレスを割り当てる際には,クラスフルアドレッシングを利用していました。つまり,クラスという概念により,クラスA,B,Cという3つの大きさの単位でしかネットワークを扱いませんでした。こうなると,実際に必要となるIPアドレスの数に対して,多すぎたり少なすぎたりするということが出てきてしまいます。特に,クラスA(1677万7214台)では大きすぎ,またクラスC(254台)では少なすぎます。そのため,クラスB(6万5534台)を使用することが多くなってしまい,クラスBネットワークが不足しているという事態になっていました。そのため現在は,クラスレスアドレッシングを利用したアドレス割り当てが採用されています。

 社内ネットワークを設計・運用するときも,「クラスフル」と「クラスレス」の違いを把握しておくことが大切です。以上で述べたように,ネットワークにIPアドレスを柔軟に割り当てられないことに加えて,クラスフルアドレッシングかクラスレスアドレッシングかで,ルーターのルーティングの動作が違ってくるケースがあるからです。例えば,クラスレスアドレッシングに対応していないルーティングプロトコルを使った場合,IPアドレスの割り当てによっては,問題が発生することがあります。

クラスフルルーティングの問題点

 具体的に見ていきましょう。クラスフル対応のルーティングプロトコルを使っている場合,ルーターは,ネットワーク境界(IPアドレスのネットワーク部がどこか指定する)を暗黙的に扱います。経路情報の扱いは,次のようになります(図1)。

  1. 送信インタフェースと同じネットワークの経路情報は,サブネットをネットワーク境界として送信する
  2. 送信インタフェースと異なるネットワークの経路情報は,クラスをネットワーク境界として送信する
  3. 受信インタフェースと同じネットワークの経路情報は,受信インタフェースのサブネットマスクをネットワーク境界としてルーティングテーブルに載せる
  4. 受信インタフェースと異なるネットワークの経路情報は,クラスをネットワーク境界としてルーティングテーブルに載せる

 図1 クラスフルルーティングでの経路情報の扱い

 このような動作をするため,ネットワークの配置によっては正しくルーティングされないことがあります。特に,サブネットを使用している場合に起こりえます(図2)。

 図2 クラスフルルーティングでの不連続サブネット

 このように,クラスフルを使用することは制限が多くなってしまっています。このようなルーティングプロトコルを,クラスフルルーティングプロトコルと呼びます。クラスフルルーティングプロトコルには次のものがあります。

  • RIPバージョン1(RIP1またはRIPv1と表記)
  • IGRP