次の方法で共有


インターネット プロトコル バージョン 6 (IPv6) の概要

インターネット プロトコル バージョン 6 (IPv6) は、インターネットのネットワーク層用の標準プロトコルのスイートです。 IPv6 は、アドレスの枯渇、セキュリティ、自動構成、拡張性などに関する現在のバージョンのインターネット プロトコル スイート (IPv4 と呼ばれます) の多くの問題を解決するように設計されています。 IPv6 は、インターネットの機能を拡張して、ピアツーピア アプリケーションやモバイル アプリケーションなど、新しい種類のアプリケーションを有効にします。 現在の IPv4 プロトコルの主な問題を次に示します。

  • アドレス空間の急速な枯渇。

    これにより、複数のプライベート アドレスを 1 つのパブリック IP アドレスにマップするネットワーク アドレス 変換ツール (NAT) が使用されました。 このメカニズムによって生じる主な問題は、処理オーバーヘッドとエンドツーエンド接続の欠如です。

  • 階層のサポートが不足しています。

    固有の定義済みクラス編成のため、IPv4 には真の階層的サポートがありません。 ネットワーク トポロジを真にマップする方法で IP アドレスを構成することはできません。 この重要な設計上の欠陥により、インターネット上の任意の場所に IPv4 パケットを配信するための大きなルーティング テーブルが必要になります。

  • 複雑なネットワーク構成。

    IPv4 では、アドレスを静的に割り当てるか、DHCP などの構成プロトコルを使用する必要があります。 理想的な状況では、ホストは DHCP インフラストラクチャの管理に依存する必要はありません。 代わりに、配置されているネットワーク セグメントに基づいて自身を構成できます。

  • 組み込みの認証と機密性の欠如。

    IPv4 では、交換されたデータの認証または暗号化を提供するメカニズムをサポートする必要はありません。 これは IPv6 で変更されます。 インターネット プロトコル セキュリティ (IPSec) は、IPv6 サポート要件です。

新しいプロトコル スイートは、次の基本的な要件を満たす必要があります。

  • オーバーヘッドが少ない大規模なルーティングとアドレス指定。
  • さまざまな接続状況の自動構成。
  • 組み込みの認証と機密性。

IPv6 アドレス指定

IPv6 では、アドレスの長さは 128 ビットです。 このような大きなアドレス空間の 1 つの理由は、インターネットのトポロジを反映するルーティング ドメインの階層に使用可能なアドレスを分割することです。 もう 1 つの理由は、デバイスをネットワークに接続するネットワーク アダプター (またはインターフェイス) のアドレスをマップすることです。 IPv6 には、アドレスを最下位レベル (ネットワーク インターフェイス レベル) で解決するための固有の機能が備わっています。また、自動構成機能もあります。

テキスト表現

IPv6 アドレスをテキスト文字列として表すために使用される従来の 3 つの形式を次に示します。

  • コロン 16 進数の形式:

    これは、 n:n:n:n:n:n:n:n推奨される形式です。 各 n は、アドレスの 8 つの 16 ビット要素の 1 つの 16 進数の値を表します。 たとえば、 3FFE:FFFF:7654:FEDA:1245:BA98:3210:4562と指定します。

  • 圧縮形式:

    アドレスの長さにより、長い 0 の文字列を含むアドレスが含まれるのが一般的です。 これらのアドレスの記述を簡略化するには、0 ブロックの連続した 1 つのシーケンスが二重コロン記号 (::) で表される圧縮形式を使用します。 この記号は、アドレスに 1 回だけ表示できます。 たとえば、圧縮形式のマルチキャスト アドレス FFED:0:0:0:0:BA98:3210:4562FFED::BA98:3210:4562。 圧縮形式のユニキャスト アドレス 3FFE:FFFF:0:0:8:800:20C4:03FFE:FFFF::8:800:20C4:0。 圧縮形式のループバック アドレス 0:0:0:0:0:0:0:1::1。 圧縮形式の指定されていないアドレス 0:0:0:0:0:0:0:0::

  • 混合形式:

    このフォームは、IPv4 アドレスと IPv6 アドレスを組み合わせた形式です。 この場合、アドレス形式は n:n:n:n:n:n:d.d.d.dされ、各 n は 6 つの IPv6 上位 16 ビット アドレス要素の 16 進値を表し、各 d は IPv4 アドレスの 10 進値を表します。

アドレスの種類

アドレスの先頭のビットは、特定の IPv6 アドレスの種類を定義します。 これらの先頭ビットを含む可変長フィールドは、フォーマット プレフィックス (FP) と呼ばれます。

IPv6 ユニキャスト アドレスは、2 つの部分に分かれています。 最初の部分にはアドレス プレフィックスが含まれており、2 番目の部分にはインターフェイス識別子が含まれています。 IPv6 アドレス/プレフィックスの組み合わせを表す簡潔な方法は、ipv6 アドレス/プレフィックス長です。

64 ビット プレフィックスを持つアドレスの例を次に示します。

3FFE:FFFF:0:CD30:0:0:0:0/64

この例のプレフィックスは 3FFE:FFFF:0:CD30です。 アドレスは、 3FFE:FFFF:0:CD30::/64のように圧縮形式で書き込むこともできます。

IPv6 では、次のアドレスの種類を定義します。

  • ユニキャスト アドレス:

    1 つのインターフェイスの識別子。 このアドレスに送信されたパケットは、識別されたインターフェイスに配信されます。 ユニキャスト アドレスは、上位オクテットの値によってマルチキャスト アドレスと区別されます。 マルチキャスト アドレスの高次オクテットには FF の 16 進値があります。 このオクテットのその他の値は、ユニキャスト アドレスを識別します。 ユニキャスト アドレスの種類は次のとおりです。

    • リンク ローカル アドレス:

      これらのアドレスは 1 つのリンクで使用され、次の形式になります: FE80::*InterfaceID*。 リンク ローカル アドレスは、自動アドレス構成、近隣探索、またはルーターが存在しない場合に、リンク上のノード間で使用されます。 リンク ローカル アドレスは、主に起動時、およびシステムがより大きなスコープのアドレスをまだ取得していない場合に使用されます。

    • サイトローカル アドレス:

    これらのアドレスは 1 つのサイトで使用され、 FEC0::*SubnetID*:*InterfaceID*という形式になります。 サイト ローカル アドレスは、グローバル プレフィックスを必要とせずにサイト内でアドレス指定するために使用されます。

    • グローバル IPv6 ユニキャスト アドレス:

    これらのアドレスはインターネット経由で使用でき、次の形式を使用できます: *GlobalRoutingPrefix*::*SubnetID*:*InterfaceID*

  • マルチキャスト アドレス:

    一連のインターフェイス (通常は異なるノードに属する) の識別子。 このアドレスに送信されたパケットは、アドレスによって識別されるすべてのインターフェイスに配信されます。 マルチキャスト アドレスの種類は、IPv4 ブロードキャスト アドレスよりも優先されます。

  • エニーキャスト アドレス:

    一連のインターフェイス (通常は異なるノードに属する) の識別子。 このアドレスに送信されたパケットは、アドレスによって識別される 1 つのインターフェイスにのみ配信されます。 これは、ルーティング メトリックによって識別される最も近いインターフェイスです。 エニーキャスト アドレスはユニキャスト アドレス空間から取得され、構文的に区別できません。 アドレス指定されたインターフェイスは、ユニキャスト アドレスとエニーキャスト アドレスの区別を構成の関数として実行します。

一般に、ノードには常にリンク ローカル アドレスがあります。 サイト ローカル アドレスと 1 つ以上のグローバル アドレスが含まれます。

IPv6 ルーティング

柔軟なルーティング メカニズムは、IPv6 の利点です。 IPv4 ネットワーク ID の割り当てと割り当て方法により、インターネット バックボーン上のルーターで大きなルーティング テーブルを維持する必要があります。 これらのルーターは、インターネット上の任意のノードに転送される可能性のあるパケットを転送するすべてのルートを認識している必要があります。 IPv6 では、アドレスを集約できるため、柔軟なアドレス指定が可能になり、ルーティング テーブルのサイズが大幅に削減されます。 この新しいアドレス指定アーキテクチャでは、中間ルーターはメッセージを適切に転送するために、ネットワークのローカル部分のみを追跡する必要があります。

近隣探索

近隣探索によって提供される機能の一部は次のとおりです。

  • ルーター検出: これにより、ホストはローカル ルーターを識別できます。
  • アドレス解決: これにより、ノードは対応する次ホップ アドレスのリンク層アドレスを解決できます (アドレス解決プロトコル [ARP] の代わり)。
  • アドレス自動構成: これにより、ホストはサイトローカルアドレスとグローバルアドレスを自動的に構成できます。

近隣探索では、次のような IPv6 (ICMPv6) メッセージに対してインターネット制御メッセージ プロトコルが使用されます。

  • ルーターアドバタイズ: 擬似的に、またはルーターの要請に応じて、ルーターによって送信されます。 IPv6 ルーターは、ルーター アドバタイズを使用して、可用性、アドレス プレフィックス、およびその他のパラメーターをアドバタイズします。
  • ルーター要請: リンク上のルーターがルーターアドバタイズをすぐに送信するように要求するためにホストによって送信されます。
  • 近隣の要請: アドレス解決、重複アドレス検出、または近隣ノードがまだ到達可能であることを確認するために、ノードによって送信されます。
  • 近隣の広告: 近隣の要請に応答したり、リンク層アドレスの変更を近隣のユーザーに通知したりするために、ノードによって送信されます。
  • リダイレクト: 送信ノードの特定の宛先へのより適切な次ホップ アドレスを示すためにルーターによって送信されます。

IPv6 自動構成

IPv6 の重要な目標の 1 つは、ノード プラグ アンド プレイをサポートすることです。 つまり、ノードを IPv6 ネットワークに接続し、人間の介入なしに自動的に構成できるようにする必要があります。

自動構成の種類

IPv6 では、次の種類の自動構成がサポートされています。

  • ステートフルな自動構成:

    この種類の構成では、ノードのインストールと管理に IPv6 (DHCPv6) サーバー用の動的ホスト構成プロトコルが必要であるため、一定レベルの人間の介入が必要です。 DHCPv6 サーバーは、構成情報を提供するノードの一覧を保持します。 また、各アドレスが使用されている期間と再割り当て可能なタイミングをサーバーが認識できるように、状態情報も保持されます。

  • ステートレスな自動構成:

    この種類の構成は、小規模な組織や個人に適しています。 この場合、各ホストは、受信したルーターアドバタイズの内容からアドレスを決定します。 IEEE EUI-64 標準を使用してアドレスのネットワーク ID 部分を定義すると、リンク上のホスト アドレスの一意性を想定するのが妥当です。

アドレスの決定方法に関係なく、ノードは、その潜在的なアドレスがローカル リンクに固有であることを確認する必要があります。 これは、潜在的なアドレスに近隣要請メッセージを送信することによって行われます。 ノードが応答を受信すると、アドレスが既に使用中であることが認識され、別のアドレスを決定する必要があります。

IPv6 モビリティ

モバイル デバイスの急増により、新しい要件が導入されました。デバイスは、IPv6 インターネット上の場所を任意に変更し、既存の接続を維持できる必要があります。 この機能を提供するために、モバイル ノードには、常に到達できるホーム アドレスが割り当てられます。 モバイル ノードが自宅にある場合は、ホーム リンクに接続し、そのホーム アドレスを使用します。 モバイル ノードが自宅から離れている場合、ホーム エージェント (通常はルーター) は、モバイル ノードと通信しているノードの間でメッセージを中継します。

IPv6 を無効または有効にする

IPv6 プロトコルを使用するには、IPv6 をサポートするオペレーティング システムのバージョンを実行していることを確認し、オペレーティング システムとネットワーク クラスが正しく構成されていることを確認します。

構成手順

次の表に、さまざまな構成を示します。

OS IPv6 が有効になっていますか? コード IPv6 が有効になっていますか? 説明
❌ いいえ ❌ いいえ IPv6 アドレスを解析できます。
❌ いいえ ✔️ はい IPv6 アドレスを解析できます。
✔️ はい ❌ いいえ 古い形式としてマークされていない名前解決方法を使用して、IPv6 アドレスを解析し、IPv6 アドレスを解決できます。
✔️ はい ✔️ はい 古いとマークされたメソッドを含むすべてのメソッドを使用して、IPv6 アドレスを解析して解決できます。

IPv6 は既定で有効になっています。 環境変数でこのスイッチを構成するには、 DOTNET_SYSTEM_NET_DISABLEIPV6 環境変数を使用します。 詳細については、「 .NET 環境変数: DOTNET_SYSTEM_NET_DISABLEIPV6」を参照してください。

こちらも参照ください