要点まとめ
IPv4のアドレスは43億個しかなく(2019年にすべて割り当て済み)、一方IPv6には340澗個(3.4×10³⁸)のアドレスがあります。主要プロバイダーの家庭用回線は現在、デフォルトでデュアルスタック(IPv4とIPv6を同時に利用)になっており、ブラウザーはIPv6が使える場合はそちらを優先します。そのため、cleanip.ioのトップページに表示される「自分のIP」が2408:8456:...で始まる長い文字列になっていることがあります。これは正常な動作で、バグでもリークでもありません。以下では、IPv6とは何か、IPv4とどう違うのか、どう管理すればよいのかを解説します。
1. IPv6が生まれた理由 — IPv4はとうの昔に枯渇
IPv4は1981年に設計され(RFC 791)、1つのアドレスを32ビット(4バイト)で表すため、アドレスの総数は2³² ≈ 43億個です。1980年代の設計者はこれで永遠に足りると考えていましたが、次のことは予想していませんでした:
- 1990年代のインターネットの爆発的普及 — PC1台ごとにIPが1つ
- 2000年代のモバイルインターネットの急拡大 — スマートフォン1台ごとにIPが1つ
- 2010年代のIoTの波 — スマート家電やカメラ1台ごとにIPが1つ
IETFは1998年にIPv6を正式に公開しました(RFC 2460。現行の標準はRFC 8200)。128ビット(16バイト)を使い、アドレスの総数は2¹²⁸ ≈ 3.4×10³⁸個です。地球の表面に割り振ると、1平方ミリメートルあたり60京個以上のアドレスになります。
しかし、普及は非常にゆっくりとしか進みませんでした:
| 年 | 世界のIPv6利用者の割合 | 主な出来事 |
|---|---|---|
| 2010 | 0.5% | IANAがIPv4アドレスの枯渇が近いと警告 |
| 2012 | 1% | World IPv6 Launch — Google / Facebookが恒久的に有効化 |
| 2015 | 10% | アメリカのモバイルキャリア(Verizon / T-Mobile)がIPv6-onlyを本格導入 |
| 2019 | 30% | 世界のIPv4アドレスプールがすべて割り当て済みに |
| 2023 | 40% | China Telecom / China Unicomが家庭用回線の全体でIPv6を展開 |
| 2026 | 45%+ | 家庭用回線・5G・データセンターで広く普及 |
2. IPv4とIPv6 — 根本的な違い
| 項目 | IPv4 | IPv6 |
|---|---|---|
| アドレス長 | 32ビット(4バイト) | 128ビット(16バイト) |
| アドレス数 | 43億 | 3.4×10³⁸(事実上無制限) |
| 表記 | 192.168.1.1 | 2001:db8::1(4桁の16進数×8グループ) |
| ヘッダー長 | 20〜60バイト(可変) | 40バイト(固定) |
| NAT | 必須(家庭用ネットワークは必ずNAT) | 本来は不要な NAT |
| ブロードキャスト | あり(255.255.255.255) | 廃止され、マルチキャストで代替 |
| アドレスの自動設定 | DHCPが必要 | SLAACで自動設定 / DHCPv6は任意 |
| フラグメンテーション | ルーターでの分割が可能 | エンドツーエンドでのみ分割(PMTUDが必須) |
| IPsec | 任意 | 当初の設計では必須(後に任意化) |
| QoS | ToSフィールド | Flow Labelフィールド |
3. IPv6アドレスをひと目で読み解く
3.1 完全な表記
2001:0db8:85a3:0000:0000:8a2e:0370:73344桁の16進数(0-9 / a-f)を8グループ並べ、:で区切ります。各グループの最大値はffff = 65535です。
3.2 省略表記のルール
- 各グループの先頭の0は省略します:
0db8→db8,0000→0 - すべて0のグループが1つ以上連続する部分は「::」に置き換えられます(1つのアドレスにつき1回のみ):
2001:db8::8a2e:370:7334= 上記の長いアドレス - 大文字・小文字は区別しません:
2001:DB8::1=2001:db8::1
3.3 特殊なIPv6アドレス帯
| アドレス帯 | 意味 | 対応するIPv4 |
|---|---|---|
::1/128 | ループバック | 127.0.0.1 |
::/128 | 未指定(すべて0) | 0.0.0.0 |
fe80::/10 | リンクローカル(すべてのインターフェースで自動設定) | 169.254.x.x |
fc00::/7 | ユニークローカル(プライベート。実際にはfd00::/8) | 10/8, 192.168/16 |
ff00::/8 | マルチキャスト | 224/4 |
2000::/3 | グローバルユニキャスト(グローバルIPv6) | 通常のグローバルIPv4 |
2001:db8::/32 | ドキュメントの例示用に予約 | TEST-NET-1/2/3 |
::ffff:0:0/96 | IPv4射影アドレス(v4アドレスを埋め込み) | — |
詳しくはプライベートIPアドレスの完全ガイドをご覧ください。
4. デュアルスタックとは — IPv4とIPv6を同時に運用
現在、家庭用回線・データセンター・クラウドサーバーのほぼすべてがデュアルスタック(同じインターフェースにIPv4とIPv6の両方を設定)で動作しており、アプリケーション層が宛先アドレスに応じて自動的に使い分けます。
ブラウザーがgoogle.comにアクセス:
↓
DNSがAレコード(IPv4)とAAAAレコード(IPv6)の両方を照会
↓
応答:142.250.x.x(A)+ 2607:f8b0:4004::200e(AAAA)
↓
OSがHappy Eyeballs(RFC 8305)アルゴリズムを実行:
両方のアドレスへ同時に接続を試み、先にTCPハンドシェイクが完了した方を使用(通常はIPv6がわずかに先)。IPアドレスを確認したときにIPv6アドレスが表示されることがあるのは、このためです。IPv4でも接続できる場合でも、通常はIPv6のほうがわずかに早く接続されます。
5. IPv6が使えるかを確認する方法
5.1 いちばん簡単な方法:ブラウザー
まずはcleanip.ioのトップページを開いてみてください。当サイトではIPv4とIPv6のデュアルスタックの出口を並べて表示します。使える場合はアドレスが、使えない場合は「—」が表示されます。
または、IPv6専用のテストサイトにアクセスします:https://ipv6.google.com — 開ければIPv6が使えます。
5.2 コマンドラインで確認
$ curl -6 -s ifconfig.co # v6を強制
2408:8456:1234::1 ← グローバルv6アドレス
$ curl -4 -s ifconfig.co # v4を強制
1.2.3.4
$ ping -6 ipv6.google.com
PING ipv6.google.com(... 2607:f8b0:4004::200e) 56 data bytes
64 bytes from ...: icmp_seq=1 ttl=117 time=12.3 ms5.3 IPv6アドレスの種類を見分ける — グローバルかリンクローカルか
表示されたIPv6アドレスの先頭が次の場合:
2xxx:または3xxx:— グローバルIPv6 (Global Unicast)fe80:— リンクローカル — インターネット上ではルーティングされず、ローカルのサブネット内でのみ有効fd00:/fc00:— ULA(プライベート) — IPv4のプライベートアドレス帯に相当::1— ループバック
6. IPv6を有効化・無効化する方法
6.1 有効化する方法 — 通常は最初から有効
中国の家庭用回線のプロバイダーは、2023年以降すべてのユーザーでデフォルトで有効化しています。自宅でIPv6が使えない場合は:
- ルーターの管理画面にログインし、「IPv6設定」で有効化して、WANモードを「Native」または「DHCPv6-PD」に設定します
- ISPのサポート窓口に電話し、「自宅でIPv6が使えないので有効にしてほしい」と依頼します
- ルーターのファームウェアが古くて対応していない場合は、ファームウェアを更新するかルーターを買い替えます
6.2 無効化する方法 — 必要になる場合もある
IPv6を無効にする主な理由:
- VPNがIPv4しかトンネルしないため、IPv6の通信がVPNを迂回して実際のIPが露出する — VPNユーザーはIPv6を必ず無効化(VPNがv6もプロキシする場合を除く)
- 一部の古いアプリやゲートウェイがIPv6に対応しておらず、接続の問題が起きる
- ネットワークの問題をデバッグする際に、まずIPv6の影響を切り分けたい
| プラットフォーム | 無効化の方法 |
|---|---|
| Windows | コントロールパネル → ネットワーク → 使用中のアダプターのプロパティ → 「インターネット プロトコル バージョン 6 (TCP/IPv6)」のチェックを外す またはPowerShellで: Disable-NetAdapterBinding -InterfaceAlias "イーサネット" -ComponentID ms_tcpip6 |
| macOS | システム設定 → ネットワーク → 詳細 → TCP/IP → 「IPv6の構成」を「リンクローカルのみ」または「切」に設定 |
| Linux | sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1永続化する場合は次のファイルに記述: /etc/sysctl.d/99-disable-ipv6.conf |
| iOS / Android | OS全体でIPv6を無効にすることはできません(脱獄 / root化が必要)。代わりにVPNクライアントの「Force IPv4 only」オプションを使います |
| ルーター | 管理画面 → IPv6設定 → 無効 — 家全体でまとめてオフ |
7. IPv6のよくある落とし穴
7.1 VPNがIPv6をトンネルしない → 実際のIPがリーク
多くのVPNクライアントは、デフォルトでIPv4しかプロキシしません。IPv4アドレスにはVPNの出口が表示されますが、デュアルスタックのサイトにアクセスすると、ブラウザーはIPv6を優先して自宅のネットワークから直接通信します。その結果、実際のグローバルIPv6アドレスが露出します。対策:まず/leakのリークテストで確認したうえで、システムのIPv6を無効にするか、v4とv6の両方をプロキシするVPNに切り替えてください。
7.2 IPv6はグローバルにルーティング可能 → 機器が直接露出
IPv6にはNATがないため、自宅ネットワーク上のすべての機器が世界で一意のグローバルIPv6アドレスを持ちます。つまり、インターネット上のどのIPv6ユーザーからも、自宅の機器に直接接続できるということです。スマート家電、NAS、カメラなどは、設定を誤ると侵入される恐れがあります。
対策:ルーターのIPv6ファイアウォールが有効になっていること(通常はデフォルトで有効)を確認し、外部からの着信接続をブロックしつつ、内部から外部への通信は許可します。
7.3 ISPが割り当てるIPv6は不安定 — DHCPv6-PDのプレフィックスは再起動のたびに変わる
中国の家庭用回線では通常、DHCPv6-PDでルーターに/56または/60のプレフィックスが割り当てられますが、このプレフィックスは再起動やリース更新のたびに変わる可能性があり、設定したポート転送が使えなくなります。
対策:固定プレフィックスを申請する(ほとんどのプロバイダーは提供していません)か、DDNS(ダイナミックDNS)で自動更新します。
7.4 一部の海外ノードはIPv6非対応 → デュアルスタックでかえって遅くなる
Happy Eyeballsアルゴリズムはv4とv6を同時に試しますが、IPv6の経路の品質が悪い(遅延が大きい、パケットロスがある)場合、タイムアウトを待ってからv4に切り替えることになり、v4だけを使うより遅くなることがあります。
8. IPv6クイックリファレンス
| やりたいこと | コマンド / 操作 |
|---|---|
| 自分のグローバルIPv6を確認 | curl -6 ifconfig.co |
| ローカルのIPv6アドレスをすべて表示 | ip -6 addr show / ifconfig | grep inet6 |
| IPv6でインターネットに接続できるかテスト | アクセス先:ipv6.google.com |
| IPv6を一時的に無効化(Linux) | sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1 |
| IPv6を一時的に無効化(Windows) | コントロールパネルでIPv6のチェックを外すか、PowerShellコマンドを使用 |
| IPv6のデフォルトルートを確認 | ip -6 route | grep default |
| IPv6の近隣キャッシュをクリア | ip -6 neigh flush all |
| 宛先までのIPv6経路をトレース | traceroute6 example.com / mtr -6 example.com |