BGP マルチホップ セッション

EBGPマルチホップについて

BGPは、異なる自律システム(AS)内のルーター間でルーティング情報を交換するために使用される外部ゲートウェイプロトコル(EGP)です。以下は、ルーター間でEBGPマルチホップを確立する2つの方法です。

  • 外部 BGP(EBGP)ピアが互いに直接接続されていない場合、互いに到達するには 1 つ以上の非 BGP ルーターを通過する必要があります。

    マルチホップEBGPを設定することで、ピアが他のルーターを通過してピア関係を形成し、更新メッセージを交換できます。このタイプの設定は、通常、ジュニパーネットワークスのルーティングデバイスが、2つのEBGPピアの直接接続を許可しないサードパーティ製ルーターでEBGPを実行する必要がある場合に使用されます。EBGPマルチホップは、直接接続していない2つのEBGPピア間のネイバー接続を可能にします。

  • EBGP接続のデフォルトの動作は、ピアの物理インターフェイスアドレスを使用して、単一物理ホップ上でピアリングすることです。場合によっては、このデフォルトのワンホップ物理ピアリングEBGP動作を変更することが有利です。このようなケースの1つは、複数の物理リンクが、EBGPピアとなる2つのルーターを接続する場合です。この場合、ポイントツーポイントリンクの1つに障害が発生しても、代替リンクへの到達可能性は依然として存在します。

図1:EBGPマルチホップピアリングNetwork topology diagram with routers R1 in AS 1 and R2 in AS 2, connected via subnets 10.10.1.0 and 10.10.2.0. R1 has IPs 10.10.1.2 and 10.10.2.2; R2 has IPs 10.10.1.1 and 10.10.2.1. Loopbacks: R1 192.168.3.4, R2 172.16.128.1. Identifier 8043438.

図1では、ルーターR1はAS 1に属し、ルーターR2はAS 2に属しています。ルーター間の2つの物理リンクがロードバランシングに使用されます。EBGPマルチホップピアリングは、1つの物理リンクでも動作します。

次の設定例は、これらの複数の物理リンク間で単一のBGPピアリングセッションを確立するのに役立ちます。

  1. 各ルーターは、リモートルーターのループバックアドレスを使用してピアリングセッションを確立する必要があります。このセッションは、BGPパケット内のピアアドレスヘッダー情報を変更する local-address ステートメントを使用して設定できます。

  2. multihopステートメントを使用して、ネイバーの物理アドレスのデフォルト使用を変更します。さらに、BGPパケットにTTL(Time-to-Live)値を指定して、パケットの伝播距離を制御することもできます。TTL値1を使用して、ネットワーク内の他のバックドアリンクにセッションを確立できないようにします。

    注:

    マルチホップが設定されている場合、Junos OSはデフォルトでTTL値64を設定します。

    TTL 値 1 であれば、直接接続されたネイバーのループバック アドレスへの EBGP セッションを有効にするのに十分です。

  3. 各ルーターには、リモートルーターのループバックアドレスへのIPルーティング機能が必要です。この機能は、多くの場合、静的ルートを使用してループバックアドレスをインターフェイスの物理アドレスにマッピングすることで実現されます。

例:EBGP マルチホップ セッションの設定

この例では、ローカルルーターから1ホップ以上離れた外部BGP(EBGP)ピアを設定する方法を示します。このタイプのセッションは 、マルチホップ BGP セッションと呼ばれます。

要件

この例を設定する前に、デバイスの初期化以外の特別な設定は必要ありません。

概要

マルチホップEBGPセッションを有効にする設定では、2つのEBGPピア間の接続が必要です。この例では、静的ルートを使用してデバイス間の接続を提供します。

neighborステートメントで通常物理アドレスが使用される直接接続されたEBGPセッションとは異なり、マルチホップEBGPでは間接的に接続されたピアのループバックインターフェイスアドレスを指定することで、ループバックインターフェイスアドレスを使用する必要があります。このように、EBGPマルチホップは内部BGP(IBGP)と類似しています。

最後に、 multihop ステートメントを追加する必要があります。オプションで、 ttl ステートメントでTTL(最大Time-to-live)値を設定できます。TTLは、BGPパケットのIPヘッダーで伝送されます。TTL値を指定しない場合、システムのデフォルトの最大TTL値が使用されます。マルチホップEBGPセッションのデフォルトTTL値は64です。別のオプションは、 no-nexthop-change ステートメントを含めることで、ルートアドバタイズメントのBGPネクストホップ値を保持することです。

図2は、典型的なEBGPマルチホップネットワークを示しています。

デバイス C とデバイス E には、EBGP セッションが確立されています。デバイス D は BGP 対応デバイスではありません。すべてのデバイスは、静的ルートを介して接続されています。

図2:EBGPマルチホップセッションNetwork topology diagram: Routers C, D, and E in AS 17 and AS 18. C connects to D via subnet 10.10.10.8/30. D connects to E via subnet 10.10.10.12/30.を持つ標準的なネットワーク

設定

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

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

デバイスC

デバイスD

デバイスE

デバイスC

ステップバイステップの手順

次の例では、設定階層のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、『Junos OS CLIユーザーガイド』の「設定モードでのCLIエディタの使用」を参照してください。

デバイスCを設定するには:

  1. 直接接続されたデバイス(to-D)へのインターフェイスを設定し、ループバックインターフェイスを設定します。

  2. デバイス E との EBGP セッションを設定します。

    neighborステートメントは、デバイスEのループバックインターフェイスを指します。

  3. マルチホップ ステートメントを設定して、デバイス C とデバイス E が EBGP ピアになるようにします。

    ピアは互いに 2 ホップ離れているため、この例では ttl 2 ステートメントを使用しています。

  4. 静的ルートを使用して、デバイス E への接続を設定します。

    ループバック インターフェイス アドレスと物理インターフェイス上のアドレスの両方へのルートを設定する必要があります。

  5. ローカルルーターIDと自律システム(AS)番号を設定します。

  6. 直接ルートを受け入れるポリシーを設定します。

    このシナリオの他の有用なオプションは、OSPFまたはローカルルートで学習したルートを受け入れることかもしれません。

結果

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

デバイスの設定が完了したら、設定モードから commit を入力します。 トポロジー内のすべての BGP セッションに対して、これらの手順を繰り返します。

デバイスDの設定

ステップバイステップの手順

次の例では、設定階層のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、『Junos OS CLIユーザーガイド』の「設定モードでのCLIエディタの使用」を参照してください。

デバイスDを設定するには:

  1. CLIをデバイスDに設定します。

  2. 直接接続された機器へのインターフェースを設定し、ループバックインターフェースを設定します。

  3. ループバック インターフェイス アドレスへの静的ルートを使用して、他のデバイスとの接続を構成します。

    デバイス D では、デバイス D はデバイス C とデバイス E に直接接続されているため、物理アドレスへの静的ルートは必要ありません。

  4. ローカルルーターIDを設定します。

結果

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

デバイスの設定が完了したら、設定モードから commit を入力します。 トポロジー内のすべての BGP セッションに対して、これらの手順を繰り返します。

デバイスEの設定

ステップバイステップの手順

次の例では、設定階層のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、『Junos OS CLIユーザーガイド』の「設定モードでのCLIエディタの使用」を参照してください。

デバイスEを設定するには:

  1. CLIをデバイスEに設定します。

  2. 直接接続されたデバイス(to-D)へのインターフェイスを設定し、ループバックインターフェイスを設定します。

  3. デバイス E との EBGP セッションを設定します。

    neighborステートメントは、デバイスCのループバックインターフェイスを指します。

  4. multihopステートメントを設定して、デバイスCとデバイスEがEBGPピアになるようにします。

    ピアは互いに 2 ホップ離れているため、この例では ttl 2 ステートメントを使用します。

  5. 静的ルートを使用して、デバイス E への接続を設定します。

    ループバック インターフェイス アドレスと物理インターフェイス上のアドレスの両方へのルートを設定する必要があります。

  6. ローカルルーターIDと自律システム(AS)番号を設定します。

  7. 直接ルートを受け入れるポリシーを設定します。

    このシナリオの他の有用なオプションは、OSPFまたはローカルルートで学習したルートを受け入れることかもしれません。

結果

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

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

検証

設定が正常に機能していることを確認します。

接続の検証

目的

デバイスCがデバイスEにpingを実行し、pingリクエストのソースとしてループバックインターフェイスアドレスを指定できることを確認します。

ループバック インターフェイス アドレスは、BGP が使用する送信元アドレスです。

アクション

動作モードから、機器Cから ping 10.10.10.14 source 192.168.40.4 コマンドを入力し、機器Eから ping 10.10.10.9 source 192.168.6.7 コマンドを入力します。

意味

pingが機能すれば、静的ルートは機能しています。

BGPセッションが確立されていることの確認

目的

BGPセッションが稼働していることを確認します。

アクション

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

意味

出力は、両方のデバイスにそれぞれ1つのピアがあることを示しています。ダウンしているピアはありません。

アドバタイズされたルートの表示

目的

ルートが BGP によってアドバタイズされていることを確認します。

アクション

動作モードから、 show route advertising-protocol bgp neighbor コマンドを入力します。

意味

send-staticルーティングポリシーは、静的ルートをルーティングテーブルからBGPにエクスポートすることです。BGPピアセッションが確立されているため、BGPはピア間でこれらのルートをアドバタイズしています。