サブネットマスク計算のやりかた
資格試験のたびにやり方復習してる気がするのでメモ。
(一部自分の脳内言語のまま書いてるのであとで修正するつもりです)
例)「192.168.1.125/28のネットワークアドレスは?」
step.1 後段のstepで計算すべきオクテットを特定
~/8 :第1オクテットのみ計算
~/16 :第2オクテットのみ計算
~/24 :第3オクテットのみ計算
~/32 :第4オクテットのみ計算
(初っ端から小手先の計算方法感。)
step.2 0になる部分の10進数表記を2進数表記に変換する
(125)10 → (01111101)2
※すだれ算していく
step.3 ”255.255.~”のマスク表記にしたときの該当オクテットの部分を2進数表記に変換する
「/28」のマスク表記は「255.255.255.240」なので
(240)10 → (11110000)2
step.4 2進数表記にしたふたつの論理積(両方1のみ1にして残す)をとる
(125)10 = (01111101)2
(240)10 = (11110000)2
論理積 = (01110000)2
step.5 論理積(2進数)を10進数に変換する
(01110000)2 → (112)10
※(125)10の2進数表記「01111101」との差をとると早い
今回は末尾4桁の「1101」部分なので、8+4+1=13が差
125-13=112
アドレス範囲は「192.168.1.112~16個」、ネットワークアドレスは「192.168.1.112/28」となる。
覚えておくと便利な数字
/32 255.255 1
/30 255.252 4
/28 255.240 8 ★16なのは/27(個人的ミスポイント)
/24 255.0 256
/22 255.252 1024