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

応用情報技術者 2023年 秋期 午前234


問題文

サブネットマスクが 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 情報処理技術者試験対策アプリ

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