ITの教科書検索

第2章 アドレスのしくみ|2-3|コース全体 19本中7本目

入門読了 約10分更新日 2026-09-27

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

サブネットマスクの計算は、ホスト部のビット数、アドレス総数、ホスト数の3ステップで解けます。/26なら62台になる理由を手順で示し、練習問題と/8〜/32の早見表も載せています。

目次
  1. サブネットマスクの計算は3ステップ
  2. なぜネットワーク部とホスト部に分けるのか
  3. プレフィックス長とサブネットマスクの変換
  4. 3ステップの中身
  5. 計算機で答え合わせをする
  6. 2進数で見るとどうなるか
  7. ブロックサイズで一気に求める
  8. 基本例:1つのネットワークを分割する
  9. 間違えやすい点
  10. サブネットマスク早見表(/8〜/32)
  11. 練習問題

サブネットマスクの計算は、3ステップで終わります

/26 のようなプレフィックス長から、そのネットワークに何台の機器を接続できるかを求めるには、次の3ステップを踏むだけです。

  1. 1

    ホスト部のビット数を出す

    32 − プレフィックス長

  2. 2

    アドレス総数を出す

    2 のホスト部ビット数乗

  3. 3

    ホスト数を出す

    アドレス総数 − 2

    ネットワークアドレスとブロードキャストの2つを除きます。

例:/26 ならホスト部は 32 − 26 = 6ビットです。アドレス総数は 2⁶ = 64個です。ホスト数は 64 − 2 = 62台です。

この3ステップを、実例を使って順に説明します。

なぜ「ネットワーク部」と「ホスト部」に分けるのか

IPアドレスは32ビットの数字です。そのままでは、どのネットワークの何番目の機器かを区別できません。そこで、住所を町名と番地に分けるように、IPアドレスもネットワーク部とホスト部に分けます。ネットワーク部はどのネットワークかを、ホスト部はその中の何番目の機器かを表します。

どこまでがネットワーク部かを示す境目が、サブネットマスクです。この境目は、/26 のようなプレフィックス長でも表せます。

プレフィックス長とサブネットマスクの変換

/26 のようなプレフィックス長と、255.255.255.192 のようなサブネットマスクは、同じ境目を別の書き方で表したものです。変換の方法は次のとおりです。

  1. 1

    プレフィックス長 → サブネットマスク

    先頭からプレフィックス長の数だけ1を並べ、残りは0にします。最後に、8ビットごとに10進数へ変換します。

  2. 2

    サブネットマスク → プレフィックス長

    各オクテット(8ビットの区切り)を2進数に戻し、先頭から1が続く個数を数えます。たとえば255なら8ビット、0なら0ビットです。

プレフィックス長2進数のマスクサブネットマスク
/2411111111.11111111.11111111.00000000255.255.255.0
/2611111111.11111111.11111111.11000000255.255.255.192

/26 は、先頭から26個が1なので、最初の3オクテットはすべて255になります。残りの8ビットは11000000で、先頭2ビットだけが1です。

これを10進数に変換すると、128 + 64 = 192 です。したがって、サブネットマスクは255.255.255.192になります。

3ステップの中身

192.168.10.130/26 を例に、1ステップずつ説明します。

ステップ1:プレフィックス長からホスト部のビット数を出す

IPアドレスは全部で32ビットで、プレフィックス長はネットワーク部のビット数です。32からプレフィックス長を引けば、ホスト部のビット数が分かります。

32 − 26 = 6 ビットがホスト部です。

ステップ2:2のべき乗でアドレス総数を出す

ホスト部が n ビットなら、そのビットで表せる組み合わせは 2ⁿ 通りです。これが、そのネットワークに含まれるアドレスの総数で、ネットワークアドレスとブロードキャストも含みます。

2⁶ = 64 個です。

ステップ3:ネットワークアドレスとブロードキャストを引いてホスト数を出す

64個のアドレスのうち、先頭の1つはネットワークアドレスで、そのネットワーク自体を表します。末尾の1つはブロードキャストアドレスで、そのネットワークの全員に送るときに使います。

どちらも機器には割り当てないので、2を引きます。

64 − 2 = 62 台です。これが割り当て可能なホスト数です。
項目値
IPアドレス192.168.10.130
ネットワークアドレス192.168.10.128
ブロードキャストアドレス192.168.10.191
割り当て可能な範囲192.168.10.129 〜 192.168.10.190
ホスト数62台

計算機で答え合わせをする

まず、自分で3ステップを計算してください。そのあと、次の計算機に同じ値を入力して答え合わせをします。IPアドレスとプレフィックス長を変えれば、別の問題でも試せます。

CIDR表記
192.168.10.128/26
サブネットマスク
255.255.255.192
ネットワークアドレス
192.168.10.128
ブロードキャスト
192.168.10.191
割り当て可能な範囲
192.168.10.129
〜 192.168.10.190
ホスト数
62 台
アドレス総数
64
入力したIPアドレスの種別
プライベート

2進表記  11000000.10101000.00001010.10000010
太字の上位26ビットがネットワーク部で、残りがホスト部です。

IPアドレスやプレフィックス長を何度も変えて試したいときは、サブネット計算機のページも使えます。練習問題を解くときは、別のタブで開いておくと便利です。

2進数で見るとどうなるか

3ステップは10進数のまま計算できます。一方、コンピュータの内部では、IPアドレスとサブネットマスクのAND(論理積)でネットワークアドレスを求めています。

なぜそれで求められるのかを、先ほどの例の第4オクテットで確認します。

値第4オクテットの2進数
IPアドレス(130)10000010
サブネットマスク(192)11000000
AND の結果(128)10000000

ANDは、両方が1のときだけ1になる演算です。表の太字はホスト部で、マスク側が0なので、ANDを取ると0になります。

一方、上位2ビットはマスク側が1なので、IPアドレスの値がそのまま残ります。

このようにANDは、ネットワーク部を残してホスト部だけを0にする計算です。結果は 128 で、ステップ3で使ったネットワークアドレスの第4オクテットと一致します。

ブロックサイズで、AND計算をせずに一気に求める

ANDを毎回2進数で計算しなくても、ネットワークアドレスとブロードキャストアドレスは暗算で求められます。使うのは、次の式で求めるブロックサイズという値です。

ブロックサイズ = 256 − (サブネットマスクを左から見て、最初に255でなくなるオクテットの値)

サブネットマスクを左から見て、最初に255でなくなるオクテットを境目のオクテットと呼びます。IPアドレスの同じ位置のオクテットを見て、その値がブロックサイズの倍数のどの範囲に入るかを判定します。

境目より左のオクテットは、そのままコピーします。境目より右のオクテットは、ネットワークアドレスならすべて0に、ブロードキャストアドレスならすべて255にします。

192.168.10.130/26 で試します。サブネットマスク255.255.255.192 を左から見ると、最初に255でなくなるのは第4オクテットの192 です。ブロックサイズは256 − 192 = 64です。

IPアドレスの第4オクテットは 130 です。この値が64の倍数のどの範囲に入るかを探します。

64の倍数は 0, 64, 128, 192 です。130 は、128 以上 192 未満に入ります。

ネットワークアドレスは、そのブロックの先頭の 192.168.10.128 です。ブロードキャストアドレスは、次の倍数192の1つ前の 192.168.10.191 です。どちらも、ステップ3の表にあった値と一致します。

プレフィックス長が短ければ、境目のオクテットはもっと左になります。172.16.37.10/20 の例で確認します。

/20 のサブネットマスクは255.255.240.0です。左から見て最初に255でなくなるのは、第3オクテットの240です。ブロックサイズは256 − 240 = 16です。

IPアドレスの第3オクテットは37で、16の倍数の32以上48未満に入ります。

第3オクテットは、ネットワークアドレスでは32、ブロードキャストアドレスでは47です。境目より右の第4オクテットは、ネットワークアドレスなら0、ブロードキャストアドレスなら255です。したがって、ネットワークアドレスは172.16.32.0、ブロードキャストアドレスは172.16.47.255になります。

基本例:1つのネットワークを分割する

サブネットマスクの計算は、1つのネットワークを複数の小さなネットワークに分けるときにも使います。この分け方をサブネット化と呼びます。

たとえば部署ごとにネットワークを分けるのは、無駄な通信を減らし、届く範囲を限定するためです。192.168.10.0/24 を4つに分けると、次のようになります。

192.168.10.0/24256個のアドレス(1本).0/26.1–.62 が使える.64/26.65–.126 が使える.128/26.129–.190 が使える.192/26.193–.254 が使える斜線=使えない(ネットワークアドレス/ブロードキャスト)色つき=使える範囲
256個のアドレスを持つ 192.168.10.0/24 を4等分すると、/26 が4つできます。各ブロックの両端にある斜線の部分は、ネットワークアドレスとブロードキャストアドレスです。どのブロックでも、この2個は機器に割り当てられません。/24 から /26 のように、プレフィックス長の数字が2大きくなるごとに、ネットワークの大きさは4分の1になります。

