応用情報技術者 2022年 秋期 午前2 問33
問題文
IPv4のネットワークアドレスが192.168.16.40/29のとき、適切なものはどれか。
選択肢
ア:192.168.16.48は同一サブネットワーク内のIPアドレスである。
イ:サブネットマスクは、255.255.255.240である。
ウ:使用可能なホストアドレスは最大6個である。(正解)
エ:ホスト部は29ビットである。
🔒 解説は解答すると表示されます
/29サブネット範囲【午前2解説】
正解の理由
与えられたプレフィックス /29 はホスト部が 3 ビット(32 − 29 = 3)で、アドレスは 8 個のブロック(ブロックサイズ = )で区切られます。192.168.16.40 は 8 アドレス境界(0,8,16,24,32,40,48,...)に含まれるため、ネットワークは 192.168.16.40/29(範囲 192.168.16.40〜192.168.16.47)です。ネットワークアドレス(.40)とブロードキャストアドレス(.47)を除く使用可能なホストは .41〜.46 の 6 個であり、したがって選択肢 ウ(使用可能なホストアドレスは最大6個である)が正しいです。
解法ステップ
- プレフィックスからホストビット数を求める:。
- ブロックサイズを求める:。つまり /29 は 8 アドレス単位で区切られる。
- ネットワークアドレスを求める:与えられたアドレスの最下位オクテット 40 をブロックサイズ 8 の倍数に切り下げる → floor(40/8)×8 = 40。よってネットワークは 192.168.16.40/29。
- ブロードキャストはネットワーク + (ブロックサイズ − 1) = 40 + 7 = 47 → 192.168.16.47。
- 使用可能ホストはネットワーク +1 からブロードキャスト −1 → 192.168.16.41〜192.168.16.46(6 個)。
- サブネットマスクは /29 → 255.255.255.248(最後のオクテット 11111000 → 248)。
選択肢別の誤答解説
-
ア: 「192.168.16.48は同一サブネットワーク内のIPアドレスである。」
誤り。/29 のブロックは 40–47 と 48–55 のように 8 アドレスごとに区切られるため、.48 は次のブロック(192.168.16.48/29)のネットワークアドレスであり、.40/29 の範囲には含まれません。 -
イ: 「サブネットマスクは、255.255.255.240である。」
誤り。255.255.255.240 は /28(ブロックサイズ 16)に対応します。/29 のサブネットマスクは 255.255.255.248 です。 -
ウ: 「使用可能なホストアドレスは最大6個である。」
正しい。ホストビット 3 ビットで (ネットワーク、ブロードキャストを除外)だからです。したがって選択肢 ウ が正解です。 -
エ: 「ホスト部は29ビットである。」
誤り。/29 はネットワーク部が29ビットであり、ホスト部は ビットです。表現を逆にしている点が間違いです。
よくある誤解
- /29 を「32 アドレス単位」や「16 アドレス単位」と誤認する。/29 は 8 アドレス単位で区切られる(ブロックサイズ = 8)。
- プレフィックス長(/29)を「ホスト部」と混同して「ホスト部が29ビット」と表記するミス。
- 使用可能ホスト数でネットワークとブロードキャストを除外することを忘れ、 をそのまま答えてしまう(=8と誤答)。
補足コラム
- /29 は小規模LANや機器群(例:ルータやスイッチ、少数台のサーバ)向けに多く使われ、実用的には最大6台のホストを割り当てられます。
- 例外として、/31(ホストビット 1)は RFC 3021 によりポイントツーポイント接続で 2 アドレスとも有効に使える場合があります。また /32 は単一ホストのアドレス指定に使います。
- ネットワークアドレス計算の速習法:最後のオクテットだけを見る(/24以上の場合)。ブロックサイズ = 256 − マスクの最下位オクテット値(例:248 → 256−248=8)。
FAQ
Q1: ホスト数の公式は?
A1: ホストビットを n とすると通常のホスト数は (ネットワーク+ブロードキャストを除く)。ただし /31 や /32 は例外規定あり。
A1: ホストビットを n とすると通常のホスト数は (ネットワーク+ブロードキャストを除く)。ただし /31 や /32 は例外規定あり。
Q2: 手早くネットワークとブロードキャストを求める方法は?
A2: ブロックサイズ(例:8)を求め、最下位オクテットをその倍数に切り下げてネットワーク、切り上げて(あるいは + (ブロック-1))ブロードキャストを得る。計算例は次の Python スニペット参照。
A2: ブロックサイズ(例:8)を求め、最下位オクテットをその倍数に切り下げてネットワーク、切り上げて(あるいは + (ブロック-1))ブロードキャストを得る。計算例は次の Python スニペット参照。
import ipaddress
net = ipaddress.ip_network("192.168.16.40/29", strict=False)
print("network:", net.network_address)
print("broadcast:", net.broadcast_address)
print("usable:", list(net.hosts()))
Q3: /29 と /28 の違いを一言で教えてください。
A3: /29 は 8 アドレスブロック(使用可能ホスト 6)、/28 は 16 アドレスブロック(使用可能ホスト 14)です。サブネットマスクはそれぞれ 255.255.255.248 と 255.255.255.240。
A3: /29 は 8 アドレスブロック(使用可能ホスト 6)、/28 は 16 アドレスブロック(使用可能ホスト 14)です。サブネットマスクはそれぞれ 255.255.255.248 と 255.255.255.240。
関連キーワード: CIDR、サブネットマスク、ブロックサイズ、ネットワークアドレス、ブロードキャストアドレス、ホスト数

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

