今回はNSX-Tにおいて、マルチホップでEBGPネイバーを構成する際に必要なTTLの変更方法についてまとめました。
概要
EBGPマルチホップについて
EBGPは異なるAS(Autonomous Sysmte)間でルート情報を交換する際に使用します。一般的に、EBGPネイバーを構成する2台のルータは直接接続されているため、ルータが送信するBGPパケットのIPヘッダのTTLには1が格納されます。
もし、EBGPネイバーを構成する2台のルータが直接接続されていない場合、ルータが送信したBGPパケットのTTLが途中で0になります。その結果、対向ASのルータにBGPパケットが届く前に、BGPパケットは破棄されます。
このような状況では、ルータが送信するBGPパケットのIPヘッダのTTLを増加させる必要があります。TTLを増加させることで、途中でBGPパケットのTTLが0にならないため、対向ASのルータまでBGPパケットが届きます。これにより、直接接続されていない2台のルータ間でもEBGPネイバーを構成可能です。
検証結果
検証内容、構成
Tier-0 GWのSRをAS 100、R2をAS 200として、EBGPネイバーを構築します。
Tier-0 GWのSRにおいて、R2に対するTTLを1から5に変更します。
ネットワーク機器のCLIの設定
interface GigabitEthernet2
ip address 20.1.1.100 255.255.255.0
!
router bgp 200
bgp router-id 2.2.2.2
neighbor 20.1.1.1 remote-as 100
BGPの設定
Tier-0 GWのSRにおいて、R2に対して送信するBGPパケットのTTLを5に変更します。また、TTLを変更した場合、BGPの通信で使用するIPアドレスを明示的に指定する必要があります。
状態確認
Tier-0 GWのSRにおいて、R2が5ホップ(TTLが5)離れていることが確認できます。
edge1(tier0_sr)> get bgp neighbor
BGP neighbor is 20.1.1.100, remote AS 200, local AS 100, external link
BGP version 4, remote router ID 2.2.2.2, local router ID 20.1.1.1
BGP state = Established, up for 00:01:09
Last read 00:00:11, Last write 00:00:09
Hold time is 180, keepalive interval is 30 seconds
Configured hold time is 180, keepalive interval is 30 seconds
.
<一部省略>
.
Connections established 9; dropped 8
Last reset 00:01:27, due to NOTIFICATION sent (Cease/Other Configuration Change)
External BGP neighbor may be up to 5 hops away.
Local host: 20.1.1.1, Local port: 35395
Foreign host: 20.1.1.100, Foreign port: 179
Nexthop: 20.1.1.1
Nexthop global: ::
Nexthop local: ::
BGP connection: shared network
BGP Connect Retry Timer in Seconds: 10
Estimated round trip time: 1 ms
Read thread: on Write thread: on
以下はTier-0 GWのSRが送信したBGPのメッセージのキャプチャになります。IPヘッダのTTLが5であることが確認できます。
補足として、以下はTTLがデフォルト値の際に、Tier-0 GWのSRが送信したBGPのメッセージのキャプチャになります。IPヘッダのTTLが1であることが確認できます。
コメント