アドレスクラス

IPアドレスはネットワーク部とホスト部から構成されていますが、32ビットのうちどこまでがネットワーク部でどこからがホスト部なのかということが固定されていません。IPアドレスによって異なります。この点が、IPアドレスの理解で難しいところでもあります。

ネットワークアドレスとホストアドレスの区切りを考えるため、IPアドレスをクラスに分類しています。クラスによって、32ビットのうちどこまでがネットワーク部でどこからがホスト部であるかがわかるようになります。クラスは次の5種類あります。

  • クラスA
  • クラスB
  • クラスC
  • クラスD
  • クラスE

クラスA~Eのうち、ホストのインタフェースに設定するユニキャストアドレスはクラスA~Cです。クラスによってネットワーク部とホスト部の区切りがわかります。また、クラス自体の識別を行うために先頭のビットパターンが決められています。クラスによって決まることをまとめると、次の2点です。

  • 先頭のビットパターン
  • ネットワーク部とホスト部の区切り

以降では、クラスA~Cについてこの2点を踏まえて見ていきます。ネットワーク部とホスト部の区切りを8ビット単位で決めている点が重要です。

なお、クラスDは、ユニキャストアドレスではなくマルチキャストアドレスを定義しているクラスです。そして、クラスEは実験用途なので、ホストのインタフェースに設定することはありません。

クラスA

クラスAの特徴をまとめると次のようになります。

  • 先頭のビットパターン:「0」
  • 先頭8ビットの10進数表記:1~126
  • ネットワーク部とホスト部の区切り:8ビット目
  • ネットワークアドレスの数:126個
  • ホストアドレスの数:約1600万個

クラスAのIPアドレスは必ず先頭1ビットが「0」です。先頭8ビット分を10進数で考えると1~126の範囲です。つまり、1~126の範囲ではじまるIPアドレスはクラスAのIPアドレスです。そして、ネットワークアドレスとホストアドレスの区切りは8ビット目です。

固定されている先頭の1ビット以外ネットワーク部として7ビット分使えるので、クラスAのネットワークの数は27-2=126個です。ここで「-2」としているのは、7ビット分のネットワーク部のビットがすべて「0」とすべて「1」の場合を除いているからです。

この126個のクラスAのネットワークそれぞれで、224-2=16777214個のホストアドレスを利用することができます。約1600万という非常に多くのアドレスを利用できるのがクラスAのネットワークの特徴です。

図 クラスAのIPアドレス

クラスB

クラスBの特徴をまとめると次のようになります。

  • 先頭のビットパターン:「10」
  • 先頭8ビットの10進数表記:128~191
  • ネットワーク部とホスト部の区切り:16ビット目
  • ネットワークアドレスの数:16382個
  • ホストアドレスの数:65534個

クラスBのIPアドレスは先頭2ビットが「10」ではじまります。先頭8ビットを10進数で考えれば、128~191です。

ネットワーク部とホスト部の区切りは16ビット目にあります。したがって、ネットワーク部として14ビット、ホスト部として16ビット利用できます。ネットワーク部が14ビットなので、214-2=16382個のクラスBのネットワークがあります。各クラスBのネットワークでは、216-2=65534個のアドレスを利用することができます。

図 クラスBのIPアドレス

クラスC

クラスCの特徴をまとめると次のようになります。

  • 先頭のビットパターン:「110」
  • 先頭8ビットの10進数表記:192~223
  • ネットワーク部とホスト部の区切り:24ビット目
  • ネットワークアドレスの数:2097150個
  • ホストアドレスの数:254個

クラスCのIPアドレスは先頭3ビットが「110」ではじまります。先頭の8ビット分を10進数で考えると192~223です。また、ネットワーク部とホスト部の区切りは24ビット目の所にあります。ネットワーク部として21ビット、ホスト部として8ビット利用できます。

クラスCのネットワークの数は、221-2=2097150個あります。このクラスCのネットワークそれぞれで、28-2=254個のアドレスを利用することができます。

図 クラスCのIPアドレス

次の表は、クラスA~クラスCのIPアドレスの特徴をまとめたものです。

クラス A B C
先頭のビット 0 10 110
先頭8ビットの10進表記 1~126 128~191 192~223
区切り 8ビット 16ビット 24ビット
ネットワーク数 126 16382 2097150
ホスト数 16777214 65534 254

