Tere, Habr. Praegu olen ma OTUSis kursuse "VÔrgutehnik" juhataja.
Uue kursuse alguse eelÔhtul , olen valmistanud ette artiklite seeria VxLAN EVPN tehnoloogiast.
VxLAN EVPN töö osas on olemas tohutult materjale ning tahan kokku koguda erinevaid ĂŒlesandeid ja praktikaid nende lahendamiseks kaasaegses andmekeskuses.

Seeria esimeses osas VxLAN EVPN tehnoloogia kohta tahan kaaluda L2 ĂŒhenduse korraldamise viisi hostide vahel vĂ”rgu tehase kohal.
KĂ”ik nĂ€ited teeme Cisco Nexus 9000v seadmetel, mis on ĂŒles ehitatud Spine-Leaf topoloogias. Me ei pea peatuma Underlay vĂ”rgu seadistamisele selle artikli raames.
- Underlay vÔrk
- BGP peering address-family l2vpn evpn jaoks
- NVE seadistus
- Supress-arp
Underlay vÔrk
Kasutatav topoloogia on jÀrgmine:

Seame aadressid kÔikidele seadmetele:
Spine-1 - 10.255.1.101
Spine-2 - 10.255.1.102
Leaf-11 - 10.255.1.11
Leaf-12 - 10.255.1.12
Leaf-21 - 10.255.1.21
Host-1 - 192.168.10.10
Host-2 - 192.168.10.20Kontrollime, et kĂ”igi seadmete vahel on IP ĂŒhendus:
Leaf21# sh ip route
10.255.1.11/32, ubest/mbest: 2/0 ! Leaf-11 on kergelt kergesti kÀttesaadav kahe Spine'i kaudu
*via 10.255.1.101, Eth1/4, [110/81], 00:00:03, ospf-UNDERLAY, intra
*via 10.255.1.102, Eth1/3, [110/81], 00:00:03, ospf-UNDERLAY, intra
10.255.1.12/32, ubest/mbest: 2/0 ! Leaf-12 on kergelt kergesti kÀttesaadav kahe Spine'i kaudu
*via 10.255.1.101, Eth1/4, [110/81], 00:00:03, ospf-UNDERLAY, intra
*via 10.255.1.102, Eth1/3, [110/81], 00:00:03, ospf-UNDERLAY, intra
10.255.1.21/32, ubest/mbest: 2/0, attached
*via 10.255.1.22, Lo0, [0/0], 00:02:20, local
*via 10.255.1.22, Lo0, [0/0], 00:02:20, direct
10.255.1.101/32, ubest/mbest: 1/0
*via 10.255.1.101, Eth1/4, [110/41], 00:00:06, ospf-UNDERLAY, intra
10.255.1.102/32, ubest/mbest: 1/0
*via 10.255.1.102, Eth1/3, [110/41], 00:00:03, ospf-UNDERLAY, intraKontrollime, et VPC domeen on loodud ja mĂ”lemad lĂŒlitid on lĂ€binud jĂ€rjepidevuse kontrolli ning seadistused mĂ”lemal node'il on identsed:
Leaf11# show vpc
vPC domeeni ID : 1
Peer staatus : peer adjacency formed ok
vPC keep-alive staatus : peer is alive
Seadistuse jÀrjepidevuse staatus : success
Per-vlan jÀrjepidevuse staatus : success
Type-2 jÀrjepidevuse staatus : success
vPC roll : primary
Konfigureeritud vPC-de arv : 0
Peer Gateway : Disabled
Dual-active excluded VLANs : -
Graceful Consistency Check : Enabled
Auto-recovery staatus : Disabled
Delay-restore staatus : Timer is off.(timeout = 30s)
Delay-restore SVI staatus : Timer is off.(timeout = 10s)
Operational Layer3 Peer-router : Disabled
vPC staatus
----------------------------------------------------------------------------
Id Port Staatus JÀrjepidevuse PÔhjus Aktiivsed vlans
-- ------------ ------ ----------- ------ ---------------
5 Po5 up success success 1BGP peering
LÔpuks saab minna Overlay vÔrgu seadistamise juurde.
Artiklis tuleb korraldada vÔrk hostide vahel, nagu on nÀidatud alloleval skeemil:

Overlay-vĂ”rgu seadistamiseks tuleb Spine'i ja Leafi lĂŒlitites aktiveerida BGP koos l2vpn evpn pereliigi toega:
feature bgp
nv overlay evpnSeejÀrel tuleb seadistada BGP peerimine Leafi ja Spine'i vahel. Seadistuse lihtsustamiseks ja marsruutimise teabe leviku optimeerimiseks seadistame Spine'i Route-Reflector serverina. KÔik Leafid mÀÀrame konfiguratsioonis mallide kaudu, et optimeerida seadistust.
Seega nÀeb Spine'i seadistus vÀlja selline:
router bgp 65001
template peer LEAF
remote-as 65001
update-source loopback0
address-family l2vpn evpn
send-community
send-community extended
route-reflector-client
neighbor 10.255.1.11
inherit peer LEAF
neighbor 10.255.1.12
inherit peer LEAF
neighbor 10.255.1.21
inherit peer LEAFLeafi lĂŒliti seadistus nĂ€eb vĂ€lja sarnane:
router bgp 65001
template peer SPINE
remote-as 65001
update-source loopback0
address-family l2vpn evpn
send-community
send-community extended
neighbor 10.255.1.101
inherit peer SPINE
neighbor 10.255.1.102
inherit peer SPINESpines kontrollime peerimist kĂ”igi Leafi lĂŒlititega:
Spine1# sh bgp l2vpn evpn summary
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
10.255.1.11 4 65001 7 8 6 0 0 00:01:45 0
10.255.1.12 4 65001 7 7 6 0 0 00:01:16 0
10.255.1.21 4 65001 7 7 6 0 0 00:01:01 0Kuidas nĂ€eme, BGP-ga ei esinenud mingeid probleeme. JĂ€tkame VxLAN seadistamisega. Edasi liikuv seadistus toimub ainult Leafi lĂŒlitites. Spine toimib ainult vĂ”rgu sĂŒdames ja tegeleb ainult liikluse edastamisega. KĂ”ik kapseldamise ja marsruudi mÀÀramise töö toimub ainult Leafi lĂŒlitites.
NVE seadistus
NVE â vĂ”rgu virtuaalne liides
Seadistamise alguses tutvume mÔningate terminitega:
VTEP â Virtuaalne Tunnelite LĂ”pp Punkt, seade, kus VxLAN tunnel algab vĂ”i lĂ”peb. VTEP ei pea olema tingimata mĂ”ni vĂ”rgu seade. VĂ”ib olla ka server, mis toetab VxLAN tehnoloogiat. Meie topoloogias on kĂ”ik Leafi lĂŒlitid VTEP.
VNI â Virtuaalne VĂ”rgu Indeks â vĂ”rgus oleva identifikaator VxLAN-s. Seda vĂ”ib vĂ”rrelda VLAN-iga. Kuid on mĂ”ned erinevused. Fabriku kasutamisel on VLAN-id unikaalsed ainult ĂŒhe Leafi lĂŒliti raames ega edastata vĂ”rgus. Iga VLAN-iga vĂ”ib olla seotud VNI number, mis edastatakse juba vĂ”rgus. Kuidas see vĂ€lja nĂ€eb ja kuidas seda kasutada, arutatakse hiljem.
LĂŒlitame sisse funktsiooni VxLAN tehnoloogia töö jaoks ja vĂ”imaluse assotsieerida VLAN numbrid VNI numbriga:
funktsioon nv overlay
funktsioon vn-segment-vlan-basedSeame ĂŒles NVE liidese, mis vastutab VxLAN töö eest. See liides vastutab just kaadrite kapseldamise eest VxLAN pealdistes. VĂ”ib teha analoogia GRE tunneliliideste tööga:
liides nve1
ei suleta
host-ĂŒlatusprotokoll bgp ! kasutame BGP-d marsruutide teabe edastamiseks
source-interface loopback0 ! liides, mille kaudu saadame pakette loopback0Leaf-21 lĂŒlitil luuakse kĂ”ik ilma probleemideta. Kui me kontrollime kĂ€sku show nve peers, siis see osutub tĂŒhjaks. Siin on vajalik naasta VPC seadistuse juurde. NĂ€eme, et Leaf-11 ja Leaf-12 töötavad paaris ja on ĂŒhendatud VPC domeeniga. Sellest tuleneb jĂ€rgmine olukord:
Host-2 saadab ĂŒhe kaadri Leaf-21 suunas, et see edastaks selle vĂ”rku Host-1 suunas. Kuid Leaf-21 nĂ€eb, et MAC-aadress Host-1 on kergesti kĂ€tte saadav kahe VTEP kaudu. Kuidas peaks Leaf-21 sellisel juhul toimima? See tĂ€hendab, et vĂ”rgus vĂ”ib olla ilmnenud silmus.
Selle olukorra lahendamiseks on meil vaja, et Leaf-11 ja Leaf-12 tegutseksid tehase raames ĂŒhtse seadmena. See lahendatakse ĂŒsna lihtsalt. Loopback liidese kaudu, millest me tunnelit ehitame, lisame sekundaarse aadressi. Sekundaarne aadress peab olema mĂ”lemal VTEP-il sama.
liides loopback0
ip add 10.255.1.10/32 sekundaarneNii saame teiste VTEP-de vaatepunktist jÀrgmise topoloogia:

Seega ehitatakse nĂŒĂŒd tunnel IP-aadressi Leaf-21 ja virtuaalse IP vahel kahe Leaf-11 ja Leaf-12 vahel. NĂŒĂŒd ei teki probleeme kahe seadme MAC-aadressi tuvastamisega ning liiklus vĂ”ib liikuda ĂŒhelt VTEP-ilt teisele. Kes tĂ€pselt kahest VTEP-ist liiklust kĂ€sitleb, otsustatakse Spine'i marsruuditabeli abil:
Spine1# sh ip route
10.255.1.10/32, ubest/mbest: 2/0
*via 10.255.1.11, Eth1/1, [110/41], 1d01h, ospf-UNDERLAY, intra
*via 10.255.1.12, Eth1/2, [110/41], 1d01h, ospf-UNDERLAY, intra
10.255.1.11/32, ubest/mbest: 1/0
*via 10.255.1.11, Eth1/1, [110/41], 1d22h, ospf-UNDERLAY, intra
10.255.1.12/32, ubest/mbest: 1/0
*via 10.255.1.12, Eth1/2, [110/41], 1d01h, ospf-UNDERLAY, intraKuidas eespool nÀhtud, on aadress 10.255.1.10 kohe saadaval kahe Next-hop kaudu.
Sellel etapil oleme selgitanud pÔhikontakti. Liigume edasi NVE liidese seadistamise juurde:
LĂŒlitame kohe sisse VLAN 10 ja assotsieerime selle VNI 10000 igas Leafis hostide jaoks. Seame ĂŒles L2 tunnelite vahel hostide vahel.
vlan 10 ! LĂŒlitame VLAN-i sisse kĂ”igil VTEP-del, mis on ĂŒhendatud vajalike hostidega
vn-segment 10000 ! Seome VLAN-i numbriga VNI
interface nve1
member vni 10000 ! Lisame VNI 10000, et töötada NVE liidese kaudu VxLAN-i kapseldamiseks
ingress-replication protocol bgp ! Osutame, et hosti teabe edastamiseks kasutame BGP-dNĂŒĂŒd kontrollime nve peers ja BGP EVPN'i tabelit:
Leaf21# sh nve peers
Interface Peer-IP State LearnType Uptime Router-Mac
--------- --------------- ----- --------- -------- -----------------
nve1 10.255.1.10 Up CP 00:00:41 n/a ! NĂ€eme, et peer on saadaval sekundaarse aadressi kaudu
Leaf11# sh bgp l2vpn evpn
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 10.255.1.11:32777 (L2VNI 10000) ! Kes tÀpselt saatis selle l2VNI
*>l[3]:[0]:[32]:[10.255.1.10]\/88 ! EVPN marsruut-tĂŒĂŒp 3 - nĂ€itab meie naabrit, kes teab ka l2VNI10000-st
10.255.1.10 100 32768 i
*>i[3]:[0]:[32]:[10.255.1.20]\/88
10.255.1.20 100 0 i
* i 10.255.1.20 100 0 i
Route Distinguisher: 10.255.1.21:32777
* i[3]:[0]:[32]:[10.255.1.20]\/88
10.255.1.20 100 0 i
*>i 10.255.1.20 100 0 iĂlal nĂ€eme ainult EVPN marsruut-tĂŒĂŒbi 3. See marsruut-tĂŒĂŒp rÀÀgib peer-ist (Leaf), kuid kus on meie hostid?
Asi on selles, et MAC aadresside teave edastatakse lĂ€bi EVPN marsruut-tĂŒĂŒbi 2.
Kuna tahame nĂ€ha meie hoste, peame seadistama EVPN marsruut-tĂŒĂŒbi 2:
evpn
vni 10000 l2
route-target import auto ! KĂ€esolevas artiklis kasutame automaatset numbrit route-target jaoks
route-target export autoTeeme ping'i Host-2-st Host-1-le:
Firewall2# ping 192.168.10.1
PING 192.168.10.1 (192.168.10.1): 56 andmebytes
36 bytes from 192.168.10.2: Sihtkoht Host Ăhendamatuks
Request 0 timed out
64 bytes from 192.168.10.1: icmp_seq=1 ttl=254 time=215.555 ms
64 bytes from 192.168.10.1: icmp_seq=2 ttl=254 time=38.756 ms
64 bytes from 192.168.10.1: icmp_seq=3 ttl=254 time=42.484 ms
64 bytes from 192.168.10.1: icmp_seq=4 ttl=254 time=40.983 msJa allpool nĂ€eme, et BGP tabelis on ilmunud marsruut-tĂŒĂŒp 2 koos hostide MAC aadressidega â 5001.0007.0007 ja 5001.0008.0007
Leaf11# 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 ! evpn route-type 2 and mac address of host 1
10.255.1.10 100 32768 i
*>i[2]:[0]:[0]:[48]:[5001.0008.0007]:[0]:[0.0.0.0]\/216 ! evpn route-type 2 and mac address of host 2
* i 10.255.1.20 100 0 i
*>l[3]:[0]:[32]:[10.255.1.10]\/88
10.255.1.10 100 32768 i
Route Distinguisher: 10.255.1.21:32777
* i[2]:[0]:[0]:[48]:[5001.0008.0007]:[0]:[0.0.0.0]\/216
10.255.1.20 100 0 i
*>i 10.255.1.20 100 0 iSee below for detailed information on the Update that provided information about the MAC Host. The output of the command is not fully represented below.
Leaf21# sh bgp l2vpn evpn 5001.0007.0007
BGP routing table information for VRF default, address family L2VPN EVPN
Route Distinguisher: 10.255.1.11:32777 ! sent an Update with MAC Host. Not a virtual address of VPC, but the address of Leaf
BGP routing table entry for [2]:[0]:[0]:[48]:[5001.0007.0007]:[0]:[0.0.0.0]\/216,
version 1507
Paths: (2 available, best #2)
Flags: (0x000202) (high32 00000000) on xmit-list, is not in l2rib\/evpn, is not in 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.10 (metric 81) from 10.255.1.102 (10.255.1.102) ! with whom exactly we are building the VxLAN tunnel
Origin IGP, MED not set, localpref 100, weight 0
Received label 10000 ! The VNI number associated with the VLAN in which the Host is located
Extcommunity: RT:65001:10000 SOO:10.255.1.10:0 ENCAP:8 ! Here we can see that the RT was generated automatically based on AS and VNI numbers
Originator: 10.255.1.11 Cluster list: 10.255.1.102Let's take a look at how the frames look when they are transmitted through the fabric:

Suppress-ARP
Great, we have established L2 connectivity between hosts and this could have been the end of it. However, itâs not that simple. While we have few hosts, there won't be any issues. But let's imagine a situation where we have hundreds or thousands of hosts. What problems can we face?
This problem is BUM (Broadcast, Unknown Unicast, Multicast) traffic. In this article, we will discuss the approach to combating broadcast traffic.
The main generator of Broadcast in Ethernet networks are the hosts themselves via the ARP protocol.
Nexus implements the following mechanism to combat ARP requests â suppress-arp.
The functioning of this feature looks as follows:
- Host-1 sends an ARP request to the Broadcast address of its network.
- The request reaches the Leaf switch and instead of passing this request further into the fabric towards Host-2, the Leaf responds itself, providing the required IP and MAC.
Seega Broadcast-pÀring ei lÀinud tehasesse. Kuid kuidas see saab toimida, kui Leaf teab vaid MAC-aadressi?
KĂ”ik on ĂŒsna lihtne, EVPN route-type 2 vĂ”ib MAC-aadressi kĂ”rval edastada ka MAC/IP paari. Selleks on Leafil vajalik VLAN-is IP-aadress seadistada. Tekib kĂŒsimus, millise IP peame seadistama? Nexusel on vĂ”imalik luua jaotatud (ĂŒhtlane) aadress kĂ”igis lĂŒlitites:
feature interface-vlan
fabric forwarding anycast-gateway-mac 0001.0001.0001 ! seadistame virtual mac jaotatud vĂ€rava loomiseks kĂ”ikide lĂŒlitite vahel
interface Vlan10
no shutdown
ip address 192.168.10.254/24 ! kÔikidel Leafidel seadistame sama IP
fabric forwarding mode anycast-gateway ! mÀÀrame kasutama Virtual macSeega hostide vaatepunktist nÀeb vÔrk vÀlja jÀrgmiselt:

Kontrollime BGP l2route evpn
Leaf11# sh bgp l2vpn evpn
VĂ”rk JĂ€rgmine hĂŒpik Meetri LocPrf Kaal Rada
Teerajaja 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.21 100 32768 i
*>i[2]:[0]:[0]:[48]:[5001.0008.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.0008.0007]:[32]:[192.168.10.20]/248
10.255.1.10 100 0 i
*>i 10.255.1.10 100 0 i
Teerajaja eristaja: 10.255.1.21:32777
* i[2]:[0]:[0]:[48]:[5001.0008.0007]:[0]:[0.0.0.0]/216
10.255.1.20 100 0 i
*>i 10.255.1.20 100 0 i
* i[2]:[0]:[0]:[48]:[5001.0008.0007]:[32]:[192.168.10.20]/248
*>i 10.255.1.20 100 0 iKĂ€sku vaadates on nĂ€ha, et EVPN route-type 2 tĂ”ttu MAC-i kĂ”rval nĂ€eme nĂŒĂŒd ka hosti IP-aadressi.
Naaseme suppress-arp seadistuse juurde. See seade aktiveeritakse iga VNI jaoks eraldi:
interface nve1
member vni 10000
suppress-arpSeejÀrel tekib teatav keerukus:
- Selle funktsiooni tööks on vajalik ruumi TCAM-mÀlus. Toon nÀite suppress-arp seadistusest:
hardware access-list tcam region arp-ether 256Selle seadistuse jaoks on vajalik double-wide. Seega, kui seadistate 256, tuleb TCAM-is vabastada 512. TCAM-i seadistamine ĂŒletab selle artikli piire, kuna TCAM-i seadistamine sĂ”ltub ainult esitatud ĂŒlesandest ja vĂ”ib varieeruda ĂŒhe vĂ”rgu ja teise vahel.
- Suppress-arp rakendamine peab toimuma kĂ”igis Leaf lĂŒlitites. Siiski vĂ”ib keerukus tekkida kahe Leaf'i seadme seadistamisel, mis asuvad VPC domeenis. TCAM'i muutmise korral vĂ”ib paaride vahel tekkida ebakĂ”la ja ĂŒks node vĂ”ib töölt langeda. Lisaks vĂ”ib TCAM'i seadistuse rakendamiseks olla vajalik seadme taaskĂ€ivitamine.
SeetÔttu tuleks hoolikalt kaaluda, kas teie olukorras on mÔistlik rakendada seda seadistust töötavale tehasele.
Sellega lĂ”petame tsĂŒkli esimese osa. JĂ€rgmises osas vaatleme marsruutimist VxLAN tehase kaudu, jagades vĂ”rke erinevate VRF-ide vahel.
Ja praegu kutsun kĂ”iki osalema , mille raames rÀÀgin ma pĂ”hjalikult kursusest. Esimesed 20 osalejat, kes registreeruvad sellele veebinarile, saavad sertifikaadi soodustuse oma e-posti aadressile 1-2 pĂ€eva pĂ€rast ĂŒlekannet.
Allikas: habr.com
