Përshëndetje, Habr. Po vazhdoj ciklin e artikujve mbi teknologjinë VxLAN EVPN, të cilët janë shkruar veçanërisht për lançimin e kursit nga OTUS. Dhe sot do të shqyrtojmë një pjesë interesante të detyrave — routing. Sa e thjeshtë tingëllon kjo, ndoshta në kuadër të punës së fabrikës së rrjetit, gjithçka mund të mos jetë kaq e lehtë.

Në pjesën e kaluar ne arritëm një domen të vetëm të propagandës, të ndërtuar mbi fabrikën e rrjetit në Nexus 9000v. Megjithatë, kjo nuk është e gjithë gama e detyrave që duhet të zgjidhen brenda rrjetit të Qendrës së Të Dhënave. Dhe sot do të shqyrtojmë detyrën tjetër — routing midis rrjeteve ose midis VNI.
Kujtoj se po përdorim topologjinë Spine-Leaf:

Së pari, le të shpjegojmë se si ndodh routing dhe cilat janë karakteristikat.
Për të lehtësuar kuptimin, le të thjeshtojmë skemën logjike dhe të shtojmë një VNI tjetër 20000 për Host-2. Në përfundim, rezulton:

Si mund të kalojë trafiku nga një Host në tjetrin në këtë rast?
Ka dy mundësi:
- Të mbani informacion mbi të gjitha VNI në të gjitha switch-e Leaf, atëherë tërë routing-u do të ndodhi në Leaf-in e parë në rrjet;
- Të përdorni një VNI të veçuar — L3 VNI
Mënyra e parë është e thjeshtë dhe e përshtatshme. Kjo sepse kërkohet vetëm të regjistrohen të gjitha VNI në të gjitha switches Leaf. Megjithatë, regjistrimi i disa qindra ose mijëra VNI në të gjitha Leaf nuk duket më si një detyrë e thjeshtë. Prandaj, në praktikë, përdoret mjaft rrallë.
Të shqyrtojmë mënyrën e dytë, siç është më interesante dhe pak më e komplikuar, por ofron fleksibilitet më të madh në konfigurimin e fabrikës.
Shtojmë në topologji VRF "PROD". Në të do të shtojmë interface vlan 10 në çiftin Leaf-11/12 dhe interface VLAN 20 në Leaf-21. VLAN 20 do të asociohet me VNI 20000.
vrf context PROD
rd auto ! Route Distinguisher nuk është thelbësor dhe mund të përdorim atë të formuar automatikisht
address-family ipv4 unicast
route-target both auto ! tregojmë Route-target me të cilin do të importohen dhe eksportohen prefiksët në/nga 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-gatewayPër të përdorur L3VNI është e nevojshme të krijohet një VLAN i ri, të asociohet me një VNI të ri. VNI i ri duhet të jetë i njëjtë në të gjithë Leaf që janë të interesuar për informacionin në lidhje me VLAN 10 dhe 20.
vlan 99
vn-segment 99000
interface nve1
member vni 99000 associate-vrf ! Krijojmë L3 VNI
vrf context PROD
vni 99000 ! Lidhen L3 VNI me një VRF të caktuarSi rezultat, skema do të paraqitet kështu:

Ka mbetur pak për të përfunduar — të shtojmë një ndërfaqe tjetër — interface vlan 99 në VRF PROD
interface Vlan99
no shutdown
vrf member PROD
ip forward ! Në ndërfaqe nuk duhet të ketë IP. Përdoret vetëm për dërgimin e paketeve midis LeafSi rezultat, logjika e kalimit të kadrit nga Host-1 në Host-2 është si në vijim:
- Kadri, i dërguar nga Host-1 arrin në Leaf në VLAN 10, i cili është i asociuar me VNI 10000;
- Leaf kontrollon se ku ndodhet adresa e destinacionit dhe e gjen atë përmes L3 VNI në Leaf-in e dytë;
- Sapo të gjendet ruga deri te adresa e destinacionit, Leaf-i paketoi kadri në një titull me L3VNI të nevojshme 99000 — dhe e dërgon drejt Leaf-it të dytë;
- Leaf-i i dytë merr të dhënat nga L3VNI 99000. Nxjerr kadri origjinal dhe e transferon në L2VNI të nevojshëm 20000 dhe më tej në VLAN 20.
Rezultati i këtij funksionimi L3VNI eliminon nevojën për të mbajtur në të gjitha Leaf switch-at informacione për të gjithë VNI-të që janë në rrjet.
Si rezultat, kur dërgojmë trafikun nga Host-1 në Host-2, paketi paketizohet brenda VxLAN me VNI të ri — 99000:

Mbete të kuptohet si saktësisht Leaf-1 e di për adresën MAC nga një VNI tjetër. Kjo ndodh gjithashtu përmes EVPN route-type 2 (MAC/IP).
Më poshtë është procesi i shpërndarjes së rrugës për prefix-in që ndodhet në një VNI tjetër:

Pra, adresat e marra nga VNI 20000 kanë dy RT.
Dua të kujtoj se rrugët e marra nga Update kalojnë në tabelën BGP me Route-target-in e përcaktuar në konfigurimet e VRF (processi është disi më kompleks, megjithatë në kuadër të këtij artikulli nuk do të thellohemi më tej).
RT formohet sipas formulës: AS:VNI (nëse përdoret modaliteti automatik).
Shembuj të formimit të RT në modalitetin automatike dhe manual:
vrf context PROD
address-family ipv4 unicast
route-target import auto - modaliteti automatik i punës
route-target export 65001:20000 - modaliteti manual i formimit të RTSiç shihet më lart, prefix-et nga një VNI tjetër kanë dy vlera RT.
Njëra prej tyre është 65001:99000 — VNI shtesë L3. Duke qenë se ky VNI është i njëjtë në të gjitha Leaf dhe përmbahet nën rregullat tona të importit në konfigurimet e VRF — prefix-i kalon në tabelën BGP, siç mund të shikohet nga rezultati:
sh bgp l2vpn evpn
Rrjeti Hopa i ardhshëm Metrika LocPrf Pesha Rruga
Distinguisheri i Rrugës: 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
Distinguisheri i Rrugës: 10.255.1.21:32787
* i[2]:[0]:[0]:[48]:[5001.0008.0007]:[32]:[192.168.20.20]/272 ! Prefiks i marrë nga VNI 20000
10.255.1.20 100 0 i
*>i 10.255.1.20 100 0 iNëse e shohim më nga afër përditësimin e marrë, duket se ky prefiks ka dy RT:
Leaf11# sh bgp l2vpn evpn 5001.0008.0007
Informacionet e tabelës së ruterit BGP për VRF default, familja e adresave L2VPN EVPN
Distinguesi i rrugëve: 10.255.1.21:32787
E kyçja e tabelës BGP për [2]:[0]:[0]:[48]:[5001.0008.0007]:[32]:[192.168.20.2
0]/272, version 5164
Rrugë: (2 në dispozicion, më e mira #2)
Flamuj: (0x000202) (high32 00000000) në listën e transmetimit, nuk është në l2rib/evpn, nuk është në HW
Lloji i rrugës: e brendshme, rruga është e vlefshme, arsyejo më e mira: Adresa e Fqinjtë, nuk ka next hop të etiketuar
AS-Path: ASN nuk ka, rruga është e buruar e brendshme për AS
10.255.1.20 (metrika 81) nga 10.255.1.102 (10.255.1.102)
Origjina IGP, MED nuk është caktuar, preferencë lokale 100, peshë 0
Etiketa e pranuar 20000 99000 ! Dy etiketat për funksionimin e VxLAN
Extcommunity: RT:65001:20000 RT:65001:99000 SOO:10.255.1.20:0 ENCAP:8 ! Dy vlerat e Route-target, mbi bazën e të cilave u shtua ky prefix
MAC i ruterit: 5001.0005.0007
Origjinatori: 10.255.1.21 Lista e grupeve: 10.255.1.102Në tabelën e ruterit në Leaf-1 mund të shikohet gjithashtu prefix-i 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 ! Адрес Host-2
*via 10.255.1.20%default, [200/0], 01:20:20, bgp-65001, internal, tag 65001 ! Доступный через Leaf-2
(evpn) segid: 99000 tunnelid: 0xaff0114 encap: VXLAN ! Через VNI 99000A keni vërejtur mungesën e prefix-it kryesor 192.168.20.0/24 në tabelën e ruterit?
Sigurisht, ai nuk është atje. Kështu që Leaf të larguar marrin informacion vetëm mbi hostet që janë në rrjetin tuaj. Dhe kjo është sjellja e duhur. Më sipër në të gjitha përditësimet është e qartë se informacioni që vjen ka përmbajtje MAC/IP. Nuk flitet për ndonjë prefiks.
Kjo funksionon me protokollin Host Mobility Manager (HMM), i cili mbush tabelën ARP nga e cila më pas mbushet tabela BGP (në kuadër të këtij artikulli do ta kalojmë këtë proces). Bazuar në informacionin e marrë nga HMM formohen rrugët EVPN me llojin 2 (transmetohet MAC/IP).
Megjithatë, çfarë të bëjmë nëse ka nevojë për të kaluar informacionin për ndonjë prefiks?
Për këtë lloj informacioni ekziston EVPN route-type 5 — lejon kalimin e prefikseve përmes address-family l2vpn evpn (ky tip rruge në momentin e shkrimit është në versionin draft) , për këtë arsye mund të ketë dallime në sjelljen e këtij tipi rruge nga prodhues të ndryshëm)
Për të kaluar prefiksat, është e nevojshme që në procesin BGP për VRF të shtohen prefiksat që do të njoftohen:
router bgp 65001
vrf PROD
address-family ipv4 unicast
redistribute direct route-map VNI20000 ! Në këtë rast, ne e anonsuam prefixin që lidhet drejtpërdrejt me Leaf në VNI 20000
route-map VNI20000 permit 10
match ip address prefix-list VNI20000_OUT ! Specifikojmë se cila të përdoret për prefix-list
ip prefix-list VNI20000_OUT seq 5 permit 192.168.20.0/24 ! Specifikojmë se cilat rrjete do të përfshihen në EVPN route-type 5Në përfundim, në Update do të jetë:

Të shohim tabelën BGP. Përveç EVPN route-type 2,3, kanë dalë rrugët e tipit 5, të cilat përmbajnë informacionin mbi numrin e rrjetit:
Rrjeti Next Hop Metri LocPrf Pesha Rruga
Shënuesi i Rrugës: 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 ?
Shënuesi i Rrugës: 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
Shënuesi i Rrugës: 10.255.1.12:3
*>i[5]:[0]:[0]:[24]:[192.168.10.0]/224 ! EVPN route-type 5 me numrin e prefixit
10.255.1.10 0 100 0 ?
* i Në tabelën e rrugëzimit, prefiksi gjithashtu u shfaq:
Leaf21# sh ip ro vrf PROD
192.168.10.0/24, ubest/mbest: 1/0
*via 10.255.1.10%default, [200/0], 00:14:32, bgp-65001, internal, tag 65001 ! Удаленный префикс, доступный через Leaf1/2(адрес Next-hop = virtual IP между парой VPC)
(evpn) segid: 99000 tunnelid: 0xaff010a encap: VXLAN ! Префикс доступен через L3VNI 99000
192.168.10.10/32, ubest/mbest: 1/0
*via 10.255.1.10%default, [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, hmmMe këtë përfundojmë pjesën e dytë të ciklit të artikujve mbi VxLAN EVPN. Në pjesën tjetër do të shqyrtojmë mundësitë e ndryshme të rrugëzimit midis VRF.
Burimi: habr.com
