IPアドレスとは
IPアドレスは、ネットワーク上の機器を識別するための番号です。インターネット上の「住所」に相当します。IPv4とIPv6の2つのバージョンが併用されています。
なぜIPv6が必要か: IPv4アドレスは約43億個に限られ、IANAや多くの地域インターネットレジストリ(RIR)では通常割り当て用の在庫が枯渇しました。NATやアドレス移転でIPv4は現在も使われていますが、より大きなアドレス空間を持つ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のアドレス空間は2128個です。非常に大きいものの、実際の割り当ては経路集約や運用方針も考慮して行います。
アドレス表記の違い
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の代表的なアドレス範囲
| 種類 | 範囲 | 用途 |
|---|---|---|
| プライベート | 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失敗時の自動設定 |
現在のアドレス割り当ては、クラスA・B・CではなくCIDRのプレフィックス長で扱います。
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年以降 多くのRIRで通常割り当て用の在庫が枯渇・制限
枯渇への対策
| 対策 | 説明 | 効果 |
|---|---|---|
| NAT/NAPT | プライベートIPを複数の機器で共有 | 一時的に延命 |
| CIDR | クラスレス表記でアドレスを効率的に割り当て | 無駄を削減 |
| IPv6移行 | 128ビットの新プロトコル導入 | 根本的解決 |
ポイント: NAT/NAPTはIPv4アドレスを共有する手段として広く使われます。一方で接続状態の管理やP2P通信を複雑にします。IPv6は通常、端末へグローバルアドレスを割り当てますが、IPv4との変換にNAT64などを使う構成もあります。
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を生成(ランダム化された一時アドレスなど、方式はOSや設定による)
4. 2つを結合してグローバルユニキャストアドレスを生成
4. IPsecと暗号化
IPv4とIPv6のどちらでもIPsecを利用できます。IPv6を使うだけで通信が自動的に暗号化・認証されるわけではありません。Web通信では、IPのバージョンにかかわらずHTTPSなどを適切に設定します。
5. NATとファイアウォール
IPv6では、アドレス節約のために端末間通信をNATで変換する必要は通常ありません。ただし、IPv4との接続にNAT64などを使う構成や、特殊な目的で変換を行う構成はあります。
IPv4(NAT使用)
[PC] 192.168.1.10 ──┐
[Phone] 192.168.1.11 ├─ [ルーター] 203.0.113.1 ── インターネット
[IoT] 192.168.1.12 ──┘
IPv6(アドレス変換を使わない例)
[PC] 2001:db8::1 ──┐
[Phone] 2001:db8::2 ├─ インターネット
[IoT] 2001:db8::3 ──┘
セキュリティの注意: NATはファイアウォールの代わりではありません。IPv4でもIPv6でも、不要な着信通信を遮断するファイアウォールと適切な公開範囲の設定が必要です。
デュアルスタック
IPv4とIPv6の両方を同時にサポートする方式です。移行方法の代表例ですが、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. クライアントが利用可能な経路と接続候補を判断
3. Happy Eyeballs対応クライアントは、IPv6とIPv4の試行を適切な短い間隔で調整し、利用できる接続を選ぶ
移行戦略の比較
| 方式 | 説明 | メリット | デメリット |
|---|---|---|---|
| デュアルスタック | IPv4/IPv6を両方動作 | 互換性が高い | 両方の運用コスト |
| トンネリング | IPv6をIPv4網内にカプセル化 | 既存網を活用 | オーバーヘッド大 |
| トランスレーション | IPv4とIPv6を相互変換(NAT64) | 段階的移行可能 | 複雑な設定 |
実践メモ: AとAAAAの両方が返っても、常にIPv6だけを先に待つとは限りません。接続順序はOS・ブラウザ・ネットワーク状態・Happy Eyeballsの実装によって変わります。
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:
- 送信元でフラグメンテーション
- 基本ヘッダーにチェックサムなし
これらはプロトコル上の違いであり、IPv6の実効速度が必ずIPv4より速いことを意味しません。
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通信
まとめ
IPv4とIPv6の最大の違いはアドレス長(32ビット vs 128ビット)です。IPv4はNATや移転を伴いながら現在も利用され、IPv6との併用や変換を通じて移行が続いています。DNSではIPv4にA、IPv6にAAAAを使います。接続方式を選ぶときは、対応状況だけでなく経路、監視、ファイアウォール、移行方法まで確認します。
注意: IPv6でもファイアウォール設定が必要です。NATの有無と、通信を許可・拒否するセキュリティポリシーは分けて考えましょう。
参考リソース
- RFC 8200 - Internet Protocol, Version 6 (IPv6) Specification
- RFC 791 - Internet Protocol (IPv4)
- RFC 4291 - IPv6 Addressing Architecture
- RFC 8305 - Happy Eyeballs Version 2
- IANA - IPv4 Address Space Registry
- Google IPv6 Statistics
- APNIC - IPv6 Deployment