本文へ
月極
日中EN

2026年1月18日読了 10 分aomori446

IPv6

IPv6 アドレス構造、分類、省略ルールおよび設定の備忘録

1. IPv6 概要

1.1 アドレス構造

2001:4001:1234:0A00:0000:4567:9ABC:2340/64

この場合では、

2001:4001:1234:0A00はサブネットプレフィックス(IPV4のネットワーク部に該当)、

0000:4567:9ABC:2340はインターフェースID(IPV4のホスト部に該当)。

64はサブネットプレフィックスが64ビット、インターフェースIDが64ビットに分けると示す。

  • 長さ:128ビット (16バイト)。
  • 形式:4桁の16進数を 8グループに分け、コロンで区切る。

アドレス空間の分布

Prefix:  0000...  2000...  fc00...  fe80...  ff00...
          |        |        |        |        |
          v        v        v        v        v
      +-------+--------+--------+--------+--------+
      |Special|  GUA   |  ULA   |  LLA   | Multi  |
      +-------+--------+--------+--------+--------+

1.2 省略ルール

1. 先頭のゼロ省略

各グループ先頭の 0 は省略可能。

  • 0db8 -> db8
  • 0001 -> 1
  • 0000 -> 0
2. ダブルコロン圧縮 (::)

一回だけ連続する複数の 0 グループを :: で代用可能。

  • 1234:0000:0000:0000:5678 -> 1234::5678

1.3 なぜ GUA は 2000::/3 なのか?

/3 は先頭3ビットが 001 で固定であることを意味する。

  • 第4ビットが 0 -> 0010 (16進数の 2)
  • 第4ビットが 1 -> 0011 (16進数の 3)
  • したがって、2 または 3 で始まるものはすべて GUA である。

1.4 EUI-64 (インターフェースIDの生成)

MACアドレス (48ビット) から インターフェースID (64ビット) を生成する。

  1. 分割:MACアドレスを真ん中で分割する。
  • 00:23:45:67:89:AB -> 00:23:45:空き:空き:67:89:AB
  1. 挿入:中間に FFFE を挿入する。
  • 00:23:45:空き:空き:67:89:AB -> 00:23:45:FF:FE:67:89:AB
  1. 反転:第1バイトの第7ビットを反転させる (0 -> 1)。
  • 00(0000 0000) -> 02(0000 0010)
  • 故に生成したインターフェイスIDは 02:23:45:FF:FE:67:89:AB

2. IPv6 通信タイプ

2.1 ユニキャスト (Unicast)

一般的なユニキャストアドレスと設定:

  1. GUA (Global Unicast Address):グローバルユニキャスト。

    2001:db8::/32は文書などで例示する際のアドレスとして予約されてる。

  • 範囲:2000::/3。インターネット上でルーティング可能。
  • 設定:ipv6 address 2001:db8::1/64
  • EUI-64使用:ipv6 address 2001:db8::/64 eui-64。2001:db8::/64のように、EUI-64使用する場合インターフェイスIDは不要。
  1. LLA (Link-Local Address):リンクローカル。
  • 範囲:FE80::/10。同一リンク内でのみ有効。
  • 設定:
  • 手動:ipv6 address fe80::1 link-local
  • 自動:ipv6 enable。この場合ではインターフェイスIDがEUI-64形式で自動生成されるから管理しづらい。例:fe80::4444:1989:0604:4444。
  1. ULA (Unique Local Address):ユニークローカル。

    最初の7ビットは 1111 110、第8のビットの0が将来定義予定なので、FC00::/7と表示 (実際は FD00::/8 を使用)。IPv4 のプライベートアドレスに相当。

  2. ループバックアドレス(Loopback):0:0:0:0:0:0:0:1/128 または ::1/128。

  3. 未指定アドレス (Unspecified):::/128。

2.2 マルチキャスト (Multicast)

1対多通信。プレフィックス:FF00::/8。

  • 一般的なマルチキャストアドレス:
  • FF02::1:全ノード (All Nodes)。
  • FF02::2:全ルータ (All Routers)。
  • FF02::5 / FF02::6:OSPFv3。
  • 要請ノードマルチキャストアドレス (Solicited-Node):FF02::1:FF??:???? + ユニキャストの下位24ビット(例:2001:db8::AB:CDEFの時はAB:CDEF)。アドレス解決に使用。

2.3 エニーキャスト (Anycast)

  • 専用のプレフィックスはない(ユニキャストアドレス範囲を使用)。
  • 複数のデバイスに同じIPを設定し、ルーティングコストが最小のデバイスが応答する。

3. IPv6 動的設定

3.1 ルーティング機能の有効化

ルータとして動作させる場合、グローバルで IPv6 転送機能を 有効化 する必要がある。そうしないと、インターフェースから RA (Router Advertisement) が送信されず、配下のホストが SLAAC 自動設定を行えない。

Router(config)# ipv6 unicast-routing

3.2 NDP

ICMPv6 ベースで実装され、IPv4 の ARP や ICMP Router Discovery などを代替する。

主要なメッセージタイプ:

| タイプ | 名称 | 役割 | IPv4 での相当 |
|:––––|:––––––––––––––––|:–––––––––––––––––|:—————––|
| 133 | RS (Router Solicitation) | ホストが起動時に「ルータはいますか?」と尋ねる。 | DHCP Discover (類似) |
| 134 | RA (Router Advertisement) | ルータが「私がルータだ。プレフィックスはこれだ」と応答/広告する。 | DHCP Offer (類似) |
| 135 | NS (Neighbor Solicitation) | ターゲットの MAC アドレスを要求 / アドレス重複検知。 | ARP Request |
| 136 | NA (Neighbor Advertisement) | NS に応答して自分の MAC アドレスを通知。 | ARP Reply |

重要なプロセス:

  1. アドレス解決 (Address Resolution):
  • IP から MAC を知りたい場合。
  • NS (相手の 要請ノードマルチキャストアドレス 宛) -> 相手が NA (ユニキャスト) で応答。
  1. DAD (Duplicate Address Detection / 重複アドレス検知):
  • 新しい IP を設定する際、重複がないか確認する仕組み。
  • 自分 の要請ノードマルチキャストアドレス宛に NS を送信。
  • もし NA が返ってきたら、誰かが使っているため Duplicate (重複) エラーとなる。

3.3 アドレス割り当て方式 (SLAAC vs DHCPv6)

PC がどのアドレス取得方式を使うかは、ルータが送信する RA パケット内のフラグ (Flags) に依存する。

3つのモード比較:

| モード | 説明 | RA フラグ設定 | クライアントの動作 | 設定コマンド (クライアント) |
|:————————|:———————–|:––––––––––––––––|:––––––––––––––––––––––––––|:–––––––––––––|
| 1. SLAAC | ステートレス自動設定 (デフォルト) | A=1 (Auto)
M=0, O=0 | RA のプレフィックス + EUI-64 で IP 生成。
DHCP には問い合わせない。 | ipv6 address autoconfig |
| 2. Stateless DHCPv6 | ステートレス DHCP | A=1
M=0, O=1 (Other) | IP は SLAAC で生成。
DNS 等の情報だけ DHCP に要求。 | ipv6 address autoconfig |
| 3. Stateful DHCPv6 | ステートフル DHCP | A=0
M=1 (Managed) | RA のプレフィックスを無視。
IP も DNS も全て DHCP から取得 (IPv4同様)。 | ipv6 address dhcp |

  • A (Autonomous): クライアントがプレフィックスを使って IP を自動生成してよいか。
  • M (Managed): IP を DHCPv6 から取得する必要があるか。
  • O (Other): その他の情報 (DNS等) を DHCPv6 から取得する必要があるか。

3.4 よく使う確認コマンド

# 1. インターフェースIPとマルチキャストグループ確認 (DAD用 FF02::1:FF... に参加しているか確認)
Router# show ipv6 interface <番号>

# 2. インターフェース概要 (Up/Up ?)
Router# show ipv6 interface brief

# 3. ネイバーテーブル確認 (IP <-> MAC マッピング、NDP キャッシュ)
Router# show ipv6 neighbors

# 4. ルーティングテーブル確認 (C:直結, L:ローカル, S:静的, O:OSPF)
Router# show ipv6 route

4. IPv6 ルーティング設定

4.1 スタティックルーティング (Static Routing)

構文は IPv4 と非常に似ており、キーワードが ipv6 route に変わるだけである。

基本構文:
ipv6 route <宛先プレフィックス/長> <ネクストホップIP | 出力IF>

# 1. ネクストホップ IP 指定 (イーサネット環境で推奨)
Router(config)# ipv6 route 2001:db8:2::/64 2001:db8:12::2

# 2. 出力インターフェース指定 (シリアル等 Point-to-Point で推奨)
Router(config)# ipv6 route 2001:db8:2::/64 Serial0/0/0

# 3. デフォルトルート (Default Route)
# 宛先は ::/0 (IPv4 の 0.0.0.0/0 に相当)
Router(config)# ipv6 route ::/0 2001:db8:12::2

4.2 ダイナミックルーティング - OSPFv3

OSPFv3 は IPv6 用に設計されたリンクステート型ルーティングプロトコル。

OSPFv2 (IPv4) との主な違い:

  • リンクベースで動作:network コマンドでネットワークを指定するのではなく、インターフェース直下で有効化する。
  • Router ID:依然として 32ビット の IPv4 形式 (例: 1.1.1.1)。IPv4 アドレスがない場合、RID を 手動指定 しないとプロセスが起動しない。
  • マルチキャストアドレス:FF02::5 (全 OSPF ルータ) と FF02::6 (DR/BDR) を使用。

設定手順:

# 1. OSPFv3 プロセスの起動
Router(config)# ipv6 router ospf 1
Router(config-rtr)# router-id 1.1.1.1  # RID の手動指定は必須

# 2. インターフェースでの有効化 (最も重要な違い)
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ipv6 ospf 1 area 0

5. IPv4 から IPv6 への移行技術

IPv4 アドレス枯渇に伴い、ネットワークは徐々に移行する必要がある。主に3つの戦略がある。

5.1 デュアルスタック (Dual Stack)

最も推奨され、一般的 な方法。

  • 原理:ネットワーク機器とホストで IPv4 と IPv6 の両方のプロトコルスタックを同時に稼働させる。
  • 動作:
  • DNS が IPv4 アドレスを返せば -> IPv4 で通信。
  • DNS が IPv6 アドレスを返せば -> IPv6 で通信 (通常 IPv6 が優先される)。
  • 利点:ネイティブサポートであり、カプセル化が不要なためパフォーマンスが最良。

5.2 トンネリング技術 (Tunneling)

IPv4 の海に浮かぶ孤立した IPv6 の島々を接続するために使用。IPv6 パケットを IPv4 ヘッダでカプセル化して転送する。

  1. 手動トンネル (Manual Tunnel / GRE):
  • ポイントツーポイント。トンネルの送信元と宛先 IP を手動指定する必要がある。
  • マルチキャスト対応 (OSPFv3 を通せる)。
  • 設定:tunnel mode ipv6ip または tunnel mode gre ipv6。
  1. 6to4 トンネル:
  • 自動トンネル。2002::/16 プレフィックスを使用。
  • IPv4 アドレスを IPv6 アドレスに埋め込むため、宛先の手動設定が不要。
  1. ISATAP:
  • サイト内自動トンネル。キャンパス網内部の IPv6 ホストが IPv4 網を越えて通信するために使用。

5.3 変換技術 (Translation) - NAT64

IPv6-Only のホストが旧来の IPv4 サーバにアクセスするために使用。

  • 原理:NAT と同様に、ルータが IPv6 ヘッダを IPv4 ヘッダに(またはその逆)翻訳する。
  • 適用:携帯キャリア網 (モバイルは IPv6 普及率が高い) から IPv4 サービスへアクセスするシナリオなど。

CCNA