インターネット プロトコル バージョン 6 ( IPv6 ) は、ネットワーク上のコンピュータの識別と位置特定システムを提供し、インターネット全体にトラフィックをルーティングする通信プロトコルであるインターネット プロトコル(IP)の最新バージョンです。 IPv6 は、IPv4 アドレス枯渇という長年の懸念事項に対処するためにインターネット技術タスク フォース(IETF)によって開発され、 IPv4を置き換えることを目的としていました。[ 1 ] 1998 年 12 月に IPv6 は IETF のドラフト標準となり、[ 2 ]その後2017 年 7 月 14 日にインターネット標準として承認されました。 [ 3 ] [ 4 ]
インターネット上のデバイスには、識別と位置特定のために固有のIP アドレスが割り当てられます。1990 年代の商用化後のインターネットの急速な成長に伴い、デバイスを接続するには、IPv4 で利用可能だった約 40 億 (2 32 ) のアドレスよりもはるかに多くのアドレスが必要になることが明らかになりました。1998 年までに、IETF は後継プロトコルである IPv6 を正式に策定しました。IPv6 は 128ビットのアドレスを使用し、2 128のアドレス空間(約 40 億、13.4 × 10 38 , 340ウンデシリオン)。IPv4と IPv6 が相互運用できるようにするための移行メカニズムがいくつか考案されていますが、IPv6 は IPv4 との下位互換性がなく、両者は直接相互運用できません。
IPv6は、より広いアドレス空間に加えて、その他の技術的な利点も提供します。特に、階層的なアドレス割り当て方式を可能にすることで、インターネット全体での経路集約を容易にし、ルーティングテーブルの拡張を抑制します。マルチキャストアドレス指定の利用範囲が拡大・簡素化され、サービス配信の最適化がさらに進みます。プロトコルの設計においては、デバイスのモビリティ、セキュリティ、および構成に関する側面も考慮されています。
IPv6 アドレスは、コロンで区切られた4 桁の 8 つの16 進数のグループとして表されます。 [ 5 ]完全な表現は、特定の規則に従って可能な限り短縮する必要があります。たとえば、2001:0db8:0000:0000:0000:8a2e:0370:7334は2001:db8::8a2e:370:7334になります。[ 6 ]

IPv6は、パケット交換型インターネットワーキングのためのインターネット層プロトコルであり、複数のIPネットワーク間でエンドツーエンドのデータグラム伝送を提供し、以前のバージョンのプロトコルであるインターネットプロトコルバージョン4(IPv4)で開発された設計原則に厳密に準拠しています。
IPv6は、より多くのアドレスを提供するだけでなく、IPv4にはない機能も実装しています。ネットワーク接続プロバイダを変更する際のアドレス設定、ネットワーク番号の再割り当て、ルータのアナウンスといった作業を簡素化します。パケットの断片化をエンドポイントに任せることで、ルータでのパケット処理を簡素化します。IPv6サブネットのサイズは、アドレスのホスト識別子部分のサイズを64ビットに固定することで標準化されています。
IPv6のアドレス指定アーキテクチャは、ユニキャスト、エニーキャスト、マルチキャストの3種類の伝送を可能にします。[ 7 ] [ 8 ] : 210 IPv6はブロードキャストを実装していないため、ブロードキャストアドレスの概念はありません。

