問題

(出典:日本技術士会のホームページ 過去問題(第一次試験) 基礎科目 令和4年度)
コーチング対話解答
ツトムさんこの問題も平成28年のI-2-6とほぼ同じ問題ですね。



良く調べていますね。
IPv4とIPv6で表現できるアドレス数を比較する問題ですね。
この問題では、表示形式に惑わされずに、
アドレス全体が何ビットで構成されているか
に注目することが重要です。



ビットとかアドレスという言葉はよく聞きますが、その実態はあまりなじみがないんですよね。



まず、1ビットでは何通りの状態を表すことができますか?





0と1の2通りです。



では、2ビットならどうですか?



00、01、10、11の4通りです。



そうですね。
それらを指数を使って表すとどうなりますか?



1ビットは\(2^1=2\)
で
2ビットでは\(2^2=4\)
となります。



それでは\(n\)ビットなら何通りの状態を表すことができますか?



各ビットが2通りなので、\(2^n\)通りですね。



その通りです。
ではIPv4で表現できるアドレス数はいくつになりますか?



表現できるアドレス数というのは、何通りの状態を表すことができるかということと同じですね。
すると、\(2^{32}\)通りです。





そうです。
IPv4では、例えば
125.154.1.1
のように、8ビットずつ4つのフィールドに区切って、
それぞれを10進数で表記します。
ただし、この区切り方は人が読みやすくするための表示表であって、アドレス数は全体の32ビットから決まります。



そうなんですね。
8ビットとか4フィールドという言葉に惑わされないようにしないといけないのですね。



では、IPv6で表現できるアドレス数はいくつですか?



\(2^{128}\)です。



その通りです。
IPv6では16ビットずつ8つのフィールドに区切り、16進法で表します。
例えば、
2026 : 01da : 0092 : 0000 : 0000 : 0000 : 0000 : 01a9
のような表記になります。



ものすごく機械的ですね。



ここでも重要なのは、16進数表記そのものではなく、全体が128ビットであるということです。



この問題で問われているのは、IPv4の\(2^{32}\)とIPv6の\(2^{128}\)を比較するということですね。



その通りです。
どのような計算をすればいいでしょう?



IPv6のアドレス数をIPv4のアドレス数で割ります。
つまり、
\[
\frac{2^{128}}{2^{32}}
\]
を計算します。
\[
\frac{2^{128}}{2^{32}}=2^{128-32}=2^{96}
\]
となります。
答えは④ ですね。



正解です。
IPv4は32ビットなので、理論上のアドレス数は\(2^{32}\)、およそ43億通りになります。
一方、IPv6は128ビットなので\(2^{128}\)で約340澗(かん)という普段は使わないような桁で表すほどの大きな数になります。



当初は43億通りもあれば十分だと思っていたのが、
今の情報化時代では全然足りないのでしょうね。



そうですね。
またIPv6ではアドレス数を増加させただけでなく、
通信方式やセキュリティ構造にも違いがあり、
高速で安全な通信ができるようになっているのですよ。

