基本情報技術者 2009年 秋期 午前(科目A) 問39
問題文
IPアドレス10.1.2.146、サブネットマスク255.255.255.240のホストが属するサブネットワークはどれか。
選択肢
ア:10.1.2.132/26
イ:10.1.2.132/28
ウ:10.1.2.144/26
エ:10.1.2.144/28(正解)
IPアドレス10.1.2.146、サブネットマスク255.255.255.240のホストが属するサブネットワークはどれか。【午前2 解説】
要点まとめ
- 結論:IPアドレス10.1.2.146はサブネットマスク255.255.255.240(/28)におけるネットワーク10.1.2.144/28に属します。
- 根拠:/28は最下位オクテットのブロック長が16で、146を16で割った商×16でネットワークアドレスが144になるためです。
- 差がつくポイント:/26と/28でブロック境界が異なるので、ネットワークアドレスは境界の倍数でなければならない点を必ず確認してください。
正解の理由
サブネットマスク255.255.255.240はプレフィックス長が/28で、最下位オクテットのブロックサイズは です。IPv4アドレスの最後のオクテット146を16で区切ると、ネットワークの開始アドレスは となり、このサブネットは10.1.2.144/28(ネットワークアドレス144、ブロードキャスト159)です。したがって正解は エ(10.1.2.144/28)です。
よくある誤解
- 「表示されているアドレスがそのままネットワークアドレスになる」と誤解し、132や144が有効かだけを見てしまう。
- /26と/28でマスクの境界が異なることを見落とし、同じ範囲と考えるミスが多い。
解法ステップ
- サブネットマスク255.255.255.240をプレフィックス長に直す:/28。
- 最下位オクテットのブロックサイズを求める:。
- 対象IPの最下位オクテット146をブロックサイズで割り、床関数を掛ける:。
- ネットワークアドレスは10.1.2.144、ブロードキャストは144+15=159。
- 選択肢と照合して正しい表記(ネットワークアドレス/プレフィックス)が一致するものを選ぶ。
選択肢別の誤答解説
- ア: 10.1.2.132/26
- /26はマスク255.255.255.192でブロックサイズが64。/26のネットワーク境界は0,64,128,192...であり、132はネットワークアドレスとして不正確(正しい/26境界は128)。また表記自体が一般的なネットワークアドレスとして誤り。
- イ: 10.1.2.132/28
- /28のブロックは16単位なのでネットワーク境界は128,144,...。132は128/28ネットワーク(128–143)のホストであり、ネットワークアドレスは128であって132はネットワークアドレスの表記として誤り。
- ウ: 10.1.2.144/26
- /26の境界は128または192であり、144は/26のネットワーク開始アドレスにならない。したがって表記が不正確。なおIP146自体は128/26の範囲内だが、選択肢のネットワーク表記が合致しないため誤り。
- エ: 10.1.2.144/28
- /28のブロック16単位で、ネットワーク開始が144、ブロードキャストが159となり、IP146はこのサブネットのホストに該当するため正解。
補足コラム
- /28(255.255.255.240)の場合、1サブネットあたりのアドレス総数は16、利用可能なホスト数は14(ネットワークアドレスとブロードキャストを除く)。
- 一般式:ブロックサイズ = (サブネットマスクの最下位オクテット値)。ネットワークアドレス = .
- 小さなサブネットを扱うときは、候補のネットワークアドレスがブロック境界(倍数)になっているかをまず確認する習慣をつけると速く正確です。
例:Pythonで計算する簡単なコード
ip = 146 mask_last = 240 block = 256 - mask_last network = (ip // block) * block broadcast = network + block - 1 print(network, broadcast) # 144 159
FAQ
Q: /28のネットワークで使えるホスト範囲は?
A: ネットワークが10.1.2.144/28なら、利用可能ホストは10.1.2.145〜10.1.2.158(ネットワーク144、ブロードキャスト159は不可)。
A: ネットワークが10.1.2.144/28なら、利用可能ホストは10.1.2.145〜10.1.2.158(ネットワーク144、ブロードキャスト159は不可)。
Q: なぜ選択肢にある「132」や「144」がそのまま使えないことがあるのですか?
A: ネットワークアドレスはブロック境界の倍数でなければならないため、表記上の数値が境界に一致しない場合は正しいネットワーク表記とは言えません。
A: ネットワークアドレスはブロック境界の倍数でなければならないため、表記上の数値が境界に一致しない場合は正しいネットワーク表記とは言えません。
関連キーワード: サブネット、サブネットマスク、CIDR、ネットワークアドレス、ブロードキャスト、ホスト部、プレフィックス長、サブネット計算、IPアドレス割当、ビット演算

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

