VxLAN továreň. Časť 2

Ahoj, Habr. Pokračujem v cykle článkov o technológii VxLAN EVPN, ktoré boli napísané špeciálne k spusteniu kurzu "Síťový inženýr" od OTUS. A dnes sa pozrieme na zaujímavú časť úloh — routovanie. Hoci to znie banálne, v rámci práce sieťovej fabriky to nemusí byť také jednoduché.

VxLAN továreň. Časť 2

1. část cyklu — L2 konektivita mezi servery

V predchádzajúcej časti sme dosiahli jeden vysielací doménový priestor, postavený na sieťovej fabrike na Nexus 9000v. Avšak to nie je celý spektrum úloh, ktoré je potrebné vyriešiť v rámci siete dátového centra. Dnes sa pozrieme na nasledujúcu úlohu — routovanie medzi sieťami alebo medzi VNI.

Pripomínam, že sa používa topológia Spine-Leaf:

VxLAN továreň. Časť 2

Najprv si rozoberieme, ako prebieha routovanie a aké sú jeho špecifiká.

Na lepšie pochopenie zjednodušíme logickú schému a pridáme ešte jedno VNI 20000 pre Host-2. Celkový obraz bude vyzerať takto:

VxLAN továreň. Časť 2

Ako je v takom prípade možné preniesť prenos od jedného Host k druhému?

Existujú dva varianty:

  1. Na všetkých Leaf prepínačoch uchovávať informácie o všetkých VNI, potom sa celé routovanie uskutoční na prvom Leaf v sieti;
  2. Použiť špeciálne vyčlenený — L3 VNI

Prvý spôsob je jednoduchý a pohodlný. Pretože stačí len vytvoriť všetky VNI na všetkých Leaf prepínačoch. Avšak zriadiť niekoľko stoviek alebo tisíc VNI na všetkých Leaf už nevyzerá ako jednoduchá úloha. Preto sa v praxi používa pomerne zriedka.

Rozoberieme druhý spôsob, ktorý je zaujímavejší a o niečo zložitejší, ale poskytuje väčšiu flexibilitu pri konfigurácii fabriky.

Pridáme do topológie VRF "PROD". Do neho pridáme interface vlan 10 na páre Leaf-11/12 a interface VLAN 20 na Leaf-21. VLAN 20 asociujeme s VNI 20000

vrf context PROD
  rd auto       ! Route Distinguisher nie je rozhodujúci a môžeme ho použiť vytvorený automaticky
  address-family ipv4 unicast
    route-target both auto      ! uvádzame Route-target, s ktorým sa budú importovať a exportovať prefixy do/z VRF
vlan 20
  vn-segment 20000

interface nve 1
  member vni 20000
    ingress-replication protocol bgp

interface Vlan10
  no shutdown
  vrf member PROD
  ip address 192.168.20.1/24
  fabric forwarding mode anycast-gateway

Aby ste mohli používať L3VNI, je potrebné vytvoriť nový VLAN a asociovať ho s novým VNI. Nový VNI musí byť rovnaký na všetkých Leaf, ktoré majú záujem o informácie o VLAN 10 a 20

vlan 99
  vn-segment 99000

interface nve1
  member vni 99000 associate-vrf        ! Vytvárame L3 VNI

vrf context PROD
  vni 99000                             ! Pripájame L3 VNI k určenému VRF

Výsledkom bude, že schéma bude vyzerať takto:

VxLAN továreň. Časť 2

Ešte kúsok treba dokončiť — pridať ešte jedno rozhranie — interface vlan 99 do VRF PROD

interface Vlan99
  no shutdown
  vrf member PROD
  ip forward  ! Na rozhraní by nemal byť IP. Používa sa len na presúvanie paketov medzi Leaf

Nakoniec logika prechodu rámca od Host-1 k Host-2 je nasledujúca:

  1. Rámec odoslaný z Host-1 prichádza na Leaf do VLAN 10, ktorý je asociovaný s VNI 10000;
  2. Leaf kontroluje, kde sa nachádza cieľová adresa a nachádza ju cez L3 VNI na druhom Leaf prepínači;
  3. Akonáhle je nájdená trasa k cieľovej adrese, Leaf zabalí rámec do hlavičky s potrebným L3VNI 99000 — a odošle ho smerom k druhému Leaf;
  4. Druhý Leaf prepínač prijíma dáta z L3VNI 99000. Získa pôvodný rámec a prenáša ho do potrebného L2VNI 20000 a ďalej do VLAN 20.

Výsledkom takejto práce L3VNI odstraňuje potrebu uchovávať na všetkých Leaf prepínačoch informácie o všetkých VNI, ktoré sú v sieti.

Nakoniec, keď posielame traffic z Host-1 do Host-2, balík sa zabalí do VxLAN s novým VNI — 99000:

VxLAN továreň. Časť 2

Zostáva pochopiť, ako presne Leaf-1 zistí o MAC adrese z iného VNI. Stáva sa to takisto pomocou EVPN route-type 2 (MAC/IP).

Nižšie je zobrazený proces rozšírenia trasy o prefixe nachádzajúcom sa v inom VNI:

VxLAN továreň. Časť 2

To znamená, že adresy získané z VNI 20000 majú dva RT.
Pripomínam, že trasy získané z Update sa dostanú do tabuľky BGP s Route-targetom, uvedeným v nastaveniach VRF (proces je o niečo zložitejší, avšak v rámci tohto článku sa nebudeme doň hlbšie zaoberať).
Sám RT sa formuje podľa vzorca: AS:VNI (ak sa používa automatický režim).

Príklad formovania RT v automatickom a ručnom režime:

vrf context PROD
  address-family ipv4 unicast
    route-target import auto - automatický režim práce
    route-target export 65001:20000 - ručný režim formovania RT

Z výsledku vyššie je vidieť, že prefixy z iného VNI majú dve hodnoty RT.
Jedna z nich je 65001:99000 — dodatočný L3 VNI. Keďže tento VNI je rovnaký na všetkých Leaf a spadá pod naše pravidlá importu v nastaveniach VRF — prefix sa dostáva do tabuľky BGP, čo je vidieť z výstupu:

sh bgp l2vpn evpn

   Network            Next Hop            Metric     LocPrf     Weight Path
Route Distinguisher: 10.255.1.11:32777    (L2VNI 10000)
*>l[2]:[0]:[0]:[48]:[5001.0007.0007]:[0]:[0.0.0.0]\/216
                      10.255.1.10                       100      32768 i
*>l[2]:[0]:[0]:[48]:[5001.0007.0007]:[32]:[192.168.10.10]\/272
                      10.255.1.10                       100      32768 i
*>l[3]:[0]:[32]:[10.255.1.10]\/88
                      10.255.1.10                       100      32768 i

Route Distinguisher: 10.255.1.21:32787
* i[2]:[0]:[0]:[48]:[5001.0008.0007]:[32]:[192.168.20.20]\/272    ! Prefix obtained from VNI 20000
                      10.255.1.20                       100          0 i
*>i                   10.255.1.20                       100          0 i

Ak sa pozrieme podrobnejšie na získaný update, vidíme, že tento prefix má dva RT:

Leaf11# sh bgp l2vpn evpn 5001.0008.0007
Informácie o smerovacej tabuľke BGP pre VRF default, rodina adries L2VPN EVPN
Route Distinguisher: 10.255.1.21:32787
Záznam smerovacej tabuľky BGP pre [2]:[0]:[0]:[48]:[5001.0008.0007]:[32]:[192.168.20.20]\/272, verzia 5164
Cesty: (2 k dispozícii, najlepšia #2)
Zástavy: (0x000202) (high32 00000000) na xmit-list, nie je v l2rib\/evpn, nie je v HW

  Typ cesty: interný, cesta je platná, nie je najlepšia dôvod: Adresa suseda, žiadny označený next hop
  AS-Cesta: ŽIADNE, cesta vychádza z interného AS
    10.255.1.20 (metrika 81) z 10.255.1.102 (10.255.1.102)
      Pôvod IGP, MED nie je nastavená, preferencia 100, hmotnosť 0
      Prijatá značka 20000 99000                                 ! Dve značky pre prácu VxLAN
      Extcommunity: RT:65001:20000 RT:65001:99000 SOO:10.255.1.20:0 ENCAP:8     ! Dve hodnoty Route-target, na základe ktorých bol tento prefix pridaný
          Router MAC:5001.0005.0007
      Pôvodca: 10.255.1.21 Zoznam klastrov: 10.255.1.102

V smerovacej tabuľke na Leaf-1 taktiež môžeme pozorovať prefix 192.168.20.20\/32:

Leaf11# sh ip route vrf PROD
192.168.10.0/24, ubest/mbest: 1/0, attached
 *via 192.168.10.1, Vlan10, [0/0], 01:29:28, direct
192.168.10.1/32, ubest/mbest: 1/0, attached
 *via 192.168.10.1, Vlan10, [0/0], 01:29:28, local
192.168.10.10/32, ubest/mbest: 1/0, attached
 *via 192.168.10.10, Vlan10, [190/0], 01:27:22, hmm
192.168.20.20/32, ubest/mbest: 1/0 ! Adresa Host-2
 *via 10.255.1.20fault, [200/0], 01:20:20, bgp-65001, internal, tag 65001 ! Dostupné cez Leaf-2
(evpn) segid: 99000 tunnelid: 0xaff0114 encap: VXLAN ! Cez VNI 99000

Zaznamenali ste absenciu základného prefixu 192.168.20.0\/24 v smerovacej tabuľke?
Presne tak, tam nie je. To znamená, že vzdialené Leaf získavajú informácie len o hostiteľoch, ktorí existujú vo vašej sieti. A to je správne správanie. Hore vo všetkých update je vidno, že prichádzajú informácie o obsahu MAC\/IP. O akýchkoľvek prefixoch to nie je zmienka.

To funguje protokol Host Mobility Manager (HMM), ktorý vyplňuje ARP tabuľku, z ktorej sa následne vyplňuje BGP tabuľka (v rámci tohto článku tento proces vynecháme). Na základe informácií získaných z HMM sa vytvárajú EVPN route-type 2 (posiela sa MAC\/IP).

Avšak, čo robiť, ak je potrebné preniesť informácie o nejakom prefixe?

Pre tento typ informácií existuje EVPN route-type 5 — umožňuje prenášať prefixy cez address-family l2vpn evpn (tento typ trás je v čase písania článku iba v draft verzii. RFC, kvôli tomu sa môže správanie tohto typu trasy líšiť u rôznych výrobcov)

Na prenášanie prefixov je potrebné pri BGP pre VRF pridať prefixy, ktoré sa budú oznamovať:

router bgp 65001
  vrf PROD
    address-family ipv4 unicast
      redistribute direct route-map VNI20000        ! V tomto prípade oznamujeme prefixy pripojenia priamo k Leaf v VNI 20000
route-map VNI20000 permit 10
  match ip address prefix-list VNI20000_OUT    ! Určenie, ktorý prefix-list použiť

ip prefix-list VNI20000_OUT seq 5 permit 192.168.20.0/24   ! Určenie, ktoré siete budú zahrnuté do EVPN route-type 5

Výsledkom bude v Update:

VxLAN továreň. Časť 2

Pozrime sa na tabuľku BGP. Okrem EVPN route-type 2 a 3 sa objavili trasy 5. typu, ktoré obsahujú informácie o čísle siete:

Sieť            Ďalší skok            Metrika     LocPrf     Váha Cesta
Rozlišovač trasy: 10.255.1.11:3
* i[5]:[0]:[0]:[24]:[192.168.10.0]/224
                      10.255.1.10              0        100          0 ?
*>i                   10.255.1.10              0        100          0 ?

Rozlišovač trasy: 10.255.1.11:32777
* i[2]:[0]:[0]:[48]:[5001.0007.0007]:[0]:[0.0.0.0]/216
                      10.255.1.10                       100          0 i
*>i                   10.255.1.10                       100          0 i
* i[2]:[0]:[0]:[48]:[5001.0007.0007]:[32]:[192.168.10.10]/272
                      10.255.1.10                       100          0 i
*>i                   10.255.1.10                       100          0 i
* i[3]:[0]:[32]:[10.255.1.10]/88
                      10.255.1.10                       100          0 i
*>i                   10.255.1.10                       100          0 i

Rozlišovač trasy: 10.255.1.12:3
*>i[5]:[0]:[0]:[24]:[192.168.10.0]/224      ! EVPN route-type 5 s číslom prefixu
                      10.255.1.10              0        100          0 ?
* i                   

V tabuľke trás sa prefix tiež objavil:

Leaf21# sh ip ro vrf PROD
192.168.10.0/24, ubest/mbest: 1/0
 *via 10.255.1.10fault, [200/0], 00:14:32, bgp-65001, internal, tag 65001 ! Odľahlý prefix, dostupný cez Leaf1/2 (adresa Next-hop = virtuálna IP medzi pármi VPC)
(evpn) segid: 99000 tunnelid: 0xaff010a encap: VXLAN ! Prefix dostupný cez L3VNI 99000

192.168.10.10/32, ubest/mbest: 1/0
 *via 10.255.1.10fault, [200/0], 02:33:40, bgp-65001, internal, tag 65001
(evpn) segid: 99000 tunnelid: 0xaff010a encap: VXLAN

192.168.20.0/24, ubest/mbest: 1/0, attached
 *via 192.168.20.1, Vlan20, [0/0], 02:39:44, direct
192.168.20.1/32, ubest/mbest: 1/0, attached
 *via 192.168.20.1, Vlan20, [0/0], 02:39:44, local
192.168.20.20/32, ubest/mbest: 1/0, attached
 *via 192.168.20.20, Vlan20, [190/0], 02:35:46, hmm

Na tomto skončíme druhú časť cyklu článkov o VxLAN EVPN. V ďalšej časti preskúmame rôzne možnosti smerovania medzi VRF.

Základy protokolu IPv6 a jeho rozdiely od IPv4

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster