
出典:公益社団法人 日本技術士会「技術士第一次試験 過去問題」
8ビット4フィールドで32ビットのIPv4アドレスと、16ビット8フィールドで128ビットのIPv6アドレスの表現できるアドレス数の比を求める問題。
IPv6アドレスで表現できるアドレス数が、IPv4アドレスで表現できるアドレス数の何倍かを求める問題。
① nビットで表せる数は2ⁿ通り。2ᵃ÷2ᵇ=2^(a−b)
② IPv4は8×4=32ビット、IPv6は16×8=128ビット → 2¹²⁸÷2³²=2⁹⁶
③ 2⁹⁶倍(⑤)
IPv4アドレスは8ビット×4フィールド=32ビットで、表現できるアドレス数は2³²個。IPv6アドレスは16ビット×8フィールド=128ビットで、表現できるアドレス数は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乗通りです。IPv4は8ビット×4=32ビット、IPv6は16ビット×8=128ビットです。
■ 累乗の割り算
同じ数の累乗どうしの割り算は、指数(右上の数)の引き算になります。2の128乗÷2の32乗=2の(128−32)乗=2の96乗です。
nビットで表現できる数は2ⁿ個である。IPv4は32ビット(約43億個)、IPv6は128ビット(約3.4×10³⁸個)であり、その比は、ビット数の差(96)を指数とする2⁹⁶倍である。
キーワード: IPv4、IPv6、アドレス空間、ビット数、情報・論理