サブネットの基本的な計算方法
サブネットさんざん苦しんだけど、親切なひとが懇切丁寧に教えてくれて、基礎的な算出くらいはできるようになったので記録\(^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ビットであることがわかる。
ホスト部として必要なビット列は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。
ゼロサブネットも含めると127+1 = 128
答:サブネット(部署)は128つまで分割可能である。
tips ゼロサブネットについて
サブネット化は当初、混乱を避けるためにサブネット0とサブネット1はアドレッシングに使用しないようにRFC950で強く推奨されていた。しかし現在では、サブネット0もサブネット1もアドレス空間全体で使用できるようになっている。
これ考えたひとどんな脳みそしてんねん\(^o^)/
ゼロサブネットのあたりはちょっとまだ固められてないから、以降取り組む予定ー!
単純に255種類の数を表現できるビット数を求めればいいと思います。
— 山本 (@yamamotokaoru77) September 21, 2019
ただし、それぞれのサブネットにはネットワークアドレスとブロードキャストアドレスが必要なので、実際には257種類を表現出来なくてはなりません。
8ビットで256種類の数を表現できるので、あと1ビット加えて9ビット(つづく)