BGP Next-Hop

BGPのNext-Hopとは

BGPのNext-Hop属性は、BGP(Border Gateway Protocol)で使用される**ウェルノウン マンダトリ(Well-known Mandatory)**属性の1つで、パケットを次にどのルーター(ネクストホップ)に転送するかを示すIPアドレスです。BGPピア間でルート情報が交換される際、Next-Hop属性はそのルートに到達するための最も近い(次の)ルーターを示す重要な役割を果たします。

Next-Hop属性の役割

BGPでは、受信したルートのNext-Hop属性を基に、パケットが次に送信されるルーターを決定します。このNext-Hopは、通常、BGPセッションを確立しているピアのIPアドレス、または別のルーターのIPアドレスになります。Next-Hopが適切に設定されていないと、そのルートは無効として扱われ、ルーティングに使用されません。

BGP Next-Hop属性の動作

Next-Hop属性は、**eBGP(外部BGP)iBGP(内部BGP)**で異なる動作をします。

  1. eBGP(外部BGP)でのNext-Hop:
    • eBGPピア間でルート情報が交換される際、Next-Hop属性はBGPピアのIPアドレスに置き換えられます。これは、ルートをアドバタイズするルーター自体がそのルートのNext-Hopであるためです。
  2. iBGP(内部BGP)でのNext-Hop:
    • iBGPピア間でルート情報が交換される場合、Next-Hop属性は変更されません。つまり、iBGPピアはeBGPピアから受け取ったNext-Hopをそのままアドバタイズします。このため、iBGPピアが他のiBGPピアから学習したルートを使用する際は、Next-Hopアドレスが自分のネットワーク内で到達可能である必要があります。

Next-Hop Selfオプション

next-hop-self コマンドは、iBGPピアとの間でルートをアドバタイズする際に、自分自身のIPアドレスをNext-Hopとして使用するためのコマンドです。通常、iBGPではNext-Hopが変更されませんが、特定のシナリオではiBGPピアがNext-Hopに到達できないことがあります。こうした場合に、自分のルーターがNext-Hopとして設定されることで、Next-Hopの到達可能性を保証します。

基本構文

ネクストホップ アドレスの代わりに使用する特定の IP アドレスを入力して、ネイバーへの BGP アップデートのネクストホップ処理を無効にします。
Router(config-router)#neighbor {ip-address | peer-group-name} next-hop-self