インターネットプロトコルバージョン4 (IPv4)は、インターネットプロトコルの最初の公開バージョンです。IPv4は、米国国防総省の機関である国防高等研究計画局(DARPA)の研究プロジェクトとして開発され、後にインターネットとワールドワイドウェブの基盤となりました。IPv4は、32ビットの数値識別子を使用するアドレス指定システムを備えています。これらのアドレスは通常、ドット10進表記で、0から255までの範囲の4オクテット(各数値は8ビット)の10進数値として表示されます。したがって、IPv4は2³² 、つまり約43億のアドレスをアドレス指定する能力を提供します。
IPv4では、当初はアドレス枯渇は懸念事項ではありませんでした。このバージョンは、DARPAのネットワーク概念のテストであると当初想定されていたためです。[ 9 ]インターネット運用開始後最初の10年間で、アドレス空間を節約する方法を開発する必要があることが明らかになりました。1990年代初頭、クラスレスネットワークモデルを使用したアドレスシステムの再設計後も、これだけではIPv4アドレス枯渇を防ぐには不十分であり、インターネットインフラストラクチャにさらなる変更が必要であることが明らかになりました。[ 10 ]
2011年2月、インターネット割り当て番号機関(IANA)により、未割り当てのトップレベルアドレスブロック1600万個のIPv4アドレスが5つの地域インターネットレジストリ(RIR)に割り当てられました。[ 11 ]その時点で、各RIRにはまだアドレスプールが残っており、 /8クラスレスドメイン間ルーティング(CIDR)ブロックが1つ残るまで、標準的なアドレス割り当てポリシーを継続することが期待されていました。
その後、RIR からローカル インターネット レジストリ(LIR) には 1,024 アドレス (/22) のブロックのみが提供されました。それ以来、アジア太平洋ネットワーク情報センター(APNIC)、欧州 IP ネットワーク調整センター(RIPE NCC)、ラテンアメリカおよびカリブ海ネットワーク情報センター(LACNIC)、アフリカ ネットワーク情報センター(AFRINIC)、および米国インターネット番号レジストリ(ARIN) の 5 つの RIR すべてがこの段階に達しました。[ 12 ] [ 13 ] [ 14 ] [ 15 ] RIPE NCC は最後にこの段階に達し、2019 年 11 月 25 日に IPv4 アドレスが完全に枯渇したと発表し、[ 16 ] IPv6 の採用のさらなる進展を求めました。
インターネットでは、データはネットワークパケットの形式で送信されます。 IPv6 は、ルータによるパケット ヘッダーの処理を最小限に抑えるように設計された新しいパケット フォーマットを規定しています。 [ 2 ] [ 17 ] IPv4 パケットと IPv6 パケットのヘッダーは大きく異なるため、2 つのプロトコルは相互運用できません。ただし、ほとんどのトランスポート層およびアプリケーション層プロトコルは、IPv6 上で動作するためにほとんどまたはまったく変更する必要はありません。例外は、ファイル転送プロトコル(FTP) やネットワーク タイム プロトコル(NTP) など、インターネット層アドレスを埋め込むアプリケーション プロトコルで、新しいアドレス フォーマットが既存のプロトコル構文と競合する可能性があります。
IPv6 の IPv4 に対する主な利点は、アドレス空間が大きいことです。IPv6 アドレスのサイズは 128 ビットで、IPv4 の 32 ビットと比較すると大きく異なります。[ 2 ]したがって、アドレス空間には 2 128アドレス (約128 ビット) があります。3.4 × 10 38 , 340 ウンデシリオン)。この空間の一部のブロックと特定のアドレスは、特別な用途のために予約されています。
IPv6のアドレス空間は非常に大きいものの、利用可能なアドレスで地理的に飽和させることは、IPv6の設計者の意図ではありませんでした。むしろ、アドレスが長くなることでアドレスの割り当てが簡素化され、効率的な経路集約が可能になり、特殊なアドレス指定機能の実装が可能になります。IPv4では、限られたアドレス空間を最大限に活用するために、複雑なクラスレスドメイン間ルーティング(CIDR)方式が開発されました。IPv6のアドレスのネットワーク識別子部分は通常2⁶⁴アドレスで、IPv4のアドレス空間全体の約40億倍の大きさです。そのため、IPv6では実際のアドレス空間の利用率は小さくなりますが、大きなサブネット空間と階層的な経路集約によって、ネットワーク管理とルーティング効率が向上します。