プレフィックス長を/24から/26に2大きくすると、ホスト部が2ビット減ります。そのため、1つのネットワークのアドレス総数は256個から64個へと4分の1になり、その分、ネットワークの数は4つに増えます。

この例は、同じ大きさに等分する分け方です。拠点ごとに台数が違う場合の分け方は、VLSMの記事で説明しています。

分割後にどのIPアドレスがどのネットワークに属するかは、ブロックサイズで判定できます。2つの機器が同じネットワークにあるかどうかの判定は、ゲートウェイの記事で説明しています。ルータが多い組織では、ネットワークをまとめた単位をエリアとして、経路情報の範囲を区切ることもあります。この区切り方は、OSPFの記事で説明しています。

間違えやすい点

なぜ −2 するのか

引く2つのアドレスには、それぞれ役割があります。1つは、ホスト部がすべて0のネットワークアドレスです。そのネットワーク自体を表すもので、特定の1台を指しません。

もう1つは、ホスト部がすべて1のブロードキャストアドレスです。そのネットワークの全員に送るときの宛先なので、1台に割り当てることはできません。そのため、機器に割り当てられるのは、その間のアドレスだけです。

ブロードキャストアドレス宛てのパケットが誰に届き、どこまで届くかは、ユニキャスト・ブロードキャスト・マルチキャストの記事で比べています。

/31 と /32 は例外(−2 しない)

/32 はホスト部が0ビットなので、アドレス1個だけを指します。特定の1台を指定するときに使います。たとえば、通信を許可・拒否するルールの一覧であるACL(Access Control List)で使います。CiscoのルータのACLでは、送信元・宛先の指定に、サブネットマスクを反転させたワイルドカードマスクを使います。読み方はACLの記事で説明しています。

/31 はホスト部が1ビットで、アドレスは2個しかないので、−2すると0台になってしまいます。

そこでRFC 3021により、/31 は例外になっています。ネットワークアドレスとブロードキャストという考え方を持たず、2個とも機器に割り当てます。この例外は、ルータ同士を直結する区間などで使われます。

プレフィックス長の数字が大きいほど、ネットワークは小さくなる

/25 や /26 のように数字が大きくなると、範囲が広がるように思えますが、実際は逆です。

ホスト部のビット数は 32 − プレフィックス長 なので、プレフィックス長が大きくなるほどホスト部のビット数は減ります。その結果、ネットワークは小さくなります。

サブネットマスク早見表(/8〜/32)

プレフィックス長ごとに、サブネットマスク・アドレス数・使えるホスト数を並べました。使えるホスト数は、アドレス数から2を引いた値です。

プレフィックス長サブネットマスクアドレス数使えるホスト数
/8255.0.0.016,777,21616,777,214
/9255.128.0.08,388,6088,388,606
/10255.192.0.04,194,3044,194,302
/11255.224.0.02,097,1522,097,150
/12255.240.0.01,048,5761,048,574
/13255.248.0.0524,288524,286
/14255.252.0.0262,144262,142
/15255.254.0.0131,072131,070
/16255.255.0.065,53665,534
/17255.255.128.032,76832,766
/18255.255.192.016,38416,382
/19255.255.224.08,1928,190
/20255.255.240.04,0964,094
/21255.255.248.02,0482,046
/22255.255.252.01,0241,022
/23255.255.254.0512510
/24255.255.255.0256254
/25255.255.255.128128126
/26255.255.255.1926462
/27255.255.255.2243230
/28255.255.255.2401614
/29255.255.255.24886
/30255.255.255.25242
/31255.255.255.25422(例外)
/32255.255.255.25511(例外)

/31 と /32 は、2を引きません。/31 は、RFC 3021 により2個とも機器に割り当てられます。ルータ同士を1対1で結ぶ回線に限った例外です。/32 は、アドレス1個そのものを指します。理由は、間違えやすい点の節で説明しています。

練習問題(全5問)

Q1/28 のホスト部は何ビット?
Q2/27 のアドレス総数(ネットワークアドレスとブロードキャストを含む)は?
Q3172.16.5.70/25 のネットワークアドレスは?
Q4/30 の割り当て可能なホスト数は?
Q5/31 の説明として正しいものは?

選んでから「採点する」を押すと、解説つきで答え合わせができます。

さらに練習したい場合は、サブネット計算の練習問題(全23問)を使ってください。

ツールも試す

おすすめの本 PR

この記事の内容を扱っている本です。

目的別の本の選び方を見る

入門コースを読み進める

入門コース 全19本中7本目