VxLAN tehas. Osa 2

Tere, Habr. Jätkan artiklite seeriat VxLAN EVPN tehnoloogiast, mis on kirjutatud spetsiaalselt kursuse käivitamiseks "Võrgutehnik" OTUSelt. Täna vaatame huvitavat osa probleemidest — marsruutimist. Kusjuures, kuigi see võib kõlada banaalselt, ei ole võrgu ettepanekute töös kõik sugugi lihtne.

VxLAN tehas. Osa 2

Selle seeria 1. osa – L2 seotuse loomine serverite vahel

Eelmises osas saavutasime ühe laiapöördusliku domeeni, mis on loodud Nexus 9000v võrguettepaneku peale. Siiski ei ole see kaugeltki kogu probleemide spekter, mida peab lahendama andmekeskustes. Täna vaatame järgmise probleemi — marsruutimist võrkude või VNIde vahel.

Kohustuseks on Spine-Leaf topoloogia:

VxLAN tehas. Osa 2

Alustame arutelu sellest, kuidas marsruutimine toimub ja millised on selle eripärad.

Arusaamade lihtsustamiseks lihtsustame loogilist skeemi ja lisame veel ühe VNI 20000 Host-2 jaoks. Tulemuseks on:

VxLAN tehas. Osa 2

Kuidas sellises olukorras saame edastada liiklust ühelt Hostilt teisele?

On kaks varianti:

  1. Hoida kõigis Leaf lülitites teavet kõigi VNIde kohta, siis toimub kogu marsruutimine esimeses Leafis võrgus;
  2. Kasutada spetsiaalselt eraldatud — L3 VNI

Esimene meetod on lihtne ja mugav. Kõik, mis on vajalik, on vaid kõik VNI kõikidele Leaf lülititele sisse seada. K however, seada sisse mitu sada või tuhat VNI kõikidele Leaf lülititele, ei tundu enam lihtsa ülesandena. Seetõttu kasutatakse seda töös üsna harva.

Tegelgem teise meetodiga, mis on huvitavam ja veidi keerulisem, kuid pakub suuremat paindlikkust tehase seadistamisel.

Lisame topoloogiasse VRF "PROD". Sellesse lisame liidese vlan 10 Leaf-11/12 paaris ja liidese VLAN 20 Leaf-21. VLAN 20 seostatakse VNI 20000.

vrf context PROD
  rd auto       ! Route Distinguisher ei ole oluline ja saame kasutada automaatselt genereeritud
  address-family ipv4 unicast
    route-target both auto      ! määrame Route-target, millega prefikseid imporditakse ja eksporditakse VRF-i
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

L3VNI kasutamiseks on vajalik luua uus VLAN, seostada see uue VNI-ga. Uus VNI peab olema kõigil Leaf lülititel sama, kes on huvitatud VLAN 10 ja 20 teabest.

vlan 99
  vn-segment 99000

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

vrf context PROD
  vni 99000                             ! Sidume L3 VNI kindla VRF-iga

Seetõttu kuvatakse skeem järgmiselt:

VxLAN tehas. Osa 2

On natuke jäänud, et valmis saada — lisada veel üks liides — interface vlan 99 VRF PROD-sse

interface Vlan99
  no shutdown
  vrf member PROD
  ip forward  ! Liidesel ei tohiks olla IP-d. Kasutatakse ainult pakettide edastamiseks Leaf'i vahel.

Lõpuks on raami edasiviimise loogika Host-1-st Host-2-ni järgmine:

  1. Raam, mille Host-1 saadab, jõuab Leaf'i VLAN 10, mis on seotud VNI 10000-ga;
  2. Leaf kontrollib, kus sihtaadress asub, ja leiab selle läbi L3 VNI teise Leaf'i lüliti;
  3. Niipea kui sihtaadressi marsruut on leitud, pakib Leaf raam üles vajalikku L3VNI 99000 päisesse — ja saadab teise Leaf'i suunas;
  4. Teine Leaf'i lüliti saab andmed L3VNI 99000-st. Võtab algse raami ja edastab selle vajalikku L2VNI 20000-sse ning seejärel VLAN 20-sse.

Sellise töö tulemuseks on see, et L3VNI ei nõua informatsiooni kõigi VNI-de kohta, mis on võrgus, hoidmisest kõigis Leaf'i lülitites.

Seetõttu, kui saadame liiklust Host-1-lt Host-2-le, pakendatakse pakett VxLAN-i koos uue VNI-ga — 99000:

VxLAN tehas. Osa 2

Peame aru saama, kuidas just Leaf-1 MAC-aadressi teise VNI-st õpib. See toimub samuti EVPN route-type 2 (MAC/IP) abil.

Allpool on näidatud marsruudi levitamine prefiksist, mis asub teises VNI-s:

VxLAN tehas. Osa 2

See tähendab, et VNI 20000-st saadud aadressidel on kaks RT-d.
Tuletan meelde, et värskenduse kaudu saadud marsruudid jõuavad BGP tabelisse, mille Route-target on määratud VRF seadetes (protsess on keerulisem, kuid seda artiklit jõudmiseks me süvitsi ei lähe).
RT kujuneb järgmise valemi järgi: AS:VNI (kui kasutatakse automaatset režiimi).

Näide RT kujundamisest automaat- ja käsirežiimis:

vrf kontekst PROD
  aadressiperiood ipv4 unicast
    route-target import auto - automaatne režiim
    route-target export 65001:20000 - käsitsi RT kujundamise režiim

Ülaltoodust on näha, et teise VNI-st pärinevad prefiksid omavad kahte RT väärtust.
Üks neist on 65001:99000 — täiendav L3 VNI. Kuna see VNI on kõigil Leaf süsteemidel ühesugune ja allub meie VRF seadete import reeglitele — prefiks jõuab BGP tabelisse, nagu näha väljast:

sh bgp l2vpn evpn

   Võrk            Järgmine hüppeline            Maatükk     LocPrf     Kaal Tee
Marsruudi eristaja: 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

Marsruudi eristaja: 10.255.1.21:32787
* i[2]:[0]:[0]:[48]:[5001.0008.0007]:[32]:[192.168.20.20]/272    ! Eelnimetus saadud VNI 20000
                      10.255.1.20                       100          0 i
*>i                   10.255.1.20                       100          0 i

Kui vaatame saadud uuendust lähemalt, siis on näha, et antud eelnimetusel on kaks RT:

Leaf11# sh bgp l2vpn evpn 5001.0008.0007
BGP marsruutimise tabeli teave VRF default, adresseerimisperes L2VPN EVPN
Marsruudi eristaja: 10.255.1.21:32787
BGP marsruutimise tabeli kirje [2]:[0]:[0]:[48]:[5001.0008.0007]:[32]:[192.168.20.2
0]/272, versioon 5164
Teed: (2 saadaval, parim #2)
Lipud: (0x000202) (kõrge32 00000000) xmit-listis, ei ole l2rib/evpn'is, ei ole HW

  Rajatüübi: sisemine, tee on kehtiv, mitte parim põhjus: Naabruse aadress, ei ole määratud etiketti
  AS-Path: EI OLE, tee allikas AS-is
    10.255.1.20 (mõõt 81) aadressilt 10.255.1.102 (10.255.1.102)
      Allikas IGP, MED ei ole seadistatud, kohaliku eelistuse väärtus 100, kaal 0
      Saadud etiketid 20000 99000                                 ! Kaks etiketti VxLAN-i jaoks tööks
      Extcommunity: RT:65001:20000 RT:65001:99000 SOO:10.255.1.20:0 ENCAP:8     ! Kaks Route-target väärtust, mille alusel lisati see prefiks
          Ruuter MAC:5001.0005.0007
      Algataja: 10.255.1.21 Klaster nimekiri: 10.255.1.102

Leaf-1 marsruutimise tabelis on samuti nähtav prefiks 192.168.20.20/32:

Leaf11# sh ip route vrf PROD
192.168.10.0/24, ubest/mbest: 1/0, ühendatud
 *via 192.168.10.1, Vlan10, [0/0], 01:29:28, otse
192.168.10.1/32, ubest/mbest: 1/0, ühendatud
 *via 192.168.10.1, Vlan10, [0/0], 01:29:28, lokaalne
192.168.10.10/32, ubest/mbest: 1/0, ühendatud
 *via 192.168.10.10, Vlan10, [190/0], 01:27:22, hmm
192.168.20.20/32, ubest/mbest: 1/0 ! Aadress Host-2
 *via 10.255.1.20fault, [200/0], 01:20:20, bgp-65001, sisemine, silt 65001 ! Saadaval läbi Leaf-2
(evpn) segid: 99000 tunnelid: 0xaff0114 encap: VXLAN ! Läbi VNI 99000

Kas olete märganud, et peamine prefiks 192.168.20.0/24 puudub marsruutimise tabelis?
Jah, seda seal ei ole. See tähendab, et eemalduvad Leaf seadmed saavad teavet ainult nende võrgus olevate hostide kohta. Ja see on õige käitumine. Kõikide uuenduste puhul on näha, et saabub teave MAC/IP sisuga. Ükski eelnevad prefixid ei ole seotud.

See töötab Host Mobility Manager (HMM) protokolli kaudu, mis täidab ARP tabelit, millest edasi täidetakse BGP tabel (selles artiklis jätame selle protsessi välja). HMM-ist saadud teabe põhjal moodustatakse EVPN route-type 2 (edastatakse MAC/IP).

Kuid mida teha, kui on vajalik edastada teavet mõne prefixi kohta?

Sellise teabe edastamiseks on olemas EVPN route-type 5 — see võimaldab edastada prefixeid address-family l2vpn evpn kaudu (see marsruutide tüüp on artikli kirjutamise ajal alles draft versioonis RFC, seetõttu võib selle marsruuditüübi käitumine erineda erinevate tootjate vahel)

Prefixide edastamiseks on vajalik BGP protsessi käigus VRF-is lisada prefixid, mis hakkavad olema kuulutatud:

router bgp 65001
  vrf PROD
    address-family ipv4 unicast
      redistribute direct route-map VNI20000        ! Selles olukorras kuulutame välja prefiksid, mis on otseselt ühendatud Leaf'iga VNI 20000
route-map VNI20000 permit 10
  match ip address prefix-list VNI20000_OUT    ! Näitame, millist prefix-list'i kasutada

ip prefix-list VNI20000_OUT seq 5 permit 192.168.20.0/24   ! Näitame, millised võrgud kuuluvad EVPN route-type 5

Lõpptulemusena sisaldab Update:

VxLAN tehas. Osa 2

Vaadake BGP tabelit. Peale EVPN route-type 2,3 on lisandunud marsruudid 5 tüüpi, mis sisaldavad teavet võrgu numbri kohta:

Network            Next Hop            Metric     LocPrf     Weight Path
Route 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 ?

Route 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

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

Reitingutabelis ilmus ka prefiks:

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, sisemine, silt 65001 ! Kaug-prefiks, saadaval läbi Leaf1/2(Next-hop aadress = virtuaalne IP VPC paaris)
(evpn) segid: 99000 tunnelid: 0xaff010a encap: VXLAN ! Prefiks on saadaval läbi L3VNI 99000

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

192.168.20.0/24, ubest/mbest: 1/0, ühendatud
 *via 192.168.20.1, Vlan20, [0/0], 02:39:44, otse
192.168.20.1/32, ubest/mbest: 1/0, ühendatud
 *via 192.168.20.1, Vlan20, [0/0], 02:39:44, lokaalne
192.168.20.20/32, ubest/mbest: 1/0, ühendatud
 *via 192.168.20.20, Vlan20, [190/0], 02:35:46, hmm

Sellega lõpetame teise osa VxLAN EVPN artiklite tsüklist. Järgmises osas vaatame erinevaid marsruutimisvariante VRF vahel.

IPv6 protokolli alused ja selle erinevused IPv4-st

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster