今回はNSX-TのBGPのOriginの比較についてまとめます。
概要
Originについて
Originはルート情報の生成元を示すパスアトリビュートで、以下の3種類の値が存在し、上の値の方が優先度が高いです。
- IGP(Interior Gateway Protocol)
- EGP(Exterior Gateway Protocol)
- Incomplete
特定のルート情報を複数のBGPネイバーから学習している場合、Originの優先度が高いルート情報をベストパスとして選択し、パケットを転送します。もし、Originが同じ場合、MEDが最小のルート情報がベストパスに選択されます。
補足として、NSX-TのRoute Mapでは、Originを変更することはできません。
検証結果
検証内容、構成
Tier-1 GWでSegment 1を収容します。
Tier-1 GWとTier-0 GWを接続します。
NSX EdgeにTier-0 GWのSRを配置し、物理ネットワークとNSX-Tの仮想ネットワークを接続します。
Tier-0 GWのSRをAS 100、R2とR3をAS 200とします。
Tier-0 GWのSRとR2間、Tier-0 GWのSRとR3間でEBGPネイバーを構築します。
Tier-0 GWのSRはBGP経由で10.1.1.0/24を広報します。
R2とR3はBGP経由で20.2.2.0/24を広報します。
最初、Tier-0 GWのSRがR2から学習した20.2.2.0/24をベストパスに選択できるように、MEDを調整します。
この状況で、R2において、20.2.2.0/24を広報する際に、OriginをIncompleteに変更します。
ネットワーク機器のCLIの設定
interface GigabitEthernet2
ip address 10.1.1.1 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 10.1.1.254
interface Loopback0
ip address 20.2.2.23 255.255.255.0
!
interface GigabitEthernet2
ip address 20.1.1.102 255.255.255.0
!
router bgp 200
bgp router-id 2.2.2.2
network 20.2.2.0 mask 255.255.255.0
neighbor 20.1.1.1 remote-as 100
interface Loopback0
ip address 20.2.2.23 255.255.255.0
!
interface GigabitEthernet2
ip address 20.1.1.103 255.255.255.0
!
router bgp 200
bgp router-id 3.3.3.3
network 20.2.2.0 mask 255.255.255.0
neighbor 20.1.1.1 remote-as 100
neighbor 20.1.1.1 route-map BGP_MAP out
!
route-map BGP_MAP permit 10
set metric 500
Origine変更前
Tier-0 GWのSRとR2、R3間でIBGPネイバーを構成します。
その後、Tier-0 GWのSRに対して、R2とR3から20.2.2.0/24を広報します。R3は20.2.2.0/24のMEDに500を格納して広報します。
BGPの設定
状態確認
Tier-0 GWのSRはMEDが最小なR2から学習した20.2.2.0/24をベストパスに選択していることが確認できます。
edge1(tier0_sr)> get bgp
BGP IPv4 table version is 138, BGP IPv6 table version is 0
Local router ID is 20.1.1.1
Status flags: > - best, I - internal
Origin flags: i - IGP, e - EGP, ? - incomplete
EVPN type-2 prefix: [2]:[EthTag]:[MAClen]:[MAC]:[IPlen]:[IP]
EVPN type-3 prefix: [3]:[EthTag]:[IPlen]:[OrigIP]
EVPN type-4 prefix: [4]:[ESI]:[IPlen]:[OrigIP]
EVPN type-5 prefix: [5]:[EthTag]:[IPlen]:[IP]
Network Next Hop Metric LocPrf Weight Path RD
> 10.1.1.0/24 100.64.128.1 0 100 32768 100 ?
20.2.2.0/24 20.1.1.103 500 100 0 200 100 i
> 20.2.2.0/24 20.1.1.102 0 100 0 200 100 i
Tier-0 GWのSRのルーティングテーブルを見ると、20.2.2.0/24のネクストホップがR2の20.1.1.102であることが確認できます。
edge1(tier0_sr)> get route
Flags: t0c - Tier0-Connected, t0s - Tier0-Static, b - BGP,
t0n - Tier0-NAT, t1s - Tier1-Static, t1c - Tier1-Connected,
t1n: Tier1-NAT, t1l: Tier1-LB VIP, t1ls: Tier1-LB SNAT,
t1d: Tier1-DNS FORWARDER, t1ipsec: Tier1-IPSec, isr: Inter-SR,
> - selected route, * - FIB route
Total number of routes: 7
t1c> * 10.1.1.0/24 [3/0] via 100.64.128.1, linked-333, 4d14h38m
t0c> * 20.1.1.0/24 is directly connected, uplink-325, 01w0d15h
b > * 20.2.2.0/24 [20/0] via 20.1.1.102, uplink-325, 00:02:39
t0c> * 100.64.128.0/31 is directly connected, linked-333, 01w0d15h
t0c> * 169.254.0.0/24 is directly connected, downlink-327, 01w0d15h
t0c> * fcc3:7c30:4fbf:b800::/64 is directly connected, linked-333, 01w0d15h
t0c> * fe80::/64 is directly connected, linked-333, 01w0d15h
疎通確認
R1の10.1.1.1から20.2.2.23へTracerouteを実施します。
Tier-0 GWのSRは20.2.2.23宛のパケットをR2に転送していることが確認できます。
R1#traceroute 20.2.2.23 source 10.1.1.1 probe 1
Type escape sequence to abort.
Tracing the route to 20.2.2.23
VRF info: (vrf in name/id, vrf out name/id)
1 10.1.1.254 1 msec
2 100.64.128.0 0 msec
3 20.1.1.102 2 msec
Origin変更後
Tier-0 GWのSRがR3から学習した20.2.2.0/24をベストパスに選択できるように、R2において、20.2.2.0/24を広報する際、OriginにIncompleteを格納します。
BGPの設定
R2に設定を追加し、20.2.2.0/24を広報する際、OriginにIncompleteを格納します。
router bgp 200
neighbor 20.1.1.1 route-map BGP_MAP out
!
route-map BGP_MAP permit 10
set origin incomplete
状態確認
Tier-0 GWのSRのBGPテーブルを見ると、R2から学習した20.2.2.0/24のOriginがIncompleteに変化していることが確認できます。この結果、Tier-0 GWのSRはOriginの優先度が高いR3から学習した20.2.2.0/24をベストパスに選択していることが確認できます。
edge1(tier0_sr)> get bgp
BGP IPv4 table version is 132, BGP IPv6 table version is 0
Local router ID is 20.1.1.1
Status flags: > - best, I - internal
Origin flags: i - IGP, e - EGP, ? - incomplete
EVPN type-2 prefix: [2]:[EthTag]:[MAClen]:[MAC]:[IPlen]:[IP]
EVPN type-3 prefix: [3]:[EthTag]:[IPlen]:[OrigIP]
EVPN type-4 prefix: [4]:[ESI]:[IPlen]:[OrigIP]
EVPN type-5 prefix: [5]:[EthTag]:[IPlen]:[IP]
Network Next Hop Metric LocPrf Weight Path RD
> 10.1.1.0/24 100.64.128.1 0 100 32768 100 ?
> 20.2.2.0/24 20.1.1.103 500 100 0 200 100 i
20.2.2.0/24 20.1.1.102 0 100 0 200 100 ?
edge1(tier0_sr)> get bgp 20.2.2.0/24
BGP routing table entry for 20.2.2.0/24
Prefix advertised to: 20.1.1.103 20.1.1.102
2 Paths available:
Origin IGP, Metric 500, LocalPref 100, Weight 0, best, valid
Peer is 20.1.1.103 with router id 3.3.3.3
Last Updated: Sat Aug 22 06:15:46 2020
Origin incomplete, Metric 0, LocalPref 100, Weight 0, , valid
Peer is 20.1.1.102 with router id 2.2.2.2
Last Updated: Sat Aug 22 06:20:32 2020
Tier-0 GWのSRのルーティングテーブルを見ると、20.2.2.0/24のネクストホップがR3の20.1.1.103であることが確認できます。
edge1(tier0_sr)> get route
Flags: t0c - Tier0-Connected, t0s - Tier0-Static, b - BGP,
t0n - Tier0-NAT, t1s - Tier1-Static, t1c - Tier1-Connected,
t1n: Tier1-NAT, t1l: Tier1-LB VIP, t1ls: Tier1-LB SNAT,
t1d: Tier1-DNS FORWARDER, t1ipsec: Tier1-IPSec, isr: Inter-SR,
> - selected route, * - FIB route
Total number of routes: 7
t1c> * 10.1.1.0/24 [3/0] via 100.64.128.1, linked-333, 4d14h46m
t0c> * 20.1.1.0/24 is directly connected, uplink-325, 01w0d15h
b > * 20.2.2.0/24 [20/0] via 20.1.1.103, uplink-325, 00:01:23
t0c> * 100.64.128.0/31 is directly connected, linked-333, 01w0d15h
t0c> * 169.254.0.0/24 is directly connected, downlink-327, 01w0d15h
t0c> * fcc3:7c30:4fbf:b800::/64 is directly connected, linked-333, 01w0d15h
t0c> * fe80::/64 is directly connected, linked-333, 01w0d15h
疎通確認
R1の10.1.1.1から20.2.2.23へTracerouteを実施します。
Tier-0 GWのSRは20.2.2.23宛のパケットをR3に転送していることが確認できます。
R1#traceroute 20.2.2.23 source 10.1.1.1 probe 1
Type escape sequence to abort.
Tracing the route to 20.2.2.23
VRF info: (vrf in name/id, vrf out name/id)
1 10.1.1.254 1 msec
2 100.64.128.0 1 msec
3 20.1.1.103 1 msec
コメント