情報処理安全確保支援士 2021年 秋期 午前2 問20
問題文
クラスBのIPアドレスで、サブネットマスクが16進数のFFFFFF80である場合、利用可能なホスト数は最大幾つか。
選択肢
ア:126(正解)
イ:127
ウ:254
エ:255
🔒 解説は解答すると表示されます
サブネットのホスト数計算【午前2解説】
正解の理由
サブネットマスクが16進数で
FFFFFF80 は 255.255.255.128、すなわちプレフィックス長が /25 です。32ビット中のホスト部は ビットなので、利用可能なホスト数は一般にネットワークアドレスとブロードキャストアドレスを除いた数で求めます。よって利用可能なホスト数は となり、選択肢の ア が正しい答えです。解法ステップ
- 16進表記を4バイトに分けて 8 桁ごとに確認:
FF FF FF 80 - 各バイトを10進に変換して点数表記に:
255.255.255.128 - 1 ビットの数を数える:
11111111.11111111.11111111.10000000→ 25 ビット(/25) - ホスト部のビット数を求める:
- 利用可能ホスト数を計算:
選択肢別の誤答解説
- ア: 126 — 正答。上記の通り /25(ホスト7ビット)で を適用すると 126 になるため正しい。
- イ: 127 — 誤答。127 は に相当します。これは総アドレス数 128 から「1つだけ」除いた場合に得られる値で、通常のIPv4サブネットでホスト数を求めるときの正しい処理(ネットワークアドレスとブロードキャストアドレスの両方を除外する=2つ除く)とは異なります。したがって通常の計算では 127 になりません(なお、単に「-2 を忘れる」とすると になり、127 とは一致しません)。
- ウ: 254 — 誤答。254 は /24(ホスト8ビット)で となる場合の値です。今回のマスクは /25 なので該当しません。
- エ: 255 — 誤答。255 は に相当する値で、上記と同様にホスト部が8ビットで片方しか除外しないときに現れる数です。通常のサブネット計算では不適合です。
よくある誤解
- 「16進表記を直接ビット長と結びつける」
16進表記は一旦点数表記(または2進)に変換してからプレフィックス長を数える必要があります。直感だけで桁を誤認しやすいです。 - 「クラス(A/B/C)でそのままホスト数を決める」
問題にクラスBとあると混乱しますが、実際のホスト数計算は与えられたサブネットマスクのプレフィックス長(/25 など)で決まります。クラスは初期の区分で、現代はCIDRで考えます。 - 「-2 を忘れる」「-1 しか引かない」ミス
ネットワークとブロードキャストの2アドレスを除くのが原則です。特殊な用途(/31 のポイントツーポイントなど)を除き、一般的なサブネットでは必ず2つ除外します。
補足コラム
- FFFFFF80 の各表記:
- 16進: FFFFFF80
- 10進(点数): 255.255.255.128
- 2進: 11111111.11111111.11111111.10000000
- プレフィックス長: /25
- 特殊例:/31(ホストビット1)ではRFC3021によりポイントツーポイント回線でネットワーク・ブロードキャストの概念を使わず2アドレス全てを利用する運用が認められる場合があります。また /32 は単一アドレス向けです。だが一般的なホスト数問題でのルールは です。
FAQ
Q: 「なぜクラスBと書かれているのに /25 のマスクが使えるのですか?」
A: クラス表記は歴史的な分け方です。実務ではCIDRに基づき任意の長さのサブネットマスクを使えます。クラスBでも /25 のようにホスト部を分割してサブネット化できます。
A: クラス表記は歴史的な分け方です。実務ではCIDRに基づき任意の長さのサブネットマスクを使えます。クラスBでも /25 のようにホスト部を分割してサブネット化できます。
Q: 「-2 を引かないときはありますか?」
A: 一般的なサブネットでのホスト数算出では常にネットワークアドレスとブロードキャストアドレスの2つを除きます。例外として /31(ポイントツーポイント)や特殊な運用がある場合のみ異なります。
A: 一般的なサブネットでのホスト数算出では常にネットワークアドレスとブロードキャストアドレスの2つを除きます。例外として /31(ポイントツーポイント)や特殊な運用がある場合のみ異なります。
Q: 「16進からプレフィックス長を素早く出すコツは?」
A: 16進をバイトごと(2桁ずつ)に区切り、それぞれを2進に変換して1の数を数える方法が確実です。よく出る値(FF=8、FE=7、FC=6、F8=5、F0=4、E0=3など)を覚えておくと速くなります。
A: 16進をバイトごと(2桁ずつ)に区切り、それぞれを2進に変換して1の数を数える方法が確実です。よく出る値(FF=8、FE=7、FC=6、F8=5、F0=4、E0=3など)を覚えておくと速くなります。
関連キーワード: サブネットマスク、FFFF F F80、255.255.255.128、/25、ホスト数計算、ビット数、RFC3021、CIDR、ネットワークアドレス、ブロードキャストアドレス

\ せっかくなら /
情報処理安全確保支援士を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

