IPアドレスのクラス
各クラスの説明
- クラスにはA, B, C, D, Eの5種類あります。
- 「IPアドレスの数字列の初めに、0が何番目に来るか」によってクラスが決まります。クラスを決定する最初の数ビットのことを上位ビット(leading bits)と言う。
- クラスA: 1番目に0が来る(
0...
)。0.0.0.0 – 127.255.255.255 - クラスB: 2番目に0が来る(
10...
)。128.0.0.0 – 191.255.255.255. - クラスC: 3番目に0が来る(
110...
)。192.0.0.0 – 223.255.255.255. - クラスD: 4番目に0が来る(
1110...
)。224.0.0.0 – 239.255.255.255. - クラスE: 0が来ない(
1111...
)。240.0.0.0 – 255.255.255.255.
- クラスA~Cが決まると、「IPアドレスをどこで分けるか」が決まります。クラスDはマルチキャストであることが決まります。クラスEは研究機関の実験用にとってあるIPアドレスです。研究機関のネットワーク研究者以外はこのクラスのIPアドレスを使えません。
- クラスA: 8/9
- クラスB: 16/17
- クラスC: 24/25
- クラスD: マルチキャスト
- クラスE: 研究機関の実験用
Private
- Class A: 10.0.0.0 ~ 10.255.255.255
- Class B: 172.16.0.0 ~ 172.31.255.255
- Class C: 192.168.0.0 ~ 192.168.255.255
クラスに分ける理由
クラスD/Eには特別な働きがあるので、クラスを分ける必要がありそうです。しかし、なぜクラスA/B/Cの違いは必要なのでしょうか。それは、あるネットワークにおいて、接続できるホストの数(コンピュータの数)を調整するためです。そしてそれによって、ネットワークの規模によって地球上で使えるIPアドレスを分類するためです。
- クラスA: ホストアドレス部が24ビット → 2^24-2(16777214)個のホストを設定可能
- クラスB: ホストアドレス部が16ビット → 2^16-2(65534)個のホストを設定可能
- クラスC: ホストアドレス部が8ビット → 2^8-2(254)個のホストを設定可能
ホストアドレス部が"全て0"と"全て1"は使うことができません。そのため、設定可能なホスト数は2の累乗から2を引いています。
"全て1"は、そのネットワークの中の全てのホストをまとめて表すIPアドレスとしてプログラムされています。
あるネットワークの中の全てのホストにデータを送信することを「ブロードキャスト」と言います。
つまり、クラスAは大規模、クラスBは中規模、クラスCは小規模なネットワークと言えます。
IPアドレスの分布
- クラスAは2^7-2(126)
- クラスBは2^14-2(16382)
- クラスCは2^21-2(2097150)
ネットワークを分割するサブネットマスク
サブネットマスク
本来ホストアドレス部だった部分を一部使ってサブネット(更に分割されたネットワーク)を表すビットとして扱います。 サブネットマスクは、IPアドレスと対応しており、IPアドレスと一緒に使わないと意味がありません。そのため、32bitのbit列になります。
- IPアドレスのクラスを確認します。ここでは、クラスBだと仮定します。
10101010.10101010.10101010.10101010
- そのクラスの、IPアドレスのネットワークアドレス部のビット数(桁数)を思い出します。クラスBなら16ビットですね。
// ネットワークアドレス部(host_ID)
10101010.10101010.|10101010.10101010
- サブネットマスクを作る。サブネットの識別子を含むホストアドレス部rest_bit(host_ID)サブネット(subnet_ID)に当たる部分を含めたネットワークアドレス部を全て
1
、ホストアドレス部を全て0
。
// サブネットマスク
11111111.11111111.11000000.00000000
- サブネットマスクをIPアドレスと併記する
10101010.10101010.10101010.10101010/11111111.11111111.11000000.00000000