応用情報技術者 2014年 秋期 午前2 問34
問題文
サブネットマスクが255.255.252.0のとき、IPアドレス172.30.123.45のホストが属するサブネットワークのアドレスはどれか。
選択肢
ア:172.30.3.0
イ:172.30.120.0(正解)
ウ:172.30.123.0
エ:172.30.252.0
🔒 解説は解答すると表示されます
サブネットアドレス計算【午前2解説】
正解の理由
サブネットマスク255.255.252.0は /22に相当し、第三オクテットは4の刻み(ブロックサイズ4)でサブネットが分かれます。対象のIPアドレス172.30.123.45の第三オクテットは123で、これを4で割って切り捨てると となるため、このホストが属するネットワークアドレスは172.30.120.0です。したがって選択肢のうち イ が正解です。
解法ステップ
- サブネットマスク255.255.252.0をプレフィックス長に直す:255.255.252.0 = /22。
- /22は第三オクテットの刻み幅(ブロックサイズ)が であると認識する。
- 対象IPの第三オクテット123をそのブロックサイズで割り、切り捨てて基点を求める:。
- ネットワークアドレスは172.30.(基点).0 → 172.30.120.0。
(簡単なPython補助例)
ip3 = 123
block = 256 - 252 # =4
network3 = (ip3 // block) * block # 120
network = f"172.30.{network3}.0"
print(network) # 172.30.120.0
選択肢別の誤答解説
- ア: 172.30.3.0
- 第三オクテットが3のサブネットは /22の区切り(0,4,8,...,252)とは一致しません。/22では第三オクテットが0〜3のグループならネットワークは0.0となりますが、今回のIPの第三オクテットは123なので無関係です。
- イ: 172.30.120.0
- 正答。/22のブロックサイズ4に基づき となり、このネットワーク(172.30.120.0〜172.30.123.255)にIPが含まれます。
- ウ: 172.30.123.0
- これは /24(マスク255.255.255.0)でのネットワークアドレス表現です。/22だと172.30.120.0〜172.30.123.255のように4個の /24をまとめたブロックになるため、単一の /24値である172.30.123.0はネットワークの開始アドレスではありません(ただし123.0のアドレス自体はその /22内のホスト部0を示す /24ネットワークのネットワークアドレスですが、問題の求める /22のネットワークアドレスとは異なります)。
- エ: 172.30.252.0
- 第三オクテット252は /22の区切り値として技術的に有効です(252は4で割り切れるため、/22のサブネット境界の一つです)。しかし、これは172.30.252.0〜172.30.255.255のブロックを示すため、第三オクテット123のIPとは全く別の領域にあります。したがって正解ではありません。
よくある誤解
- 「255.255.252.0の252は不正」
- 誤り。252は /22の第三オクテット境界として正しい(0,4,8,...,252の一つ)という点を誤解しやすいです。重要なのはその値が有効かどうかではなく、対象IPがどのブロックに入るかです。
- 「第三オクテットをそのまま下位切り捨てると良い」
- どの位の単位で切り捨てるか(ブロックサイズ)を考えないと間違います。/22の場合は4、/24なら1、/20なら16といった具合です。
- 「172.30.123.0がすぐ正解に見える」
- これは /24の見方であり、マスクが /22のときのネットワーク開始アドレスとは一致しないことを忘れがちです。
補足コラム
- /22のサブネット(255.255.252.0)はホスト数が多く、1サブネットあたりのホスト数は (ネットワークアドレスとブロードキャストアドレスを除く)です。
- 今回のネットワーク範囲は172.30.120.0 〜 172.30.123.255、ブロードキャストアドレスは172.30.123.255、使用可能なホストは172.30.120.1 〜 172.30.123.254です。
- マスクの第三オクテット(例:252)からブロックサイズを求める簡便法:block = 256 - mask_third_octet(例:256−252=4)。
FAQ
Q. どうやってマスク255.255.252.0を /22と覚える?
A. 255=8ビット、255=8ビット、252は11111100(6ビット)なので合計8+8+6 = 22ビットで /22です。252の1の数は6。
A. 255=8ビット、255=8ビット、252は11111100(6ビット)なので合計8+8+6 = 22ビットで /22です。252の1の数は6。
Q. IPの第三オクテットがちょうどブロックの開始(例120)のときは?
A. その場合ネットワークアドレス自体(例172.30.120.0)を指します。ホスト部が全て0なのでネットワークアドレスです。
A. その場合ネットワークアドレス自体(例172.30.120.0)を指します。ホスト部が全て0なのでネットワークアドレスです。
Q. 刻み幅を素早く見つけるコツは?
A. マスクの当該オクテットを見て、256−その値がブロックサイズ。例えば252→4、240→16、248→8。
A. マスクの当該オクテットを見て、256−その値がブロックサイズ。例えば252→4、240→16、248→8。
関連キーワード: サブネットマスク、CIDR、/22、ネットワークアドレス、ブロードキャスト、ホスト数

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

