アドレスクラス

アドレスクラスの割り当てとオリジナル IP の仕様

 マスク処理として当初、3つのものが定義されました。それらはエンドノードやルータによって自動的に使用され、 クラスA、クラスB、クラスCと呼ばれます。

 今日では、このオリジナル定義はである IP アドレスのクラス分けは古くなってしまいました。 結果として、アドレスのマスク方法、サブネット化、IP アドレス分けに関して、たくさんの誤解が発生してしまいました。 これらについてはっきりさせるために、今までに理解したことをいったん脇において、オリジナルのテクノロジーに戻って考える必要があります。

 その時点− 1970 年代−において、アドレスクラスは、ルータやエンドノードで使われる重要なマスク値となるはずでした。 以下のように定義されていました。

クラスAのマスク=255.0.0.0
クラスBのマスク=255.255.0.0
クラスCのマスク=255.255.255.0

 これらのマスクは IP アドレスの先頭ビットの値に従ってデフォルトで適用されました。 アドレスが二進数の「0」で始まっている場合は、クラスAのマスクであるとみなされました。 「10」で始まっている場合はクラスB、「110」はクラスCを示しました。つまり、アドレスのマスクは最初の1バイトを見ただけで判別できます。 その理由はい課の通りです。

クラスAは「0」で始まります。従って、最初のバイトの最も小さな十進値は「0」です。
クラスBは「10」で始まります。従って、最初のバイトの最も小さな十進値は「128」です。つまりクラスAは「0 - 127」の範囲となります。
クラスCは「110」で始まります。従って、最初のバイトの最も小さな十進値は「192」です。つまりクラスBは「128 - 192」の範囲となります。
マルチキャストクラスはクラスDを呼ばれ、「1110」で始まります。従って最初のバイトの最も小さな十進値は「224」です。つまりクラスDは「192 - 223」の範囲となります。

 10.2.3.4 というアドレスを持つステーションは、クラスAになります。このステーションのデフォルトマスクは 255.0.0.0 で、 マスク適用後、ネットワークの識別アドレスは 10.0.0.0 となります。

 140.6.15.3 はクラスBです。デフォルトマスクの 255.255.0.0 を適用すると、ネットワークの識別アドレスは、140.6.0.0 となります。

 200.6.29.8 はクラスCの範囲内に存在します。デフォルトマスク、255.255.255.0 の適用後、ネットワークの識別アドレスは、200.6.29.0 となります。

各クラスのネットワークの数

 このようなアドレス体系から以下のことが導かれます。

クラスA
8 ビットがネットワーク部分。24 ビットがホスト部分。
28 がネットワークの数。224 がノードの数。
クラスB
16 ビットがネットワーク部分。16 ビットがホスト部分。
216 がネットワークの数。216 がノードの数。
クラスC
24 ビットがネットワーク部分。8 ビットがホスト部分。
224 がネットワークの数。28 がノードの数。

 各自で計算してみる前に、それぞれのアドレスクラスにおけるネットワークの本当の数とホストの本当の数について考えてみましょう。 二進数の数は、2をビットの位置が示す数の累乗で計算する必要があります。

224 = 16777216

216 = 65536

28 = 256

 それぞれの数の中に、無効な値が2つあります。IP アドレスのネットワークまたはホスト部分がすべて「1」(十進数では 255。16 進数では FF )のとき、 それは宛先がブロードキャストであることを示しています。古い形のブロードキャストアドレスは全部のビットが「0」という形で表現されていました。 これはもう使われていませんが、まだ残っているサイトもあるでしょう。このような使い方をしているサイトを見つけた場合は、再設定する方がよいでしょう。(他では使われていないことを確かめてから!) UNIX 環境では、ステーションの設定に、使うべき正しいブロードキャストアドレスという項目があります。 UNIX の管理者はたぶん「ifconfig broadccast 140.6.255.255」などと入力することによって、ステーション 140.6.10.12 のブロードキャストアドレスを指定することができます。 他の環境ではデフォルト値を使わなければならないかもしれません。または別の方法でブロードキャストアドレスを設定するのかもしれません。

 従って、それぞれの値の範囲は、計算した値から 2 を引いた数となります。が、まだ法則があります!

 クラスAで使われている値は、クラスBやクラスCでは使えません。

 クラスBで使われている値は、クラスCでは利用できません。

 従って、それぞれのクラスで許されるアドレスの数は以下の計算のようになります。



クラスA

ネットワークの数は 256 です。

ブロードキャストと古いブロードキャストの数を引きます。

256 - 2 = 254 がクラスAの有効なネットワークの数となります。



クラスB

ネットワークの数は 65536 です。
すでにクラスAで使われている 256 を引きます。

65536 - 256 = 65280

ブロードキャストと古いブロードキャストの数を引きます。

65280 - 2 = 65278 がクラスBの有効なネットワークの数となります。



クラスC

ネットワークの数は 16777216 です。
すでにクラスA、Bで使われている 65536 を引きます。

16777216 - 65536 = 16711680

ブロードキャストと古いブロードキャストの数を引きます。

16711680 - 2 = 16711678 がクラスCの有効なネットワークの数となります。