同じネットワークアドレスになっているマシン同士が、同じネットワークに属して、
同じネットワークに属しているマシン同士しか、直接に通信できないようになっている仕組みでした。
(違うネットワークに伝達するにはルータまたはL3スイッチを介さなけばならない)
それは、IPアドレスの一部を
ネットワークのアドレス部として使い、
残りの範囲をホストの指定用にする規則にし、
共通のネットワークのアドレス部のIPアドレスを設定した機器同士を
接続することで、ネットワーク作る規則でした。
(参考:ネットワークアドレスとルータの関係)
このネットワークアドレスの範囲を、IPアドレスとは別に指定するものがサブネットマスクです。
このサブネットマスクの1の並びの範囲で、ネットワークのアドレス部
の範囲を指定する規則になっています。
例えばクラスCの192.168.0.1のIPアドレスであれば、サブネットマスクは、
255.255.255.0となります。
255.255.255.0を2進で書くと11111111.11111111.11111111.00000000ですが、
この1が並ぶ3byte分のIPアドレス範囲をネットワーク部に指定していることになります。
このイメージを下記に示します。
IPアドレス (例 192.168.0.1) | |
ネットワークアアドレス部(例 192.168.0) | ホストアドレス部(例 .1) |
サブネットマスクの1の並び(例 255.255.255) | サブネットマスクの0の並び(例 .0) |
サブネットマスク (例 255.255.255.0) |
そして、この2つをビットごとにANDした192.168.0.0がネットワークアドレスになります。
(ホスト部のIPアドレスを全て0にしたアドレスがネットワークアドレスと言えます。)
上記の例では、ホスト部のサイズが8bitで、クラスCのサイズのネットワークです。
サブネットマスクを使うということは、bit単位でネットワーク部を指定できることです。
以下で、ネットワーク部を2bit増やして4倍の26bit(ホスト部は4分の1の6bit)にした例を示します。
具体例で、192.168.128.92のIPアドレスで、255.255.255.192のサブネットマスクで示します。
以下では、これを2進数にしてAND演算して、ネットワークアドレスを求めています。
IPアドレス | 11000000.10101000.10000000.01011100 | |
サブネットマスク | 11111111.11111111.11111111.11 | 000000 |
ネットワークアドレス | 11000000.10101000.10000000.01 | 000000 |
これは これまであったネットワークを、4つのネットワークに分割したことを意味します。(ネットワークを増やしたと言える)
なお、この1のビットが26ビット続いていますが、このマスク幅を使って、
ネットワークアドレスの情報を含んだIPアドレスを、192.168.128.92/26と表現する方法があります。
この表現は、CIDR(サイダー:Classless Inter-Domain Routing)表記と呼ばれます。
←『未選択』の箇所を選択してから評価ボタンをクリックしてください
以下のボタンで、ビット演算のイメージを実験で確認できます。
(ここよりダウンロードも可能)