特別なマスク

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 ビットがホストになります。

 この値を十進数に変換すると次のようになります。

11111111111111111111110000000000
2552552520

 どのビットでもサブネットを識別するために使用できます。他のクラス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 ビットがホスト

 サブネットについて考えるときには、ドット付き十進表現を二進数にもどして、考える必要があります。