応用情報技術者 2021年 春期 午前2 問34
問題文
IPv4ネットワークで使用される IPアドレスaとサブネットマスク m からホストアドレスを求める式はどれか。ここで、“〜” はビット反転の演算子、“|“ はビットごとの論理和の演算子、“&” はビットごとの論理積の演算子を表し、ビット反転の演算子の優先順位は論理和、論理積の演算子よりも高いものとする。
選択肢
ア:〜a & m
イ:〜a | m
ウ:a & 〜m(正解)
エ:a | 〜m
IPv4ネットワークのホストアドレス算出式【午前2 解説】
要点まとめ
- 結論:ホストアドレスは「a & 〜m」で求められます。
- 根拠:ネットワーク部を示すサブネットマスクmのビット反転(〜m)を使い、IPアドレスaとの論理積でホスト部を抽出するためです。
- 差がつくポイント:ビット演算の優先順位とサブネットマスクの役割を正確に理解し、反転演算の対象と論理積・論理和の使い分けを間違えないことが重要です。
正解の理由
IPアドレスはネットワーク部とホスト部に分かれています。サブネットマスクmはネットワーク部を1、ホスト部を0で表します。ホストアドレスはIPアドレスのホスト部の部分を抽出するため、サブネットマスクをビット反転(〜m)し、IPアドレスaと論理積(&)を取ることでホスト部のビットだけを取り出せます。
したがって、正しい式は「a & 〜m」であり、選択肢の中ではウが正解です。
したがって、正しい式は「a & 〜m」であり、選択肢の中ではウが正解です。
よくある誤解
サブネットマスクのビット反転をIPアドレスに適用するのではなく、サブネットマスク自体を反転する点を誤解しやすいです。
また、論理和(|)を使うとホスト部以外のビットも変わってしまうため誤りです。
また、論理和(|)を使うとホスト部以外のビットも変わってしまうため誤りです。
解法ステップ
- サブネットマスクmの役割を理解する(ネットワーク部1、ホスト部0)。
- ホストアドレスはホスト部のビットを抽出することを確認する。
- サブネットマスクmをビット反転(〜m)し、ホスト部を1に変える。
- IPアドレスaと反転したサブネットマスク(〜m)を論理積(&)で計算する。
- 得られた結果がホストアドレスとなる。
選択肢別の誤答解説
- ア: 〜a & m
IPアドレスを反転してからネットワーク部を抽出するため、正しいホストアドレスが得られません。 - イ: 〜a | m
IPアドレスを反転し、ネットワーク部と論理和を取るため、ホスト部の抽出には不適切です。 - ウ: a & 〜m
正解。IPアドレスのホスト部を正しく抽出できます。 - エ: a | 〜m
論理和を使うとホスト部以外のビットも変わるため誤りです。
補足コラム
IPv4アドレスは32ビットで構成され、サブネットマスクはネットワーク部を示すビット列です。ホストアドレスはネットワーク内の個々の端末を識別するため、サブネットマスクの反転を使って抽出します。ビット演算の理解はネットワーク設計やトラブルシューティングに不可欠です。
FAQ
Q: なぜサブネットマスクを反転するのですか?
A: サブネットマスクはネットワーク部を1、ホスト部を0で表すため、反転するとホスト部が1になり、ホストアドレスを抽出しやすくなります。
A: サブネットマスクはネットワーク部を1、ホスト部を0で表すため、反転するとホスト部が1になり、ホストアドレスを抽出しやすくなります。
Q: 論理和(|)ではなく論理積(&)を使う理由は?
A: 論理積は両方のビットが1のときだけ1になるため、特定のビットだけを抽出するのに適しています。論理和はビットを追加する操作なので抽出には不向きです。
A: 論理積は両方のビットが1のときだけ1になるため、特定のビットだけを抽出するのに適しています。論理和はビットを追加する操作なので抽出には不向きです。
関連キーワード: IPv4, サブネットマスク、ホストアドレス、ビット演算、ネットワーク設計

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

