IPA|情報処理技術者試験

サブネットマスクとブロックサイズの仕組みを完全理解!ネットワークアドレス・ブロードキャストアドレス・有効ホストの求め方を徹底解説

IPアドレスの問題演習で「ネットワークアドレスを答えよ」「有効ホスト範囲を求めよ」といった設問に出会うと、数字を前にして手が止まってしまう人は少なくありません。特に「サブネットマスク」と「ブロックサイズ」の関係は理解しにくく、「0と255だけが予約アドレスだと思っていたけれど違ったの?」という疑問を持つ方も多いのではないでしょうか。

本記事では、サブネットマスク・ブロックサイズ・ネットワークアドレス・ブロードキャストアドレス・有効ホスト数の求め方を、基礎から整理して解説します。さらに「各ブロックごとに予約アドレスが存在する」という誤解しやすいポイントも、実際の数値例で丁寧に解消します。

記事の後半では、実際のIPアドレスを題材にした問題演習も掲載しているので、読み終えるころには「暗算で一瞬にして答えを出せる」実力がつくはずです。


サブネットマスクとは?基本の考え方

サブネットマスクは「IPアドレスのどこまでがネットワーク部で、どこからがホスト部か」を決める境界線です。IPアドレスは32ビット(2進数で32桁)で構成され、サブネットマスクも同じ32ビットで、ネットワーク部を示すビットは「1」、ホスト部を示すビットは「0」で表します。

例:/26 の場合

CIDR表記 /26 は「32ビットのうち26ビットがネットワーク部」という意味です。十進数ではサブネットマスクは 255.255.255.192、2進数では次のとおりです。

11111111.11111111.11111111.11000000
  • 左側の「1」が並ぶ部分 … ネットワーク部(固定)
  • 右側の「0」が並ぶ部分 … ホスト部(可変)

この境界があることで、「このIPはどのグループ(ネットワーク)に属するのか」を判断できます。

町と番地のたとえ

イメージしやすくするために「町と番地」に例えると、サブネットマスクは「町の範囲を決める境界線」です。

  • ネットワーク部 = 町の名前
  • ホスト部 = 町の中の家の番地

たとえば /26 の場合は「この町は64軒ごとに分けられる」というルールができるイメージです。


ブロックサイズの求め方

サブネットマスクを理解したら、次に覚えるべきはブロックサイズです。ブロックサイズとは「アドレスが何個ごとに区切られるか」を示す数値で、ネットワークアドレスやブロードキャストアドレスを導くときの基準になります。

計算式での求め方

ブロックサイズは次の計算式で一瞬で求められます。

ブロックサイズ = 256 − マスク値

ここで「マスク値」とは、サブネットマスクの中で255 以外が現れる位置の数値です。

例:/26 の場合

  • サブネットマスク = 255.255.255.192
  • マスク値 = 192
  • ブロックサイズ = 256 − 192 = 64

このネットワークでは64ごとに区切られるというルールが決まります。

2進数からの理解

同じことを2進数で考えると、192 = 11000000 です。
左側の「1」はネットワーク部(固定)、右側の「0」はホスト部(可変)。ホスト部は6ビットなので、表せる組み合わせは 2^6 = 64。これがブロックサイズと一致します。

区切り方の具体例

ブロックサイズが 64 の場合、数値 0〜255 は次のように区切られます。

  • 0〜63
  • 64〜127
  • 128〜191
  • 192〜255

つまり「64ごとに新しいネットワークが始まる」という意味です。

よくある誤解

「255だけが特別(予約アドレス)」と考えがちですが、それは /24 の場合に限った話です。/26 のようにサブネットで分割すると、各ブロックの最初と最後も予約アドレスになる点に注意しましょう。

ネットワークアドレスとブロードキャストアドレス

ブロックサイズが分かれば、その中でネットワークアドレスブロードキャストアドレスを決められます。

ネットワークアドレスとは?

そのブロックの最初のアドレスであり、ホスト部がすべて0の状態です。ネットワーク全体を指す「名前」のような役割を持つため、PCやスマホに割り当てることはできません。

ブロードキャストアドレスとは?

そのブロックの最後のアドレスであり、ホスト部がすべて1の状態です。ネットワーク内のすべての機器に一斉に通信を送るために使われる特別なアドレスです。

例:/26 の場合

/26(ブロックサイズ64)の場合、192.168.1.0〜255は次のように分かれます。

  • 0〜63 → ネットワーク 192.168.1.0 / ブロードキャスト 192.168.1.63
  • 64〜127 → ネットワーク 192.168.1.64 / ブロードキャスト 192.168.1.127
  • 128〜191 → ネットワーク 192.168.1.128 / ブロードキャスト 192.168.1.191
  • 192〜255 → ネットワーク 192.168.1.192 / ブロードキャスト 192.168.1.255

このように、サブネットで分割すると「各ブロックごと」にネットワークアドレスとブロードキャストアドレスが生まれる点が重要です。


有効ホスト数の求め方

ネットワークアドレスとブロードキャストアドレスを除いた範囲が、実際にPCやサーバーに割り当て可能な有効ホストアドレスです。

計算式

有効ホスト数 = 2^(ホスト部のビット数) − 2
  • 「2^(ホスト部のビット数)」はホスト部で表せる全組み合わせ数
  • そのうち「全部0」と「全部1」は予約されるため −2 する

具体例

  • /24 → ホスト部 8ビット → 2^8 − 2 = 254
  • /26 → ホスト部 6ビット → 2^6 − 2 = 62
  • /28 → ホスト部 4ビット → 2^4 − 2 = 14

イメージ

ブロックサイズは「部屋の数」で、ネットワークとブロードキャストは「管理用に確保された2部屋」。残りの部屋だけが実際に住める=有効ホスト数です。

有効ホスト範囲の求め方

有効ホスト範囲とは、実際にPC・スマホ・サーバーなどの機器に割り当てられるIPアドレスの範囲です。求め方はシンプルで、ネットワークアドレスとブロードキャストアドレスを除いた残りのアドレスが有効ホスト範囲となります。

計算手順

  1. サブネットマスクからブロックサイズを求める(256 − マスク値)
  2. 対象のIPアドレスが属するブロックの開始値を計算(数値をブロックサイズで割り切り下げ → 商×ブロックサイズ)
  3. ブロックの開始値 = ネットワークアドレス
  4. ブロックの終了値 = 開始値 + (ブロックサイズ−1) → これがブロードキャストアドレス
  5. 開始+1 〜 終了−1 が有効ホスト範囲

例:192.168.1.100/26 の場合

  • サブネットマスク:255.255.255.192
  • ブロックサイズ:256 − 192 = 64
  • 100 ÷ 64 = 1 あまり36 → 開始 = 64
  • ネットワークアドレス = 192.168.1.64
  • ブロードキャストアドレス = 64 + (64−1) = 127 → 192.168.1.127
  • 有効ホスト範囲 = 192.168.1.65 〜 192.168.1.126

重要なポイント

ネットワークアドレス・ブロードキャストアドレス・有効ホスト範囲は、常にそのIPが属しているブロックの中で完結して考えます。たとえば 192.168.1.100/26 は「64〜127」のブロックに属するので、192.168.1.255 は関係ありません。それは「192〜255」のブロックのブロードキャストアドレスだからです。

実際の問題演習

ここまでのルールを理解したら、実際にIPアドレスを使って練習してみましょう。手順を確認しながら進めることで、計算の流れが自然と身につきます。

問題1:192.168.1.100/26

  • サブネットマスク:255.255.255.192
  • ブロックサイズ:256 − 192 = 64
  • 100 ÷ 64 = 1 あまり36 → 開始 = 64
  • ネットワークアドレス = 192.168.1.64
  • ブロードキャストアドレス = 192.168.1.127
  • 有効ホスト範囲 = 192.168.1.65 ~ 192.168.1.126
  • 有効ホスト数 = 2^6 − 2 = 62

問題2:192.168.1.200/28

  • サブネットマスク:255.255.255.240
  • ブロックサイズ:256 − 240 = 16
  • 200 ÷ 16 = 12 あまり8 → 開始 = 192
  • ネットワークアドレス = 192.168.1.192
  • ブロードキャストアドレス = 192.168.1.207
  • 有効ホスト範囲 = 192.168.1.193 ~ 192.168.1.206
  • 有効ホスト数 = 2^4 − 2 = 14

問題3:10.2.34.145/20

  • サブネットマスク:255.255.240.0
  • ブロックサイズ:256 − 240 = 16(第3の数値で判定)
  • 34 ÷ 16 = 2 あまり2 → 開始 = 32
  • ネットワークアドレス = 10.2.32.0
  • ブロードキャストアドレス = 10.2.47.255
  • 有効ホスト範囲 = 10.2.32.1 ~ 10.2.47.254
  • 有効ホスト数 = 2^12 − 2 = 4094

問題4:172.16.130.10/19

  • サブネットマスク:255.255.224.0
  • ブロックサイズ:256 − 224 = 32(第3の数値で判定)
  • 130 ÷ 32 = 4 あまり2 → 開始 = 128
  • ネットワークアドレス = 172.16.128.0
  • ブロードキャストアドレス = 172.16.159.255
  • 有効ホスト範囲 = 172.16.128.1 ~ 172.16.159.254
  • 有効ホスト数 = 2^13 − 2 = 8190

問題5:10.0.5.130/21

  • サブネットマスク:255.255.248.0
  • ブロックサイズ:256 − 248 = 8(第3の数値で判定)
  • 5 ÷ 8 = 0 あまり5 → 開始 = 0
  • ネットワークアドレス = 10.0.0.0
  • ブロードキャストアドレス = 10.0.7.255
  • 有効ホスト範囲 = 10.0.0.1 ~ 10.0.7.254
  • 有効ホスト数 = 2^11 − 2 = 2046

問題6:203.0.113.200/25

  • サブネットマスク:255.255.255.128
  • ブロックサイズ:256 − 128 = 128
  • 200 ÷ 128 = 1 あまり72 → 開始 = 128
  • ネットワークアドレス = 203.0.113.128
  • ブロードキャストアドレス = 203.0.113.255
  • 有効ホスト範囲 = 203.0.113.129 ~ 203.0.113.254
  • 有効ホスト数 = 2^7 − 2 = 126

これらの手順を繰り返すことで、「どのIPがどのブロックに属するのか」「その範囲で有効なホスト数はいくつか」がスムーズに導けるようになります。

まとめ

本記事では、サブネットマスクとブロックサイズを切り口に、ネットワークアドレス・ブロードキャストアドレス・有効ホスト数・有効ホスト範囲の求め方を整理して解説しました。

  • サブネットマスクは「ネットワーク部とホスト部の境界」を決めるもの
  • ブロックサイズは「256 − マスク値」または「2^(ホスト部ビット数)」で計算できる
  • ネットワークアドレスはブロックの最初(ホスト部がすべて0)
  • ブロードキャストアドレスはブロックの最後(ホスト部がすべて1)
  • 有効ホスト範囲は「ネットワーク+1 〜 ブロードキャスト−1」
  • 有効ホスト数 = 2^(ホスト部ビット数) − 2
  • /24 のように分割しない場合は 0 と 255 が予約されるが、/26 のように分割すれば各ブロックの最初と最後も予約される

最初は「なぜ64なの?」「0と255だけじゃないの?」と混乱しやすい部分ですが、実際にブロックに分けて考えるとスッキリ理解できるはずです。
演習問題を繰り返していけば、暗算でも「このIPはどのブロックに属するのか」「範囲はどこまでか」が一瞬でわかるようになります。

ぜひこの記事を参考に、サブネット計算を得意分野にしていきましょう!

-IPA|情報処理技術者試験