このようなアドレスクラスに基づいて考えたアドレスをクラスフルアドレスと呼びます。クラスフルアドレスでのネットワーク部とホスト部の区切りは、クラスごとに決まり、基本的に8ビット、16ビット、24ビットと8ビット単位です。また、クラス単位で考えたネットワークアドレスをメジャーネットワークと呼びます。クラスフルアドレスで、ネットワーク部とホスト部の区切りを考える手順をまとめると、次のようになります。

  1. IPアドレスの先頭の10進数からクラスA、クラスB、クラスCかを判断
  2. クラスAなら8ビット、クラスBなら16ビット、クラスCなら24ビットでネットワーク部とホスト部の区切りとしてメジャーネットワークを判断

たとえば、IPアドレス「10.1.1.1」のメジャーネットワークは「10.0.0.0」です。10で始まるIPアドレスなのでクラスAです。クラスAはネットワークアドレスとホストアドレスの区切りが8ビット目に位置するためです。同様に、IPアドレス「172.31.100.100」のメジャーネットワークは「172.31.0.0」となります。172で始まっているので、クラスBとなるからです。

IPアドレスの表記は、8ビットずつ10進数で表記します。そのため、こうしたクラスフルアドレスは、8ビット単位でネットワークアドレスとホストアドレスの区切りを考えているのでわかりやすくなります。

クラスの解説でクラスAは大規模、クラスBは中規模、クラスCは小規模といったようにネットワークの規模に応じた分類であるとしている記述を多く見かけます。しかし、ネットワークの規模による分類は本質的なものではありません。クラスの重要なポイントは、ネットワーク部とホスト部の区切りをどのように考えているかということです。

クラスD

クラスDはホストに設定するユニキャストIPアドレスではなくマルチキャストIPアドレスとして定義されています。クラスDは先頭4ビットが「1110」で始まります。10進数では224~239ではじまるIPアドレスはクラスDのIPアドレス、すなわちマルチキャストIPアドレスです。残りの28ビットでマルチキャストグループを識別できるようにします。

特に224.0.0.0~224.0.0.255の範囲はリンクローカルマルチキャストアドレスで、同じネットワーク内でのみ利用します。また、239.0.0.0~239.255.255.255の範囲はプライベートネットワークで自由に利用できる範囲です。

クラスE

クラスEは実験用途の範囲で、現在では利用することはありません。クラスEの範囲は先頭4ビットが「1111」ではじまる範囲です。10進数では240~255ではじまるIPアドレスです。

クラスフルアドレスのムダ

クラスによってネットワーク部とホスト部の区切りを8ビット単位でわかりやすく考えているのですが、クラスフルアドレスは非常に無駄が多いアドレスの考え方です。たとえば、クラスAのアドレスを考えます。「ひとつ」のクラスAのネットワーク内で1600万以上のホストアドレスを利用することができます。どんなに大規模な企業であったとしても、現実的にたったひとつのネットワークに1600万以上ものホストを接続することはありえません。そのため、クラスAではたくさんのIPアドレスが利用されずに、IPアドレスの利用効率が悪くなります。クラスBでもIPアドレスが多すぎるでしょう。ひとつのネットワークに60000以上もの機器を接続することはまず考えられません。一方、クラスCのネットワークアドレスを利用している環境で、ひとつのネットワークに300台のホストを接続したい場合を考えます。クラスCでは、ひとつのネットワーク内で利用できるホストアドレスは254個です。そのため、クラスCのアドレスを利用していては、ひとつのネットワーク内に255台以上のホストを接続することができません。

  • ホストアドレスの数はルータのIPアドレスも含めて考えなければいけません。クラスCでは、ルータも含めて254台のホストを接続できることになります。

クラスAではホストアドレスが多すぎます。クラスBでもホストアドレスがかなり多くなっています。クラスAやクラスBでは、ホストアドレスを余らせてしまうことが多いです。一方、クラスCはホストアドレスの数が十分ではないことが起こる可能性があります。このように、クラスフルアドレスはアドレスの利用効率がよくありません。

図 クラスフルアドレスのムダ

クラスフルアドレスのムダを無くすために、ネットワーク部とホスト部の区切りを自由に決めるクラスレスアドレスに移行しています。