3.1.1 サブネット

組織の都合上、"この IP アドレスの先頭からこのビットまでがネットワーク部分、それ以外がホスト部分" と宣言するのが便利な場合があります。

例えば、IPv4 では 192.0.2.12 というように、最初の3バイトがネットワークで、最後の1バイトがホストと言えるでしょう。あるいは、別の言い方をすれば、ネットワーク 192.0.2.0 上のホスト 12 について話していることになります(ホストであるバイトをゼロにしているところをご覧ください)。

そして、さらに時代遅れの情報を!準備はいいですか?古代では、サブネットには "クラス" があり、アドレスの最初の1バイト、2バイト、3バイトがネットワーク部分でした。運良く1バイトがネットワーク、3バイトがホストの場合、ネットワーク上に24ビット分のホスト(1600万程度)を持つことができます。これが "クラス A" のネットワークです。一方、"クラス C" は、ネットワークが3バイト、ホストが1バイトで、256台のホスト(ただし、予約された数台は除く)を持ちます。

ご覧のように、クラス A がほんの少し、クラス C が大量に、そして真ん中にクラス B が何個かある状態でした。

IP アドレスのネットワーク部分は、ネットマスクと呼ばれるもので記述されており、IP アドレスとビット単位で AND することでネットワーク番号を取得します。ネットマスクは通常 255.255.255.0 のような形をしています。(例えば、このネットマスクでは、あなたの IP が 192.0.2.12 なら、あなたのネットワークは 192.0.2.12 AND 255.255.255.0 で、 192.0.2.0 となります。)

しかし、残念ながら、これではインターネットの最終的なニーズに対応できないことが判明した。C クラスのネットワークはすぐになくなってしまいました。そして、クラス A は間違いなく不足していました。ということは、わざわざ聞くまでもないでしょう。この問題を解決するために、権力者たちはネットマスクを 8、16、24 のどれでもなく、任意のビット数にすることを許可しました。例えば 255.255.255.252 というネットマスクは、30ビットのネットワークと2ビットのホストで、 ネットワーク上に4つのホストを置くことができます。(ネットマスクは常に1ビットの束と0ビットの束からなることに注意してください。)

しかし、255.192.0.0 のような大きな数字の羅列をネットマスクとして使うのは、少し扱いにくいです。まず、それが何ビットなのかが直感的にわからないし、コンパクトでもありません。そこで新スタイルが登場したのですが、これはもっとすっきりしています。IP アドレスの後にスラッシュを付けて、その後に10進数でネットワークのビット数を指定するだけです。こんな感じです。192.0.2.12/30

あるいは、IPv6 の場合、このようなものです。2001:db8::/32 または 2001:db8:5413:4028::9db9/64 です。