この記事の要点
• IPv4は32ビット(約43億個)、IPv6は128ビット(事実上無限)のアドレス空間
• IPv4枯渇問題により、IPv6への移行が進んでいる
• IPv6はNAT不要、IPsec標準、シンプルなヘッダーで効率的
IPアドレスとは
IPアドレスは、ネットワーク上の機器を識別するための番号です。インターネット上の「住所」に相当します。IPv4とIPv6の2つのバージョンが併用されています。
なぜIPv6が必要か: IPv4アドレスは約43億個しかなく、既に枯渇しています。スマートフォン、IoT機器の普及により、事実上無限のアドレス空間を持つIPv6への移行が進んでいます。
IPv4とIPv6の基本比較
主要な違い
| 項目 | IPv4 | IPv6 |
|---|---|---|
| アドレス長 | 32ビット | 128ビット |
| アドレス数 | 約43億個(2^32) | 約340澗個(2^128) |
| 表記 | 10進数(ドット区切り) | 16進数(コロン区切り) |
| 例 | 192.168.1.1 | 2001:0db8:85a3::8a2e:0370:7334 |
| ヘッダーサイズ | 可変(20-60バイト) | 固定(40バイト) |
| チェックサム | あり | なし |
| 設定方法 | 手動またはDHCP | 自動設定(SLAAC)、DHCPv6 |
| NAT | 必要 | 不要 |
| IPsec | オプション | 標準(設計時から組み込み) |
ポイント: IPv6のアドレス数は340兆の1兆倍の1兆倍です。地球上のすべての砂粒に複数のアドレスを割り当てられるほど膨大です。
アドレス表記の違い
IPv4の表記
32ビットを8ビットずつ4つに分割し、10進数で表記します。
192.168.1.1
└┬┘└┬┘└┬└┬
│ │ │ │
│ │ │ └─ 4つ目のオクテット(8ビット): 0-255
│ │ └─── 3つ目のオクテット(8ビット): 0-255
│ └────── 2つ目のオクテット(8ビット): 0-255
└───────── 1つ目のオクテット(8ビット): 0-255
# 2進数表記
11000000.10101000.00000001.00000001
IPv6の表記
128ビットを16ビットずつ8つに分割し、16進数で表記します。
2001:0db8:85a3:0000:0000:8a2e:0370:7334
└─┬─┘└─┬─┘└─┬─┘└─┬─┘└─┬─┘└─┬─┘└─┬─┘└─┬─┘
1 2 3 4 5 6 7 8
(各グループは16ビット = 4桁の16進数)
IPv6の省略記法
ルール1: 先頭の0を省略
2001:0db8:0001:0000:0000:0000:0000:0001
↓
2001:db8:1:0:0:0:0:1
ルール2: 連続する0のグループを::で省略(1回のみ)
2001:db8:1:0:0:0:0:1
↓
2001:db8:1::1
省略の例
| 完全表記 | 省略表記 |
|---|---|
2001:0db8:0000:0000:0000:0000:0000:0001 | 2001:db8::1 |
fe80:0000:0000:0000:0204:61ff:fe9d:f156 | fe80::204:61ff:fe9d:f156 |
0000:0000:0000:0000:0000:0000:0000:0001 | ::1 (ループバック) |
0000:0000:0000:0000:0000:0000:0000:0000 | :: (未指定) |
注意: `::`による省略は1回のみ使用できます。複数の`0`グループがある場合、最も長い(または最初の)グループを省略します。
アドレスの種類
IPv4のアドレス種類
| 種類 | 範囲 | 用途 |
|---|---|---|
| クラスA | 1.0.0.0 - 126.255.255.255 | 大規模ネットワーク |
| クラスB | 128.0.0.0 - 191.255.255.255 | 中規模ネットワーク |
| クラスC | 192.0.0.0 - 223.255.255.255 | 小規模ネットワーク |
| プライベート | 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 | 内部ネットワーク |
| ループバック | 127.0.0.0/8 | 自身への通信 |
| リンクローカル | 169.254.0.0/16 | DHCP失敗時の自動設定 |
IPv6のアドレス種類
| 種類 | プレフィックス | 用途 |
|---|---|---|
| ユニキャスト(グローバル) | 2000::/3 | インターネット通信 |
| ユニキャスト(リンクローカル) | fe80::/10 | 同一リンク内の通信 |
| ユニキャスト(ユニークローカル) | fc00::/7 | プライベートネットワーク |
| マルチキャスト | ff00::/8 | 複数の宛先への同時送信 |
| ループバック | ::1/128 | 自身への通信 |
| 未指定 | ::/128 | アドレス未設定 |
ブロードキャストの廃止: IPv6にはブロードキャストがありません。代わりにマルチキャストを使用します。これによりネットワーク効率が向上します。
IPv4枯渇問題
枯渇の経緯
1981年 RFC 791でIPv4標準化(約43億個のアドレス)
1990年代 インターネット商用化、急速な普及
1993年 CIDR導入(クラスフルからクラスレスへ)
1994年 NAT導入(プライベートIPアドレスの再利用)
2011年 IANA(最上位)のIPv4アドレス在庫が枯渇
2011-2019年 各地域のRIR(地域インターネットレジストリ)も枯渇
枯渇への対策
| 対策 | 説明 | 効果 |
|---|---|---|
| NAT/NAPT | プライベートIPを複数の機器で共有 | 一時的に延命 |
| CIDR | クラスレス表記でアドレスを効率的に割り当て | 無駄を削減 |
| IPv6移行 | 128ビットの新プロトコル導入 | 根本的解決 |
ポイント: NATはIPv4枯渇の応急処置でしたが、エンドツーエンド通信の原則を破り、P2P通信やVoIPで問題を引き起こします。IPv6では不要です。
IPv6の主要な特徴
1. 巨大なアドレス空間
IPv4: 2^32 = 4,294,967,296 個(約43億)
IPv6: 2^128 = 340,282,366,920,938,463,463,374,607,431,768,211,456 個(約340澗)
比較: IPv6はIPv4の約 79,228,162,514,264,337,593,543,950,336 倍
2. シンプルなヘッダー構造
IPv6ヘッダーは固定40バイトで、処理が高速化されます。
| 項目 | IPv4 | IPv6 |
|---|---|---|
| ヘッダーサイズ | 可変(20-60バイト) | 固定(40バイト) |
| ヘッダーフィールド数 | 12個 | 8個 |
| チェックサム | あり(ルーター毎に再計算) | なし(高速化) |
| フラグメンテーション | 中継ルーターで実施 | 送信元のみで実施 |
3. 自動設定(SLAAC)
IPv6は**SLAAC(Stateless Address Autoconfiguration)**により、DHCPサーバーなしで自動的にアドレスを設定できます。
1. ルーターから Router Advertisement (RA) を受信
2. ネットワークプレフィックス(64ビット)を取得
3. インターフェースID(64ビット)を自動生成(MACアドレスから)
4. 2つを結合してグローバルユニキャストアドレスを生成
4. IPsecの標準化
IPv6ではIPsec(暗号化・認証プロトコル)が標準で組み込まれています。
| 項目 | IPv4 | IPv6 |
|---|---|---|
| IPsec | オプション(後付け) | 標準(設計時から組み込み) |
| 実装 | ベンダー毎に異なる | 統一仕様 |
5. NAT不要
すべての機器がグローバルIPv6アドレスを持てるため、NATが不要です。
IPv4(NAT使用)
[PC] 192.168.1.10 ──┐
[Phone] 192.168.1.11 ├─ [ルーター] 203.0.113.1 ── インターネット
[IoT] 192.168.1.12 ──┘
IPv6(NAT不要)
[PC] 2001:db8::1 ──┐
[Phone] 2001:db8::2 ├─ インターネット
[IoT] 2001:db8::3 ──┘
セキュリティの注意: NAT不要 = すべての機器が直接インターネットに接続されるため、ファイアウォールの適切な設定が重要です。
デュアルスタック
IPv4とIPv6の両方を同時にサポートする方式です。移行期間中の標準的な運用方法です。
デュアルスタックの動作
[クライアント]
├─ IPv4アドレス: 192.168.1.10
└─ IPv6アドレス: 2001:db8::10
[サーバー]
├─ IPv4アドレス: 203.0.113.50
└─ IPv6アドレス: 2001:db8:abcd::50
通信時の選択:
1. DNSで両方のアドレスを取得(AレコードとAAAAレコード)
2. IPv6を優先的に試行(Happy Eyeballs RFC 8305)
3. IPv6が失敗した場合、IPv4にフォールバック
移行戦略の比較
| 方式 | 説明 | メリット | デメリット |
|---|---|---|---|
| デュアルスタック | IPv4/IPv6を両方動作 | 互換性が高い | 両方の運用コスト |
| トンネリング | IPv6をIPv4網内にカプセル化 | 既存網を活用 | オーバーヘッド大 |
| トランスレーション | IPv4とIPv6を相互変換(NAT64) | 段階的移行可能 | 複雑な設定 |
実践メモ: 多くのOSやルーターはデフォルトでデュアルスタック対応です。IPv6が利用可能な環境では自動的に優先されます。
IPv4とIPv6の技術的な違い
ヘッダーフィールドの比較
| フィールド | IPv4 | IPv6 |
|---|---|---|
| バージョン | 4ビット | 4ビット |
| ヘッダー長 | 4ビット | なし(固定40バイト) |
| サービスタイプ | 8ビット | 8ビット(Traffic Class) |
| パケット長 | 16ビット | 16ビット(Payload Length) |
| TTL | 8ビット | 8ビット(Hop Limit) |
| プロトコル | 8ビット | 8ビット(Next Header) |
| チェックサム | 16ビット | なし |
| 送信元アドレス | 32ビット | 128ビット |
| 宛先アドレス | 32ビット | 128ビット |
パフォーマンスの違い
IPv4:
- 中継ルーターでフラグメンテーション(分割)可能
- ヘッダーチェックサムを毎回計算(処理コスト高)
IPv6:
- 送信元でのみフラグメンテーション(ルーター負荷低減)
- チェックサム廃止(上位層に委譲、処理高速化)
URLでのIPv6表記
IPv6アドレスをURLで使う場合、[]で囲みます。
# IPv4
http://192.168.1.1/
http://192.168.1.1:8080/
# IPv6([]で囲む)
http://[2001:db8::1]/
http://[2001:db8::1]:8080/
http://[fe80::1%eth0]/ # ゾーンID(リンクローカル用)
ゾーンID: リンクローカルアドレス(
fe80::/10)は複数のインターフェースで重複する可能性があるため、%インターフェース名でインターフェースを指定します。
確認コマンド
IPv4/IPv6アドレスの確認
# Linux/macOS
ip addr show # 両方のアドレス表示
ifconfig # 両方のアドレス表示
# Windows
ipconfig # 両方のアドレス表示
# IPv6のみ表示
ip -6 addr show # Linux
IPv6接続のテスト
# IPv6でpingを送信
ping6 google.com # macOS/古いLinux
ping -6 google.com # 新しいLinux
ping google.com # Windows(自動判定)
# IPv6でのDNS解決確認
dig AAAA google.com # IPv6アドレス(AAAAレコード)を取得
dig A google.com # IPv4アドレス(Aレコード)を取得
IPv6接続可否の確認
# IPv6接続性テスト
curl -6 https://ipv6.google.com/ # IPv6でのHTTP通信
curl -4 https://google.com/ # IPv4でのHTTP通信
IPv6普及状況(2026年)
世界の採用率
| 地域/国 | IPv6普及率(推定) |
|---|---|
| インド | 約70% |
| アメリカ | 約50% |
| ドイツ | 約60% |
| 日本 | 約40% |
| 世界平均 | 約45% |
データ出典: Google IPv6 Statistics(2026年推定値)
まとめ
IPv4とIPv6の最大の違いはアドレス長(32ビット vs 128ビット)です。IPv4枯渇問題により、IPv6への移行が世界中で進んでいます。IPv6はNAT不要、IPsec標準、シンプルなヘッダーにより、より効率的で安全なインターネットを実現します。現在はデュアルスタックで両プロトコルが併用されており、将来的にはIPv6が主流になります。
注意: IPv6では全機器がグローバルアドレスを持つため、ファイアウォール設定が重要です。NATによる「隠蔽」がないことを理解しましょう。
参考リソース
- RFC 8200 - Internet Protocol, Version 6 (IPv6) Specification
- RFC 791 - Internet Protocol (IPv4)
- RFC 4291 - IPv6 Addressing Architecture
- Google IPv6 Statistics
- APNIC - IPv6 Deployment