IPA|情報処理技術者試験

IPアドレス計算が苦手な人へ。サブネットマスクの「0と255の罠」とブロックサイズの求め方を世界一わかりやすく解説

基本情報技術者試験や応用情報技術者試験の学習で、多くの受験者がつまずきやすいネットワーク分野。特に、「サブネットマスク」や「IPアドレスの計算」と聞いただけで、苦手意識を感じてしまう方も多いのではないでしょうか。

「/26 や /28 といったプレフィックス表記が出てきた瞬間に思考が停止してしまう」
「ネットワークアドレスやブロードキャストアドレスの求め方がいまいち分からない」

この記事は、そんな悩みを解決するために生まれました。特に、初学者の方が陥りがちな「予約されているIPアドレスは 0 と 255 だけ」といった誤解も、この記事を読めばスッキリ解消できます。

サブネットマスクの基本から、ブロックサイズの計算、有効なホスト数の求め方までを、豊富な具体例を交えながら体系的に解説します。読み終える頃には、複雑に見えたIPアドレスの計算問題が、自信を持って自力で解けるようになっているはずです。一緒に、ネットワーク計算の壁を乗り越えましょう。

目次

サブネットマスクとは?IPアドレスのネットワーク部とホスト部を分ける境界線

サブネットマスクは、IP アドレスという広大なネットワークの住所録において、「どこまでがグループ(ネットワーク部)で、どこからが個人(ホスト部)か」を示すための重要な境界線の役割を果たします。

例えば、「東京都千代田区永田町 1-7-1」という住所があったとき、「東京都千代田区永田町」までが大きな区画(ネットワーク部)で、「1-7-1」がその中の個別の建物(ホスト部)を指す、といったイメージです。

IP アドレスの世界では、この境界線を 255.255.255.0 のような 10 進数か、/24 のようなプレフィックス表記で表します。特に、基本情報や応用情報の試験では後者のプレフィックス表記が頻出します。

コンピュータはすべての情報を 2 進数で扱っているため、サブネットマスクも 2 進数で理解することが計算問題攻略の鍵です。サブネットマスクを 2 進数に変換したとき、「1」が連続する部分がネットワーク部「0」が連続する部分がホスト部を意味します。

具体例:/26 (255.255.255.192) の場合

/26 という表記は、「先頭から 26 ビット目までがネットワーク部ですよ」という意味です。これを 32 ビットの 2 進数で表すと、以下のようになります。

11111111.11111111.11111111.11000000
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ここまでがネットワーク部 (26ビット)  | 残りがホスト部 (6ビット)

これを 10 進数に直すと 255.255.255.192 となります。
特に重要なのが、境界線となる第 4 オクテット(4 番目の数字)です。

10進数 2進数
192 11000000

この 11000000 のうち、左側の 2 ビット (11) がネットワーク部の一部、右側の 6 ビット (000000) がホスト部となります。このホスト部のビット数(この例では 6 ビット)が、後ほど解説するブロックサイズや有効ホスト数を計算する上で非常に重要になるので、ぜひ覚えておいてください。

なぜ、このようにネットワークを分割するのでしょうか? もし一つのネットワークが大きすぎると、関係のない通信(ブロードキャスト)がネットワーク内の全端末に届いてしまい、パフォーマンスが低下してしまいます。サブネットマスクを使ってネットワークを適切に分割することで、通信を効率化し、セキュリティを高めるという実務的なメリットがあるのです。

このように、サブネットマスクは IP アドレスの構造を定義する設計図のようなものです。そしてこの境界線の考え方が、次に解説する「ブロックサイズ」を理解するための基礎となります。

IPアドレスのブロックサイズとは?2つの簡単な計算方法を解説

サブネットマスクによって区切られたネットワークの「大きさ」や「かたまり」のことをブロックサイズと呼びます。

大きな学年をいくつかのクラスに分けるとき、「1 クラス 40 人」のように定員を決めますよね。ネットワークにおけるブロックサイズもこれと似ていて、1 つのサブネット(クラス)にいくつの IP アドレス(生徒)が含まれるかを示すサイズのことです。このブロックサイズが分かれば、IP アドレスの計算問題は一気に解きやすくなります。

求め方には 2 つのアプローチがあり、どちらも使えるようになっておくと便利です。

計算式で求める方法(暗算におすすめ)

最も手軽で試験本番でも役立つのが、この計算式です。

ブロックサイズ = 256 - サブネットマスクの値

※サブネットマスクの値は、255.255.255.192 のように変化している部分の数字(この場合は 192)を使います。

前のセクションで例に出した /26 (255.255.255.192) で計算してみましょう。
変化しているのは第 4 オクテットの 192 なので、

256 - 192 = 64

となり、ブロックサイズは 64 であることが一瞬で分かります。
「なぜ 256 から引くの?」という理由は、次に解説する 2 進数での考え方を理解すると腑に落ちます。

2進数で理解する方法(根本理解におすすめ)

もう一つの方法は、ホスト部のビット数を使った計算です。

ブロックサイズ = 2n
(n = ホスト部のビット数)

/26 の場合、32 ビットのうち 26 ビットがネットワーク部でした。つまり、残りのホスト部のビット数は 32 - 26 = 6 ビットです。
この n=6 を式に当てはめると、

26 = 64

となり、同じくブロックサイズは 64 と求められます。「256 - 192」と「26」、計算方法は違えど、本質的には同じことを別の角度から計算しているだけなのです。

ブロックサイズ「64」が示すネットワークの区切り方

ブロックサイズが 64 ということは、IP アドレスの空間(0〜255)を 64 個ずつのグループに分割する、ということを意味します。

具体的には、以下のように 4 つのブロックに分かれます。

  • 1 つ目のブロック: 0 〜 63
  • 2 つ目のブロック: 64 〜 127
  • 3 つ目のブロック: 128 〜 191
  • 4 つ目のブロック: 192 〜 255

ある特定の IP アドレスが、これらのどのブロックに属しているかを見極めることが、次のステップであるネットワークアドレスやブロードキャストアドレスを特定するための重要な鍵となります。

ネットワークアドレスとブロードキャストアドレスの求め方│「0と255」の誤解を解消

前のセクションで、サブネットマスクによって IP アドレスが複数の「ブロック」に分割されることを見てきました。実は、それぞれのブロックには特別な役割を持つ、予約済みの IP アドレスが 2 つ存在します。それがネットワークアドレスブロードキャストアドレスです。

  • ネットワークアドレス: 各ブロックの先頭のアドレス。ネットワークそのもの(グループ全体)を指す住所のようなもの。
  • ブロードキャストアドレス: 各ブロックの末尾のアドレス。そのネットワーク内の全端末に一斉送信(ブロードキャスト)するための特別な宛先。

この 2 つのアドレスは、PC やスマートフォンのような個別の機器(ホスト)に割り当てることはできません。

例えるなら、あるブロックが「パークハイツ 101 号棟」というマンションだとしましょう。
ネットワークアドレスは「パークハイツ 101 号棟」という建物そのものを指す住所です。
ブロードキャストアドレスは「101 号棟の居住者全員様へ」という館内一斉放送のアナウンスです。
そして、私たちが普段使う IP アドレスは「101 号室」「102 号室」といった個別の部屋番号にあたります。建物の住所や館内放送を、個人の部屋として使えないのと同じイメージです。

具体例:192.168.1.100/26 の場合

では、192.168.1.100/26 という IP アドレスが属するネットワークの、ネットワークアドレスとブロードキャストアドレスを求めてみましょう。

  1. 所属ブロックを特定する
    /26 のブロックサイズは 64 でした。ブロックの区切りは 0-63, 64-127, 128-191, 192-255 です。
    IP アドレスの第 4 オクテット 100 は、「64〜127」のブロックに含まれます。
  2. ブロックの先頭と末尾を見つける
    所属するブロックが分かれば、あとは簡単です。

    • ネットワークアドレス(先頭): 192.168.1.64
    • ブロードキャストアドレス(末尾): 192.168.1.127

この 2 つのアドレスが、192.168.1.100 が所属するネットワークの代表アドレスと一斉送信用アドレスになります。

重要:予約アドレスは「0と255」だけではない

IP アドレスの学習を始めたばかりの方が最も陥りやすいのが、「ネットワークアドレスは 0、ブロードキャストアドレスは 255」と固定で覚えてしまうことです。これは、/24(ブロックサイズが 256 で、0〜255 の 1 ブロックしかない状態)という特殊なケースだけを見ているために起こる誤解です。

/26 のようにサブネットが分割されている場合、分割されたブロックごとにネットワークアドレスとブロードキャストアドレスのペアが存在します。

▼ /26 における予約アドレス一覧

ブロックの範囲 ネットワークアドレス(先頭) ブロードキャストアドレス(末尾)
192.168.1.0 〜 63 192.168.1.0 192.168.1.63
192.168.1.64 〜 127 192.168.1.64 192.168.1.127
192.168.1.128 〜 191 192.168.1.128 192.168.1.191
192.168.1.192 〜 255 192.168.1.192 192.168.1.255

このように、サブネット分割を行うと、分割されたブロックの数だけ予約アドレスのペアが生まれるのです。この点を理解することが、IP アドレス計算の最大の壁を乗り越えるための鍵となります。

これで、指定した IP アドレスが属するネットワークの全体像が見えてきました。次のセクションでは、このネットワークの中で実際に PC やサーバーに割り当てられる「有効なホストアドレス」の数を数えてみましょう。

有効ホスト数の求め方│計算式の「-2」が意味する2つの予約アドレス

これまでの解説で、ブロック全体のIPアドレス数(ブロックサイズ)と、その中で予約されている2つの特別なアドレス(ネットワーク/ブロードキャスト)が分かりました。では、そのブロックの中で、実際にPCやサーバーに割り当てられるIPアドレスはいくつあるのでしょうか。これが有効ホスト数です。

有効ホスト数の計算式

有効ホスト数は、以下の計算式で求められます。

有効ホスト数 = 2n - 2
(n = ホスト部のビット数)

この式の 2n の部分は、ブロックサイズ(そのブロックに含まれる総IPアドレス数)と同じです。
そして、最も重要なのが「-2」の部分。これは、そのブロックの中でPCなどに割り当てることができない、予約済みのネットワークアドレス(先頭)ブロードキャストアドレス(末尾)の2つ分を引く、という意味です。

先ほどのマンションの例で言えば、「全64戸のマンション(ブロックサイズ)のうち、管理人室(ネットワークアドレス)と集会所(ブロードキャストアドレス)を除いた、実際に住める62戸」を数えるのが有効ホスト数の計算です。

プレフィックスごとの具体例

試験でよく問われるプレフィックスを例に、実際に計算してみましょう。

  • /26 の場合
    • ホスト部ビット数: 32 - 26 = 6 ビット
    • 計算式: 26 - 2 = 64 - 2 = 62
  • /24 の場合
    • ホスト部ビット数: 32 - 24 = 8 ビット
    • 計算式: 28 - 2 = 256 - 2 = 254
  • /28 の場合
    • ホスト部ビット数: 32 - 28 = 4 ビット
    • 計算式: 24 - 2 = 16 - 2 = 14

実際のネットワーク設計では、「この部署には最低30台のPCが必要だから、有効ホスト数が62個ある/26のサブネットを割り当てよう」といったように、必要なホスト数から適切なサブネットマスクを逆算する場面でこの計算が役立ちます。

プレフィックス ホスト部ビット数 (n) ブロックサイズ (2n) 有効ホスト数 (2n - 2)
/24 8 256 254
/26 6 64 62
/28 4 16 14

これで、あるサブネットにいくつの機器を接続できるかが計算できるようになりました。最後の計算ステップとして、具体的に「どのアドレスからどのアドレスまで」が使えるのか、その範囲の求め方を見ていきましょう。

有効ホスト範囲の求め方│利用可能なIPアドレスを特定する最終計算

サブネットマスク、ブロックサイズ、ネットワークアドレス、ブロードキャストアドレス、有効ホスト数。これまでの知識をすべて使って、IPアドレス計算のゴールである「有効ホスト範囲」を求めていきましょう。

有効ホスト範囲とは、そのネットワーク内で実際にPCやサーバーに割り当てることができるIPアドレスの範囲のことです。

求め方は非常にシンプルです。

  • 範囲の開始アドレス: ネットワークアドレス + 1
  • 範囲の終了アドレス: ブロードキャストアドレス - 1

つまり、あるブロックに含まれるIPアドレス全体の中から、予約されている先頭(ネットワークアドレス)と末尾(ブロードキャストアドレス)の2つを除いた残りが、すべて利用可能なIPアドレスになる、ということです。

具体例:192.168.1.100/26 の場合

これまで何度も登場した 192.168.1.100/26 を例に、計算の総仕上げをしましょう。

  1. 所属ブロックを特定する
    • /26 のブロックサイズは 64
    • 第4オクテットの 100 は「64〜127」のブロックに属します。
  2. 予約アドレスを特定する
    • ネットワークアドレス(ブロックの先頭): 192.168.1.64
    • ブロードキャストアドレス(ブロックの末尾): 192.168.1.127
  3. 有効ホスト範囲を計算する
    • 開始アドレス: 192.168.1.64 + 1 = 192.168.1.65
    • 終了アドレス: 192.168.1.127 - 1 = 192.168.1.126

結論として、192.168.1.100 が属するネットワークにおいて、PCなどに割り当て可能なIPアドレスの範囲は「192.168.1.65 〜 192.168.1.126」となります。有効ホスト数が 62 個であることも、126 - 65 + 1 = 62 という計算で一致しますね。

家庭やオフィスのルーターに搭載されているDHCPサーバーは、この有効ホスト範囲(例:.65〜.126)の中から、ネットワークに接続してきたPCやスマートフォンに空いているIPアドレスを自動で割り振る、という重要な役割を担っています。

これでIPアドレス計算に必要なすべての知識が揃いました。次のセクションでは、実際の試験問題を想定した演習で、ここまでの理解度を試してみましょう。

総仕上げ!基本情報・応用情報レベルの問題演習に挑戦

ここまでの解説で、IPアドレス計算に必要な知識はすべて揃いました。このセクションでは、実際の試験で出題されるレベルの問題を解きながら、計算手順をマスターしていきましょう。

基礎問題

問題1:192.168.1.100/26 のネットワークアドレスとブロードキャストアドレス、有効ホスト範囲を求めよ。

【解法ステップ】

  1. ブロックサイズを求める: /26 のマスク値は 255.255.255.192
    256 - 192 = 64。ブロックサイズは 64
  2. 所属ブロックを特定する: 第4オクテットの 100 は、64 の倍数で区切られるブロック 0-63, 64-127, 128-191... のうち、「64-127」に属する。
  3. アドレスを確定する:
    • ネットワークアドレス (先頭): 192.168.1.64
    • ブロードキャストアドレス (末尾): 192.168.1.127
    • 有効ホスト範囲 (上記の間): 192.168.1.65192.168.1.126

問題2:192.168.1.200/28 のネットワークアドレスとブロードキャストアドレスを求めよ。

【解法ステップ】

  1. ブロックサイズを求める: /28 のマスク値は 255.255.255.240
    256 - 240 = 16。ブロックサイズは 16
  2. 所属ブロックを特定する: 第4オクテットの 200 がどのブロックに入るか考えます。16の倍数を数えていくと、16 × 12 = 192。次のブロックは 16 × 13 = 208
    よって、200 は「192〜207」のブロックに属する。
  3. アドレスを確定する:
    • ネットワークアドレス (先頭): 192.168.1.192
    • ブロードキャストアドレス (末尾): 192.168.1.207

応用問題(オクテット跨ぎ)

次に、サブネットの境界が第3オクテットなど、第4オクテット以外にある応用問題です。考え方の基本は全く同じです。

問題3:10.2.34.145/20 のネットワークアドレスを求めよ。

【解法ステップ】

  1. 変化するオクテットを特定する: /20 は、8 + 8 + 4 なので、境界線は第3オクテットにあります。
  2. ブロックサイズを求める: /20 は、第3オクテットのマスクが 11110000 (240) であることを意味します。
    256 - 240 = 16。ブロックサイズは 16。これは第3オクテットが16ずつ増えることを意味します。
  3. 所属ブロックを特定する: IPアドレスの第3オクテット 34 に注目します。16の倍数で区切ると 0, 16, 32, 48... となるため、34 は「32」から始まるブロックに属します。
  4. アドレスを確定する: ネットワークアドレスは、所属ブロックの先頭であり、ホスト部がすべて0になったアドレスです。したがって、ネットワークアドレスは 10.2.32.0 となります。

問題4:172.16.130.10/19 のブロードキャストアドレスを求めよ。

【解法ステップ】

  1. 変化するオクテットを特定する: /198 + 8 + 3 なので、境界線は第3オクテットです。
  2. ブロックサイズを求める: 第3オクテットのマスクは 11100000 (224) です。
    256 - 224 = 32。ブロックサイズは 32。第3オクテットが32ずつ増えます。
  3. 所属ブロックを特定する: 第3オクテットの 130 に注目します。32の倍数は 0, 32, 64, 96, 128, 160... となるため、130 は「128」から始まるブロックに属します。
  4. アドレスを確定する: 130 が属するブロックは 172.16.128.0 から始まります。次のブロックは 172.16.160.0 です。
    ブロードキャストアドレスは、次のネットワークアドレスの1つ手前のアドレスです。したがって、ブロードキャストアドレスは 172.16.159.255 となります。

まとめ:サブネット計算をマスターするための重要ポイント

お疲れ様でした。この記事で解説してきた、一見すると複雑なサブネットマスクとIPアドレスの計算について、最後に重要ポイントを振り返り、知識を確実に定着させましょう。

  1. サブネットマスクは「区切りのルール」である
    サブネットマスクは、IPアドレスをネットワーク部とホスト部に分ける「境界線」です。/26/28 といったプレフィックスを見たら、まず「ホスト部が何ビット残っているか?」を意識することが、計算問題攻略の全ての始まりです。
  2. ブロックサイズで「属する範囲」が分かる
    ブロックサイズ(256 - マスク値 または 2^ホスト部ビット数)を計算することで、あるIPアドレスがどの「かたまり(ブロック)」に属するかが分かります。ブロックの範囲(例:64〜127)を特定することが、すべての計算の土台となります。
  3. 各ブロックに「予約済みアドレス」が必ず2つある
    これが最も重要なポイントです。分割されたすべてのブロックには、必ず先頭のネットワークアドレスと末尾のブロードキャストアドレスが存在します。「予約アドレスは 0 と 255 だけ」という初学者の誤解を捨て、常にブロック単位で考える癖をつけましょう。
  4. 有効ホストは「間のアドレス」
    PCやサーバーに割り当てられる有効ホストの範囲は、ネットワークアドレスとブロードキャストアドレスに挟まれた「間のアドレス」です。ネットワークアドレス + 1 から ブロードキャストアドレス - 1 まで、とシンプルに覚えれば大丈夫です。

最初は手順が多くて難しく感じるかもしれませんが、今回解説したステップに従って問題演習を5問、10問と繰り返すうちに、頭の中で計算の流れが自然と組み立てられ、最終的には暗算でも答えを導き出せるようになります。

この記事が、あなたの資格試験合格の一助となれば幸いです。

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