IPv6とは
IPv6(Internet Protocol version 6)は、利用可能なIPv4アドレスの枯渇を解決するために設計された、現在のインターネットプロトコルです。IPv4の32ビットに対し128ビットのアドレスを使い、約3.4×10³⁸個の一意なアドレスを提供します。IPv6アドレスの形式
構造
IPv6アドレスは、4桁の16進数を8組並べて表します。
2001:0db8:85a3:0000:0000:8a2e:0370:7334
│ │ │ │ │ │ │ │
└────┴────┴────┴────┴────┴────┴────┴── 8 groups of 16 bits each
省略規則
1. 先頭の0: 各組の先頭にある0は省略できます
2. 連続する0の組: 連続部分はアドレス中で一度だけ :: に置き換えられます
Full: 2001:0db8:0000:0000:0000:0000:0000:0001
Abbreviated: 2001:db8::1
IPv6とIPv4の比較
| 項目 | IPv4 | IPv6 |
|---|---|---|
| アドレス長 | 32ビット | 128ビット |
| 表記 | ドット区切り10進数 | 16進数 |
| アドレス総数 | 約43億 | 約3.4×10³⁸ |
| ヘッダー | 可変長で複雑 | 40バイト固定で簡潔 |
| IPsec | 任意 | 標準で対応 |
| NAT | よく必要 | 通常は不要 |
| 自動設定 | DHCPが必要 | SLAACに標準対応 |
IPv6アドレスの種類
ユニキャスト
1対1の通信に使います。グローバルユニキャスト(2000::/3)、リンクローカル(fe80::/10)、ユニークローカル(fc00::/7)などがあります。
マルチキャスト
1対多の通信に使います。
ff02::1 - All nodes on link
ff02::2 - All routers on link
エニーキャスト
同じ形式のアドレスを複数拠点で共有し、経路上もっとも近い宛先へ1対1で届けます。
DNSでのIPv6
AAAAレコード
IPv6アドレスはAAAA(クアッドA)レコードに登録します。
example.com. IN AAAA 2606:2800:220:1:248:1893:25c8:1946
逆引きDNS(PTRレコード)
IPv6の逆引きにはip6.arpaドメインを使います。
4.3.3.7.0.7.3.0.e.2.a.8.0.0.0.0.0.0.0.0.3.a.5.8.8.b.d.0.1.0.0.2.ip6.arpa. PTR example.com.
IPv6導入の利点
1. 豊富なアドレス: アドレス枯渇を大幅に緩和する
2. 簡潔なヘッダー: ルーターで効率よく処理できる
3. 自動設定: SLAACなどで端末を構成できる
4. エンドツーエンド接続: NATへの依存を減らせる
IPv6の実装
デュアルスタック構成
IPv4とIPv6を同時に有効化すると、対応状況の異なる利用者にも接続できます。
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
DNS設定
ホスト名にAレコードとAAAAレコードを登録し、両方の到達性を確認します。
www IN A 192.0.2.1
www IN AAAA 2001:db8::1
IPv6の現在の普及状況
IPv6への移行は地域や接続事業者で差があります。IPv4を直ちに廃止するのではなく、DNS、ファイアウォール、監視、アプリケーションを含むデュアルスタック環境で検証しながら段階的に進めるのが現実的です。
IPv6を導入するときは、アドレスを設定するだけでなく、経路制御、アクセス制御、ログ、監視、名前解決をIPv6でも扱えるようにします。IPv4とIPv6で異なるポリシーを残すと、意図せず公開範囲や防御水準が変わるおそれがあります。
AAAAレコードを追加した後は、利用者のネットワークから実際に接続できるかを確認し、失敗時にIPv4へ安全にフォールバックできる状態を保ちます。逆引きの委任、ファイアウォールのルール、SLAACやDHCPv6の運用方針も合わせて文書化してください。