VxLAN gyár. 2. rész

Helló, Habr. Folytatom a VxLAN EVPN technológia cikksorozatot, amelyeket kifejezetten a tanfolyam elindításához írtak "Hálózati mérnök" az OTUS-tól. Ma pedig egy érdekes feladatot vizsgálunk meg — a routing-ot. Bár ez talán banálisan hangzik, a hálózati gyár működése során minden nem is olyan egyszerű.

VxLAN gyár. 2. rész

1. rész a ciklusból — L2 összekapcsolás a szerverek között

A múlt részben elértünk egy széleskörű domain-t, amely a Nexus 9000v hálózati gyárra épült. Azonban ez messze nem az összes olyan feladat, amelyet a Data Center hálózatában meg kell oldani. Ma a következő feladatot vizsgáljuk — routing a hálózatok vagy a VNI-k között.

Emlékeztetőül, a Spine-Leaf topológiát használjuk:

VxLAN gyár. 2. rész

Először nézzük meg, hogyan történik a routing, és milyen sajátosságai vannak.

A megértés érdekében leegyszerűsítjük a logikai séma, és hozzáadunk egy VNI 20000-t a Host-2-hez. Így néz ki:

VxLAN gyár. 2. rész

Hogyan lehet ilyen esetben a forgalmat az egyik Hosztról a másikra továbbítani?

Két lehetőség van:

  1. Minden Leaf kapcsolón tárolni az összes VNI információt, akkor minden routing a hálózat első Leaf-ján történik;
  2. Külön dedikált — L3 VNI használata

Az első módszer egyszerű és kényelmes. Csak annyit kell tenni, hogy az összes VNI-t bevezetjük az összes Leaf kapcsolóra. Azonban több száz vagy ezer VNI bevezetése az összes Leaf-re már nem tűnik annyira egyszerű feladatnak. Ezért a gyakorlatban elég ritkán alkalmazzák.

Nézzük meg a második módszert, ami érdekesebb és egy kicsit bonyolultabb, de nagyobb rugalmasságot ad a gyár beállításában.

Adjunk hozzá a topológiához egy VRF "PROD"-ot. Ehhez hozzáadjuk az interface vlan 10-et a Leaf-11/12 páron, és az interface VLAN 20-at a Leaf-21-re. A VLAN 20-at a VNI 20000-hoz társítjuk.

vrf context PROD
  rd auto       ! A Route Distinguisher nem kritikus, ezért automatikusan létrehozottat használhatunk
  address-family ipv4 unicast
    route-target both auto      ! Megadjuk a Route-target, amellyel a prefixek importálására és exportálására kerül sor a VRF-be
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

Ahhoz, hogy az L3VNI-t használni tudjuk, új VLAN-t kell létrehoznunk, és társítani kell az új VNI-vel. Az új VNI-nak az összes Leaf-en azonosnak kell lennie, amely érdeklődik a VLAN 10 és 20 információ iránt.

vlan 99
  vn-segment 99000

interface nve1
  member vni 99000 associate-vrf        ! L3 VNI-t hozunk létre

vrf context PROD
  vni 99000                             ! Az L3 VNI-t egy adott VRF-hez rendeljük

Ennek eredményeként a séma így fog kinézni:

VxLAN gyár. 2. rész

Már csak egy kicsi van hátra — hozzá kell adni egy új interfészt — interface vlan 99 a VRF PROD-hoz.

interface Vlan99
  no shutdown
  vrf member PROD
  ip forward  ! Az interfészen nem lehet IP. Csak csomagok átkonvertálására használják a Leaf között.

Ennek eredményeként a keret logikája a Host-1-től a Host-2-ig a következő:

  1. A Host-1 által küldött keret a Leaf-re érkezik a VLAN 10-en, amely a VNI 10000-hez van társítva;
  2. A Leaf ellenőrzi, hogy hol található a célelőfizető, és megtalálja azt az L3 VNI-n keresztül a második Leaf kapcsolón;
  3. Amint megtalálta a célelőfizetőhöz vezető útvonalat, a Leaf becsomagolja a keretet a szükséges L3VNI 99000 fejlécébe — és elküldi a második Leaf irányába;
  4. A második Leaf kapcsoló az L3VNI 99000-ből érkező adatokat kapja. Kiveszi az eredeti keretet, és átkonvertálja a szükséges L2VNI 20000-be, majd a VLAN 20-ba.

Egy ilyen munkafolyamat eredménye, hogy az L3VNI eltávolítja a szükségességét, hogy az összes Leaf kapcsolón információt tartsanak minden VNI-ről, amely a hálózatban van.

Emiatt, amikor forgalmat küldünk a Host-1-től a Host-2-ig, a csomag egy új VNI — 99000 — VxLAN-ba lesz becsomagolva:

VxLAN gyár. 2. rész

Meg kell értenünk, hogyan tudja a Leaf-1 a MAC címet egy másik VNI-ből. Ez is az EVPN route-type 2 (MAC/IP) segítségével történik.

Alább látható a másik VNI-ben található prefixről szóló útvonal terjesztésének folyamata:

VxLAN gyár. 2. rész

Ezért a VNI 20000-ből származó címeknek két RT-je van.
Emlékeztetlek, hogy a frissítésekből származó útvonalak a VRF beállításában megadott Route-target mellett a BGP táblába kerülnek (a folyamat kicsit bonyolultabb, de az adott cikk keretein belül nem fogunk mélyebben belemerülni).
A RT önmaga a következő képlettel készül: AS:VNI (ha automatikus üzemmódot használnak).

Példa a RT automatikus és manuális módon történő kialakítására:

vrf context PROD
  address-family ipv4 unicast
    route-target import auto - automatikus üzemmód
    route-target export 65001:20000 - manuális RT kialakítási mód

Az előbbiekből látható, hogy a másik VNI-ből származó prefixeknek két RT értékük van.
Az egyik 65001:99000 — egy kiegészítő L3 VNI. Mivel ez a VNI minden Leaf-en azonos, és megfelel a VRF beállításaink import szabályainak — a prefix átkerül a BGP táblába, amit a kimenetre is láthatunk:

sh bgp l2vpn evpn

   Hálózat            Következő ugrás            Méret     LocPrf     Súly Útvonal
Útvonal megkülönböztető: 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

Útvonal megkülönböztető: 10.255.1.21:32787
* i[2]:[0]:[0]:[48]:[5001.0008.0007]:[32]:[192.168.20.20]\/272    ! Prefix a VNI 20000-ból
                      10.255.1.20                       100          0 i
*>i                   10.255.1.20                       100          0 i

Ha közelebbről megvizsgáljuk a kapott frissítést, látható, hogy ennek a prefixnek két RT-je van:

Leaf11# sh bgp l2vpn evpn 5001.0008.0007
BGP routing táblázat információk a VRF default, címcsoport L2VPN EVPN
Útvonal megkülönböztető: 10.255.1.21:32787
BGP routing táblázat bejegyzés [2]:[0]:[0]:[48]:[5001.0008.0007]:[32]:[192.168.20.20]\/272, verzió 5164
Útvonalak: (2 elérhető, legjobb #2)
Flag: (0x000202) (high32 00000000) xmit-listen, nem található l2rib/evpn-ben, nem HW-ben

  Útvonal típusa: belső, az útvonal érvényes, nem legjobb ok: Szomszéd cím, nincs címkével ellátott következő ugrás
  AS-Útvonal: NINCS, az útvonal belsőre származik AS-ból
    10.255.1.20 (mérték 81) 10.255.1.102-től (10.255.1.102)
      Eredet IGP, MED nincs beállítva, helyi pref. 100, súly 0
      Kapott címke 20000 99000                                 ! Két címke a VxLAN működéséhez
      Kiterjesztett közösség: RT:65001:20000 RT:65001:99000 SOO:10.255.1.20:0 ENCAP:8     ! Két Route-target, amely alapján ezt a prefixet hozzáadtuk
          Router MAC:5001.0005.0007
      Eredeti: 10.255.1.21 Csoportlista: 10.255.1.102

A Leaf-1 routing táblájában is megfigyelhetjük a 192.168.20.20\/32 prefixet:

Leaf11# sh ip route vrf PROD
192.168.10.0\/24, ubest\/mbest: 1\/0, csatlakoztatva
 *192.168.10.1-en, Vlan10, [0\/0], 01:29:28, direkt
192.168.10.1\/32, ubest\/mbest: 1\/0, csatlakoztatva
 *192.168.10.1-en, Vlan10, [0\/0], 01:29:28, helyi
192.168.10.10\/32, ubest\/mbest: 1\/0, csatlakoztatva
 *192.168.10.10-en, Vlan10, [190\/0], 01:27:22, hmm
192.168.20.20\/32, ubest\/mbest: 1\/0 ! Host-2 címe
 *10.255.1.20fault-en, [200\/0], 01:20:20, bgp-65001, belső, címke 65001 ! Leaf-2-n keresztül elérhető
(evpn) segid: 99000 tunnelid: 0xaff0114 encap: VXLAN ! VNI 99000-on keresztül

Észrevettük a fő prefix, 192.168.20.0\/24 hiányát a routing táblázatban?
Igen, ott tényleg nincs. Ezért az eltávolított Leaf csak az Ön hálózatában található hosztok információit kapja. Ez helyes viselkedés. Ahogy az korábban a frissítésekben látható, a MAC\/IP tartalmú információ érkezik. Semmiféle prefixről nincs szó.

Ez a Host Mobility Manager (HMM) protokoll működik, amely kitölti az ARP táblázatot, amelyből a BGP táblázat is kitöltődik (ebben a cikkben ezt a folyamatot kihagyjuk). Az HMM-ből származó információk alapján EVPN route-típus 2 jön létre (AMAC\/IP továbbítva).

De mi a teendő, ha szükséges egy adott prefix információt továbbítani?

Az ilyen típusú információkhoz létezik az EVPN route-type 5 — lehetővé teszi a prefixek továbbítását az address-family l2vpn evpn-en keresztül (ez a route-típus jelenleg csak tervezetben található). RFC, emiatt a különböző gyártóknál eltérhet ennek a route-típusnak a működése.

A prefixek továbbításához a BGP folyamat során a VRF-hez hozzá kell adni a hirdetett prefixeket:

router bgp 65001
  vrf PROD
    address-family ipv4 unicast
      redistribute direct route-map VNI20000        ! Ebben az esetben a prefixeket a Leaf-hez való közvetlen csatlakozáskor hirdetjük VNI 20000-ben.
route-map VNI20000 permit 10
  match ip address prefix-list VNI20000_OUT    ! Megadjuk, hogy melyik prefix-listet használjuk.

ip prefix-list VNI20000_OUT seq 5 permit 192.168.20.0/24   ! Megadjuk, hogy mely hálózatok kerülnek be az EVPN route-type 5-be.

Ennek eredményeként az Update így fog kinézni:

VxLAN gyár. 2. rész

Nézzük meg a BGP táblázatot. A 2, 3-as EVPN route-type-ok mellett megjelentek az 5-ös típustartalmú route-ok is, amelyek tartalmazzák a hálózat számát:

Hálózat            Következő Hop            Metrika     LocPrf     Súly Útvonal
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 prefix számmal.
                      10.255.1.10              0        100          0 ?
* i                   

A routing táblázatban a prefix szintén megjelent:

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, belső, címke 65001 ! Távoli prefix, amely elérhető a Leaf1/2-n (Következő hop címe = virtuális IP a VPC pár között)
(evpn) segid: 99000 tunnelid: 0xaff010a encap: VXLAN ! A prefix elérhető az L3VNI 99000-en keresztül.

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

192.168.20.0/24, ubest/mbest: 1/0, csatlakoztatott
 *via 192.168.20.1, Vlan20, [0/0], 02:39:44, közvetlen
192.168.20.1/32, ubest/mbest: 1/0, csatlakoztatott
 *via 192.168.20.1, Vlan20, [0/0], 02:39:44, helyi
192.168.20.20/32, ubest/mbest: 1/0, csatlakoztatott
 *via 192.168.20.20, Vlan20, [190/0], 02:35:46, hmm

Ezzel befejezzük a VxLAN EVPN ciklus második részét. A következő részben a VRF-ek közötti különböző forgalmi útvonalakat fogjuk megvizsgálni.

Az IPv6 protokoll alapjai és a különbségek az IPv4-hez képest.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster