Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

IPv6近隣探索

近隣探索は、IPv6 トラフィックに使用されるプロトコルで、同じリンク上の異なるノードがその存在をネイバーにアドバタイズし、ネイバーの存在について学習することを可能にします。

IPv6近隣探索の概要

ネイバー探索は、同じリンク上の異なるノードがネイバーにその存在をアドバタイズし、ネイバーの存在について学習できるようにするプロトコルです。

ルーターとホスト(ノード)は、近隣検索(ND)メッセージを使用して、接続されたリンク上にあるネイバーのリンク層アドレスを特定し、無効なキャッシュ エントリーを上書きします。また、ホストはNDを使用して、ホストに代わってパケットを転送できる隣接ルーターを検索します。

さらに、ノードはNDを使用して、ネイバーに到達する機能を積極的に追跡します。ルーター(またはルーターへのパス)に障害が発生すると、ノードは宛先に到達するための代替ルートを積極的に検索します。

このセクションでは、以下のトピックについて説明します。

IPv4プロトコルからの改善点

IPv6近隣探索は、ARP、ICMPルーター探索、およびICMPリダイレクトという多くのIPv4プロトコルに対応しています。ただし、近隣検索では、IPv4 のプロトコル セットに比べて多くの点が改善されています。これらの改善により、次のことに対処します。

  • ルーターディスカバリー:接続されたリンク上にあるルーターをホストが見つける方法。

  • プレフィックス検出—ホストが接続されたリンク上にある宛先のアドレスプレフィックスを検出する方法。ノードはプレフィックスを使用して、接続されたリンク上に存在する宛先と、ルーターを介してのみ到達できる宛先を区別します。

  • パラメータ検出:ノードが発信パケットに配置するさまざまなパラメータ(リンクパラメータまたはインターネットパラメータ)を学習する方法。

  • アドレス解決 - ノードが宛先 IPv6 アドレスのみを使用して、接続されたリンク上の宛先のリンク層アドレスを決定する方法。

  • ネクストホップ決定 - ノードが IPv6 宛先アドレスを、宛先へのトラフィック送信を計画しているネイバー IPv6 アドレス(ネクストルーターホップまたは宛先自体)にマッピングするために使用するアルゴリズム。

  • ネイバー到達不能検出—ノードがネイバーに到達できなくなったと判断する方法。

  • アドレスの重複検出:アドレスが別のノードですでに使用されているかどうかをノードが判断する方法。

ルーターは、各マルチキャスト インターフェイスからルーター アドバタイズメントを定期的にマルチキャストして、その可用性を通知します。ホストは、アドレスの自動設定と隣接ルーターのリンクローカル アドレスの検出のために、これらのアドバタイズをリッスンします。ホストが起動すると、ルーター要請をマルチキャストして、即時アドバタイズを要求します。

ルーター ディスカバリー メッセージは、ルーティング プロトコルを構成しません。これにより、ホストは隣接ルーターの存在を検出できますが、特定の宛先に到達するのに最適なルーターを判断するために使用されることはありません。

近隣探索では、インターネット制御メッセージ プロトコル バージョン 6(ICMPv6)メッセージ(ルーター要請、ルーター アドバタイズメント、ネイバー要請、ネイバー アドバタイズメント、およびリダイレクト)を使用します。

IPv6 の近隣探索は、IPv4 プロトコル (RDISC(ルーター探索)、ARP(アドレス解決プロトコル)、ICMPv4 リダイレクトに代わるものです。

Junos OS リリース 9.3 以降では、セキュア近隣探索(SEND)がサポートされています。SEND を使用すると、近隣検索プロトコル (NDP) メッセージをセキュリティで保護できます。リンク上の物理的なセキュリティが保証されておらず、NDPメッセージへの攻撃が懸念される環境に適用できます。Junos OSは、暗号で生成されたアドレス(CGA)を通じてNDPメッセージを保護します。

ルーターの検出

ルーターアドバタイズメントには、プレフィックスのリストを含めることができます。これらのプレフィックスは、アドレスの自動設定、オンリンク(同じデータリンク上)プレフィックスのデータベースの維持、および重複アドレス検出に使用されます。ノードがオンリンクの場合、ルーターはそのノードにパケットを転送します。ノードがオンリンクでない場合、パケットは次のルーターに送信され、検討されます。IPv6の場合、プレフィックスリスト内の各プレフィックスには、プレフィックス長、プレフィックスの有効ライフタイム、プレフィックスの優先ライフタイム、オンリンクフラグ、自動設定フラグを含めることができます。この情報により、アドレスの自動設定や、最大送信単位(MTU)サイズやホップ制限などのリンクパラメータの設定が可能になります。

Junos OS リリース 22.4R1 以降は、NAT64 IPv6 アドレス プレフィックス ルーター アドバタイズメントをサポートしています。ルーターは、設定されたNAT64 IPv6アドレスプレフィックスをルーターアドバタイズパケットでアドバタイズします。インターフェイスごとに最大 3 つの NAT64 IPv6 アドレス プレフィックスを設定できます。

コマンドを使用して、NAT64 IPv6アドレスプレフィックスを設定できます set protocols router-advertisement interface <interface-name> nat-prefix <prefix>.

コマンドを使用して、ルーターのアドバタイズ時間を設定できます set protocols router-advertisement interface <interface-name> nat-prefix <prefix> lifetime <lifetime>.

アドレス解決

IPv6では、ICMPv6近隣探索は、ネットワークアドレスをリンクレベルアドレスに解決するためのアドレス解決プロトコル(ARP)に置き換わります。近隣探索は、リンク層アドレス、インバウンドロードバランシング、エニーキャストアドレス、およびプロキシアドバタイズメントの変更も処理します。

ターゲット ノードのリンク層アドレスを要求するノードは、ターゲット アドレスを使用してネイバー送信要求メッセージをマルチキャストします。ターゲットは、そのリンク層アドレスを含む近隣アドバタイズメッセージを送り返します。

ネイバー要請およびアドバタイズメッセージは、同一リンク上の重複ユニキャストアドレスを検出するために使用されます。IP アドレスの自動設定は、そのリンクに重複するアドレスがあるかどうかによって異なります。重複アドレスの検出は、自動構成の要件です。

ネイバー要請メッセージとアドバタイズメッセージは、ネイバー到達不能の検出にも使用されます。ネイバー到達不能検知では、特定のリンク上にターゲットノードが存在することを検知します。

リダイレクト

リダイレクトメッセージは、特定の宛先またはオンリンクネイバーへのより優れたネクストホップルーターをホストに通知するために送信されます。これは、ICMPv4リダイレクトと似ています。ICMPv4リダイレクト機能と非常によく似ていますが、ICMPv6リダイレクトメッセージは、特定の宛先に対するより良いネクストホップをオンリンクホストに通知するためにルーターによって使用されます。その目的は、ホストが可能な限り最も効率的なローカルルーティングの決定を行えるようにルーターを使用することです。

SLAAC

ネットワークにもたらされるその他の機能強化に加えて、近隣検索ではアドレスの自動構成、つまりステートレス アドレス自動構成 (SLAAC) も可能になります。IPv6 では、DHCPv6 によるステートフル アドレス割り当て(および静的割り当て)の機能が維持されますが、SLAAC は多くの状況で望ましい軽量のアドレス構成方法を提供します。

SLAAC は、次の 2 つのフェーズでプラグアンドプレイ IP 接続を提供します。 フェーズ 1: リンクローカル アドレス割り当て。次に、フェーズ 2: グローバル アドレスの割り当て。

  • フェーズ 1 - ローカル接続の手順:

    1. リンクローカルアドレスの生成: マルチキャスト対応の IPv6 対応インターフェイスが起動するたびに、ノードはそのインターフェイスのリンクローカルアドレスを生成します。これは、リンクローカルプレフィックス(FE80::/10)にインターフェイス識別子を追加することによって行われます。自動生成されたリンクローカル アドレスは削除できません。ただし、新しいリンクローカル アドレスを手動で入力すると、自動生成されたリンクローカル アドレスが上書きされます。

    2. 重複データ検出: ノードは、新しいリンクローカルアドレスをそのインターフェイスに割り当てる前に、そのアドレスが一意であることを確認します。これは、新しいアドレス宛てに近隣要請メッセージを送信することによって実現されます。応答がある場合、アドレスは重複しており、プロセスは停止し、オペレーターの介入が必要になります。

    3. リンクローカルアドレス割り当て:アドレスが一意の場合、ノードはそれが生成されたインターフェイスにそれを割り当てます。

    この時点で、ノードは、同じリンク上の他のすべてのノードに IPv6 接続を持っています。フェーズ 2 は、ホストのみが完了できます。ルーターのインターフェイスアドレスは、他の方法で設定する必要があります。

  • フェーズ 2 — グローバル接続の手順:

    1. ルーターアドバタイズメント:ノードはルーターアドバタイズメントを送信して、すべてのオンリンクルーターにルーターアドバタイズメントを送信するように促します。ルーターがステートレス自動設定サポートを提供できる場合、ルーターアドバタイズメントには、隣接するホストが使用するサブネットプレフィックスが含まれます。

    2. グローバルアドレス生成:ルーターからサブネットプレフィックスを受信すると、ホストは指定されたプレフィックスにインターフェイスIDを追加してグローバルアドレスを生成します。

    3. 重複アドレス検出:ホストは、今度は新しいグローバル アドレスに対して重複アドレス検出(DAD)を再度実行します。4.グローバルアドレスの割り当て:アドレスが重複していないと仮定して、ホストはそれをインターフェイスに割り当てます。

    このプロセスにより、手動によるホスト設定やルーター設定をほとんど行わずに、完全なIPv6グローバル接続が保証されます。

サポートされているICMPルーター検出およびIPv6近隣探索標準

Junos OSは、インターネット制御メッセージプロトコル(ICMP for IP version 4 [IPv4])および近隣探索(IPバージョン6 [IPv6])の標準を定義する以下のRFCを実質的にサポートしています。

  • RFC 1256、 ICMPルーターディスカバリメッセージ

  • RFC 4861、 IPバージョン6(IPv6)の近隣探索

  • RFC 2463、 インターネットプロトコルバージョン6(IPv6)仕様のインターネット制御メッセージプロトコル(ICMPv6)

  • RFC 4443、 インターネットプロトコルバージョン6(IPv6)仕様のインターネット制御メッセージプロトコル(ICMPv6)

  • RFC 4862、 IPv6ステートレスアドレス自動設定

  • RFC 8335、 プローブ:インターフェイスをプローブするためのユーティリティ

例:IPv6 インターフェイスの設定とネイバー探索の有効化

この例では、IPv6近隣探索メッセージを送信するようにルーターまたはスイッチを構成する方法を示します。

必要条件

この例では、デバイスの初期化以上の特別な設定は必要ありません。

概要

この例では、サンプルトポロジーのすべてのインターフェイスがIPv6アドレスで設定されています。IPv6 機能を LAN、データセンター、または顧客のネットワークに拡張する場合は、ステートレス アドレス自動構成 (SLAAC) を使用することをお勧めします。つまり、ルーターのアドバタイズメントを構成します。SLAAC は、IPv4 の DHCP と同様の機能を提供する IPv6 プロトコルです。SLAAC を使用すると、ネットワーク ホストは、ルーター アドバタイズメントで近くのルーターから提供されるプレフィックスに基づいて、グローバルに一意な IPv6 アドレスを自動設定できます。これにより、ネットワークの特定のセクションのすべてのインターフェイスを明示的に設定する必要がなくなります。ルーター アドバタイズメント メッセージはデフォルトで無効になっており、SLAAC を利用するには有効にする必要があります。

ルーターがルーターアドバタイズメッセージを送信するように設定するには、少なくとも次のステートメントを設定に含める必要があります。その他のルーター アドバタイズメント設定ステートメントはオプションです。

ネイバー探索を設定するには、以下のステートメントを含めます。ルーター アドバタイズメントは、インターフェイスごとに設定します。

位相幾何学

図 1 は、簡略化されたサンプル トポロジーを示しています。

図1:ICMPルーター検出トポロジー ICMP Router Discover Topology

この例では、サンプル トポロジーのサブネットに接続されているすべての IPv6 ホストがローカル EUI-64 アドレスを自動構成できることを確認する方法を示しています。

CLI クイック構成 は、 図 1 のすべてのデバイスの設定を示しています。 #d15e200__d15e368 は、デバイスR1の手順を説明します。

構成

プロシージャ

CLIクイック構成

この例をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、 [edit] 階層レベルのCLIにコマンドをコピー&ペーストしてください。

デバイスR1

デバイスR2

デバイスR3

デバイス R4

手順

次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の詳細については、CLIユーザー ガイド設定モードにおけるCLIエディターの使用を参照してください。

IPv6近隣探索を設定するには:

  1. ネットワークインターフェイスを設定します。

    この例では、接続されたネットワークをシミュレートするために、複数のループバック インターフェイス アドレスを示しています。

  2. ネイバー探索を有効にします。

業績

設定モードから、 show interfaces コマンドと show protocols コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。

デバイスの設定が完了したら、設定モードから コミット を入力します。

検証

設定が正常に機能していることを確認するには、次のタスクを実行します。

インターフェイスの確認

目的

インターフェイスが稼働していることを確認し、割り当てられた EUI-64 アドレスを表示します。

アクション

動作モードから、 show interfaces terse コマンドを入力します。

意味

出力は、すべてのインターフェイスがIPv6(inet6)アドレスファミリーで設定されていることを示しています。各 IPv6 対応インターフェイスには 2 つの IPv6 アドレスがあります。1 つのリンクローカル アドレスと 1 つのグローバル アドレス。グローバル・アドレスは、 図 1 に示したものと一致します。Junos OS は、IPv6 動作が有効になっているインターフェイスに対して、リンクローカル アドレスを自動的に作成します。すべてのリンクローカル アドレスは、fe80::/64 プレフィックスで始まります。アドレスのホスト部分は完全な 64 ビット長で、リンクローカル インターフェイス識別子と一致します。インターフェイスアドレスが eui-64 ステートメントを使用して設定されている場合、そのインターフェイス識別子はリンクローカルアドレスのインターフェイス識別子と一致します。これは、リンクローカル アドレスが EUI-64 仕様に従ってコード化されているためです。

インターフェイスへの ping

目的

直接接続されたインターフェイス間の接続を確認します。

アクション
  1. リモートルーターのIPv6インターフェイスアドレスを決定します。

    デバイスR2で、デバイスR1に直接接続されているインターフェイスに対して show interfaces terse コマンドを実行し、グローバルアドレスをターミナルエミュレータのキャプチャバッファにコピーします。

  2. デバイスR1で、コピーしたグローバルアドレスを使用して ping コマンドを実行します。

意味

Junos OS は、IPv4 と IPv6 の両方のテストに同じ ping コマンドを使用します。ネットワーク内に内部ゲートウェイプロトコル(IGP)がないため、pingテストは直接接続されたネイバーに限定されます。直接接続している他のネイバーについてもpingテストを繰り返します。

IPv6ネイバーキャッシュの確認

目的

IPv6ネイバーに関する情報を表示します。

ping テストを実行した後、IPv6 ネイバー キャッシュ内にインターフェイス アドレスのエントリーを見つけることができます。

アクション

動作モードから、 show ipv6 neighbors コマンドを入力します。

意味

IPv6では、アドレス解決プロトコル(ARP)は近隣検索プロトコル(NDP)に置き換えられました。IPv4コマンド show arp は、IPv6コマンド show ipv6 neighborsに置き換えられました。このコマンドで表示される重要な情報は、IPアドレス、MAC(リンク層)アドレス、およびインターフェイスです。

IPv6ルーターアドバタイズメントの検証

目的

ルーターのアドバタイズが正常に動作していることを確認して、SLAACを使用してデバイスをネットワークに追加できることを確認します。

アクション

動作モードから、 show ipv6 router-advertisement コマンドを入力します。

意味

出力は、ルーターアドバタイズメントがデバイスR1のインターフェイスで送受信されていることを示しており、デバイスR1とその直接接続されたネイバーの両方がルーターアドバタイズメントを生成するように設定されていることを示しています。

ネイバー探索イベントのトレース

目的

ルーターのアドバタイズメントをトレースして、追加の検証を実行します。

アクション
  1. トレース操作を構成します。

  2. show logコマンドを実行します。