「サブネットマスク」についてメモ

インターネット接続設定などで時々出てくる「サブネットマスク」についてのメモ書きです。

もくじ

  • サブネットマスクとは何か?
  • サブネットマスクの表記法
  • サブネットマスクの計算法

サブネットマスクとは何か?

サブネットマスクは、IPv4のIPアドレスの中でどこまでがネットワークアドレス(所属しているネットワーク(サブネット)を識別するためのアドレス)で、どこからがホストアドレス(ネットワーク内でどのホストかを識別するためのアドレス)であるかを識別するための数値です。IPv4の場合は32bitの数値になります。

サブネットマスクを使うことによって、ネットワークの細分化が可能になります。一般家庭においてはサブネットマスクによるネットワーク分割を行う機会は殆ど無いと思われますが、企業などでアクセス制限を敷いたり、管理しなければならない機器の台数が多い場合などではネットワークを分割するかもしれません。但し、サブネットマスクをネットワーク管理者が好き勝手に変えられるのは「プライベートIPアドレス」に限定されています。インターネットに接続するために必要となる「グローバルIPアドレス」の場合は、IPSなどが管理しているので利用者が好き勝手な値を設定することはできません。

サブネットマスクの表記法

サブネットマスクはIPv4のIPアドレス同様、2進数32bitの値です。しかし、それをそのまま書き表してしまうと0と1だけが32桁も並ぶことになるので、覚えにくいわ書き間違えるわでろくなことがありません。通常は人間が見やすいように、8bitごとにドットで区切って10進数に変換して表示します。また、サブネットマスクの場合は「プリフィックス形式」(2進数表記での1の数を書く)で表記される場合があります。以下はその一例です。

IPアドレス形式 プリフィックス形式 2進数 管理可能なホストの台数
255.0.0.0 /8 11111111.00000000.00000000.00000000 1677万7214台
255.255.0.0 /16 11111111.11111111.00000000.00000000 6万5534台
255.255.255.0 /24 11111111.11111111.11111111.00000000 254台
最後の「255.255.255.0」は家庭用ルーターでよく使われるサブネットマスクになるので、見たことがある方もいるかと思います。ネットワークアドレス部が長くなればなるほど、同一ネットワークに収容可能なホスト台数は減少します。

サブネットマスクの計算法

IPアドレスとサブネットマスクが分かれば、そこからネットワークの開始IPアドレスと終了IPアドレスを求めることができます。実際に求めるときはサブネットマスク計算(IPv4)/サブネット一覧(早見表)にサブネットマスク計算機があるのでこちらを使うのが楽ですが、ここではあえて自分で計算します。今回は例示用に予約されているIPアドレスの一例「198.51.100.19/24」のネットワーク範囲を計算することにします。

まずはネットワークの開始IPアドレス(ネットワークアドレス)を計算します。IPアドレスとサブネットマスクをそれぞれ2進数に変換し、この2つの論理積(AND)を出します。

10進数 2進数
IPアドレス 198.51.100.19 01110110.01010010.01100000.00000011
サブネットマスク 255.255.255.0 (/24) 11111111.11111111.11111111.00000000
ネットワークアドレス 198.51.100.0 01110110.01010010.01100000.00000000
2進数の論理積演算は、どちらも1だった時には1を、どちらか(または両方)が0の場合は0を出力します。10進数←→2進数の変換についてはこちらをご覧ください。

続いて、終了IPアドレス(ブロードキャストアドレス)を計算します。これまたIPアドレスとサブネットマスクをそれぞれ2進数に変換し、サブネットマスクについてはビットを反転させて、IPアドレスとサブネットマスクをビット反転させたものの論理和(OR)を出します。

10進数 2進数
IPアドレス 198.51.100.19 01110110.01010010.01100000.00000011
サブネットマスク 255.255.255.0 (/24) 11111111.11111111.11111111.00000000
↑のビットを反転させたもの 0.0.0.255 00000000.00000000.00000000.11111111
ブロードキャストアドレス 198.51.100.255 01110110.01010010.01100000.11111111
2進数の論理和演算の場合、どちらか(または両方)が1の場合には1を、両方が0の場合には0を出力します。また、2進数のビット反転は0と1を入れ替えるだけの簡単なお仕事です。

これでめでたく「198.51.100.19/24」のネットワーク範囲が割り出せました。

開始アドレス 198.51.100.0
終了アドレス 198.51.100.255
収容できるホスト台数 254台

参考リンク

このブログを応援する・寄付する

当ブログでは暗号通貨による寄付を募っております。

Bitcoin:

Monacoin:

Litecoin: