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 のネイバー検出は、ルーター検出(RDISC)、アドレス解決プロトコル(ARP)、ICMPv4 リダイレクトという以下の IPv4 プロトコルを置き換えます。

Junos OS リリース 9.3 以降は、SEND(Secure Neighbor Discovery)をサポートしています。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 は、プラグアンドプレイ IP 接続を 2 つのフェーズで提供します。フェーズ 1:リンクローカル アドレスの割り当て。フェーズ2:グローバルアドレス割り当てです。

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

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

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

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

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

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

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

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

    3. 重複アドレス検出:ホストは再び、新しいグローバルアドレスに対してDuplicate Address Detection(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 2462、 IPv6ステートレスアドレス自動設定

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

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

  • RFC 4861、 IPバージョン6(IPv6)のネイバー検出

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

  • RFC 8335、 PROBE: A Utility for Probing Interfaces

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

この例では、ルーターまたはスイッチがIPv6ネイバーディスカバリーメッセージを送信するように設定する方法を示しています。

要件

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

概要

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

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

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

トポロジ

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

図 1:ICMP ルーター Discovery Topology ICMP Router Discover Topology

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

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

構成

手順

CLI クイックコンフィギュレーション

この例を迅速に設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に合わせて必要な詳細を変更し、コマンドを 階層レベルの CLI [edit] にコピー アンド ペーストします。

デバイス R1

デバイスR2

デバイスR3

デバイス R4

手順

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

IPv6ネイバー検出を設定するには:

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

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

  2. ネイバー検出を有効にします。

結果

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

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

検証

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

インターフェイスの確認

目的

インターフェイスが立ち上がっていることを確認し、割り当てられた 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 実行します。