応用情報技術者 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、ネットワークアドレス、ブロードキャスト、ホスト数

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

