今回はNSX-Tにおける、BGPのルート集約の検証証跡をまとめました。
概要
ルート集約について
以下のように、10.1.1.0/24~10.1.254.0/24の254個のSegmentが存在する状況で、BGPを動作させた場合、物理ネットワーク側に254個のルート情報が広報されてしまいます。
このような状況において、ルート集約を使用することで、物理ネットワーク側に広報されるルート情報数を大幅に削減可能です。
ルート集約を実施した際はルーティングループが発生する可能性があります。例えば、下図において、R2が10.1.3.1宛のパケットを受信したとします。この際、R2はR1から学習した集約ルートを基に、10.1.3.1宛のパケットをR1に転送します。
しかし、R1側には10.1.3.1を含むセグメントは存在しないため、R1はR2から学習したデフォルトルートを基に、10.1.3.1宛のパケットをR2に転送します。
この結果、10.1.3.1宛のパケットはR1とR2間で転送され続けます。
上記のようなルーティングループを防止するために、ルート集約を実施したルータのルーティングテーブルには、集約ルートの10.1.0.0/16がDiscard Route(ネクストホップがNULLのルート情報)として投入されます。この結果、R1は10.1.3.1宛のパケットを受信した際、R2にパケットを転送せずに、破棄することが可能です。
検証結果
検証内容、構成
Tier-1 GWでSegment 1とSegment 2を収容します。
Tier-1 GWとTier-0 GWを接続します。
NSX EdgeにTier-0 GWのSRを配置し、物理ネットワークとNSX-Tの仮想ネットワークを接続します。
Tier-0 GWのSRをAS 100、R3をAS 200として、EBGPネイバーを構築します。
Tier-0 GWのSRはBGP経由で10.1.1.0/24と10.2.2.0/24を広報します。
この状況で、Tier-0 GWのSRにおいて、BGPのルート集約を設定した際の動作を確認します。
ネットワーク機器の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 GigabitEthernet2
ip address 10.2.2.2 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 10.2.2.254
interface GigabitEthernet2
ip address 20.1.1.100 255.255.255.0
!
router bgp 200
bgp router-id 3.3.3.3
neighbor 20.1.1.1 remote-as 100
ルート集約無し
Tier-0 GWのSRにおいて、BGPのルート集約が無効な場合の動作を確認します。
BGPの設定
最初、ルート集約の設定はしません。
状態確認
Tier-0 GWのSRのBGPテーブルに10.1.1.0/24と10.2.2.0/24が存在することが確認できます。
edge1(tier0_sr)> get bgp
BGP IPv4 table version is 70, 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.2.2.0/24 100.64.128.1 0 100 32768 100 ?
> 10.1.1.0/24 100.64.128.1 0 100 32768 100 ?
Tier-0 GWのSRは、R3に対して10.1.1.0/24と10.2.2.0/24を広報していることが確認できます。
edge1(tier0_sr)> get bgp
BGP IPv4 table version is 70, 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.2.2.0/24 100.64.128.1 0 100 32768 100 ?
> 10.1.1.0/24 100.64.128.1 0 100 32768 100 ?
R3のBGPテーブルを見ると、R3はTier-0 GWのSRから10.1.1.0/24と10.2.2.0/24を学習していることが確認できます。
R3#show ip bgp
BGP table version is 17, local router ID is 3.3.3.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
t secondary path, L long-lived-stale,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 10.1.1.0/24 20.1.1.1 0 0 100 ?
*> 10.2.2.0/24 20.1.1.1 0 0 100 ?
ルート集約有り , 集約ルートのみ広報
Tier-0 GWのSRにおいて、BGPで10.0.0.0/8の集約ルートを生成します。そして、R3に対して、集約ルートのみ広報します。
BGPの設定
BGPで集約ルートとして10.0.0.0/8を設定します。サマリのみにはいを指定した場合、集約ルートのみ広報されます。
状態確認
Tier-0 GWのSRのBGPテーブルには10.1.1.0/24と10.2.2.0/24に加えて、集約ルートの10.0.0.0/8が存在することが確認できます。
edge1(tier0_sr)> get bgp
BGP IPv4 table version is 70, 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.2.2.0/24 100.64.128.1 0 100 32768 100 ?
> 10.0.0.0/8 0.0.0.0 0 100 32768 100 ?
> 10.1.1.0/24 100.64.128.1 0 100 32768 100 ?
Tier-0 GWのSRは、R3に対して集約ルートの10.0.0.0/8のみ広報していることが確認できます。
edge1(tier0_sr)> get bgp
BGP IPv4 table version is 70, 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.0.0.0/8 0.0.0.0 0 100 32768 100 ?
Tier-0 GWのSRのルーティングテーブルには、ネクストホップがNULLである集約ルートの10.0.0.0/8が存在することが確認できます。
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: 8
b > * 10.0.0.0/8 unreachable (blackhole), 00:02:24
t1c> * 10.1.1.0/24 [3/0] via 100.64.128.1, linked-333, 4d10h20m
t1c> * 10.2.2.0/24 [3/0] via 100.64.128.1, linked-333, 10:48:43
t0c> * 20.1.1.0/24 is directly connected, uplink-325, 01w0d11h
t0c> * 100.64.128.0/31 is directly connected, linked-333, 01w0d11h
t0c> * 169.254.0.0/24 is directly connected, downlink-327, 01w0d11h
t0c> * fcc3:7c30:4fbf:b800::/64 is directly connected, linked-333, 01w0d11h
t0c> * fe80::/64 is directly connected, linked-333, 01w0d11h
R3のBGPテーブルを見ると、R3はTier-0 GWのSRから集約ルートの10.0.0.0/8のみを学習していることが確認できます。
R3#show ip bgp
BGP table version is 17, local router ID is 3.3.3.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
t secondary path, L long-lived-stale,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 10.0.0.0 20.1.1.1 0 100 ?
ルート集約有り , 集約ルートと集約前ルートを広報
Tier-0 GWのSRにおいて、BGPで10.0.0.0/8の集約ルートを生成します。そして、R3に対して、集約ルートに加えて、集約前ルートも広報します。
BGPの設定
BGPで集約ルートとして10.0.0.0/8を設定します。サマリのみにいいえを指定した場合、集約ルートに加えて、集約前ルートも広報されます。
状態確認
Tier-0 GWのSRのBGPテーブルには10.1.1.0/24と10.2.2.0/24に加えて、集約ルートの10.0.0.0/8が存在することが確認できます。
edge1(tier0_sr)> get bgp
BGP IPv4 table version is 70, 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.2.2.0/24 100.64.128.1 0 100 32768 100 ?
> 10.0.0.0/8 0.0.0.0 0 100 32768 100 ?
> 10.1.1.0/24 100.64.128.1 0 100 32768 100 ?
Tier-0 GWのSRは、R3に対して集約ルートの10.0.0.0/8に加えて、集約前の10.1.1.0/24と10.2.2.0/24も広報していることが確認できます。
edge1(tier0_sr)> get bgp
BGP IPv4 table version is 70, 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.2.2.0/24 100.64.128.1 0 100 32768 100 ?
> 10.0.0.0/8 0.0.0.0 0 100 32768 100 ?
> 10.1.1.0/24 100.64.128.1 0 100 32768 100 ?
Tier-0 GWのSRのルーティングテーブルには、ネクストホップがNULLである集約ルートの10.0.0.0/8が存在することが確認できます。
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: 8
b > * 10.0.0.0/8 unreachable (blackhole), 00:02:24
t1c> * 10.1.1.0/24 [3/0] via 100.64.128.1, linked-333, 4d10h20m
t1c> * 10.2.2.0/24 [3/0] via 100.64.128.1, linked-333, 10:48:43
t0c> * 20.1.1.0/24 is directly connected, uplink-325, 01w0d11h
t0c> * 100.64.128.0/31 is directly connected, linked-333, 01w0d11h
t0c> * 169.254.0.0/24 is directly connected, downlink-327, 01w0d11h
t0c> * fcc3:7c30:4fbf:b800::/64 is directly connected, linked-333, 01w0d11h
t0c> * fe80::/64 is directly connected, linked-333, 01w0d11h
R3のBGPテーブルを見ると、R3はTier-0 GWのSRから集約ルートの10.0.0.0/8に加えて、集約前ルートの10.1.1.0/24と10.2.2.0/24も学習していることが確認できます。
R3#show ip bgp
BGP table version is 17, local router ID is 3.3.3.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
t secondary path, L long-lived-stale,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 10.0.0.0 20.1.1.1 0 100 ?
*> 10.1.1.0/24 20.1.1.1 0 0 100 ?
*> 10.2.2.0/24 20.1.1.1 0 0 100 ?
コメント