Salutami, Habr. Continuu a serie di articuli nantu à a tecnulugia VxLAN EVPN, chì sò stati scritti apposta per u lanciu di u corsu da OTUS. È oghje avemu vistu una parte interessante di u compitu - routing. Ùn importa micca quantu triviale pò sona, però, in u quadru di u travagliu di una fabbrica di rete, tuttu pò esse micca cusì simplice.

In l'ultima parte, avemu ottinutu un duminiu di broadcast custruitu nantu à a tela di a rete nantu à u Nexus 9000v. Tuttavia, questu ùn hè micca tutta a gamma di tarei chì deve esse risolta in a reta di u centru di dati. È oghje avemu da vede à u prossimu compitu - routing trà e rete o trà VNI.
Lasciami ricurdà chì a topologia Spine-Leaf hè aduprata:

Prima, fighjemu cumu si faci u routing è quali caratteristiche hà.
Per capiscenu, simplificà u schema logicu è aghjunghje un altru VNI 20000 per Host-2. U risultatu hè:

Cumu, in questu casu, pudete trasferisce u trafficu da un Host à l'altru?
Ci hè duie opzioni:
- Mantene l'infurmazioni nantu à tutti i VNI nantu à tutti i switch Leaf, allora tutti i routing saranu nantu à a prima Leaf in a reta;
- Aduprate un VNI L3 dedicatu
U primu mètudu hè simplice è còmuda. Siccomu basta à stallà tutti i VNI in tutti i switch Leaf. Tuttavia, stallà parechji centu o milla VNI per tutti i Leafs ùn pare più un compitu simplice. Per quessa, si usa abbastanza raramente in u travagliu.
Fighjemu u metudu 2, chì hè più interessante è un pocu più cumplessu, ma dà più flessibilità in a stallazione di a fabbrica.
Aghjunghjemu "PROD" à a topologia VRF. À questu aghjunghje l'interfaccia vlan 10 nantu à a coppia Leaf-11/12 è l'interfaccia VLAN 20 nantu à a foglia-21. VLAN 20 hè assuciatu cù VNI 20000
vrf context PROD
rd auto ! Route Distinguisher не принципиален и можем использовать сформированный автоматически
address-family ipv4 unicast
route-target both auto ! указываем Route-target с которым будут импортироваться и экспортироваться префиксы в/из 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-gatewayPer utilizà L3VNI, avete bisognu di creà una nova VLAN è associà cù u novu VNI. U novu VNI deve esse u stessu nantu à tutte e Foglie interessate in l'infurmazioni VLAN 10 è 20
vlan 99
vn-segment 99000
interface nve1
member vni 99000 associate-vrf ! Создаем L3 VNI
vrf context PROD
vni 99000 ! Привязываем L3 VNI к определенному VRFIn u risultatu, u diagramma sarà cusì:

Resta da fà un pocu - aghjunghje una altra interfaccia - interfaccia vlan 99 in VRF PROD
interface Vlan99
no shutdown
vrf member PROD
ip forward ! На интерфейсе не должно быть IP. Используется только для пересылки пакетов между LeafIn u risultatu, a logica per passà un quadru da Host-1 à Host-2 hè a siguenti:
- U quadru mandatu da Host-1 arriva à Leaf in VLAN 10, chì hè assuciatu cù VNI 10000;
- Leaf verifica induve hè l'indirizzu di destinazione è u trova attraversu L3 VNI nantu à u sicondu switch Leaf;
- Appena si trova una strada à l'indirizzu di destinazione, Leaf packs u quadru in un capu cù u L3VNI 99000 necessariu - è u manda versu a seconda Leaf;
- U second switch Leaf riceve dati da L3VNI 99000. Piglia u quadru uriginale è u trasferisce à u L2VNI 20000 necessariu è dopu à VLAN 20.
In u risultatu di stu travagliu, L3VNI elimina a necessità di mantene l'infurmazioni nantu à tutti i VNI chì sò in a reta in tutti i switch Leaf.
In u risultatu, quandu mandemu u trafficu da Host-1 à Host-2, u pacchettu hè imballatu in VxLAN cun un novu VNI - 99000:

Resta da vede cumu esattamente Leaf-1 aprende di l'indirizzu MAC da un altru VNI. Questu succede ancu cù EVPN route-type 2 (MAC/IP).
U seguitu mostra u prucessu di propagazione di una strada nantu à un prefissu situatu in un altru VNI:

Questu hè, l'indirizzi ricevuti da VNI 20000 anu dui RT.
Lasciami ricurdà chì i percorsi ricevuti da l'aghjurnamentu finiscinu in a tavola BGP cù a Route-target specificata in i paràmetri VRF (u prucessu hè un pocu più cumplicatu, ma ùn avemu micca sfondate in questu articulu).
RT stessu hè furmatu secondu a formula: AS:VNI (se u modu automaticu hè utilizatu).
Esempiu di furmazione RT in modu automaticu è manuale:
vrf context PROD
address-family ipv4 unicast
route-target import auto - автоматический режим работы
route-target export 65001:20000 - ручной режим формирования RTLe résultat ci-dessus montre que les préfixes d'un autre VNI ont deux valeurs RT.
Unu di elli hè 65001: 99000 - un L3 VNI supplementu. Siccomu questu VNI hè u listessu in tutti i Leafs è cade sottu à e nostre regule d'impurtazione in i paràmetri VRF, u prefissu finisci in a tavola BGP, chì pò esse vistu da a pruduzzioni:
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 ! Префикс полученный из VNI 20000
10.255.1.20 100 0 i
*>i 10.255.1.20 100 0 iSe guardemu più attentamente à l'aghjurnamentu ricevutu, pudemu vede chì stu prefissu hà dui RT:
Leaf11# sh bgp l2vpn evpn 5001.0008.0007
BGP routing table information for VRF default, address family L2VPN EVPN
Route Distinguisher: 10.255.1.21:32787
BGP routing table entry for [2]:[0]:[0]:[48]:[5001.0008.0007]:[32]:[192.168.20.2
0]/272, version 5164
Paths: (2 available, best #2)
Flags: (0x000202) (high32 00000000) on xmit-list, is not in l2rib/evpn, is not i
n HW
Path type: internal, path is valid, not best reason: Neighbor Address, no labeled nexthop
AS-Path: NONE, path sourced internal to AS
10.255.1.20 (metric 81) from 10.255.1.102 (10.255.1.102)
Origin IGP, MED not set, localpref 100, weight 0
Received label 20000 99000 ! Два label для работы VxLAN
Extcommunity: RT:65001:20000 RT:65001:99000 SOO:10.255.1.20:0 ENCAP:8 ! Два значения Route-target, на основе, которых добавили данный префикс
Router MAC:5001.0005.0007
Originator: 10.255.1.21 Cluster list: 10.255.1.102
<......>In a tabella di routing nantu à Leaf-1 pudete ancu vede u prefissu 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 99000Avete nutatu l'absenza di u prefissu principale 192.168.20.0/24 in a tabella di routing?
Hè propiu, ùn ci hè micca. Questu hè, Leafs remoti ricevenu infurmazioni solu nantu à l'ospiti chì sò in a vostra reta. È questu hè u cumpurtamentu currettu. Sopra in tutti l'aghjurnamenti pudete vede chì l'infurmazioni vene cun cuntenutu MAC / IP. Ùn si parla micca di prefissi.
Hè cusì chì u protokollu Host Mobility Manager (HMM) funziona, chì riempia a tavula ARP da quale a tavula BGP hè allora piena (omettemu stu prucessu per i scopi di questu articulu). Basatu nantu à l'infurmazioni ricevuti da u HMM, EVPN route-type 2 hè furmatu (trasmissu da MAC / IP).
Tuttavia, chì s'ellu ci hè bisognu di trasmette infurmazioni nantu à un prefissu?
Per stu tipu d'infurmazioni, ci hè EVPN route-type 5 - vi permette di trasmette prefissi via indirizzu-famiglia l2vpn evpn (questu tipu di rotte à u mumentu di a scrittura hè solu in a versione di bozza). , per quessa, u cumpurtamentu di stu tipu di strada pò differisce trà i diversi fabricatori)
Per trasmette prefissi, hè necessariu aghjunghje prefissi chì saranu annunziati in u prucessu BGP per VRF:
router bgp 65001
vrf PROD
address-family ipv4 unicast
redistribute direct route-map VNI20000 ! В данном случае анонсируем префиксы подключение непосредственно к Leaf в VNI 20000
route-map VNI20000 permit 10
match ip address prefix-list VNI20000_OUT ! Указываем какой использовать prefix-list
ip prefix-list VNI20000_OUT seq 5 permit 192.168.20.0/24 ! Указываем какие сети будут попадать в EVPN route-type 5In u risultatu, l'aghjurnamentu hà:

Fighjemu a tavula BGP. In più di EVPN route-type 2,3, sò apparsu rotte di tipu 5, chì cuntenenu infurmazioni nantu à u numeru di rete:
<......>
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 с номером префикса
10.255.1.10 0 100 0 ?
* i
<.......> U prefissu hè ancu apparsu in a tabella di routing:
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, hmmQuestu cuncludi a seconda parte di a serie di articuli nantu à VxLAN EVPN. In a prossima parte, guardemu diverse opzioni per u routing trà VRF.
Source: www.habr.com
