サブネットマスクは、元々はネットワーク分割に用いられていたものである。
例えば、クラスC(ネットワークアドレス部が24ビット)のIPアドレスで、 先頭26ビットが1、残りが0というサブネットマスクを指定した場合を考える。
ネットワークアドレス部は、サブネットマスク指定によって2ビット長くなっている。 長くなったネットワークアドレス部の末尾2ビットをサブネットといい、この部分が
というように、4 つのネットワークに分割することができる。
分割された各ネットワークのアドレスは、次のように求めることができる。
例として、IP アドレスが「192.168.1.1」、サブネットマスクが「255.255.255.0」である場合のサブネットワークアドレスを考える。
255は2進数に直すと11111111であるから、「192.168.1」の部分をネットワークアドレス部とみなしたい、ということになる。 ネットワークアドレスのホストアドレス部はすべて0となるから、先ほど求めたネットワークアドレス部と合体させると、「192.168.1.0」が求めるサブネットワークアドレスとなる。
サブネットマスクが1の部分の情報は残し、0の部分の情報は切り捨てる(もれなく0とする)ということから、サブネットワークアドレスは IPアドレスとサブネットマスクのAND演算を行って求めると考えてもよい。
IPアドレス | サブネットマスク | ネットワークアドレス |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |