「IPv4 が枯渇した」と言われ続けて何年か
2011 年に IANA の IPv4 アドレスプールが枯渇してから 10 数年。「次は IPv6!」と言われ続けながら、なかなか完全移行しないまま現在に至ります。
この記事では、IPv4 と IPv6 の違いを初学者向けに整理し、なぜ普及が進んでいるのか、自分のサービスで IPv6 対応すべきかを考える材料を提供します。
圧倒的に違うのはアドレス長
| IPv4 | IPv6 | |
|---|---|---|
| アドレス長 | 32 bit | 128 bit |
| 総アドレス数 | 約 43 億 | 約 340 澗(3.4 × 10^38) |
| 表記 | 192.168.1.10 | 2001:db8::1 |
IPv6 のアドレス空間は事実上無限と言ってよく、地球上のすべての砂粒に IP を割り当てても余ると言われます。
IPv6 アドレスの読み方
128bit を 16 進数 4 桁ずつ「:」で区切って書きます:
2001:0db8:0000:0000:0000:ff00:0042:8329
└─16bit─┘└─16bit─┘└─16bit─┘└─16bit─┘└─16bit─┘└─16bit─┘└─16bit─┘└─16bit─┘
計 128bit長いので省略表記のルールがあります:
- 各ブロックの先頭の 0 は省略:
0db8 → db8 - 連続する 0 のブロックは
::で 1 回だけ省略可能
完全形: 2001:0db8:0000:0000:0000:ff00:0042:8329
省略後: 2001:db8::ff00:42:8329
完全形: fe80:0000:0000:0000:0000:0000:0000:0001
省略後: fe80::1IPv6 のアドレス種類
| プレフィックス | 用途 | IPv4 で言うと |
|---|---|---|
2000::/3 | グローバルユニキャスト | 普通のグローバルIP |
fc00::/7 | ULA(Unique Local) | RFC 1918(プライベート) |
fe80::/10 | リンクローカル | 169.254.0.0/16 |
ff00::/8 | マルチキャスト | 224.0.0.0/4 |
::1 | ループバック | 127.0.0.1 |
:: | 未指定 | 0.0.0.0 |
IPv6 で何が変わるか
① NAT が原則不要
アドレスが豊富にあるので、すべての機器にグローバルアドレスを直接割り当てられます。NAT が要らないと、P2P 通信や自宅サーバー公開がぐっと楽になります。
② SLAAC による自動構成
IPv6 では SLAAC(Stateless Address Autoconfiguration)という仕組みで、DHCP サーバーがなくても自動的にアドレス取得できます。ルーターが流すプレフィックス + 自分の MAC アドレスから生成する仕組みです。
家庭で IPv6 が使えるルーターを買うと、設定なしで全機器に IPv6 アドレスが振られているのはこのためです。
③ ヘッダーがシンプル化
IPv4 ヘッダーは可変長で複雑でしたが、IPv6 では固定長 40 バイトに整理されました。途中ルーターでのチェックサム計算もなくなり、ルーティング処理が高速化しています。
④ IPsec が組み込み(建前)
IPv6 仕様では IPsec が標準実装でした(RFC 6434 で必須から推奨に格下げ)。実運用では IPv4 と同じく必要な部分にだけ TLS / VPN を被せる運用が一般的です。
⑤ ARP が NDP に
IPv6 では ARP の代わりに NDP(Neighbor Discovery Protocol)が使われます。仕組みは似ていますが、ICMPv6 上で動き、プレフィックス通知や近隣到達性検出など機能が増えています。
移行が進まない理由
理論的には IPv6 の方が優れていますが、移行は遅々として進みません。理由:
- NAT で誤魔化せる: IPv4 + NAT で当面困らない
- レガシー機器・ソフト: 古いシステムの IPv6 対応コスト
- 運用ノウハウ不足: トラブル時に切り分けできるエンジニアが少ない
- キャリアグレード NAT で延命
ただしモバイル網(携帯各社)は積極的に IPv6 化しており、Google や Apple のサービスは早くから IPv6 対応済み。静かに移行は進んでいるのが現状です。
デュアルスタックという中間策
多くの環境は IPv4 と IPv6 を両方話す「デュアルスタック」で運用されています。OS は両方のアドレスを取得し、通信時にはどちらかを選びます(DNS の応答にどちらが含まれているか、Happy Eyeballs アルゴリズムで速い方を選ぶ等)。
サーバーで IPv6 対応するときも、まずIPv4 と IPv6 両方で受け付けるデュアルスタック設定から始めるのが定石です。
セキュリティ視点
- IPv6 はスキャンされにくい: アドレス空間が広すぎて全数スキャンが現実的でない(IPv4 なら数時間で全 4G 個スキャン可能)
- 逆に「直接アクセス可能」になる: NAT で隠れていた機器が剥き出しになる。明示的なファイアウォールが必須
- 家庭ルーターの IPv6 ファイアウォール設定を確認しよう。多くの製品は適切にブロックしているが要確認
おわりに
IPv6 は「IPv4 + アルファ」ではなく、ある意味別物のプロトコルです。アドレスの考え方、自動構成、近隣探索、すべて IPv4 と異なります。今すぐ移行する必要はなくても、「自分のサービスで IPv6 アクセスログがどう見えるか」を一度確認しておくと、移行が必要になったときに慌てずに済みます。