IPv6の基礎知識
アドレス体系から移行技術まで完全解説
IPv6はIPv4アドレス枯渇問題を根本的に解決する次世代インターネットプロトコルです。
128ビットアドレス、自動設定機能、移行技術など、ネットワークスペシャリスト試験で問われるIPv6の重要知識を解説します。
こんな人向けの記事です
- IPv6のアドレス体系を正確に理解したい
- IPv4との違いを明確にしたい
- ネットワークスペシャリスト試験のIPv6問題に対応したい
Step 1IPv6の概要とIPv4との比較
| 項目 | IPv4 | IPv6 |
|---|---|---|
| アドレス長 | 32ビット | 128ビット |
| アドレス数 | 約43億(2^32) | 約3.4×10^38(2^128) |
| 表記法 | 10進数ドット区切り | 16進数コロン区切り |
| ヘッダ | 可変長(20〜60バイト) | 固定長(40バイト) |
| ブロードキャスト | あり | なし(マルチキャストで代替) |
| フラグメント | ルータでも行う | 送信元のみ(Path MTU Discovery) |
| アドレス設定 | DHCP必須 | SLAAC(自動設定)対応 |
| IPsec | オプション | 標準サポート |
| チェックサム | ヘッダにあり | なし(上位層に委任) |
Step 2IPv6アドレスの表記法
IPv6アドレスの基本表記
完全表記(16ビットずつ8グループ、16進数):
2001:0db8:0000:0000:0000:0000:0000:0001
省略ルール1: 各グループの先頭の0を省略
2001:db8:0:0:0:0:0:1
省略ルール2: 連続する0のグループを :: で1回だけ省略
2001:db8::1
プレフィックス表記(CIDR):
2001:db8::/32 → 先頭32ビットがネットワーク部
試験のポイント
省略表記の展開問題がよく出題されます。::は1回しか使えない(2回使うと元に戻せない)というルールを覚えましょう。例:2001:db8::1::2 は不正(::が2回)
Step 3IPv6アドレスの種類
| 種類 | プレフィックス | 説明 |
|---|---|---|
| グローバルユニキャスト | 2000::/3 | インターネット上で一意。IPv4のグローバルIPに相当 |
| リンクローカル | fe80::/10 | 同一リンク内でのみ有効。自動的に設定される |
| ユニークローカル | fc00::/7(実質fd00::/8) | 組織内部で使用。IPv4のプライベートIPに相当 |
| マルチキャスト | ff00::/8 | グループ宛の配信。ブロードキャストの代替 |
| ループバック | ::1 | 自分自身(IPv4の127.0.0.1に相当) |
| 未指定 | :: | アドレス未設定時に使用(IPv4の0.0.0.0に相当) |
重要なマルチキャストアドレス
| アドレス | 対象 | 用途 |
|---|---|---|
| ff02::1 | 全ノード | リンク上の全端末に到達(ブロードキャスト代替) |
| ff02::2 | 全ルータ | リンク上の全ルータに到達 |
| ff02::1:ffXX:XXXX | 要請ノード | アドレス解決(NDP)に使用 |
Step 4アドレス自動設定(SLAAC)
SLAAC(Stateless Address Autoconfiguration)は、DHCPサーバーなしでIPv6アドレスを自動設定する機能です。
1. リンクローカルアドレス生成
(fe80:: + インターフェースID)
(fe80:: + インターフェースID)
↓
2. DAD(重複アドレス検出)
(生成したアドレスの一意性を確認)
(生成したアドレスの一意性を確認)
↓
3. ルータ要請(RS)送信
(ff02::2 宛)
(ff02::2 宛)
↓
4. ルータ広告(RA)受信
(プレフィックス情報を取得)
(プレフィックス情報を取得)
↓
5. グローバルユニキャストアドレス生成
(RAのプレフィックス + インターフェースID)
(RAのプレフィックス + インターフェースID)
インターフェースIDの生成(EUI-64)
MACアドレス: 00:1A:2B:3C:4D:5E
1. MACを前半・後半に分割: 00:1A:2B | 3C:4D:5E
2. 間に FF:FE を挿入: 00:1A:2B:FF:FE:3C:4D:5E
3. 第7ビットを反転(U/Lビット): 02:1A:2B:FF:FE:3C:4D:5E
インターフェースID: 021a:2bff:fe3c:4d5e
※ プライバシー保護のため、ランダムなインターフェースIDを使う
「一時アドレス」(RFC 4941)が推奨される場合もある
NDP(Neighbor Discovery Protocol)
IPv6ではARPの代わりにNDP(ICMPv6ベース)を使用します。NS(Neighbor Solicitation):アドレス解決要求(ARP Requestに相当)
NA(Neighbor Advertisement):アドレス解決応答(ARP Replyに相当)
RS(Router Solicitation):ルータ要請
RA(Router Advertisement):ルータ広告(プレフィックス等の通知)
Step 5IPv6ヘッダと拡張ヘッダ
IPv6ヘッダ構造(40バイト固定)
| Version(4) | Traffic Class(8) | Flow Label(20) |
| Payload Length(16) | Next Header(8) | Hop Limit(8) |
| Source Address (128bit) |
| Destination Address (128bit) |
Version = 6(固定)
Traffic Class = QoS用(IPv4のToSに相当)
Flow Label = フロー識別(IPv6で新設)
Next Header = 次のヘッダの種類(拡張ヘッダ or 上位プロトコル)
Hop Limit = TTLに相当(ルータ通過ごとに1減少)
主な拡張ヘッダ
| 拡張ヘッダ | Next Header値 | 用途 |
|---|---|---|
| Hop-by-Hop Options | 0 | 経路上の全ルータが処理 |
| Routing | 43 | 経由ルータの指定 |
| Fragment | 44 | 送信元でのフラグメント |
| Authentication Header | 51 | IPsec認証 |
| ESP | 50 | IPsec暗号化 |
| Destination Options | 60 | 宛先ノードのみ処理 |
Step 6IPv4からの移行技術
| 技術 | 方式 | 特徴 |
|---|---|---|
| デュアルスタック | IPv4とIPv6を同時運用 | 最もシンプル。両方のアドレスを持つ |
| トンネリング | IPv6パケットをIPv4でカプセル化 | IPv4ネットワーク経由でIPv6通信 |
| NAT64/DNS64 | IPv6→IPv4の変換 | IPv6のみの端末がIPv4サーバーにアクセス |
| 464XLAT | CLAT(端末側)+ PLAT(ISP側) | モバイル網で広く採用 |
IPv6の基本確認コマンド
# IPv6アドレスの確認
ip -6 addr show
# IPv6の疎通確認
ping6 2001:db8::1
ping -6 2001:db8::1 # 最近のLinux
# IPv6ルーティングテーブル
ip -6 route show
# IPv6ネイバーテーブル(NDPキャッシュ)
ip -6 neigh show
試験のポイント
IPv6は午後問題で出題されることが増えています。特にSLAACの流れ、リンクローカルアドレスとグローバルユニキャストの違い、NDPの動作、移行技術が重要です。
まとめ
- IPv6は128ビットアドレス。ブロードキャスト廃止、マルチキャストで代替
- ::による省略は1回のみ。展開問題に注意
- グローバルユニキャスト(2000::/3)、リンクローカル(fe80::/10)が最重要
- SLAACでDHCPなしの自動アドレス設定が可能
- NDPはICMPv6ベースで、ARPの代替+ルータ発見機能を提供
- 移行技術:デュアルスタック、トンネリング、NAT64が3大方式