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)**で異なる動作をします。
- eBGP(外部BGP)でのNext-Hop:
- eBGPピア間でルート情報が交換される際、Next-Hop属性はBGPピアのIPアドレスに置き換えられます。これは、ルートをアドバタイズするルーター自体がそのルートのNext-Hopであるためです。
- 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
