
8ビット単位で終わらないアドレスマスク
マスク値 255.255.255.0 が実のところは二進数であるということを思い起こせば、
なぜマスクが 8 ビットずつの区切りでは終わる必要がないのか、ということを容易に理解することができます。
たとえば、140.6.0.0 というクラスBのネットワークを考えてみましょう。
このネットワークに対し、サブネットワーク毎に 1024 のホストが欲しいとします。
ホスト用割り当てられたビットのうちの 10 ビット分が実際のホスト部分に必要であるということです( 210 = 1024 )。
マスクはホスト部分として 10 個の 0 を設定し、残りがネットワークとサブネットアドレスの識別となります。
クラスBは最初の 16 ビットをネットワークの識別として使うので、残り 6 ビットがサブネットを表現することになります。
64 個のサブネットが扱え、1024 個のホストが使えます。次のようになります。
11111111 11111111 11111100 00000000
このマスクは3つのフィールドに分かれます。
クラスBでは最初の 16 ビットがネットワークを表すことになっています。
次の 6 ビットはサブネットを表し、残りの 10 ビットがホストになります。
この値を十進数に変換すると次のようになります。
11111111 | 11111111 | 11111100 | 00000000 |
255 | 255 | 252 | 0 |
どのビットでもサブネットを識別するために使用できます。他のクラスBの例を見てみましょう。
255.255.255.128 - 9 ビットがサブネット、7 ビットがホスト
255.255.255.192 - 10 ビットがサブネット、6 ビットがホスト
クラスAでは最初の 8 ビットがネットワークを表すというだけで、全く同じ仕組みです。
この場合はもっと多くのサブネットができます。たとえば、
255.255.0.0 - 8 ビットがサブネット、16 ビットがホスト
255.252.0.0 - 6 ビットがサブネット、18 ビットがホスト
255.255.252.0 - 14 ビットがサブネット、10 ビットがホスト
サブネットについて考えるときには、ドット付き十進表現を二進数にもどして、考える必要があります。