CCNA試験のIPv6問題、桁数が多くてパッと見で難しそうに感じる人、多いと思う。実はアドレス圧縮のルールとEUI-64の手順さえ頭に入れば、本番でも30秒くらいで解けるようになる。この記事では、私がCCNA 200-301を受験したときに実際に使ったIPv6アドレスの読み方・圧縮・EUI-64計算を、具体例とセットでまとめた。ちなみに、試験当日は電卓が使えないから、本当に暗算で解けるパターンを覚えるのが最短ルート。
IPv6アドレスの基本構造(16進数×8ブロック)
IPv6アドレスは128ビット。これを16ビットずつ8ブロックに区切って、各ブロックを16進数で表記する。たとえば2001:0db8:0000:0000:0000:0000:0000:0001という具合。
で、この時点で「長すぎる」と感じた人、安心してほしい。IPv6には正式な省略ルールがあって、それに従って書き換えれば体感1/3くらいの長さになる。RFC 5952でも推奨表記が決まっているので、CCNA試験もこのルールに沿って出題される。
アドレス圧縮ルール|「::」の使い方をマスターする
CCNA試験で一番よく問われるのが、この圧縮表記。覚えるルールは基本3つだけ。
- 各ブロックの先頭ゼロは省略できる(例:
0db8→db8) - 連続するゼロブロックは
::で1回だけ省略できる - 1つのアドレス内で
::は必ず1回のみ(2回以上は禁止)
実例で確認する。2001:0db8:0000:0000:0000:0000:0000:0001 を圧縮すると2001:db8::1。簡潔すぎて最初は怖いけど、正しい表記。
「::」は1回しか使えない罠
例えば2001:0:0:1:0:0:0:1というアドレス。::を2回使って2001::1::1と書きたくなるけど、これはNG。なぜなら::がどこを何ブロック分省略したか一意に決まらなくなるから。正しくは「長い方のゼロ連続」を優先して、2001:0:0:1::1と書く。ここ、意外と出題される。
ちなみに、私が受験したときに出た問題は、選択肢に2通りの書き方が並んでいて「どれが正しい圧縮表記か」という形式だった。RFC 5952では「最長の連続ゼロを省略する」「同じ長さなら最初のゼロ列を省略する」と決まっているので、これを基準に判断すると間違えない。
EUI-64を暗算で導き出す3ステップ
EUI-64はMACアドレス(48ビット)から64ビットのインターフェースIDを作る仕組み。CCNA試験では「このMACから生成されるEUI-64形式のインターフェースIDは?」という形で頻出。
手順は3つ。
- MACアドレスを前24ビット(OUI)と後24ビット(NIC固有部)に分割する
- 中央に
FFFE(16ビット)を挿入して64ビットに拡張する - 先頭オクテットの7ビット目(U/Lビット)を反転する
具体例で示す。MACアドレスが00:1A:2B:3C:4D:5Eの場合の変換手順はこんな感じ。
Step1 : 00:1A:2B | 3C:4D:5E Step2 : 00:1A:2B:FF:FE:3C:4D:5E Step3 : 先頭 00 → 02 (7ビット目反転) 結果 : 021A:2BFF:FE3C:4D5E
U/Lビット反転の覚え方
先頭オクテットの7ビット目を反転する、と言われてもイメージしづらい。実務的な覚え方としては「先頭16進1桁を見て、2進数の下2ビット目を反転する」だけ。
ぶっちゃけ試験で出るパターンは限られていて、00→02、02→00、04→06といった変換表を頭に入れておけば時間短縮になる。私は00↔02だけ覚えて、他は2進数に展開して解いた。
プレフィックス長と集約の考え方
CCNAではプレフィックス長の計算問題も出る。基本は「/64がサブネットの境界」「/48がサイトのプレフィックス」「/128がホストルート」くらいを覚えておけばいい。
| プレフィックス長 | 主な用途 | 補足 |
|---|---|---|
| /128 | ホスト固有アドレス | ループバック::1/128など |
| /127 | Point-to-Pointリンク | RFC 6164で推奨 |
| /64 | 通常のサブネット | SLAAC/EUI-64の前提 |
| /48 | サイトプレフィックス | 企業割当の標準サイズ |
| /32 | ISP向け | RIRから配布される |
で、集約問題は共通プレフィックスを2進数で見つけるのが基本。たとえば2001:db8:1::/48と2001:db8:2::/48を集約すると2001:db8::/46になる。001と010は先頭2ビットが共通だから/46まで集約できる、という計算。
CCNAで頻出のIPv6アドレス種別
試験では「このアドレスはユニキャスト?リンクローカル?マルチキャスト?」と識別させる問題が出る。プレフィックスの頭を見れば一瞬で判別できる。
- グローバルユニキャスト:
2000::/3(2または3で始まる) - リンクローカル:
FE80::/10(FE80~FEBF) - ユニークローカル:
FC00::/7(FC00~FDFF、IPv4のプライベートに相当) - マルチキャスト:
FF00::/8(FFで始まる) - 未指定アドレス:
::/128 - ループバック:
::1/128
個人的には、この6個だけ覚えておけばアドレス種別の問題は全部解ける。正直この判別は暗記ゲーなので、試験前日に詰め込むのがコスパ良い。
リンクローカルの現場での使い道
余談だけど、リンクローカルは現場でも普通に使う。OSPFv3のネイバーはリンクローカルアドレスで組まれるし、Ciscoルータでshow ipv6 interface briefを叩くと必ずFE80::で始まるアドレスが出てくる。試験のためだけでなく実務でも触るので、理屈を理解しておくと後が楽。
R1# show ipv6 interface brief
GigabitEthernet0/0 [up/up]
FE80::21A:2BFF:FE3C:4D5E
2001:DB8:1::1本番で使える練習問題
簡単な練習問題を2問。まずは自力で考えてみてほしい。
Q1. 以下のIPv6アドレスを最短形式で表記せよ
2001:0db8:0000:0000:0123:0000:0000:0001
Q2. MACアドレス「2C:54:91:88:C9:E3」から生成される
EUI-64形式のインターフェースIDを答えよ解答を書く。
A1. 2001:db8::123:0:0:1
(長い方のゼロ連続を::で省略する)
A2. 2E54:91FF:FE88:C9E3
Step1: 2C:54:91 | 88:C9:E3
Step2: 2C:54:91:FF:FE:88:C9:E3
Step3: 2C → 2E(7ビット目反転)ちなみに、Q1でつまずいた人は「長い方のゼロ連続を優先する」を確認してほしい。Q2は2C(2進数0010 1100)の7ビット目が0なので、反転して1になると0010 1110=2E、という計算。手を動かすと一発で覚えられる。
よくある質問
Q. IPv6のサブネットは必ず/64にしないといけない?
原則は/64。SLAACやEUI-64が64ビットのインターフェースIDを前提にしているため。ただし、Point-to-Pointリンクは/127、ループバックは/128など、例外もある。CCNA的には「SLAAC使う≒/64」と覚えておけばOK。
Q. EUI-64とSLAACの違いは?
EUI-64はインターフェースIDを「MACアドレスから機械的に作る方法」。SLAACは「RAを受信してアドレス全体を自動構成する仕組み」。EUI-64はSLAACの中で使われるインターフェースID生成手段の一つ、という関係。
Q. CCNAのIPv6問題、何問くらい出る?
私が受けたときは5〜6問くらい出た気がする。全問解けるようになる必要はないけど、アドレス圧縮・アドレス種別・EUI-64の3つは必ず押さえたい。この3つで半分は取れる。
まとめ
CCNAのIPv6は「圧縮ルール」「EUI-64」「アドレス種別」の3本柱を押さえれば十分得点できる。丸暗記ではなく手順で解くのがコツ。本番の時間節約には練習問題を何度か解いて、手を慣らしておくのがおすすめ。
次に読むなら、同じく計算問題のコツをまとめたサブネット計算を30秒で解く方法もあわせてどうぞ。



