VxLAN-fabriken. Del 2

Hej, Habr. Jag fortsĂ€tter med cykeln av artiklar om VxLAN EVPN-teknologin som skrevs specifikt inför lanseringen av kursen "NĂ€tverksingenjör" frĂ„n OTUS. Idag kommer vi att titta pĂ„ en intressant del av uppgiften — ruttningsprocessen. Hur trivialt det Ă€n lĂ„ter kan det dock vara mer komplicerat i nĂ€tverksfabriken.

VxLAN-fabriken. Del 2

Del 1 av serien – L2-koppling mellan servrar

I den föregĂ„ende delen uppnĂ„dde vi en bredkastsdomĂ€n byggd ovanpĂ„ nĂ€tverksfabriken pĂ„ Nexus 9000v. Men detta Ă€r lĂ„ngt ifrĂ„n hela spektrumet av uppgifter som mĂ„ste lösas inom datacentret. Idag kommer vi att titta pĂ„ nĂ€sta uppgift — ruttning mellan nĂ€tverk eller mellan VNI.

Jag pÄminner om att topologin Spine-Leaf anvÀnds:

VxLAN-fabriken. Del 2

Först ska vi gÄ igenom hur ruttningsprocessen gÄr till och vilka speciella egenskaper som finns.

För att förstÄ ska vi förenkla den logiska schemat och lÀgga till Ànnu en VNI 20000 för Host-2. Resultatet blir:

VxLAN-fabriken. Del 2

Hur kan man i sÄdana fall överföra trafik frÄn en Host till en annan?

Det finns tvÄ alternativ:

  1. Att ha information om alla VNI pÄ alla Leaf-switchar, sÄ att all rutting sker pÄ den första Leaf i nÀtverket;
  2. Att anvĂ€nda en sĂ€rskild — L3 VNI

Den första metoden Àr enkel och praktisk. Eftersom det bara krÀvs att registrera alla VNI pÄ alla Leaf-switchar. Men att registrera flera hundra eller tusen VNI pÄ alla Leaf verkar inte vara en enkel uppgift. DÀrför anvÀnds den i praktiken ganska sÀllan.

Vi gÄr igenom det andra alternativet, som Àr mer intressant och lite mer komplicerat, men ger större flexibilitet vid konfigurationen av fabriken.

Vi lÀgger till VRF "PROD" i topologin. I den lÀgger vi till interface vlan 10 pÄ Leaf-11/12 och interface VLAN 20 pÄ Leaf-21. VLAN 20 kopplas till VNI 20000.

vrf context PROD
  rd auto       ! Route Distinguisher Àr inte avgörande och vi kan anvÀnda den automatiskt formade
  address-family ipv4 unicast
    route-target both auto      ! vi anger route-target som prefixen kommer importeras och exporteras till/frÄn 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

För att anvÀnda L3VNI mÄste vi skapa en ny VLAN och koppla den till en ny VNI. Den nya VNI:n mÄste vara densamma pÄ alla Leaf som Àr intresserade av information om VLAN 10 och 20.

vlan 99
  vn-segment 99000

interface nve1
  member vni 99000 associate-vrf        ! Skapa L3 VNI

vrf context PROD
  vni 99000                             ! Koppla L3 VNI till en specifik VRF

Resultatet blir att schemat presenteras sÄ hÀr:

VxLAN-fabriken. Del 2

Det finns bara lite kvar att göra - att lÀgga till ett till interface - interface vlan 99 i VRF PROD

interface Vlan99
  no shutdown
  vrf member PROD
  ip forward  ! Det fÄr inte finnas nÄgot IP-adress pÄ interfacet. AnvÀnds endast för att vidarebefordra paket mellan Leaf

Slutligen Àr logiken för hur ramen passerar frÄn Host-1 till Host-2 som följer:

  1. Ramen som skickas frÄn Host-1 kommer till Leaf i VLAN 10, som Àr kopplat till VNI 10000;
  2. Leaf kontrollerar var destinationsadressen ligger och hittar den genom L3 VNI pÄ den andra Leaf-switch;
  3. SÄ snart vÀgen till destinationsadressen hittas, packar Leaf ramen i en rubrik med nödvÀndig L3VNI 99000 - och skickar den mot den andra Leaf;
  4. Den andra Leaf-switchen tar emot data frÄn L3VNI 99000. Den tar ut den ursprungliga ramen och flyttar den till det nödvÀndiga L2VNI 20000 och vidare till VLAN 20.

Resultatet av detta arbete Àr att L3VNI eliminerar behovet av att hÄlla information om alla VNI pÄ alla Leaf-switchar.

SÄ, nÀr vi skickar trafik frÄn Host-1 till Host-2 packas paketet in i VxLAN med det nya VNI - 99000:

VxLAN-fabriken. Del 2

Det ÄterstÄr att förstÄ hur Leaf-1 fÄr reda pÄ MAC-adressen frÄn ett annat VNI. Det hÀnder ocksÄ genom EVPN route-type 2 (MAC/IP).

Nedan visas processen för spridning av rutt om ett prefix som finns i ett annat VNI:

VxLAN-fabriken. Del 2

Det vill sÀga adresser som erhÄllits frÄn VNI 20000 har tvÄ RT.
Kom ihÄg att rutter som erhÄllits frÄn Update hamnar i BGP-tabellen med Route-target angiven i VRF-instÀllningarna (processen Àr nÄgot mer komplex, men vi ska inte gÄ djupare in pÄ det i denna artikel).
SjÀlva RT formuleras enligt formeln: AS:VNI (om automatisk lÀge anvÀnds).

Exempel pÄ hur RT formas i bÄde automatisk och manuell lÀge:

vrf context PROD
  address-family ipv4 unicast
    route-target import auto - automatiskt lÀge
    route-target export 65001:20000 - manuellt lÀge för att forma RT

Som syns ovan har prefixen frÄn ett annat VNI tvÄ RT-vÀrden.
Ett av dem Àr 65001:99000 - en extra L3 VNI. Eftersom detta VNI Àr detsamma pÄ alla Leaf och omfattas av vÄra importregler i VRF-instÀllningarna - hamnar prefixet i BGP-tabellen, vilket kan ses i utskriften:

sh bgp l2vpn evpn

   NĂ€tverk           NĂ€sta hopp          Metrik     LocPrf     Vikt   Stig
Rutt 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

Rutt Distinguisher: 10.255.1.21:32787
* i[2]:[0]:[0]:[48]:[5001.0008.0007]:[32]:[192.168.20.20]\/272    ! Prefix erhÄllet frÄn VNI 20000
                      10.255.1.20                       100          0 i
*>i                   10.255.1.20                       100          0 i

Om vi tittar noggrannare pÄ den mottagna uppdateringen, sÄ ser vi att denna prefix har tvÄ RT:

Leaf11# sh bgp l2vpn evpn 5001.0008.0007
BGP-routingtabellens information för VRF standard, adressfamilj L2VPN EVPN
Rutt Distinguisher: 10.255.1.21:32787
BGP-routingtabellspost för [2]:[0]:[0]:[48]:[5001.0008.0007]:[32]:[192.168.20.20]\/272, version 5164
VÀgar: (2 tillgÀngliga, bÀsta #2)
Flaggor: (0x000202) (high32 00000000) pÄ xmit-lista, finns inte i l2rib/evpn, finns inte i HW

  VÀgtillstÄnd: internt, vÀgen Àr giltig, inte bÀsta orsaken: Grannadress, ingen mÀrkt nÀsta hopp
  AS-VÀg: INGEN, vÀg som Àr kÀllad internt till AS
    10.255.1.20 (metrik 81) frÄn 10.255.1.102 (10.255.1.102)
      Ursprung IGP, MED inte instÀllt, localpref 100, vikt 0
      Mottagen etikett 20000 99000                                 ! TvÄ etiketter för att arbeta med VxLAN
      Extcommunity: RT:65001:20000 RT:65001:99000 SOO:10.255.1.20:0 ENCAP:8     ! TvÄ vÀrden Route-target, baserat pÄ vilka, denna prefix har lagts till
          Router MAC:5001.0005.0007
      Ursprung: 10.255.1.21 Klusterlista: 10.255.1.102

I routingtabellen pÄ Leaf-1 kan vi ocksÄ observera prefixet 192.168.20.20\/32:

Leaf11# sh ip route vrf PROD
192.168.10.0\/24, ubest\/mbest: 1\/0, bifogad
 *via 192.168.10.1, Vlan10, [0\/0], 01:29:28, direkt
192.168.10.1\/32, ubest\/mbest: 1\/0, bifogad
 *via 192.168.10.1, Vlan10, [0\/0], 01:29:28, lokal
192.168.10.10\/32, ubest\/mbest: 1\/0, bifogad
 *via 192.168.10.10, Vlan10, [190\/0], 01:27:22, hmm
192.168.20.20\/32, ubest\/mbest: 1\/0 ! Adress Host-2
 *via 10.255.1.20fault, [200\/0], 01:20:20, bgp-65001, intern, tag 65001 ! TillgÀnglig via Leaf-2
(evpn) segid: 99000 tunnelid: 0xaff0114 encap: VXLAN ! Genom VNI 99000

Har du mÀrkt att den primÀra prefixen 192.168.20.0\/24 saknas i routingtabellen?
Just det, den finns inte dÀr. Det vill sÀga att avlÀgsna Leaf fÄr information endast om vÀrdar som finns i ditt nÀtverk. Och det Àr korrekt beteende. Ovan i alla uppdateringar syns det att information kommer med innehÄll av MAC\/IP. Ingen diskussion om prefixen.

Det Àr protokollet Host Mobility Manager (HMM) som fyller i ARP-tabellen dÀrifrÄn BGP-tabellen fylls (i denna artikel kommer vi att utelÀmna den processen). Baserat pÄ informationen som hÀmtas frÄn HMM bildas EVPN route-type 2 (MAC\/IP överförs).

Men vad ska man göra om det finns ett behov av att överföra information om en viss prefix?

För denna typ av information finns det EVPN route-type 5 — det möjliggör överföring av prefixer via address-family l2vpn evpn (denna typ av rutter befinner sig vid tidpunkten för denna text endast i utkastversion) RFC, vilket gör att beteendet för denna typ av rutt kan variera mellan olika tillverkare)

För att överföra prefixer Àr det nödvÀndigt att lÀgga till de prefixer som ska annonseras i BGP för VRF under processen:

router bgp 65001
  vrf PROD
    address-family ipv4 unicast
      redistribute direct route-map VNI20000        ! HĂ€r annonserar vi prefixer kopplade direkt till Leaf i VNI 20000
route-map VNI20000 permit 10
  match ip address prefix-list VNI20000_OUT    ! Specificera vilken prefix-list som ska anvÀndas

ip prefix-list VNI20000_OUT seq 5 permit 192.168.20.0/24   ! Specificera vilka nÀtverk som kommer ingÄ i EVPN route-type 5

Resultatet i Update kommer vara:

VxLAN-fabriken. Del 2

LÄt oss titta pÄ BGP-tabellen. Förutom EVPN route-type 2 och 3 har route-type 5 rutter kommit, som innehÄller information om nÀtverksnumret:

NĂ€tverk            NĂ€sta Hopp            Metrik     LocPrf     Vikt VĂ€g
Rutt Distinguisher: 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 ?

Rutt Distinguisher: 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

Rutt Distinguisher: 10.255.1.12:3
*>i[5]:[0]:[0]:[24]:[192.168.10.0]/224      ! EVPN route-type 5 med prefixnummer
                      10.255.1.10              0        100          0 ?
* i                   

Prefixet har ocksÄ dykt upp i ruttningstabellen:

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, intern, tag 65001 ! AvlÀgset prefix, tillgÀngligt genom Leaf1/2 (Next-hop adress = virtuell IP mellan VPC-par)
(evpn) segid: 99000 tunnelid: 0xaff010a encap: VXLAN ! Prefixet Àr tillgÀngligt via L3VNI 99000

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

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

Vi avslutar den andra delen av artikelsviten om VxLAN EVPN hÀr. I nÀsta del kommer vi att titta nÀrmare pÄ olika alternativ för ruttning mellan VRF.

Grunderna i protokollet IPv6 och dess skillnader frÄn IPv4

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster