対象試験と出題頻度
サブネットマスクは、基本情報技術者・応用情報技術者で出題されるテーマです。
IPアドレスの計算問題として毎回のように出題されており、「ネットワークアドレスを求めよ」「使用可能なホスト数を求めよ」といった形式が定番化しています。
解法パターンは決まっているため、一度覚えれば確実に得点源にできるテーマです。
詳細をクリックして確認
基本情報技術者
応用情報技術者
★★★★☆
ランクA(重要)必ず覚えておくべき
用語の定義
情報処理試験を勉強していると、「サブネットマスクって結局何のためにあるの?」と混乱しがちです。
サブネットマスク(Subnet Mask)とは、一言で言うと
「IPアドレスの32ビットのうち、どこまでがネットワーク部でどこからがホスト部かを示す値」
のことです。
イメージとしては、「住所の”市区町村”と”番地”の区切り位置を決めるルール」です。
「東京都千代田区丸の内1-1」という住所で、どこまでが「地域」でどこからが「個別の場所」かは、暗黙のルールで区別されています。
IPアドレスの場合、この区切り位置を明示的に指定するのがサブネットマスクの役割です。
📊 サブネットマスクの基本情報
| 項目 | 内容 |
|---|---|
| 英語名 | Subnet Mask |
| ビット長 | 32ビット(IPv4の場合) |
| 構造 | 先頭から連続する1(ネットワーク部)+残りの連続する0(ホスト部) |
| 表記例 | 255.255.255.0(10進数)、/24(CIDR表記) |
解説
IPv4のアドレス32ビットは「ネットワーク部」と「ホスト部」に分かれています。
ネットワーク部は「どのネットワークに属するか」、ホスト部は「そのネットワーク内のどの機器か」を表します。サブネットマスクは、この境界線がどこにあるかを32ビットの値で明示するための仕組みです。
サブネットマスクの構造
サブネットマスクは、先頭から連続する「1」のビットと、それに続く連続する「0」のビットで構成されます。「1」の部分がネットワーク部、「0」の部分がホスト部に対応します。途中で1と0が混在することはありません。
たとえばサブネットマスク「255.255.255.240」を2進数に変換すると「11111111.11111111.11111111.11110000」となり、先頭28ビットがネットワーク部、残り4ビットがホスト部です。
AND演算でネットワークアドレスを求める
ある端末が属するネットワークのアドレスを求めるには、IPアドレスとサブネットマスクのビット列をAND演算します。AND演算は「両方とも1のときだけ結果が1」になるルールです。
サブネットマスクの「1」の部分はIPアドレスの値がそのまま残り、「0」の部分はすべて0になります。この結果がネットワークアドレスです。
▶ 計算例:IPアドレス 10.170.70.19 / サブネットマスク 255.255.255.240(クリックで展開)
まず、計算が必要なのは4オクテット目だけです。1~3オクテット目のサブネットマスクはすべて255(=11111111)なので、AND演算しても元の値がそのまま残ります。
4オクテット目のみを2進数で確認します。
IPアドレス 19 → 00010011
サブネットマスク 240 → 11110000
AND演算:00010011 AND 11110000 = 00010000 → 10進数で16
よって、ネットワークアドレスは 10.170.70.16 です。
この解法を覚えれば、「サブネットマスクが255でないオクテットだけ2進数に変換してAND演算する」という手順で素早く解けます。
▶ CIDR表記とホスト数の求め方(クリックで展開)
CIDR表記は、サブネットマスクのネットワーク部のビット数をスラッシュの後に書く省略形式です。サブネットマスクが255.255.255.0であれば先頭24ビットが1なので「/24」、255.255.255.240であれば先頭28ビットが1なので「/28」と表記します。
使用可能なホスト数は、ホスト部のビット数をnとしたとき「2n − 2」で求められます。2を引くのは、ホスト部がすべて0のネットワークアドレスとすべて1のブロードキャストアドレスが端末に割り当てられないためです。
例:/28 の場合、ホスト部は 32 − 28 = 4ビット。使用可能なホスト数は 24 − 2 = 14台。
例:/23 の場合、ホスト部は 32 − 23 = 9ビット。使用可能なホスト数は 29 − 2 = 510台。
では、この用語が試験でどのように出題されるか見ていきましょう。
💡 サブネットマスクの核心を3行で
・IPアドレスの32ビットをネットワーク部とホスト部に区切る値(先頭から1が連続→0が連続)
・ネットワークアドレスは「IPアドレス AND サブネットマスク」で求める
・使用可能なホスト数はホスト部のビット数nに対して「2n − 2」
試験ではこう出る!
サブネットマスクは、基本情報・応用情報のネットワーク計算問題で最も出題される定番テーマです。出題パターンは大きく3つに分かれます。
📊 過去問での出題実績(クリックして表示)
| 試験回 | 出題内容 | 問われたポイント |
|---|---|---|
| FE H29秋 午前 問35 |
IPアドレス10.170.70.19、サブネットマスク255.255.255.240のネットワークアドレスを求める問題。 | ・4オクテット目のAND演算で10.170.70.16を導出 ・AP H31春 問34でも同一問題が流用 |
| FE H31春 午前 問32 |
192.168.0.0/23のネットワークで使用できるホスト数の上限を求める問題。 | ・ホスト部9ビット → 29 − 2 = 510が正解 ・CIDR表記からホスト部のビット数を導出する力 |
| AP R5秋 午前 問34 |
サブネットマスク255.255.252.0のとき、172.30.123.45が属するサブネットワークアドレスを求める問題。 | ・3オクテット目のAND演算で172.30.120.0を導出 ・AP H26秋 問34と同一問題の流用 |
| AP H30秋 午前 問34 |
サブネット内でネットワーク機器に割り当てるIPアドレスを求める問題。 | ・ネットワークアドレスとブロードキャストアドレスを特定した上で、割り当て可能な範囲を計算する応用力 |
📝 IPA試験での出題パターン
パターン1:「ネットワークアドレスを求めよ」(FE・AP)
IPアドレスとサブネットマスクが与えられ、AND演算でネットワークアドレスを導出する問題。最も出題頻度が高い。サブネットマスクが255でないオクテットだけを2進数に変換すれば十分。
パターン2:「使用可能なホスト数を求めよ」(FE)
CIDR表記(例:/23)からホスト部のビット数を割り出し、2n − 2で計算する問題。ネットワークアドレスとブロードキャストアドレスの2つを除くことを忘れると不正解になる。
パターン3:「割り当て可能なアドレス範囲を求めよ」(AP)
パターン1と2の応用。ネットワークアドレスとブロードキャストアドレスを特定した上で、実際に端末に割り当てられる範囲を答える問題。応用情報で出題される。
試験ではここまででOKです。いずれのパターンも「2進数への変換」「AND演算」「2n − 2」の3つの手順を覚えれば解けます。過去問を3問ほど解けば手が慣れるので、深追いは不要です。
【確認テスト】理解度チェック
ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。
Q. サブネットマスクの説明として、最も適切なものはどれでしょうか?
- A. IPアドレスの32ビットをネットワーク部とホスト部に区分するための値で、IPアドレスとのAND演算によってネットワークアドレスを求めることができる。
- B. ドメイン名とIPアドレスを相互に変換するための仕組みで、人間が覚えやすい名前と機器が扱いやすい番号を対応付ける。
- C. ネットワーク内の機器にIPアドレスを自動的に割り当てるプロトコルで、手動設定の手間と管理ミスを削減する。
正解と解説を見る
正解:A
解説:
サブネットマスクは、IPアドレスのネットワーク部とホスト部の境界を示す32ビットの値です。IPアドレスとAND演算することで、そのアドレスが属するネットワークアドレスを導出できます。
選択肢BはDNS(Domain Name System)の説明です。ドメイン名からIPアドレスへの名前解決を行うサービスであり、サブネットマスクとは無関係です。選択肢CはDHCP(Dynamic Host Configuration Protocol)の説明です。IPアドレスの自動配布を行うプロトコルであり、ネットワーク部とホスト部の区分とは役割が異なります。
よくある質問(FAQ)
Q. サブネットマスクの計算で2進数変換を最小限にするコツはありますか?
あります。サブネットマスクの各オクテットが255の部分は、AND演算してもIPアドレスの値がそのまま残るため変換不要です。計算が必要なのは「255でないオクテット」だけです。たとえばサブネットマスクが255.255.252.0の場合、3オクテット目の「252」とIPアドレスの3オクテット目だけを2進数に変換してAND演算すれば答えが出ます。試験本番では時間短縮に直結するテクニックです。
Q. 「ネットワークアドレス」と「ブロードキャストアドレス」は端末に割り当てられないのですか?
割り当てられません。ネットワークアドレス(ホスト部がすべて0)はそのネットワーク自体を識別するために予約されており、ブロードキャストアドレス(ホスト部がすべて1)は同一ネットワーク内の全端末にデータを一斉送信するために使われます。ホスト数の計算で2を引くのはこの2つのアドレスを除外するためです。
Q. CIDR表記の「/24」と従来のクラスC(255.255.255.0)は同じ意味ですか?
サブネットマスクとしては同じ値を指します。ただし、CIDR(Classless Inter-Domain Routing)はクラスの概念に依存しない柔軟なアドレス管理方式です。従来のクラスフルアドレッシングではクラスA/B/Cの区切りが固定でしたが、CIDRでは/23や/28など任意のビット数でネットワーク部を指定できます。現在のネットワーク設計はCIDRが標準であり、IPA試験でもCIDR表記の問題が増えています。