基本情報技術者 2017年 秋期 午前(科目A) 問35
問題文
次のIPアドレスとサブネットマスクをもつPCがある。このPCのネットワークアドレスとして、適切なものはどれか。
IPアドレス:10.170.70.19
サブネットマスク:255.255.255.240
選択肢
ア:10.170.70.0
イ:10.170.70.16(正解)
ウ:10.170.70.31
エ:10.170.70.255
IPアドレスとサブネットマスクからネットワークアドレスを求める【午前2 解説】
要点まとめ
- 結論:サブネットマスク255.255.255.240(/28)ではブロック幅が16となり、10.170.70.19のネットワークアドレスは10.170.70.16です。
- 根拠:ネットワークアドレスはIPとマスクのビットANDで求め、 と のANDが (16)になるためです。
- 差がつくポイント:/28のサブネットは1サブネットあたり14ホスト、ブロードキャストは.31、ホスト範囲は.17〜.30である点を確実に押さえてください。
正解の理由
IPアドレスとサブネットマスクをビットごとにAND演算するとネットワークアドレスが得られます。
- IP(最後のオクテット):
- マスク(最後のオクテット):
AND演算:()なので、ネットワークアドレスは 10.170.70.16 です。
したがって正解は イ です。
よくある誤解
- マスクを255.255.255.0(/24)と誤認してしまい、.0をネットワークアドレスとする誤り。問題のマスクは/28です。
- ブロードキャストとネットワークを混同して.31(ブロードキャスト)をネットワークにしてしまうミス。ブロードキャストは範囲の最後です。
- 「単に最後のオクテットを見るだけ」になり、ブロック幅(256 - マスク最後の値)を考慮しない計算ミス。
解法ステップ
- サブネットマスクを確認し、プレフィックス長を求める:255.255.255.240 → /28。
- 最後のオクテットのブロック幅を求める:256 − 240 = 16(サブネットごとのサイズ)。
- IPの最後のオクテット19がどのブロックに入るか判定:0,16,32,... のうち 16〜31 のブロック。
- そのブロックの先頭値がネットワークアドレス:10.170.70.16。必要ならビットANDで確認する。
選択肢別の誤答解説
- ア: 10.170.70.0 — /28での0〜15のブロックのネットワークアドレス。IP .19 はこの範囲外で誤り。
- イ: 10.170.70.16 — 正解。ブロック16〜31の先頭がネットワークアドレスであり、ビットANDでも確認可。
- ウ: 10.170.70.31 — そのサブネットのブロードキャストアドレス(ネットワークの最後)であってネットワークアドレスではない。
- エ: 10.170.70.255 — 全体のクラスフルな最後のアドレスであり、このサブネットの計算とは無関係。
補足コラム
- このサブネット (/28) のホスト利用情報:ホスト数は2^4 − 2 = 14。使用可能ホスト範囲は 10.170.70.17 〜 10.170.70.30、ブロードキャストは 10.170.70.31。
- ビットANDの一般式:ネットワークアドレス = IP アドレス AND サブネットマスク。
- 簡単な確認用Python例:
import ipaddress
ip = ipaddress.IPv4Interface("10.170.70.19/255.255.255.240")
print("network:", ip.network.network_address)
print("netmask:", ip.network.netmask)
print("broadcast:", ip.network.broadcast_address)
print("usable hosts:", list(ip.network.hosts())[0], "...", list(ip.network.hosts())[-1])
FAQ
Q. 255.255.255.240 は何ビットのマスクですか?
A. /28(先頭から1が28ビット)です。
A. /28(先頭から1が28ビット)です。
Q. ブロック幅16はどうやって求めますか?
A. 最後のオクテットの値である240を256から引き、256 − 240 = 16 と計算します。
A. 最後のオクテットの値である240を256から引き、256 − 240 = 16 と計算します。
Q. ネットワークアドレスを求める最も確実な方法は?
A. IPとマスクをビット単位でAND演算する方法が確実で、サブネット境界を見落としません。
A. IPとマスクをビット単位でAND演算する方法が確実で、サブネット境界を見落としません。
関連キーワード: サブネット、サブネットマスク、ネットワークアドレス、ブロードキャストアドレス、CIDR、ビット演算、IPアドレッシング、ホスト数計算、サブネット分割、ネットワーク設計

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

