IPv4 と IPv6 の違い

入門 | 9分 で読める | 2026.05.02

公式ドキュメント

IPアドレスとは

IPアドレスは、ネットワーク上の機器を識別するための番号です。インターネット上の「住所」に相当します。IPv4とIPv6の2つのバージョンが併用されています。

なぜIPv6が必要か: IPv4アドレスは約43億個に限られ、IANAや多くの地域インターネットレジストリ(RIR)では通常割り当て用の在庫が枯渇しました。NATやアドレス移転でIPv4は現在も使われていますが、より大きなアドレス空間を持つIPv6への移行が進んでいます。

IPv4とIPv6の基本比較

DNSのAとAAAAからIPv4とIPv6の候補を得たDual Stack Clientが利用できる経路を選ぶ図

主要な違い

項目IPv4IPv6
アドレス長32ビット128ビット
アドレス数約43億個(2^32)約340澗個(2^128)
表記10進数(ドット区切り)16進数(コロン区切り)
192.168.1.12001: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:00012001:db8::1
fe80:0000:0000:0000:0204:61ff:fe9d:f156fe80::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/16DHCP失敗時の自動設定

現在のアドレス割り当ては、クラス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バイトで、追加情報は拡張ヘッダーに分けます。形式が単純化されていますが、実際の通信速度は回線、経路、実装、サーバーなどにも左右されます。

項目IPv4IPv6
ヘッダーサイズ可変(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の技術的な違い

ヘッダーフィールドの比較

フィールドIPv4IPv6
バージョン4ビット4ビット
ヘッダー長4ビットなし(固定40バイト)
サービスタイプ8ビット8ビット(Traffic Class)
パケット長16ビット16ビット(Payload Length)
TTL8ビット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の有無と、通信を許可・拒否するセキュリティポリシーは分けて考えましょう。

参考リソース

← 一覧に戻る
PR
PR
PR
PR