IPv4 対 IPv6:その違いとは(そしてなぜ重要なのか)
IPAddress-Lookup.com ·
インターネットに接続するすべてのデバイスにはアドレスが必要であり、そのアドレスには「IPv4」と「IPv6」の2種類があります。ネットワーク設定画面をちらっと見たときに、次のような表示を目にしたことがあるかもしれません。 192.168.1.42 といった謎めいた文字列の隣に 2001:0db8:85a3::8a2e:0370:7334といった謎めいた文字列の横に、このような表示が並んでいるのを見たことがあるなら、あなたはすでにこの2つのプロトコルと直接向き合ったことになります。これらは、あるマシンから別のマシンへパケットを届けるという根本的な役割は同じですが、その基盤は大きく異なります。 その違いを理解することは、単なる学術的な雑学ではありません。それは、接続の体感速度や通信の安全性、さらにはインターネットが今後も成長し続けられるかどうかにまで影響を与えるからです。このガイドでは、各プロトコルの概要、機能ごとの比較、移行に時間がかかる理由、そして一般ユーザーやウェブサイト運営者にとってこれが何を意味するのかについて詳しく解説します。
もし「IPアドレス」という用語自体が初めての方は、まず「IPアドレスとは何か」という入門記事をお読みいただき、その後、このページに戻って2つのバージョンについて詳しく学んでみてください。
IPv4とは?
IPv4(Internet Protocol version 4の略)は、1981年に標準化されて以来、インターネットの主力として機能してきました。数十年にわたり、ほぼすべての接続がこのプロトコルに依存しており、現在でもトラフィックの大部分を処理しています。IPv4アドレスは32ビットの数値です。 32ビットでは、2の32乗通りの組み合わせが可能であり、これは4,294,967,296個、つまりおよそ43億個のアドレスに相当します。
32ビットの2進数そのものは人間には読めないため、IPv4アドレスはドット区切り10進法で表記されます。32ビットは「オクテット」と呼ばれる8ビット単位の4つのブロックに分割され、それぞれが0から255までの10進数に変換され、ドットで区切られます。したがって、このアドレス 172.16.254.1 は実際には次の2進数の列となります 10101100.00010000.11111110.00000001となります。各オクテットは256通りの値(0から255)をとることができ、4つのオクテットを掛け合わせると、前述の43億という上限値になります。
アドレスクラスと初期のインターネット
当初、IPv4アドレス空間は厳格なアドレスクラスに分割されていました。クラスAネットワークでは、最初のオクテットをネットワーク部分として使用し、残りの3つのオクテットをホスト用に割り当てていました。これにより、それぞれ約1,600万個のアドレスを持つ、ごく少数の巨大なネットワークが形成されました。 クラスBは中規模ネットワーク向けにアドレスを半分ずつ割り当て、クラスCは3オクテットをネットワーク用、1オクテットをホスト用に割り当てたため、ネットワークあたり254個のアドレスしか使用できませんでしたが、そのようなネットワークの数は非常に多くなりました。クラスDとEは、マルチキャストおよび実験用途のために予約されていました。
このクラスベースのシステムは非効率的でした。300個のアドレスを必要とする組織は、254個のアドレスしか持たないクラスCブロックでは足りず、約6万5000個のアドレスを持つクラスBブロックを割り当てられることになり、その結果、数万個のアドレスが未使用のまま残されてしまいました。 この問題を解決するため、業界はクラスレス・ドメイン間ルーティング(CIDR)に移行しました。CIDRでは、次のようなプレフィックス長を使用して、実際のニーズに合わせてネットワークの規模を調整できます。 /24といったプレフィックス長を用いて、実際のニーズに合わせてネットワークの規模を調整できるようになりました。これらのスラッシュの数字がどのように機能するかを理解したい場合は、サブネット分割とCIDRに関するガイドで詳しく解説しています。
アドレスの枯渇とNATの台頭
1981年、コンピュータがまだ希少で高価な機械だった頃、40億というアドレス数は無限に思えました。しかし、あらゆる電話、ノートパソコン、室温調節器、ドアベル、自動車がそれぞれ独自のアドレスを必要とするようになると、もはや無限には思えなくなりました。 2011年、世界レベルで未割り当てのIPv4アドレスのトップレベルプールが枯渇し、それ以来、地域レジストリは待機リストと再利用されたアドレス空間に基づいて運用を続けています。
IPv4がこれほど長く存続してきた最大の理由は、ネットワークアドレス変換(NAT)にある。NATにより、多くのデバイスが1つのパブリックIPv4アドレスを共有できるようになる。家庭やオフィス内では、デバイスは次のような予約範囲のプライベートアドレスを使用する。 192.168.x.x や 10.x.x.xといった予約範囲から割り当てられたプライベートアドレスを使用します。これらはパブリックインターネット上ではルーティングできません。デバイスがパケットを外部に送信すると、ルーターは送信元アドレスを自身の単一のパブリックIPに書き換え、ポート番号とともにその変換情報をテーブルに記録します。返信が戻ってくると、ルーターはテーブルを参照し、パケットを正しい内部デバイスに転送します。 事実上、数百台のデバイスが1つのパブリックアドレスの背後に隠れていることになります。NATはインターネットにさらに10年か20年の猶予をもたらしましたが、どのホストも他のホストに直接アクセスできるという、当初のエンドツーエンドの設計を崩してしまいました。今、ご自身のパブリックIPv4アドレスが何なのか気になりませんか?当社の「What Is My IPv4」ツールを使えば、即座に確認できます。
IPv6とは?
IPv6は、1990年代後半に、アドレス枯渇問題を完全に解決するために特別に設計されました。 IPv6アドレスは32ビットではなく、128ビットの長さです。これは単に4倍大きいというのではなく、天文学的な規模です。2の128乗はおよそ340ウンデシリオン個のアドレスに相当し、 これは39桁の数字です(正確には340,282,366,920,938,463,463,374,607,431,768,211,456)。 これを具体的に例えるなら、地球上の砂粒ひとつひとつに数兆個のアドレスを割り当てても、まだ余るほどです。IPv6においては、アドレスの不足は全く問題になりません。
128ビットの数はドット区切り10進数では長すぎるため、IPv6では16進数表記が使用されます。アドレスは、次のようにコロンで区切られた4桁の16進数からなる8つのグループとして記述されます: 2001:0db8:85a3:0000:0000:8a2e:0370:7334。各グループは16ビットを表し、数字は0から9、そしてaからfまで使用されます。
短縮ルールと二重コロン
IPv6アドレスは長く、多くの場合ゼロが多数含まれるため、2つの短縮規則によって扱いやすくなっています。まず、各グループの先頭のゼロは省略できるため、 0db8 は db8 となり、 0000 となり 0となります。次に、連続する「すべてゼロ」のグループ1つを二重コロン ::に置き換えることができます。両方の規則を適用すると、上記のアドレスは次のようにきれいに短縮されます:
- 完全な形式:
2001:0db8:85a3:0000:0000:8a2e:0370:7334 - 圧縮後:
2001:db8:85a3::8a2e:370:7334
「 :: はアドレス内に一度しか出現できません。そうでなければ、それがいくつのゼログループを表しているのか判別できなくなるからです。IPv4ではお馴染みの 127.0.0.1ですが、IPv6では単に ::1 となります。
自動設定、SLAAC、およびリンクローカル
IPv6の最も洗練された機能の一つが、ステートレス・アドレス自動設定(SLAAC)です。 IPv4では、デバイスは通常、DHCPサーバーからアドレスを取得しますが、そのサーバーは稼働しており、管理されている必要があります。SLAACでは、デバイスは、ローカルルーターから通知されたネットワークプレフィックスと、自身のハードウェアから導出されたインターフェース識別子を組み合わせることで、独自の有効なグローバルアドレスを生成できます。基本的な接続には、中央サーバーは必要ありません。
また、すべてのIPv6インターフェースは、 fe80::/10 範囲のリンクローカルアドレスを自動的に取得します。このアドレスはローカルネットワークセグメント内でのみ機能し、その外へルーティングされることはありませんが、グローバルアドレスが割り当てられる前の電源投入直後から、デバイスが近隣デバイスやルーターと通信できるようにします。 重要な点として、すべてのデバイスがグローバルに一意のアドレスを持つことができるため、IPv6は本来のエンドツーエンドモデルを復活させ、アドレスの節約のためにNATが不要になります。お使いの接続にすでにIPv6アドレスが割り当てられているかどうかを確認するには、「What Is My IPv6」にアクセスしてください。
IPv4 対 IPv6:機能ごとの比較
以下の表では、中核となる技術的な違いを並べて示しています。これは、実運用において2つのプロトコルの挙動がなぜこれほど異なるのかを理解するための最も手っ取り早い方法です。
| 機能 | IPv4 | IPv6 |
|---|---|---|
| アドレスの長さ | 32ビット | 128ビット |
| アドレス総数 | 約43億 | 約340ウンデシリオン |
| 表記法 | ドット区切り10進数 (192.168.1.1) | コロン区切りの16進数 (2001:db8::1) |
| ヘッダーサイズ | 可変、20~60バイト | 固定の 40 バイト、処理が簡単 |
| ヘッダーの複雑さ | 多くのフィールドがあり、チェックサムを含む | 簡素化されており、チェックサムはなく、拡張ヘッダーがある |
| セキュリティ(IPsec) | オプション、後から追加された | 最初から設計に組み込まれている |
| 自動設定 | 手動またはDHCPが必要 | SLAACにより自動設定が可能 |
| NAT | IPアドレスの節約のために広く利用されている | 節約には不要 |
| アドレスの割り当て | ブロードキャスト、ユニキャスト、マルチキャスト | ユニキャスト、マルチキャスト、エニーキャスト(ブロードキャストなし) |
| フラグメンテーション | ルーターおよび送信ホストによって行われる | 送信ホストのみが実行 |
| 導入年 | 1981 | 1998年(導入継続中) |
これらの項目のうち、いくつかについて詳しく見ておく価値があります。IPv6のヘッダーは40バイトに固定されており、ヘッダーチェックサムを含め、IPv4ルーターがパケットごとに検査しなければならなかったいくつかのフィールドが削除されています。フィールド数が減ったことで、ルーターはパケットをより効率的に処理できるようになりました。アドレス指定の面では、IPv6はブロードキャストを完全に廃止しています。 IPv4のブロードキャストは、セグメント上のすべてのデバイスにパケットを送信するため、ネットワーク上のトラフィックが煩雑になり、非効率的です。IPv6では、これを対象を絞ったマルチキャスト(特定のグループへの送信)に置き換え、アニキャスト(複数の同等のホストのうち最も近いものへの送信)を導入しており、これらはいずれもはるかにスケーラブルです。
移行がこれほど遅れている理由
IPv6は20年以上前から実運用可能な状態でしたが、世界的な普及率は依然として完全なカバー率には程遠い水準にとどまっています。なぜ移行はこれほど遅々として進まないのでしょうか?その根本的な理由は、IPv4とIPv6が直接相互運用できないことにあります。 IPv6専用ホストは、間に変換層がなければ、IPv4専用ホストと通信することができません。つまり、インターネットは単にスイッチを切り替えるだけでは済まないのです。非常に長い移行期間中、両方のプロトコルを並行して運用しなければなりません。
この遅れには他にも要因が重なっている:
- NATがあまりにもうまく機能しすぎたことです。NATはIPv4の枯渇を乗り切れるようにしたため、移行への差し迫った圧力を取り除いてしまいました。
- IPv4しか理解できないレガシーなハードウェアやソフトウェアが、依然として無数のネットワークで稼働している。
- コストと慣性。スタッフの再教育、ファイアウォールルールの更新、アプリケーションのIPv6対応テストは、実施する組織にとって即座の利益がほとんど得られない、実質的な作業である。
デュアルスタックと移行メカニズム
最も一般的な橋渡し手段はデュアルスタックであり、デバイスやネットワークが IPv4 と IPv6 を並行して実行するものです。デュアルスタック対応デバイスは IPv4 アドレスと IPv6 アドレスの両方を保持し、両エンドポイントがサポートするプロトコルのいずれかを使用しますが、利用可能な場合は IPv6 を優先します。 デュアルスタックはシンプルな方式ですが、2つの完全なネットワーク構成を同時に維持する必要があります。これが、移行がこれほど緩やかで、ほとんど目立たない形で進んできた理由です。つまり、デバイスは可能な場合は静かにIPv6を優先し、やむを得ない場合はIPv4にフォールバックするからです。
ネットワークセグメントが1つのプロトコルしかサポートしていない場合、トンネリングが機能します。トンネリングとは、互換性のないインフラを travers できるように、一方のプロトコルのパケットをもう一方のプロトコルのパケットでカプセル化する技術です。例えば、「6to4」と呼ばれる技術では、IPv6パケットをIPv4パケット内にカプセル化し、IPv4のみのネットワーク上でIPv6トラフィックを伝送します。 NAT64などの変換技術はさらに一歩進んで、IPv6パケットを能動的にIPv4パケットに書き換え(その逆も同様)、IPv6のみのクライアントがIPv4のみのサーバーにアクセスできるようにします。これらの仕組みにより、移行中のインターネットは一体として維持されていますが、その代償として複雑さが増しています。
パフォーマンスに関する考察
IPv6 によって接続速度は向上するのでしょうか?正直な答えは、「場合によっては、わずかに向上することもありますが、人々が想定している理由によるものではありません」です。IPv6 自体は、IPv4 よりも速くデータを転送するわけではありません。しかし、現実の世界では 2 つの要因が IPv6 に優位性をもたらす可能性があります。第一に、その単純で固定サイズのヘッダーにより、ルーターはわずかにオーバーヘッドを減らしてパケットを処理できます。 第二に、そしてより重要な点として、IPv6トラフィックは、IPv4が通過しなければならないNATの層を回避できることが多いのです。 NATを経由するたびに、わずかな遅延と変換ルックアップが発生し、キャリアグレードNAT(ISP自体が1つのアドレスを多数の顧客で共有する方式)では、顕著な遅延が生じることがあります。IPv6はエンドツーエンドの直接接続を回復させることで、こうした迂回経路を排除できます。
大規模なコンテンツネットワーク全体で実施された測定テストでは、IPv6接続はIPv4接続よりもわずかに高速に完了することが頻繁に見られますが、その差は小さく、経路によって異なります。 ほとんどの人にとって、このパフォーマンスの差は実感できないほどです。より大きな実用上のメリットはアーキテクチャ面にあります。ピアツーピアアプリケーション、ゲーム、ビデオ通話において、NAT通過に伴う煩わしさがなくなり、双方が実際に到達可能なアドレスを持っている場合、これらすべてがよりスムーズに動作します。
一般ユーザーにとっての意味
一般的な家庭やモバイルユーザーにとっての朗報は、この移行がユーザーに気づかれないように設計されており、何もする必要がないということです。 オペレーティングシステム、ルーター、スマートフォンはすべて、デュアルスタックを自動的に処理します。ウェブサイトにアクセスする際、ユーザー側とサイトの双方がIPv6に対応していれば、デバイスは自動的にIPv6を選択し、そうでない場合はIPv4に切り替わります。ユーザーが意識する必要はほとんどありません。
これが表面化するのは、トラブルシューティングやプライバシーの場面です。IPv6はデバイスに世界的に一意のアドレスを割り当てるため、追跡を懸念する人もいます。最新のオペレーティングシステムでは、アドレスのホスト部分を定期的に変更するプライバシー拡張機能によってこの問題に対処しており、IPv6アドレスが恒久的な指紋となることはありません。覚えておくべき実用的なポイントは以下の通りです:
- ご自宅のネットワークでは、ほぼ間違いなくIPv4と並行してIPv6がすでに使用されています。
- IPv4アドレスとIPv6アドレスを同時に保有している可能性があります。
- IPv6アドレスは一見すると難しそうに見えますが、実際に手入力したり暗記したりする必要はほとんどありません。
- ルーターのファームウェアやデバイスを最新の状態に保つことが、両方のプロトコルをスムーズに動作させるためにできる最善の対策です。
ウェブサイト運営者にとっての意味
ウェブサイトやオンラインサービスを運営している場合、IPv6を無視していると、知らず知らずのうちにリーチが縮小してしまいます。 モバイルネットワークや家庭向け ISP のうち、IPv6 を優先する割合が増加しており、キャリアグレード NAT の背後で顧客に IPv6 接続のみを提供している場合もあります。IPv6 経由でサイトを提供することで、ユーザーは混雑した変換ゲートウェイを経由せずに直接サイトにアクセスできるようになり、信頼性が向上し、体感速度も向上する可能性があります。
ウェブサイト運営者が取るべき具体的な対策は以下の通りです:
- DNSに、サーバーのIPv6アドレスを指すAAAAレコード(Aレコードに相当するIPv6レコード)を追加します。
- ホスティングプロバイダーやCDNがIPv6に対応しているか確認してください。主要なプロバイダーの多くは追加費用なしで対応しています。
- ファイアウォールやアプリケーションのログ記録が、より長いIPv6アドレスの形式を正しく処理できるかテストします。
- デュアルスタックで運用し、両方のプロトコルに対応することで、どの訪問者も取り残さないようにします。
使用しているバージョンを確認する方法
確認は簡単です。コマンドラインで、 ipconfig Windowsの場合は、または ifconfig / ip addr macOS および Linux では、以下のコマンドを実行し、アドレスを確認してください。ドット区切りの10進数で表記されているものは IPv4、コロンで区切られているものは IPv6 です。 fe80:: で始まるアドレスは、ローカルネットワーク内でのみ機能するリンクローカルIPv6アドレスであり、グローバルIPv6アドレスは通常、 2000::/3 の範囲から始まります。最も簡単な方法は、ブラウザを開いてオンライン検索ツールを利用することです。これにより、コマンドライン操作を一切行わなくても、インターネットに公開されているアドレスを即座に確認できます。「What Is My IPv4 address」と「What Is My IPv6 address」を確認して、ネットワークがインターネットに対してどのようなアドレスを公開しているかを正確に把握してください。
よくある質問
IPv6はIPv4を完全に置き換えるのでしょうか?
最終的にはそうですが、一朝一夕には起こりません。現在、デュアルスタックを通じて両プロトコルは並行して稼働しており、レガシーなハードウェアやソフトウェアの膨大な導入基盤があるため、IPv4は今後何年も引き続き使用されるでしょう。これは、急激な切り替え(ハードカットオーバー)ではなく、長期にわたる段階的な移行だと考えてください。
IPv4デバイスはIPv6デバイスと直接通信できますか?
直接にはできません。2つのプロトコルはパケットレベルで相互運用できないためです。両者間の通信には、NAT64のような変換メカニズム、あるいは両方のプロトコルに対応するデュアルスタックの中継装置が必要です。このネイティブな相互運用性の欠如こそが、移行にこれほど時間がかかっている主な理由です。
IPv6はIPv4よりも高速ですか?
通常はわずかに速い程度です。IPv6はデータ転送速度そのものが速いわけではありませんが、ヘッダーが単純で、余分なNAT層を回避できるため、一部の経路では遅延を低減できます。より重要な利点は、ゲーム、ビデオ通話、ピアツーピア(P2P)アプリにおける、よりスムーズな直接接続です。日常的なウェブ閲覧では、劇的な違いを感じることはまずないでしょう。
IPv6はIPv4よりも安全ですか?
IPv6は当初からIPsecのサポートが組み込まれて設計されていますが、IPv4ではこれはオプションの追加機能でした。とはいえ、実際のセキュリティは、プロトコルのバージョンそのものよりも、ネットワークの構成やファイアウォールの設定に大きく依存します。IPv6は、単に新しいというだけで自動的に安全になるわけではありません。
なぜ、192.168.1.5のようなプライベートIPv4アドレスがまだあるのですか?
これは、ローカルネットワーク内のルーターによって割り当てられたプライベートアドレスであり、まったく正常な状態です。ルーターはNATを使用して、1つのパブリックIPv4アドレスをすべてのデバイスで共有しています。プライベートアドレスがパブリックインターネット上に表示されることは決してなく、表示されるのはルーターのパブリックアドレスのみです。
自分の接続がどのアドレスを使用しているかを確認するにはどうすればよいですか?
最も手っ取り早い方法は、オンラインの検索ツールを利用することです。「What Is My IPv4 address」と「What Is My IPv6 address」を確認すれば、ネットワークがインターネットに対してどのようなアドレスを提示しているかを正確に把握できます。IPv6の結果が空の場合、お使いのネットワークまたはISPではまだIPv6が有効になっていないことを意味します。