サブネットマスクは、元々はネットワーク分割に用いられていたものである。

例えば、クラス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