サブネットマスクの計算ってどうやるんだっけな?

posted in: etc | 0

こんにちは。モリモトです。
記憶喪失になってしまったとき用の備考録として記事にします。

/22、どこからどこまでの範囲だっけな?
毎回忘れます。

過去に基本情報試験で勉強した依頼計算してない。
一瞬で範囲だしてくれる便利なサイトがたくさんあるんだもん・・・

自力で範囲を出せるように復習してみようかな!とこの記事を書いてみています。

よ~し!やるぞ~!!

■計算してみる

・・・・

まって、そもそも

どう変換するんだっけ?(記憶喪失)

確か1は01、2は10、3は11・・・・・・・
10くらいまでならやっていけそうだけど
22とかいきなりこられたら、01,10,11,100・・・とかやってられないんだが?

全然思い出せずインターネットの力で調べたら2で割っていった時の余りをつなぎ合わせていました。(これでいいのか入社7年目)

こういうのあったーーー!思い出しました。
22を2で割ってつなぎ合わせると、10110になります。
よって、10進数の22は、2進数で10110*が答えです。 ドヤ!

なるほどなるほど。
10進数を2進数に変換する技を手に入れたところで本題に戻ってみます。

よって、10進数の22は、2進数で10110が答えです..答えです..答えです…(エコー)

・・・・・うん、だから?
192.168.0.1/10110 ってこと?なに、これ?
アレ・・なんかやりたいことと違う・・・私がやってことは意味がなかった・・?

調べたら「/22」は 左から22個目までが2進数の「1」 ってことでした・・・。
ただ数字の22を2進数に変換しただけの意味がないことをしていた。
まぁ後から使うのでよしとします!

つまり、IPアドレスは8ビット×4の32ビットなので
左から22個目までを「1」とします。

こう!!!

次にさきほどの割り算&つなぎ合わせでIPを2進数に直してみます。

結果!

■開始IPを求める

開始IPを求めるときは上記2つをANDで計算します。

これを10進数に直すにはそれぞれ8ビットに区切り、2のx乗していきます。
0のところは計算せずに、1のところだけ計算して足し算していきます!

まずは最初の8ビット

次の8ビット

次の8ビット

次の8ビット

結果

これが開始範囲になります。

■終了IPを求める

終了IPを求めるときは上記2つをORで計算します。
サブネットマスクを反転させてから計算する必要があります。

先ほどと同様に10進数に直すと

になります。

■結果

(開始IP)192.168.0.0~(終了IP)192.168.3.255

これが
192.168.0.1/22のネットワーク範囲となります。
IPアドレス数は256×4=1024個となります。

■満足しました

なるほどな。
それっぽい数字が算出できて満足したところで今回の記事を終わります。完

LINEで送る
Pocket