マルチキャストとは、1回の送信操作でパケットを複数の宛先に送信することであり、IPv6 の基本仕様の一部です。IPv4 では、これはオプションの機能ですが、一般的に実装されています。[ 18 ] IPv6 マルチキャスト アドレス指定は、IPv4 マルチキャストと共通の機能とプロトコルを持っていますが、特定のプロトコルの必要性を排除することで変更と改善も提供しています。IPv6 は、従来のIP ブロードキャスト、つまり特別なブロードキャスト アドレスを使用して接続されたリンク上のすべてのホストにパケットを送信することを実装していないため、ブロードキャスト アドレスを定義していません。IPv6 では、アドレスff02::1のリンクローカル全ノードマルチキャスト グループにパケットを送信することで同じ結果が得られます。これは、IPv4 でアドレス224.0.0.1にマルチキャストするのと同様です。IPv6 では、ランデブー ポイント アドレスを IPv6 マルチキャスト グループ アドレスに埋め込むなど、新しいマルチキャスト実装も提供されており、ドメイン間ソリューションの展開が簡素化されます。[ 19 ]
IPv4 では、組織がグローバルにルーティング可能なマルチキャスト グループ割り当てを 1 つ取得することさえ非常に困難であり、ドメイン間ソリューションの実装は難解です。[ 20 ] IPv6 のローカル インターネット レジストリによるユニキャスト アドレス割り当てには、少なくとも 64 ビットのルーティング プレフィックスがあり、IPv6 で利用可能な最小のサブネット サイズ (これも 64 ビット) が得られます。このような割り当てにより、ユニキャスト アドレス プレフィックスを IPv6 マルチキャスト アドレス形式に埋め込むことができ、同時に 32 ビット ブロック、つまりアドレスの最下位ビット、または約 42 億個のマルチキャスト グループ識別子を提供できます。したがって、IPv6 サブネットの各ユーザーは、マルチキャスト アプリケーション用にグローバルにルーティング可能なソース固有のマルチキャスト グループのセットを自動的に利用できます。[ 21 ]
IPv6 ホストは自動的に自己構成します。すべてのインターフェイスには自己生成されたリンクローカル アドレスがあり、ネットワークに接続されると競合解決が実行され、ルータはルータ 広告を介してネットワーク プレフィックスを提供します。[ 22 ]ルータのステートレス構成は、特別なルータ再番号付けプロトコルを使用して実現できます。[ 23 ]必要に応じて、ホストは動的ホスト構成プロトコル バージョン 6 (DHCPv6)を介して追加のステートフル アドレスまたは静的アドレスを手動で構成できます。
IPv4と同様に、IPv6もグローバルに一意なIPアドレスをサポートしています。IPv6の設計は、ネットワークアドレス変換を不要にすることで、初期のインターネット構築時に考案されたエンドツーエンドのネットワーク設計原則を改めて強調することを目的としていました。そのため、ネットワーク上のすべてのデバイスは、他のどのデバイスからもグローバルに直接アクセス可能です。
安定した一意のグローバルにアドレス指定可能な IP アドレスは、ネットワークをまたいでデバイスを追跡することを容易にします。そのため、このようなアドレスは、ラップトップや携帯電話などのモバイル デバイスにとって特にプライバシー上の懸念となります。[ 24 ]これらのプライバシー上の懸念に対処するために、SLAAC プロトコルには、一般的に「プライバシー アドレス」またはより正確には「一時アドレス」と呼ばれるものが含まれています。[ 25 ]一時アドレスはランダムで不安定です。一般的な消費者向けデバイスは、毎日新しい一時アドレスを生成し、1 週間後に古いアドレス宛のトラフィックを無視します。一時アドレスは、Windows XP SP1 以降、[ 26 ] macOS (Mac OS X) 10.7 以降、Android 4.0 以降、iOS バージョン 4.3 以降でデフォルトで使用されています。Linux ディストリビューションでの一時アドレスの使用は異なります。[ 27 ]
ルーティングプレフィックスが異なる新しい接続プロバイダ用に既存のネットワークを再番号付けすることは、IPv4 では大変な作業です。[ 28 ] [ 29 ]しかし IPv6 では、ホスト識別子 (アドレスの最下位 64 ビット) をホストが独立して自己構成できるため、少数のルータによってアナウンスされるプレフィックスを変更するだけで、原理的にはネットワーク全体を再番号付けできます。[ 22 ] SLAAC アドレス生成方法は実装に依存します。IETF は、アドレスは決定論的であるが意味的に不透明であることを推奨しています。[ 30 ]
インターネット プロトコル セキュリティ(IPsec) は元々 IPv6 用に開発されましたが、最初に広く普及したのは IPv4 で、IPsec は IPv4 用に再設計されました。IPsec はすべての IPv6 プロトコル実装の必須部分でしたが、[ 2 ]インターネットキー交換(IKE) は推奨されていましたが、RFC 6434 により、IPv6 を使用する可能性のあるすべてのタイプのデバイスに完全な IPsec 実装を要求することは非現実的であると考えられたため、IPv6 実装への IPsec の組み込みは推奨事項に格下げされました。[ 31 ]しかし、RFC 4301 以降、IPsec を実装する IPv6 プロトコル実装は IKEv2 を実装し、最小限の暗号アルゴリズムセットをサポートする必要があります。この要件により、異なるベンダーのデバイス間での IPsec 実装の相互運用性が向上します。IPsec 認証ヘッダー (AH) とカプセル化セキュリティ ペイロード ヘッダー (ESP) は IPv6 拡張ヘッダーとして実装されています。[ 32 ]
IPv6 のパケット ヘッダーは IPv4 のヘッダーよりもシンプルです。あまり使用されないフィールドの多くはオプションのヘッダー拡張に移動されています。 IPv6 パケット ヘッダーは、ルータによるパケット転送のプロセスを簡素化しました。 IPv6 パケット ヘッダーは IPv4 パケット ヘッダーの少なくとも 2 倍のサイズですが、基本 IPv6 ヘッダーのみを含むパケットをルータで処理すると、ヘッダーが共通のワード サイズに一致するように整列されているためルータでの処理が少なくなり、場合によってはより効率的になる可能性があります。[ 2 ] [ 17 ]しかし、多くのデバイスは (ハードウェアではなく) ソフトウェアで IPv6 サポートを実装しているため、パケット処理のパフォーマンスが非常に悪くなります。[ 33 ]さらに、多くの実装では、拡張ヘッダーを使用すると、パケットがルータの CPU で処理されるため、パフォーマンスが低下したり、セキュリティ上の問題が発生したりする可能性があります。[ 34 ]
さらに、IPv6 ヘッダーにはチェックサムが含まれていません。IPv4ヘッダーのチェックサムは IPv4 ヘッダーに対して計算され、生存時間( IPv6 プロトコルではホップ制限と呼ばれます) が 1 つ減るたびにルーターによって再計算される必要があります。IPv6 ヘッダーにチェックサムがないことは、ネットワーク内のほとんどの処理がリーフ ノードで行われることを想定したインターネット設計のエンドツーエンドの原則をさらに強化します。IPv6 パケットにカプセル化されたデータの完全性保護は、リンク層と上位層プロトコル、すなわちトランスポート層の伝送制御プロトコル(TCP) およびユーザー データグラム プロトコル(UDP) の両方で保証されていると想定されています。したがって、IPv4 ではUDP データグラムヘッダーにチェックサムがなくても (ヘッダー フィールドで 0 で示される) よかったのに対し、IPv6 では UDP ヘッダーにチェックサムが必要です。
IPv6ルーターはIPフラグメンテーションを実行しません。IPv6ホストは、パスMTU検出を実行するか、エンドツーエンドのフラグメンテーションを実行するか、デフォルトの最大伝送単位(MTU)である1280オクテットを超えないサイズのパケットを送信するかのいずれかを行う必要があります。
モバイルIPv4とは異なり、モバイルIPv6は三角ルーティングを回避するため、ネイティブIPv6と同等の効率性を持ちます。また、IPv6ルーターは、再番号付けを行わずにサブネット全体を新しいルーター接続ポイントに移動させることも可能です。[ 35 ]

IPv6パケットヘッダーの最小サイズは40オクテット(320ビット)です。オプションは拡張機能として実装されます。これにより、コアパケット構造に影響を与えることなく、将来的にプロトコルを拡張する機会が提供されます。[ 2 ]ただし、RFC 7872では、一部のネットワークオペレーターが、トランジット自律システムを通過する際に拡張ヘッダー付きのIPv6パケットを破棄すると指摘しています。
IPv4 では、パケットのペイロードは 65,535 (2 16 − 1)オクテットに制限されます。IPv6 ノードは、オプションでこの制限を超えるパケットを処理できます。これはジャンボグラムと呼ばれ、最大 4,294,967,295 (2 32 − 1)オクテットまで可能です。ジャンボグラムを使用すると、MTU が大きいリンクでのパフォーマンスが向上する可能性があります。ジャンボグラムの使用は、Jumbo Payload Option 拡張ヘッダーで示されます。[ 36 ]

IPv6パケットは、ヘッダーとペイロードの2つの部分から構成されます。ヘッダーは、すべてのパケットに必須となる最小限の機能を持つ固定部分で構成され、特別な機能を実装するためのオプションの拡張機能がそれに続く場合があります。
固定ヘッダーは、IPv6パケットの最初の40オクテット(320ビット)を占めます。これには、送信元アドレスと宛先アドレス、トラフィッククラス、ホップ数、およびヘッダーに続くオプションの拡張機能またはペイロードのタイプが含まれます。この「次のヘッダー」フィールドは、受信側がヘッダーに続くデータをどのように解釈するかを示します。パケットにオプションが含まれている場合、このフィールドには次のオプションのタイプが含まれます。最後のオプションの「次のヘッダー」フィールドは、パケットのペイロードに含まれる上位層プロトコルを指します。
IPv6 トラフィック クラス フィールドの現在の使用法では、これを 6 ビットの差別化サービス コード ポイント[ 37 ]と 2 ビットの明示的輻輳通知フィールド[ 38 ]に分割しています。拡張ヘッダーには、ルーティング、フラグメンテーション、およびIPsecフレームワークを使用したセキュリティなど、ネットワークでのパケットの特別な処理に使用されるオプションが含まれています。特別なオプションがない場合、ペイロードは64 kB未満でなければなりません。ジャンボ ペイロード オプション (ホップ バイ ホップ オプション拡張ヘッダー内) がある場合、ペイロードは 4 GB 未満でなければなりません。IPv4 とは異なり、ルータはパケットをフラグメント化しません。ホストは、パス MTU 検出を 使用して、パケットをフラグメント化せずに宛先に到達できるほど小さくすることが期待されます。IPv6パケットのフラグメンテーションを参照してください。

IPv6 アドレスは128 ビットです。 IPv6 アドレス空間の設計は、IPv4 とは異なる設計思想を採用しています。IPv4 では、サブネット化によって小さなアドレス空間の利用効率を向上させていました。IPv6 では、アドレス空間は当面の間は十分な大きさであると考えられており、ローカル エリア サブネットは常にアドレスのホスト部分に 64 ビットを使用し、インターフェース識別子として指定され、最上位 64 ビットがルーティング プレフィックスとして使用されます。[ 7 ] : 9 IPv6 サブネットはスキャン不可能であるという神話が存在していましたが、RFC 7707では、一部の IPv6 アドレス構成技術とアルゴリズムから生じるパターンにより、多くの実際のシナリオでアドレス スキャンが可能であると指摘しています。[ 39 ]
IPv6 アドレスの 128 ビットは、それぞれ 16 ビットの 8 つのグループで表されます。各グループは 4 つの 16 進数で記述され (時にはhextets [ 40 ] [ 41 ]またはより正式にはhexadectets [ 42 ]と呼ばれ、非公式にはquibbleまたはquad-nibble [ 42 ]と呼ばれます)、グループはコロン (:) で区切られます。この表現の例は2001:0db8:0000:0000:0000:ff00:0042:8329です。
利便性と分かりやすさのために、IPv6アドレスの表現は以下の規則に従って短縮することができます。
これらの規則の適用例:
ループバックアドレスは0000:0000:0000:0000:0000:0000:0000:0001 [ 44 ]と定義され、両方のルールを使用して::1に短縮されます。
IPv6 アドレスには複数の表現方法があるため、IETF はテキストでの表現方法に関する標準案を発行しています。[ 43 ] IPv6 アドレスにはコロンが含まれており、URL ではホストとポート番号を区切るためにコロンを使用するため、URL のホスト部分として使用される IPv6 アドレスは角括弧で囲む必要があります。[ 45 ]例: http://[2001:db8:4006:812::200e]またはhttp://[2001:db8:4006:812::200e]:8080/path/page.html。

IPv6 ホストのすべてのインターフェースには、リンクローカル アドレスが必要です。リンクローカル アドレスは、 fe80:: / 10というプレフィックスを持ちます。このプレフィックスの後には、サブネット化に使用できる 54 ビット(通常はゼロに設定されます)と、64 ビットのインターフェース識別子が続きます。ホストは、DHCP サーバーなどの外部ネットワーク コンポーネントの存在や協力なしに、リンクローカル アドレスの自動構成と呼ばれるプロセスで、インターフェース識別子を自身で計算して割り当てることができます。
リンクローカルアドレスの下位64ビット(サフィックス)は、元々は基となるネットワークインターフェースカードのMACアドレスから派生していました。しかし、このアドレス割り当て方法では、ネットワークカードの故障時にアドレスが意図せず変更される可能性があり、またセキュリティやプライバシーに関する問題も多数存在したため、RFC 8064では、元のMACアドレスに基づく方法をRFC 7217で規定されているハッシュに基づく方法に置き換えました。
IPv6 は、IPv4 のアドレス解決プロトコル(ARP)の機能が基づいているブロードキャストアドレス指定方式をサポートしていないため、IP アドレスをリンク層アドレス ( MAC アドレスなど) にマッピングするための新しいメカニズムを使用します。 IPv6 は、 ICMPv6とマルチキャスト送信に依存する近隣探索プロトコル(NDP、ND) をリンク層で実装します。 [ 8 ] : 210 IPv6 ホストは、IP アドレスのリンク層アドレスを要求する近隣要請メッセージを送信することにより、ローカル エリア ネットワーク(LAN)内での IPv6 アドレスの一意性を検証します。LAN 内の他のホストがそのアドレスを使用している場合、応答します。[ 46 ]
新しい IPv6 インターフェイスを起動するホストは、まず一意のアドレスを生成するために設計された複数のメカニズムのいずれかを使用して、一意のリンクローカル アドレスを生成します。一意でないアドレスが検出された場合、ホストは新しく生成されたアドレスを使用して再試行できます。一意のリンクローカル アドレスが確立されると、IPv6 ホストは、このリンクで LAN がIPv6 をサポートするルータインターフェイスに接続されているかどうかを判断します。これは、送信元としてリンクローカル アドレスを使用して、すべてのルータ[ 47 ]マルチキャスト グループに ICMPv6 ルータ要請メッセージを送信することによって行われます。所定の回数の試行後に応答がない場合、ホストはルータが接続されていないと結論付けます。ルータからルータ 広告と呼ばれる応答を受け取った場合、その応答には、適切なユニキャスト ネットワーク プレフィックスを持つグローバルに一意のアドレスを確立できるようにするためのネットワーク構成情報が含まれます。[ 48 ]また、ホストが DHCP を使用してさらに情報とアドレスを取得する必要があるかどうかを示す 2 つのフラグ ビットがあります。

グローバルアドレスの割り当て手順は、ローカルアドレスの構築と同様です。プレフィックスは、ネットワーク上のルータのアドバタイズメントから提供されます。複数のプレフィックスのアナウンスメントにより、複数のアドレスが設定されます。[ 46 ]
ステートレス アドレス自動構成 (SLAAC) には/ 64アドレス ブロックが必要です。[ 7 ]ローカル インターネット レジストリには少なくとも/ 32ブロックが割り当てられ、それを下位ネットワークに分割します。[ 49 ] 2001 年 9 月の最初の勧告では、エンド コンシューマー サイトに/ 48サブネットを割り当てると述べられていました。 [ 50 ] 2011 年 3 月にこの勧告が改良されました。[ 51 ] IETFは「ホーム サイトに単一の/ 64よりかなり多くのアドレスを割り当てることを推奨しますが、すべてのホーム サイトに/ 48 を割り当てることも推奨しません」。/ 56 のブロックが特に検討されています。ISP がこの勧告に従うかどうかはまだわかりません。たとえば、初期の試験では、Comcast の顧客には単一の/ 64ネットワークが割り当てられました。[ 52 ]
ドメインネームシステム(DNS)では、ホスト名はAAAA(「クワッドA」)リソースレコードによってIPv6アドレスにマッピングされます。逆引き解決のために、IETFはip6.arpaドメインを予約しており、その名前空間はIPv6アドレスのニブル単位(4ビット)の1桁の16進数表現によって階層的に分割されています。[ 53 ]
デュアルスタックホストが完全修飾ドメイン名(FQDN) を解決するために DNS サーバーに問い合わせると、ホストの DNS クライアントは、デフォルトでは、AAAA レコードを問い合わせるリクエストと A レコードを問い合わせるリクエストの 2 つの DNS リクエストをこの順序で送信します。DNS から両方のタイプのアドレスが返され、そのアドレスへのルートが存在する場合、IPv4 アドレスよりも IPv6 アドレスが優先されます。ただし、ホストのオペレーティングシステムは、アドレス選択の別の優先順位で構成されている場合があります。[ 54 ] [ 55 ]
IPv6 の初期 DNS 実装では、ネットワークの再番号付けを容易にするために、別のレコード タイプが使用されました。A6リソースレコードは前方参照に使用され、ビット ストリング ラベルやDNAMEレコードなどの他の多くの革新によって補完されました。[ 56 ]両方の方式の長所と短所についての議論の後、[ 57 ])A6 リソース レコードの使用は実験的ステータスに非推奨になりました。[ 58 ]
IPv6 が IPv4 に即座に取って代わることは想定されていません。両方のプロトコルはしばらくの間、同時に動作し続けます。そのため、 IPv6 ホストが IPv4 サービスにアクセスできるようにし、孤立した IPv6 ホストとネットワークが IPv4 インフラストラクチャを介して相互にアクセスできるようにするために、 IPv6 移行メカニズムが必要です。[ 59 ]
シルビア・ハーゲンによれば、デバイス上で IPv4 と IPv6 のデュアルスタック実装を行うことが、IPv6 への移行の最も簡単な方法である。[ 60 ]他の多くの移行メカニズムは、IPv4 ネットワーク内で IPv6 トラフィックをカプセル化するためにトンネリングを使用し、その逆も同様である。これは不完全な解決策であり、リンクの最大伝送単位(MTU)を減少させるため、パス MTU 検出が複雑になり、レイテンシが増加する可能性がある。[ 61 ] [ 62 ]
デュアルスタックIP実装は、イーサネットなどの一般的な物理層実装の上に、コンピュータまたはネットワークデバイスのオペレーティングシステム内で完全なIPv4およびIPv6プロトコルスタックを提供します。これにより、デュアルスタックホストはIPv6およびIPv4ネットワークに同時に参加できます。[ 63 ]
オペレーティングシステムにデュアルスタック実装を備えたデバイスは、IPv4アドレスとIPv6アドレスの両方を持ち、IPv4またはIPv6のいずれかを使用してLANまたはインターネット上の他のノードと通信できます。DNSプロトコルは、完全修飾ドメイン名とIPアドレスを解決するために両方のIPプロトコルで使用されますが、デュアルスタックでは、解決を行うDNSサーバーが両方のタイプのアドレスを解決できる必要があります。このようなデュアルスタックDNSサーバーは、AレコードにIPv4アドレスを、AAAAレコードにIPv6アドレスを保持します。解決対象の宛先に応じて、DNSネームサーバーはIPv4アドレス、IPv6アドレス、またはその両方を返す場合があります。デフォルトのアドレス選択メカニズム、つまり優先プロトコルは、ホストまたはDNSサーバーのいずれかで構成する必要があります。
IETFは、デュアルスタック アプリケーションが IPv4 と IPv6 の両方を使用して接続できるように支援するHappy Eyeballs を公開しましたが、利用可能な場合は IPv6 接続を優先します。ただし、DNS サーバーが IPv6 アドレスを返すホストとサービス間のすべてのルーターでデュアルスタックを実装する必要もあります。デュアルスタック クライアントは、ネットワークがルーティング プロトコルの IPv6 バージョンを使用して IPv6 パケットを転送できる場合にのみ IPv6 を優先するように構成する必要があります。デュアルスタック ネットワーク プロトコルが実装されると、アプリケーション レイヤーをIPv6 に移行できます。[ 64 ] [ 65 ]デュアルスタックは主要なオペレーティングシステムおよびネットワーク デバイス ベンダーによってサポートされていますが、従来のネットワーク ハードウェアおよびサーバーは IPv6 をサポートしていません。

インターネット サービス プロバイダ(ISP) は、企業および個人顧客に対して、パブリックに公開される IPv6 グローバル ユニキャスト アドレスをますます提供するようになっています。ただし、ローカル エリア ネットワーク (LAN) で IPv4 がまだ使用されており、ISP がパブリックに公開される IPv6 アドレスを 1 つしか提供できない場合、IPv4 LAN アドレスは、ネットワーク アドレス変換(NAT) メカニズムであるNAT64を使用して、パブリックに公開される IPv6 アドレスに変換されます。一部の ISP は、グローバルにルーティング可能な IPv4 アドレス プールを使い果たしているため、顧客にパブリックに公開される IPv4 アドレスと IPv6 アドレスを提供できず、デュアル スタック ネットワークをサポートできません。一方、ISP の顧客は、IPv4 Web サーバーやその他の宛先にアクセスしようとしています。[ 66 ]
すべての地域インターネットレジストリ(RIR)ゾーンのISPのかなりの割合がIPv6アドレス空間を取得しています。これには、Verizon Wireless、StarHub Cable、中部通信、Kabel Deutschland、Swisscom、T-Mobile、Internode、Telefónicaなど、世界の主要なISPやモバイルネットワーク事業者の多くが含まれます。[ 67 ]
一部のISPは依然として顧客にIPv4アドレスのみを割り当てていますが、多くのISPは顧客にIPv6アドレスのみ、またはIPv4とIPv6のデュアルスタックアドレスのみを割り当てています。ISPは、ネットワーク上の顧客からのIPv6トラフィックの割合が20%から40%の間であると報告していますが、2017年半ばの時点では、いくつかの大規模なインターネットエクスチェンジポイント(IXP)では、IPv6トラフィックは総トラフィックのごく一部を占めるに過ぎませんでした。AMS -IXは2%、SeattleIXは7%と報告しています。2017年の調査では、デュアルスタックISPによってサービスを受けている多くのDSL顧客が、完全修飾ドメイン名をIPv6アドレスに解決するようにDNSサーバーを要求していないことがわかりました。この調査ではまた、IPv6対応のWebサーバーリソースからのトラフィックの大部分は依然としてIPv4で要求され、提供されていることもわかりました。これは主に、ISPが提供するデュアルスタック機能を使用していないISP顧客によるものであり、程度は低いものの、IPv4のみのISPの顧客によるものです。[ 68 ]
IPv6 パケットを IPv4 パケットにカプセル化するトンネル化の技術的基礎は、RFC 4213 に概説されています。インターネットのバックボーンが IPv4 のみだった頃は、よく使われていたトンネル化プロトコルの 1 つは6to4でした。[ 69 ]また、IPv6 LAN を IPv4 インターネットのバックボーンと統合するためにTeredo トンネル化もよく使われていました。Teredo は RFC 4380 に概説されており、IPv6 パケットを UDP 内にカプセル化することで、IPv6ローカルエリアネットワークがIPv4 ネットワーク上でトンネル化できるようにします。Teredo リレーは、Teredo サーバーとネイティブ IPv6 ネットワークの間を仲介する IPv6 ルーターです。ISP ネットワークがネイティブ IPv6 に切り替わるまでは 6to4 と Teredo が広く展開されると予想されていましたが、2014 年までに Google Statistics は、両方のメカニズムの使用がほぼ 0 にまで低下したことを示しました。[ 70 ]


ハイブリッドデュアルスタック IPv6/IPv4 実装では、IPv4 マップド IPv6 アドレスという特別なクラスのアドレスが認識されます。[ 71 ] : §2.2.3 [ 7 ]これらのアドレスは通常、標準 IPv6 フォーマットの 96 ビットのプレフィックスで記述され、残りの 32 ビットは IPv4 の慣習的なドット 10 進表記で記述されます。
このグループのアドレスは、80ビットのゼロのプレフィックス、次の16ビットの1、残りの最下位32ビットのIPv4アドレスで構成されます。たとえば、::ffff:192.0.2.128はIPv4アドレス192.0.2.128を表します。以前の形式は「IPv4互換IPv6アドレス」と呼ばれ、::192.0.2.128でしたが、この方法は非推奨です。[ 7 ]
IPv4とIPv6のプロトコルスタックには大きな内部的な違いがあるため、プログラマがIPv6スタックで利用できる低レベル機能の一部は、IPv4マップドアドレスで使用すると同じように動作しません。一般的なIPv6スタックの中には、IPv4マップドアドレス機能を実装していないものがあります。これは、IPv6スタックとIPv4スタックが別々の実装であるため(例:Microsoft Windows 2000、XP、Server 2003)、またはセキュリティ上の懸念があるためです(OpenBSD)。[ 72 ]これらのオペレーティングシステムでは、プログラムは使用するIPプロトコルごとに個別のソケットを開く必要があります。Linuxカーネル、NetBSD、FreeBSDなどの一部のシステムでは、この機能はソケットオプションIPV6_V6ONLYによって制御されます。[ 73 ]: 22
アドレスプレフィックス64:ff9b::/96は、 NAT64移行方法で使用される IPv4 埋め込み IPv6 アドレスのクラスです。[ 74 ]例えば、64:ff9b::192.0.2.128は IPv4 アドレス192.0.2.128を表します。
IPv6の使用により、多くのセキュリティ上の問題が生じる可能性があります。それらのいくつかはIPv6プロトコル自体に関連している可能性があり、その他は実装上の欠陥に関連している可能性があります。[ 75 ] [ 76 ]
ソフトウェアメーカーによってIPv6がデフォルトで有効になっているノードが追加されると、意図せずシャドウネットワークが作成され、IPv4セキュリティ管理しか実装されていないネットワークにIPv6トラフィックが流入する可能性があります。これは、新しいオペレーティングシステムがデフォルトでIPv6を有効にし、古いオペレーティングシステムが有効でない場合にも発生する可能性があります。セキュリティインフラストラクチャをIPv6に対応するように更新しないと、IPv6トラフィックがそれを迂回する可能性があります。[ 77 ]シャドウネットワークは、デフォルトでIPv6スタックが有効になっていないWindows XPシステムを、有効になっているWindows 7システムに置き換える企業ネットワークで発生しています。[ 78 ]そのため、一部のIPv6スタック実装者は、IPv4マップドアドレスを無効にして、IPv4とIPv6の両方をサポートする必要がある場合はデュアルスタックネットワークを使用することを推奨しています。[ 79 ]
研究により、IPv4 と同様に、フラグメンテーションの使用がネットワーク セキュリティ制御を回避するために悪用される可能性があることが示されています。そのため、現在では IPv6 パケットの最初のフラグメントに IPv6 ヘッダー チェーン全体が含まれていることが要求されており[ 80 ] 、非常に悪質なフラグメンテーションのケースは禁止されています。さらに、RA-Guard の回避に関する研究の結果、フラグメンテーションの使用は近隣探索では非推奨となり[ 81 ] 、セキュア近隣探索(SEND)では推奨されていません[ 82 ] 。

インターネットの世界的な成長が見込まれたため、 1990年代初頭にインターネット技術タスクフォース(IETF)は次世代IPプロトコルの開発に着手した。[ 8 ]: 209 1992年初頭までに、拡張されたインターネットアドレスシステムに関するいくつかの提案が現れ、1992年末までにIETFはホワイトペーパーの募集を発表した。[ 83 ]
1993 年 9 月、IETF は、このような問題に特に対処するために、臨時のIP Next Generation (IPng) エリアを創設しました。この新しいエリアはAllison MankinとScott Bradnerが主導し、方向性の設定と予備的な文書レビューを行うために、さまざまなバックグラウンドを持つ 15 人のエンジニアからなるディレクターがいました。[ 10 ] [ 84 ]ワーキンググループのメンバーは、J. Allard (Microsoft)、Steve Bellovin (AT&T)、Jim Bound ( Digital Equipment Corporation )、Ross Callon (Wellfleet)、Brian Carpenter ( CERN)、Dave Clark (MIT )、John Curran (NEARNET)、Steve Deering (Xerox)、Dino Farinacci (Cisco)、Paul Francis (NTT)、Eric Fleischmann (Boeing)、Mark Knopper (Ameritech)、Greg Minshall (Novell)、Rob Ullmann (Lotus)、Lixia Zhang (Xerox) でした。[ 85 ]
インターネット技術タスクフォースは、1994年7月25日にIPngモデルを採用し、いくつかのIPngワーキンググループを結成した。[ 10 ] 1996年までに、 RFC 1883を皮切りに、インターネットプロトコルバージョン6(IPv6)を定義する一連のRFCがリリースされた。(バージョン5は、実験的なインターネットストリームプロトコルで使用された。)
IPv6 を標準化した最初の RFC は、1995 年のRFC 1883でした。 [ 86 ] 1998 年にRFC 2460が IPv6 の RFC になりました。[ 8 ] : 209 2017 年 7 月に RFC 2460はRFC 8200に置き換えられ、IPv6 は「インターネット標準」(IETF プロトコルの最高成熟度レベル)に昇格しました。[ 3 ] RFC 8201は関連する IPv6 標準で、 IP パケットの断片化を回避し、パケット伝送のパフォーマンスを維持するために、許可される最大のパケットサイズを持つ送信元から宛先への最も効率的なネットワーク パスを検出する方法を説明しています。

1993年にインターネットのルーティングとIPアドレス割り当てにクラスレスドメイン間ルーティング(CIDR)が導入され、ネットワークアドレス変換(NAT)が広く使用されるようになったことで、IPv4アドレスの枯渇が遅れ、1999年7月に開始されたIPv6の展開が可能になった。[ 87 ]
大学はIPv6の早期導入者の一つでした。バージニア工科大学は2004年に試験的な場所でIPv6を導入し、その後キャンパスネットワーク全体にIPv6の導入を拡大しました。2016年までに、ネットワーク上のトラフィックの82%がIPv6を使用するようになりました。インペリアル・カレッジ・ロンドンは2003年にIPv6の実験的な導入を開始し、2016年までにネットワーク上のIPv6トラフィックは平均20%から40%になりました。このIPv6トラフィックの大部分は、CERNとの高エネルギー物理学の共同研究によって生成されたもので、この共同研究は完全にIPv6に依存しています。[ 88 ]
ドメインネームシステム(DNS)は2008年からIPv6をサポートしている。同年、IPv6は北京2008夏季オリンピックで初めて主要な世界的イベントで使用された。[ 89 ] [ 90 ]
2011 年までに、パーソナル コンピュータおよびサーバー システムで使用されている主要なオペレーティングシステムはすべて、実用レベルの IPv6 実装を備えていました。携帯電話サービスは3Gから4G技術に移行し、音声はIPv6 の機能を活用する VoIP ( Voice over IP ) サービスとして提供されるようになったため、携帯電話システムはインターネット プロトコル デバイスにとって大きな展開分野となりました。2009 年に、米国の携帯電話事業者Verizon は、同社の「次世代」ネットワークで動作するデバイスの技術仕様を発表しました。[ 91 ]この仕様では、 3GPP リリース 8 仕様 (2009 年 3 月)に従って IPv6 動作が義務付けられ、オプション機能としての IPv4 は非推奨となりました。[ 91 ]
インターネットバックボーンにおける IPv6 の展開は継続した。2018 年時点で、グローバルBorder Gateway Protocol (BGP) ルーティング データベースで IPv4 と IPv6 の両方のプレフィックスをアドバタイズしている自律システムは約 54,000 台あり、そのうち 25.3% のみであった。さらに 243 のネットワークは IPv6 プレフィックスのみをアドバタイズしていた。IPv6 をサポートするインターネットバックボーントランジットネットワークは、アフリカ、中東、中国の一部地域を除き、世界中のすべての国に存在していた。[ 92 ] : 6 2018 年半ばまでに、ヨーロッパの大手ブロードバンドISP の一部は、顧客の大多数に IPv6 を展開していた。Sky UK は顧客の 86% 以上を IPv6 で提供し、Deutsche Telekom はIPv6 を 56% 展開、オランダのXS4ALL は73% 展開、ベルギーのブロードバンド ISP であるVOOとTelenet はそれぞれ IPv6 を 73% と 63% 展開していた。[ 92 ]: 7米国では、ブロードバンドISPのXfinityが約66%のIPv6展開率を達成した。2018年、Xfinityは推定3,610万人のIPv6ユーザーを報告し、AT&Tは2,230万人のIPv6ユーザーを報告した。[ 92 ]: 7-8
2026年6月現在、Googleの統計によると、ユーザーの約50%がIPv6ネイティブ接続を介してGoogleサービスにアクセスしている。[ 93 ]普及率は地域によって大きく異なり、インド、フランス、ドイツなどの国では普及率が70%を超えている一方、他の国では遅れている。[ 94 ]
IPv6 上でHurricane ElectricとCogent Communicationsの間でピアリング紛争が発生しており、両ネットワークプロバイダーはピアリングを拒否している。[ 95 ]
{{cite web}}: CS1 maint: url-status (リンク)では IPsec の実装が義務付けられ、IKE の鍵管理方式が推奨されていました。この文書では、IPsec アーキテクチャ RFC4301 のサポートをすべての IPv6 ノードで推奨するようにすることで、その推奨事項を更新します。