#概要
社内の雑談で、サブネットとかサブネットマスクとかよく聞くけどどこで何に使っているのかわからないという声があったので、説明用にざっくりとまとめてみました。
初心者(ITパスポートくらい?)の方向けの内容です。
#前提
ネットワークの話の前に、ビット演算について少し理解している必要があります。
・入力値と0をANDすると、必ず0になる
・入力値と1をANDすると、必ず入力値になる
この特性を活かしたテクニックを、マスキングといいます。
例1
10111100 入力値
AND 00000000 マスク
--------------
00000000 結果
例2
10111100 入力値
AND 11111111 マスク
--------------
10111100 結果
例3
10111100 入力値
AND 11110000 マスク
--------------
101110000 結果
こういうテクニックがあるよ、くらいの理解で大丈夫です。
#サブネット
会社のネットワークは
・部署A 192.168.13.X
・部署B 192.168.16.X
・・・・・
・・・・・
のように小さい単位(=サブネット)に分けて管理するのが一般的です。
こうすると「部署BだけがDBサーバーにアクセス可能、それ以外の部署は拒否」のように、部署(=サブネット)単位でコントロールできるので管理が容易になります。
#サブネットマスク
例えば上記の「部署BだけがDBサーバーにアクセスできる」の設定は
DBサーバーのファイアウォールに
"192.168.16.0/255.255.255.0 を 許可”
のように記述します。
このようにサブネットは、
"サブネットアドレス"と"サブネットマスク”
の組み合わせで表現できます。
サブネットマスクは、サブネットの表現方法として考え出されたものです。
なおサブネットマスク単体で使う、ということはありません。
#具体的に
"192.168.16.0/255.255.255.0 を 許可”、と設定したファイヤーウォールでは、以下の順で処理されます。
①アクセス要求したマシンのIPアドレス
と
②サブネットマスク(255.255.255.0)
をマスク(= ビット演算 AND)し、
③結果
を
④サブネットアドレス(192.168.16.0)
と比較。一致すれば許可、しなければ拒否します。
例1 部署AのPC 192.168.13.55
11000000.10101000.00001101.00110111 (=①PCのIPアドレス 192.168.13.55)
AND 11111111.11111111.11111111.00000000 (=②サブネットマスク 255.255.255.0)
-------------------------------------------
11000000.10101000.00001101.00000000 (=③結果 192.168.13.0)
③結果(192.168.13.0)
は
④サブネットのアドレス(192.168.16.0)
と一致しないので、拒否!
例2 部署BのPC 192.168.16.3
11000000.10101000.00010000.00000011 (=①PCのIPアドレス 192.168.16.3)
AND 11111111.11111111.11111111.00000000 (=②サブネットマスク 255.255.255.0)
-------------------------------------------
11000000.10101000.00010000.00000000 (=③結果 192.168.16.0)
③結果(192.168.16.0)
は
④サブネットのアドレス(192.168.16.0)
と一致するので、許可!
#効果
##サブネットマスクがないと
サブネットマスクがないと、ファイヤーウォールに
192.168.16.1 許可
192.168.16.2 許可
・・・・
192.168.16.55 許可
・・・・
のように、ネットワークの中にある端末全部について設定する必要があります。
##サブネットマスクがあると
サブネットマスクの最後の8桁が0なので、接続要求したPCのIPアドレスが
192.168.13.1
でも
192.168.13.55
でも
マスクした結果は
192.168.13.0
になります。
同様に
192.168.16.1
でも
192.168.16.3
でも
192.168.16.201
でも
マスクした結果は
192.168.16.0
になります。
この特性を活かして、ファイヤーウォールには
"192.168.16.0/255.255.255.0 許可”
と書くだけですみます。
#最後に
ここではファイヤーウォールの設定を例に説明しましたが、ネットワークに関するあらゆるところで使われています。
また組織内のネットワークを小さい単位で分ける必要が全く無いのであれば、もちろんサブネットやサブネットマスクを使うことはありません。