ネットワーク

サブネットマスクとは

2020年1月28日

サブネットマスク

サブネットマスクとは、IPアドレスのうち「ネットワークアドレス」と「ホストアドレス」を識別するための数値です。(※IPv4の場合は32ビット、IPv6の場合は128ビットの数値)

ネットワークアドレスとホストアドレス

ネットワークアドレスとは、ネットワークに付与されているIPアドレス、そして ホストアドレスはネットワーク内のコンピュータ(ネットワーク機器)に付与されているIPアドレスです。

私たちの生活で例えると、ネットワークアドレスは地域(東京都××区、大阪府××市など)、ホストアドレスとは番地(×番地1-2、×番地1-3など)のイメージと同じです。

それでは、どのように「ネットワークアドレス」と「ホストアドレス」が付与されるか具体例を見ていきます。

サブネットマスク

上記図の例では、ネットワークAとネットワークBに付与されているIPアドレスが「ネットワークアドレス」、各ネットワーク内の機器に付与されているIPアドレスが「ホストアドレス」です。

名称IPアドレスの種類IPアドレスサブネットマスク
ネットワークAネットワークアドレス192.168.10.0255.255.255.0
ルータAホストアドレス192.168.10.1255.255.255.0
PC1ホストアドレス192.168.10.2255.255.255.0
PC2ホストアドレス192.168.10.3255.255.255.0
ネットワークBネットワークアドレス210.171.136.0255.255.255.192
ルータBホストアドレス210.171.136.1255.255.255.192
PC3ホストアドレス210.171.136.2255.255.255.192
PC4ホストアドレス210.171.136.3255.255.255.192

スポンサーリンク

サブネットマスクの定義(IPv4)

IPアドレス「192.168.10.1 /24」を例にサブネットマスクの定義について説明していきます。まず IPアドレス「192.168.10.1 /24」を2進数表記にすると次のように表されます。

10進数を2進数に変換

前方の24ビットが「ネットワーク部」、後方の8ビットが「ホスト部」です。「192.168.10.1 /24」のIPアドレスの後ろについている「/24」はネットワーク部とホスト部の境界線を表しています

この場合、サブネットマスクは「ネットワーク部」を1、「ホスト部」を0とし、10進数表記に戻します。

サブネットマスクの表記

その結果、サブネットマスクは「255.255.255.0」となります。

サブネットマスクは

  • IPアドレス:192.168.10.1
  • サブネットマスク:255.255.255.0

※255がネットワーク部、0がホスト部

もしくは

  • IPアドレス:192.168.10.1 /24

※先頭から24ビットがネットワーク部、残り8ビットがホスト部

と表現します。

なぜサブネットマスクが必要なのか?

従来IPアドレスは「クラスフル方式」と呼ばれる方式を採用しており、ネットワーク部とホスト部の境界線を固定していました。

クラスアドレス範囲用途/ネットワーク部の範囲割り当て可能なホスト数
クラスA0.0.0.0 - 127.255.255.255先頭8ビットがネットワーク部16777214
クラスB128.0.0.0 - 191.255.255.255先頭16ビットがネットワーク部65534
クラスC192.0.0.0 - 223.255.255.255先頭24ビットがネットワーク部254
クラスD224.0.0.0~239.255.255.255IPマルチキャスト用-
クラスE240.0.0.0~255.255.255.255予約済み・未使用-

しかし、この方式だと割り当て可能なパターンが3種類しかなく、割り当てられたものの使われずに放置されるアドレスが大量に発生するというデメリットがありました。

この問題を解消したのがサブネットマスクです。サブネットマスクを使い「ネットワーク部」と「ホスト部」の境界を自由に変更することを可能とした「クラスレス方式」が、現在では一般的に利用されています。

例えば100人分のIPアドレスが必要な企業に対して、クラスC「192.10.1.0」のネットワークアドレスを提供するとします。

クラスフル方式ではホスト部の数が決まっているので一番小さいクラスCを利用しても「254-100=154」と154個のIPアドレスが使われずに無駄になってしまいます。

■クラスフル方式

使用可能なホストアドレスの範囲アドレス数
192.10.1.1~192.10.1.254IPアドレス数:256 (ホストアドレス数:254)

※ネットワークアドレスとブロードキャストアドレスがあるため、利用可能なホスト数はこの値から2を引いた値。

スポンサーリンク

しかし、クラスレス方式を利用すれば「126-100=26」と無駄なIPアドレスは26個と、クラスフル方式より効率が良いのが分かります。

■クラスレス方式

サブネットマスク使用可能なホストアドレスの範囲アドレス数
255.255.255.128192.10.1.1~192.10.1.126IPアドレス数:128 (ホストアドレス数:126)

※ネットワークアドレスとブロードキャストアドレスがあるため、利用可能なホスト数はこの値から2を引いた値。

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

[問題]

IPアドレス「172.30.123.45」、サブネットマスク「255.255.252.0」のネットワークアドレス、ブロードキャストアドレス、ホストに使用できるアドレスの範囲を求めなさい。

サブネットマスクからネットワークアドレスの求め方

ネットワークアドレスの求め方は次の通り

  1. サブネットマスク「255.255.252.0」を2進数に変換する
  2. 同様にIPアドレス「172.30.123.45」も2進数に変換する
  3. IPアドレスとサブネットマスクとの論理積(AND)を求める
  4. 求めた結果を10進数に戻す

まずサブネットマスク「255.255.252.0」を2進数に変換。

11111111 11111111 11111100 00000000

次にIPアドレス「172.30.123.45」を2進数に変換します。

10101100 00011110 01111011 00101101

最後に2つの2進数の論理積を求めます。

論理和

論理積の結果が「10101100 00011110 01111000 00000000」

これを10進数に戻すと「172.30.120.0

これがネットワークアドレスです。

サブネットマスクからブロードキャストアドレスの求め方

ブロードキャストアドレスは、先ほど求めたネットワークアドレスのホスト部を全て1に変換します。

ネットワークアドレスが「10101100 00011110 01111000 00000000」

これのホスト部を全て1に変えると「10101100 00011110 01111011 11111111」

これを10進数に戻すと「172.30.123.255

これがブロードキャストアドレスです。

サブネットマスクからホストに使用できるアドレスの範囲を求める

ネットワークアドレスとブロードキャストアドレスを求めることができれば、ホストに使用できるIPアドレスの範囲が分かります。

ネットワークアドレスが「172.30.120.0」、ブロードキャストアドレスが「172.30.123.255」なので、ホストに使用できるIPアドレスは「172.30.120.1 ~ 172.30.123.254」です。

スポンサーリンク

サブネットマスク計算 早見表

クラスサブネットマスクIPアドレスの数
クラスA/8255.0.0.016,777,216
/9255.128.0.08,388,608
/10255.192.0.04,194,304
/11255.224.0.02,097,152
/12255.240.0.01,048,576
/13255.248.0.0524,288
/14255.252.0.0262,144
/15255.254.0.0131,072
クラスB/16255.255.0.065,536
/17255.255.128.032,768
/18255.255.192.016,384
/19255.255.224.08,192
/20255.255.240.04,096
/21255.255.248.02,048
/22255.255.252.01,024
/23255.255.254.0512
クラスC/24255.255.255.0256
/25255.255.255.128128
/26255.255.255.19264
/27255.255.255.22432
/28255.255.255.24016
/29255.255.255.2488
/30255.255.255.2524
/31255.255.255.2542
/32255.255.255.2551

helpful