blog

日常・技術のことを記録する

サブネットの基本的な計算方法

サブネットさんざん苦しんだけど、親切なひとが懇切丁寧に教えてくれて、基礎的な算出くらいはできるようになったので記録\(^o^)/
これを教えてもらって解けるようになったら、問題集(黒本)は半分以上正解できるようになった✨

問題

社内でネットワークを構築することになりました。
部署内で、ハブを使ってひとつのネットワークを作ります。
部署間は、L3SWで接続します。ネットワークは、部署ごとにつくりたいです。
なお、部署の人数は2-255人です。
192.168.からのプライベートアドレスでは、いくつの部署に対応できますか?

ひとまず

サブネットとは、あるひとつのネットワーク(ここでは会社全体)を複数に分割した小さなネットワーク(ここでは部署)のこと。
部署数=サブネットの数なので、問題はつまりこう言い換えられる。
「ネットワーク部が192.168固定で、1サブネットに必要なホストアドレス数が255個の場合、最大いくつのサブネットに分割できますか?」

解答

ネットワーク部、ホスト部、サブネットワーク部、の3つをそれぞれ求めてかけあわせるのがやりやすいっぽい φ(・

●ネットワーク部
192.168.で第2オクテットまで固定されているので、必要なビット列は16であることは自明。
11000000 10101000 xxxxxxxx xxxxxxxx …①

ホスト部
必要なホストアドレス数は255個。
各サブネットにつき、ネットワークアドレスとブロードキャストアドレスが必要なので、実際にホスト部で表現しなくてはいけないアドレスは255+2=257種類。
(ネットワークアドレス…ホスト部のビットをすべて0にしたアドレス。そのネットワーク自体を指し示すもの。例:192.168.1.0)
(ブロードキャストアドレス…ホスト部のビットをすべて1にしたアドレス。ブロードキャストする際に用いる。例:IPアドレスが192.168.1.1の場合、192.168.1.255)

257をビット列(2進数)で表現すると100000001となり9ビットであることがわかる。
f:id:tako_eng:20190922202540p:plain

ホスト部として必要なビット列は9である。
xxxxxxxx xxxxxxxx xxxxxxx1 00000001 …②

なお、全体32ビットからホストアドレス部9ビットを引いた残り23ビットがネットワーク部になるため、
サブネットマスクは255.255.254.0となる。
11111111 11111111 11111110 00000000

●サブネットワーク部
①で算出したネットワーク部、16ビットをフィックス
11000000 10101000 xxxxxxxx xxxxxxxx

②で算出したホスト部、9ビットをフィックス
xxxxxxxx xxxxxxxx xxxxxxx1 00000001

とすると、空いている(サブネットワーク部として使用可能な)ビット列は、
全32ビット - ①ネットワーク部16ビット - ②ホスト部9ビット = 7ビット…③
11000000 10101000 xxxxxxx1 00000001

7ビットで表現できる数は127。
f:id:tako_eng:20190922204211p:plain

ゼロサブネットも含めると127+1 = 128
答:サブネット(部署)は128つまで分割可能である。

tips ゼロサブネットについて
サブネット化は当初、混乱を避けるためにサブネット0とサブネット1はアドレッシングに使用しないようにRFC950で強く推奨されていた。しかし現在では、サブネット0もサブネット1もアドレス空間全体で使用できるようになっている。

これ考えたひとどんな脳みそしてんねん\(^o^)/
ゼロサブネットのあたりはちょっとまだ固められてないから、以降取り組む予定ー!