Yunai

IPアドレスのクラス

各クラスの説明

  1. クラスにはA, B, C, D, Eの5種類あります。
  2. 「IPアドレスの数字列の初めに、0が何番目に来るか」によってクラスが決まります。クラスを決定する最初の数ビットのことを上位ビット(leading bits)と言う。
  1. クラスA~Cが決まると、「IPアドレスをどこで分けるか」が決まります。クラスDはマルチキャストであることが決まります。クラスEは研究機関の実験用にとってあるIPアドレスです。研究機関のネットワーク研究者以外はこのクラスのIPアドレスを使えません。

Private

クラスに分ける理由

クラスD/Eには特別な働きがあるので、クラスを分ける必要がありそうです。しかし、なぜクラスA/B/Cの違いは必要なのでしょうか。それは、あるネットワークにおいて、接続できるホストの数(コンピュータの数)を調整するためです。そしてそれによって、ネットワークの規模によって地球上で使えるIPアドレスを分類するためです。

ホストアドレス部が"全て0"と"全て1"は使うことができません。そのため、設定可能なホスト数は2の累乗から2を引いています。 "全て0"は、ネットワーク自体のIPアドレスとして割り当てられています。
"全て1"は、そのネットワークの中の全てのホストをまとめて表すIPアドレスとしてプログラムされています。
あるネットワークの中の全てのホストにデータを送信することを「ブロードキャスト」と言います。

つまり、クラスAは大規模、クラスBは中規模、クラスCは小規模なネットワークと言えます。

IPアドレスの分布

Classful IP address occupancy by class
GeeksForGeeksより

ネットワークを分割するサブネットマスク

サブネットマスク

本来ホストアドレス部だった部分を一部使ってサブネット(更に分割されたネットワーク)を表すビットとして扱います。 サブネットマスクは、IPアドレスと対応しており、IPアドレスと一緒に使わないと意味がありません。そのため、32bitのbit列になります。

  1. IPアドレスのクラスを確認します。ここでは、クラスBだと仮定します。
10101010.10101010.10101010.10101010
  1. そのクラスの、IPアドレスのネットワークアドレス部のビット数(桁数)を思い出します。クラスBなら16ビットですね。
// ネットワークアドレス部(host_ID)
10101010.10101010.|10101010.10101010
  1. サブネットマスクを作る。サブネットの識別子を含むホストアドレス部rest_bit(host_ID)サブネット(subnet_ID)に当たる部分を含めたネットワークアドレス部を全て1、ホストアドレス部を全て0
// サブネットマスク
11111111.11111111.11000000.00000000
  1. サブネットマスクをIPアドレスと併記する
10101010.10101010.10101010.10101010/11111111.11111111.11000000.00000000