NSX-T BGP TTLの変更

今回は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)離れていることが確認できます。

NSX Edge1

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であることが確認できます。

コメント

タイトルとURLをコピーしました