歴史をさかのぼって説明すると、ユニキャスト アドレスの範囲は、「RFC1700, Assigned Numbers(割り当てられた番号)」によって、クラス A、クラス B、およびクラス C アドレスと呼ばれる特定のサイズにグループ化されています。 また、すでに説明したように、クラス D(マルチキャスト)およびクラス E(実験用)アドレスも、この RFC によって定義されています。 ユニキャスト アドレスのクラス A、B、および C は、ネットワークのサイズを明確に定義し、各ネットワーク用の特定のアドレス ブロックを規定しています。 企業や組織には、クラス A、クラス B、またはクラス C のアドレス ブロックからネットワーク全体が割り当てられます。 こうしたアドレス空間の使い方は、クラスフル アドレスと呼ばれます。
クラス A ブロック
クラス A アドレス ブロックは、ホスト アドレス数が 1,600 万を超えるきわめて大規模なネットワークに対応します。 クラス A の IPv4 アドレスでは、1 番目のオクテットをプレフィクス /8 で固定してネットワーク アドレスにします。 残り 3 つのオクテットは、ホスト アドレスに使用されます。 クラス A アドレスでは、上位オクテットの最上位ビットを 0 にする必要があります。 つまり、クラス A で使用できるネットワークの数は、0.0.0.0/8 ~ 127.0.0.0/8 までのわずか 128 個です。 クラス A アドレスは、アドレス空間の半分を予約していましたが、ネットワーク数が 128 個に制限されていたので、約 120 の企業や組織にしかアドレスを割り当てることができませんでした。
クラス B ブロック
クラス B アドレス空間は、ホスト数が最大で約 65,000 の中~大規模なネットワークのニーズに対応します。 クラス B の IP アドレスでは、ネットワーク アドレスに 2 つの上位オクテットを使用します。 他の 2 つのオクテットは、ホスト アドレスを指定します。 クラス A と同様、残りのアドレス クラス用のアドレス空間も予約される必要があります。 クラス B アドレスの場合、上位オクテットの最上位の 2 ビットが 10 になります。 したがって、クラス B のアドレス ブロックは、128.0.0.0/16 ~ 191.255.0.0/16 に制限されます。 クラス B では、約 16,000 個のネットワークに IPv4 アドレス空間全体が 25 % ずつ均等に分割されました。したがって、クラス B では、クラス A よりも少しだけ効率的にアドレスを割り当てることができました。
クラス C ブロック
クラス C アドレス空間は、過去にあったアドレス クラスの中で最も一般的に使用されました。 このアドレス空間は、ホスト数が最大 254 個の小規模なネットワークにアドレスを提供することを目的としています。 クラス C アドレス ブロックでは /24 プレフィクスを使用します。 つまり、クラス C ネットワークでは、ホスト アドレスに最後のオクテットのみを使用し、上位の 3 つのオクテットはネットワーク アドレスに使用します。 クラス C アドレス ブロックでは、上位オクテットの最上位の 3 ビットを 110 に固定してアドレス空間を確保します。 したがって、クラス C のアドレス ブロックは、192.0.0.0/24 ~ 223.255.255.0/24 に制限されます。 クラス C アドレスは、IPv4 アドレス空間全体のわずか 12.5 % にすぎませんが、200 万個のネットワークにアドレスを提供できます。
図 1 に、これらのアドレス クラスの分割方法を示します。
クラスベースの仕組みの制限
これら 3 つのいずれかのクラスに組織の要件がすべて良好に適合するとは限りません。 アドレス空間のクラスフルな割り当てでは、アドレスが無駄になることが多く、IPv4 アドレスを枯渇させる原因となりました。 たとえば、ネットワークのホスト数が 260 個の場合、アドレス数が 65,000 個を超えるクラス B アドレスを割り当てる必要があります。
このクラスフルな仕組みは、1990 年代後半までにほとんど廃止されましたが、今でもその名残をネットワークに見ることができます。 たとえば、コンピュータに IPv4 アドレスを割り当てるときに、OS は、そのアドレスが、クラス A、クラス B、またはクラス C のいずれであるかを調べます。 さらに、OS は、そのクラスで使用されるプレフィクスを引き継いで、デフォルトのサブネット マスクを割り当てます。
クラスレス アドレス
最近では、クラスレス アドレスと呼ばれる仕組みが使用されています。 この仕組みの正式な名称は、クラスレス ドメイン間ルーティング(Classless Inter-Domain Routing; CIDR)です。 IPv4 アドレスのクラスフルな割り当てはきわめて効率が悪く、それぞれ異なるアドレス空間の /8、/16、または /24 プレフィクス長にしか対応できませんでした。 1993 年、IETF は新しい規格を策定しました。これにより、サービス プロバイダーは、クラス A、クラス B、またはクラス C による方法ではなく、IPv4 アドレスをアドレス ビット境界上で割り当てられるようになりました。
IETF は、CIDR は一時的な対応策にすぎず、急増するインターネット ユーザ数に対処するには新しい IP プロトコルを開発する必要があると認識していました。 1994 年、IETF は、IPv4 の後継技術の開発に着手し、最終的にそれが IPv6 となりました。
図 2 に、クラスフル アドレスの範囲を示します。