IPv6の IP アドレスの長さは何ビットか。
平成24年度 春期 ITパスポート試験 問51
この問題の解説と、これまでの解答の記録です。
問 51
不正解ア
32 ビットは IPv6 ではなく IPv4 のアドレス長である。IPv4 は 8 ビットずつ 4 つに区切り、各部を 0 〜 255 の 10 進数にしてピリオドで連結する (例: 192.168.0.1) 。8 × 4 = 32 ビットで、表現できるアドレスは約 43 億個にとどまり、この枯渇が IPv6 を生んだ理由そのものなので、IPv6 の答えとしては誤り。
不正解イ
64 ビットは IPv6 アドレス全体の長さではない。ただし IPv6 アドレスは通常、前半 64 ビットのネットワークプレフィックス (サブネットまでを識別する部分) と後半 64 ビットのインタフェース ID (機器を識別する部分) に分けて使われるため、64 はその「半分」に相当する数値であり、混同しやすい引っ掛けとなっている。全体はその 2 倍の 128 ビットである。
- ウ
正解 正解はウ「128」。IPv6 (Internet Protocol version 6) の IP アドレスは 128 ビット長である。従来の IPv4 のアドレス長は 32 ビットで、表現できるアドレスは 2 の 32 乗 = 約 43 億個しかなく、インターネット利用者や接続機器の急増によってアドレスが足りなくなる「IPv4 アドレス枯渇問題」が現実のものとなった。そこで後継規格の IPv6 では、アドレス長を IPv4 の 4 倍にあたる 128 ビットに拡張し、2 の 128 乗 = 約 340 澗 (3.4 × 10 の 38 乗) 個という事実上枯渇の心配がないアドレス空間を確保した。ビット長が 4 倍になるとアドレス個数は 4 倍ではなく 2 の 96 乗倍になる点に注意したい。表記方法も変わり、IPv4 が 8 ビットずつ 4 つに区切って 10 進数とピリオドで書く (例: 192.168.0.1) のに対し、IPv6 は 16 ビットずつ 8 つに区切って 16 進数とコロンで書く (例: 2001:0db8:85a3:0000:0000:8a2e:0370:7334) 。この 16 進 4 桁 × 8 ブロック = 16 × 8 = 128 ビットという構成からも、アドレス長が 128 ビットであることを確認できる。
不正解エ
256 ビットのアドレスを使うインターネットプロトコルは存在しない。128 をさらに倍にした数値というだけで、IPv4 (32 ビット) にも IPv6 (128 ビット) にも該当しない。なお 256 は 8 ビットで表せる値の個数 (2 の 8 乗) であり、IPv4 の各オクテットが 0 〜 255 の 256 通りを取ることと結び付けて誤選択しやすいので注意する。
- アドレス長の暗記 — IPv4 は 32 ビット (10 進ドット表記、約 43 億アドレス) 、IPv6 は 128 ビット (16 進コロン表記、約 340 澗アドレス) 。IPv4 アドレス枯渇への対策として IPv6 が策定されたという背景とセットで覚える。
- ビット長とアドレス個数の関係 — n ビットで表せるアドレスは 2 の n 乗個。ビット長が 32 から 128 へ 4 倍になると、個数は 4 倍ではなく 2 の 96 乗倍に爆発的に増える。IPv6 の 16 進 4 桁 × 8 ブロック = 128 ビットという表記構造も併せて理解しておくと確実。