応用情報技術者 2014年 春期 午前2 問33
問題文
IPv4アドレス172.22.29.44/20のホストが存在するネットワークのブロードキャストアドレスはどれか。
選択肢
ア:172.22.29.255
イ:172.22.30.255
ウ:172.22.31.255(正解)
エ:172.22.32.255
🔒 解説は解答すると表示されます
サブネットとブロードキャストアドレス【午前2解説】
正解の理由
IPv4アドレス 172.22.29.44/20 はサブネットマスクが 255.255.240.0(/20)です。/20 のときホスト部は 12 ビットなので、1 サブネットあたりのアドレス数は です。サブネットは第3オクテットで 16 刻み(256 − 240 = 16)に区切られ、第3オクテットが 16 の倍数を開始アドレスとします。172.22.29.44 の第3オクテット 29 は 16〜31 のブロックに含まれるためネットワークアドレスは 172.22.16.0、ブロードキャストアドレスはそのブロックの最後のアドレスである 172.22.31.255 になります。したがって正しい選択肢は ウ です。
解法ステップ
- CIDR 表記 /20 をサブネットマスクに直す:255.255.240.0
- 第3オクテットのブロック幅を求める:256 − 240 = 16(第3オクテットは16刻み)
- 与えられた IP の第3オクテット(29)が属するブロックを見つける:16〜31
- ネットワークアドレスは 172.22.16.0、ブロードキャストはそのブロックの最終アドレス:172.22.31.255
- 選択肢と照合して ウ を選ぶ
(別解)ビット演算で求める方法:ネットワークアドレス = IP & マスク、ブロードキャスト = ネットワークアドレス | (~マスク)。
選択肢別の誤答解説
-
ア: 172.22.29.255
第4オクテットが 255 でも、このアドレスは同一サブネット内のホストに割り当て得るアドレス(上位ではない)で、ブロードキャスト(サブネット内の最終アドレス)ではありません。 -
イ: 172.22.30.255
第3オクテット 30 も同じブロック(16〜31)内のアドレスです。最終アドレスは第3オクテット 31 の 255 なので、30.255 は中間のホストアドレスです。 -
ウ: 172.22.31.255
第3オクテットがブロックの最後(16〜31 の 31)かつ第4オクテットが 255 で、当該サブネットのブロードキャストアドレスになります。正解です。 -
エ: 172.22.32.255
第3オクテット 32 は次のブロック(32〜47)の開始アドレスに属します。したがって別のサブネットに属するアドレスで、この問題のブロードキャストではありません。
よくある誤解
- 「/20 は 16 アドレス単位で区切られる」と読み違える誤り:正しくは「第3オクテットが 16 刻みで区切られ、1 サブネットは 4096(=16×256)アドレス単位」です。単に「16アドレス」ではなく「第3オクテットの増分が16」であることを意識してください。
- 第4オクテットが 255 だから即ブロードキャストとする誤り:/20 のようにマスクが第3オクテットまでかかる場合、第3オクテットの値も考慮しないと正しい最終アドレスになりません(例:29.255 や 30.255 はブロードキャストではありません)。
補足コラム
一般化すると、CIDR の計算方法は次のとおりです。サブネットマスクの各オクテットを見て、最初に 255 でないオクテットを見つける。そこがブロック幅を定めるオクテットで、ブロック幅は 256 − そのオクテットの値。ネットワークの開始オクテットは IP の該当オクテットをそのブロック幅で切り捨てた値(例:floor(29/16)*16 = 16)。ブロードキャストは開始オクテット +(ブロック幅 − 1)のオクテット、かつ最終オクテットは 255。
簡単な Python 例(実務での検算用):
import ipaddress
net = ipaddress.IPv4Interface("172.22.29.44/20").network
print("network:", net.network_address)
print("broadcast:", net.broadcast_address)
FAQ
Q. /20 のサブネットは何アドレスありますか?
A. ホスト部は 32 − 20 = 12 ビットなので、 アドレス(ネットワークアドレスとブロードキャストを含む)です。
A. ホスト部は 32 − 20 = 12 ビットなので、 アドレス(ネットワークアドレスとブロードキャストを含む)です。
Q. 第3オクテットが変わると必ずブロードキャストになるのですか?
A. いいえ。ブロードキャストはそのサブネットの最終アドレスであり、マスクによって第3オクテットが関係するかどうかが決まります。/20 の場合は第3オクテットが関係しますが、/24 なら第3オクテットは固定で第4オクテットのみが可変です。
A. いいえ。ブロードキャストはそのサブネットの最終アドレスであり、マスクによって第3オクテットが関係するかどうかが決まります。/20 の場合は第3オクテットが関係しますが、/24 なら第3オクテットは固定で第4オクテットのみが可変です。
Q. 手早く求めるコツは?
A. マスクを見て「最初に 255 でないオクテット」を見つけ、ブロック幅を求め(256 − 値)、対象オクテットをその幅で切り捨てる。切り捨て値+(幅−1).255 がブロードキャストです。
A. マスクを見て「最初に 255 でないオクテット」を見つけ、ブロック幅を求め(256 − 値)、対象オクテットをその幅で切り捨てる。切り捨て値+(幅−1).255 がブロードキャストです。
関連キーワード: CIDR, サブネットマスク, ブロードキャストアドレス, ネットワークアドレス, 255.255.240.0, ビット演算, アドレス計算

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

