IPv6 はよく「アドレスが長くなった IPv4」とまとめられます。それは事実ですが、長いアドレスはネットワークの設計や機器のふるまいを変えます。実際に何が違うのかを見ていきましょう。
ひと目でわかる比較
| IPv4 | IPv6 | |
|---|---|---|
| アドレス長 | 32 ビット | 128 ビット |
| 表記 | 192.0.2.1 |
2001:db8::1 |
| 総アドレス数 | 約 4.3 × 10⁹ | 約 3.4 × 10³⁸ |
| 一般的な LAN の大きさ | /24(254 ホスト) | /64(1.8 × 10¹⁹ アドレス) |
| アドレスの共有 | NAT が当たり前 | すべての機器がグローバルに到達可能 |
| 自動設定 | DHCP | SLAAC や DHCPv6 |
| ブロードキャスト | あり | なし(マルチキャストで代替) |
| ヘッダー | 可変長、チェックサムあり | 固定 40 バイト、チェックサムなし |
アドレスと表記
IPv4 アドレスは 10 進数のオクテット 4 つです。IPv6 アドレスは 16 進数のグループ 8 つで、長いゼロの連続は :: で省略します。2001:0db8:0000:0000:0000:0000:0000:0001 と 2001:db8::1 は同じアドレスです。ルールの適用例は IPv6 ガイドの対話型エクスプローラーで確認できます。
ネットワークの番号の付け方
IPv4 は不足しているため、ネットワークはぎりぎりの大きさで設計されます。小さなオフィスには /24、数台のサーバーには /29 といった具合です。IPv6 は発想が逆です。機器の数にかかわらずすべての LAN に /64 を割り当て、拠点には通常 /48 か /56 が配られます。何千ものサブネットを作れる広さです。計画で考えるのは構造であって、アドレスの節約ではありません。
NAT とエンドツーエンドの接続
IPv4 アドレスが枯渇したため、ほぼすべての家庭用ネットワークと多くのモバイルネットワークが NAT を使い、キャリアグレード NAT では多数の契約者が 1 つのグローバルアドレスの後ろに置かれます。NAT はエンドツーエンドの原則を崩します。着信接続、P2P アプリ、一部のゲームには回避策が必要です。
IPv6 には NAT が要りません。機器はグローバルにルーティング可能なアドレスを持ち、保護はステートフルファイアウォールが担います。要求していない着信を遮断するという、NAT が暗黙のうちに果たしていた役割です。
機器がアドレスを得る方法
IPv4 は DHCP に頼ります。IPv6 の機器は SLAAC で自分自身を設定できます。ルーターが /64 のプレフィックスを広告し、各機器が自分のアドレスを組み立てます。最近のシステムは、ネットワークをまたいで機器を追跡されないよう、ランダムで定期的に変わるインターフェース ID を使います。
IPv6 は速い? 安全?
どちらのプロトコルも本質的に速いわけではありませんが、IPv6 はキャリアグレード NAT を経由しないことが多く、遅延が減る場合があります。セキュリティは同程度です。IPsec はどちらにもあり、実際に重要なのはファイアウォールの設定です。多くのネットワークは、それを IPv6 に適用し忘れています。
デュアルスタック
インターネットは長い移行期にあります。ほとんどのネットワークはデュアルスタック、つまり両方のプロトコルを同時に動かしており、ブラウザは「Happy Eyeballs」で IPv6 を優先しつつ素早く IPv4 にも切り替えます。IPv6 だけのモバイルネットワークもあり、IPv4 のサービスには NAT64 経由で到達します。
接続が両方に対応しているかはトップページで、IPv4 アドレスが IPv6 の中でどう表されるかは IPv4 → IPv6 ツールで確認できます。