基礎科目・ネットワーク・セキュリティ
IPアドレスの数と表記
3問H23・H28・R4
IPv4(32ビット)とIPv6(128ビット)で表せるアドレスの数の比と、2進数で書かれたIPv4アドレスの10進表記が出ます。
よく出る形
- IPv6(128ビット)と IPv4(32ビット)で表せるアドレスの数が,何倍違うかを選ぶ
- 32ビットの2進数で書かれた IPv4 アドレスを,ドット付きの10進表記に直す
- 同じ問いがほぼ同じ形で繰り返される。ビット数から数を出す力と,2進数から10進数への変換が土台になる
覚えること
- IPv4 アドレスは 32 ビット:8 ビットずつ4つに分け,それぞれを10進数(0〜255)にして,ピリオドでつなぐ
- IPv6 アドレスは 128 ビット:16 ビットずつ8つに分け,それぞれを16進数にして,コロンでつなぐ
- MACアドレスは 48 ビット:8 ビットごとに6つに分け,それぞれを2桁の16進数で書く
- n ビットで表せる組合せは 2n 通り。ビットが1つ増えるごとに2倍になる
- IPv4 は 232 個(約43億個),IPv6 は 2128 個
- 指数の割り算は肩の数を引く:2a ÷ 2b = 2a−b
- 210 ≒ 1,000(千),220 ≒ 100万,230 ≒ 10億,232 ≒ 43億
- 8ビットの重みは左から 128,64,32,16,8,4,2,1
- 16進数は4ビットで1桁(0〜9,A〜F)。重みは左から 8,4,2,1 で,10〜15 が A〜F
解き方
- 何倍かの問題は,ビット数からアドレスの数を出して割り算する。答えは肩の数の差になる
- 例:2128 ÷ 232 = 296 なので,IPv6 は IPv4 の 296 倍
- 必要な個数から求める時は,ビットを1つずつ増やして 2n が目標以上になる最初の n を探す。210 ≒ 1,000 で見積もる
- 10進表記の問題は,32ビットを左から8ビットずつ4つに区切る
- 区切った8ビットは,1が立っている桁の重みを足して10進数にする
- 例:11000000 は 128 + 64 = 192,10101000 は 128 + 32 + 8 = 168
- 16進表記は4ビットずつに区切って1桁にする。16進の2桁がそのまま10進表記の1区切りに当たるので,確かめに使える
ひっかけ
- ビット数の比(128÷32 = 4)をそのまま肩に乗せて 24 倍としない。ビット数の差を肩に乗せる
- 1区切りのビット数(8や16)や,一方のアドレス数そのものを答えにした選択肢がまぎれる
- 何進数で書くか,何で区切るかは,アドレスの数とは関係ない
- 8ビットを右から読まない。左の桁が 128 の重み
- 16進で4ビットの組の順を入れ替えない(AC を CA にしない)
このテーマの過去問(このサイトに解説がある 1問)
- 令和4年度IPv6とIPv4のアドレス数基礎科目 I-2-6解説を読む
平成に出た同じテーマ(2問)
このサイトにはまだ解説がありません。年度と題だけです。
- 平成28年度IPv6とIPv4のアドレス数
- 平成23年度IPv4アドレスの10進表記