令和4年度 I-2-6

科目: 基礎科目 / 分野: 情報・論理 / 年度: 令和4年度

I-2-6 問題画像

出典:公益社団法人 日本技術士会「技術士第一次試験 過去問題」

IPv4アドレス(32ビット)とIPv6アドレス(128ビット)それぞれが表現できるアドレス数の比を求める問題。ビット数と表現可能な組合せ数(2のべき乗)の関係の理解が必要。

解説

この問題で問われていること

32ビットのIPv4アドレスと128ビットのIPv6アドレスについて、IPv6アドレスで表現できるアドレス数がIPv4アドレスで表現できるアドレス数の何倍になるかを求める問題。

解き方

① nビットで表せる数は2ⁿ通り。2ᵃ÷2ᵇ=2^(a−b)
② IPv4は8×4=32ビット、IPv6は16×8=128ビット → 2¹²⁸÷2³²=2⁹⁶
③ 2⁹⁶倍(④)

正解が正しい理由

nビットで表現できる組合せの総数は2ⁿ通りである。IPv4アドレスは32ビットなので2³²通り、IPv6アドレスは128ビットなので2¹²⁸通りのアドレスを表現できる。したがってIPv6アドレスの表現数はIPv4アドレスの表現数の2¹²⁸÷2³²=2¹²⁸⁻³²=2⁹⁶倍となる。したがって④が正しい。

この問題で必要な基礎

■ nビットで表せる数が2のn乗通りになる理由
1ビットは0か1の2通りです。2ビットなら2×2=4通り(00, 01, 10, 11)、3ビットなら2×2×2=8通りのように、ビットが1つ増えるごとに2倍になるので、nビットでは2のn乗通りです。

■ 累乗の割り算
同じ数の累乗どうしの割り算は、指数(右上の数)の引き算になります。2の128乗÷2の32乗=2の(128−32)乗=2の96乗です。

各選択肢について

覚えるべきポイント

nビットで表現できる組合せの総数は2ⁿ通りであり、ビット数が異なる2つのアドレス体系の表現数の比を求める場合は、指数の差(ビット数の差)を計算して2の何乗倍かを求めればよい(2ᵃ/2ᵇ=2ᵃ⁻ᵇ)。

キーワード: IPv4、IPv6、アドレス数、情報・論理

出題履歴

類題(同じ論点の別問題)