戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

応用情報技術者 2023年 秋期 午前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解説】

正解の理由

IPアドレス172.30.123.45に対してサブネットマスク255.255.252.0を適用すると、ネットワーク部は第一・第二バイトがそのまま、第三バイトはマスクとのAND演算結果を用い、第四バイトはホスト部なので全て0にしてネットワークアドレスを求めます。具体的には第三バイトは123 AND 252 = 120となるため、ネットワークアドレスは172.30.120.0になります。したがって正しい選択肢は イ です。

解法ステップ

  1. サブネットマスクをオクテットごとに書く:255.255.252.0
    第三オクテット(252)の2進表記は11111100(8ビット表記)。
  2. IPアドレスの第三オクテット123を8ビットで表す:01111011
  3. 1〜2バイト目はそのまま使用、3バイト目はマスクとAND演算を行い、4バイト目は0にする。
    • 第三バイトのAND演算:01111011 (123) AND 11111100 (252) = 01111000 (120)
  4. 各オクテットを組み合わせてネットワークアドレスを得る:172.30.120.0
補足計算(ブロックサイズ):
  • 第三オクテットのブロック幅は 。よって第三オクテットは0,4,8,...,120,124,... のように4刻みの境界を持ち、123は120〜123のブロックに含まれる。

選択肢別の誤答解説

  • ア: 172.30.3.0
    第三オクテットが3になっており、/22ブロック(第三オクテットが4刻み)に合致しません。3はブロック境界(0,4,8,...)ではないため誤りです。
  • イ: 172.30.120.0
    正しい。上記の通り123 AND 252 = 120となり第四オクテットは0にするためネットワークアドレスは172.30.120.0です。
  • ウ: 172.30.123.0
    第三オクテットをそのまま使い、第四オクテットだけ0にした形です。マスクが第三オクテットにもネットワークビットを含むため、第三オクテットに対してもAND演算を行わなければならず誤りです。
  • エ: 172.30.252.0
    第三オクテットが252になっていますが、これはマスクの値を第三オクテットと誤認した結果か、別のネットワーク境界を想定したものです。実際のネットワークは120であり不適切です。

よくある誤解

  • マスクが255.255.252.0のとき第三オクテットはそのままネットワーク部ではないと誤解する。実際は第三オクテット上位6ビットがネットワーク部であり、必ずAND演算を行う必要があります。
  • AND演算の2進表記で先頭の0を省略してしまう(例:'1111000' と記載)。8ビット表記(01111000)のように先頭0も明示すると誤解を避けられます。
  • サブネットマスクの値(252など)を「IPとして無効」などと誤って言う。252はマスクのオクテット値として有効であり、単にビットマスクの意味を持ちます。

補足コラム

  • CIDR表記では255.255.252.0は /22に相当します。ネットワーク長は22ビット、ホストビット数は32−22=10ビットです。
    • ホスト数(理論値): (うち通常のユースではネットワークアドレスとブロードキャストアドレスを除くため使用可能ホストは となります)。
  • ブロードキャストアドレスの求め方:ネットワークアドレス172.30.120.0に対してホストビットをすべて1にすると172.30.123.255になります(第三オクテットは120〜123の範囲)。

FAQ

Q: なぜ第四オクテットを0にするのですか?
A: ネットワークアドレスはホスト部ビットを全て0にした値だからです。サブネットマスクで指定されるネットワークビット以外(ホストビット)を0にします。
Q: 123を120に変換する操作は一般化できますか?
A: はい。任意のオクテットに対しては「そのオクテットの値 AND マスクの対応オクテット値」を計算すればよいです。/22の場合は第三オクテットを252(11111100)とANDします。
Q: ブロック幅がわかると何が便利ですか?
A: ブロック幅(ここでは )がわかれば、ネットワーク境界(第三オクテットが0,4,8,...)やその範囲(例: 120〜123)を直感的に把握できます。

関連キーワード: サブネットマスク、ビット演算、CIDR、ブロックサイズ、ネットワークアドレス
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

応用情報技術者を
クイズ形式で学習しませんか?

クイズ画面へ遷移する→

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について