VxLAN fabrika. 2. daļa

Sveiki, Habr. Turpinām rakstu ciklu par VxLAN EVPN tehnoloģiju, kas tika rakstīti īpaši kursa palaišanai "Tīkla inženieris" no OTUS. Šodien aplūkosim interesantu uzdevumu daļu — maršrutēšanu. Cik visu laiku tas var izklausīties banāli, taču tīkla fabrikas darbā viss var būt ne tik vienkārši.

VxLAN fabrika. 2. daļa

1. cikla daļa — L2 savienojamība starp serveriem

Iepriekšējā daļā mēs sasniedzām vienu plašu apraides domēnu, kas tika uzbūvēts virs tīkla fabrikas uz Nexus 9000v. Tomēr tas ir tālu no visa uzdevumu spektra, kas jāatrisina datu centra tīklā. Šodien mēs aplūkosim nākamo uzdevumu — maršrutēšanu starp tīklām vai starp VNI.

Atgādinu, ka tiek izmantota Spine-Leaf topoloģija:

VxLAN fabrika. 2. daļa

Sāksim ar to, kā notiek maršrutēšana un kādas ir iezīmes.

Lai saprastu, vienkāršosim loģisko shēmu un pievienosim vēl vienu VNI 20000 Host-2. Rezultātā iegūstam:

VxLAN fabrika. 2. daļa

Kā šādā gadījumā var pārsūtīt trafiku no viena hosta uz otru?

Ir divas iespējas:

  1. Visos Leaf slēgumos saglabāt informāciju par visiem VNI, tad visa maršrutēšana notiks pirmajā Leaf tīklā;
  2. Izmantot īpaši noteiktu — L3 VNI

Pirmais veids ir vienkāršs un ērts. Jo jāievieš tikai visi VNI visos Leaf slēgumos. Tomēr ieviest vairākus simtus vai tūkstošus VNI visos Leaf vairs neizskatās kā vienkāršs uzdevums. Tādēļ praksē to pielieto diezgan reti.

Apskatīsim otro veidu, kas ir interesantāks un nedaudz sarežģītāks, bet sniedz lielāku elastību fabriku iestatīšanā.

Pievienosim topoloģijai VRF "PROD". Tajā pievienosim interface vlan 10 uz pāra Leaf-11/12 un interface VLAN 20 uz Leaf-21. VLAN 20 saistām ar VNI 20000

vrf context PROD
  rd auto       ! Maršruta diferencētājs nav būtisks un to varam izmantot automātiski izveidotu
  address-family ipv4 unicast
    route-target both auto      ! norādām maršruta mērķi, ar kuru tiks importēti un eksportēti prefiksi 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-gateway

Lai izmantotu L3 VNI, nepieciešams izveidot jaunu VLAN, saistīt to ar jaunu VNI. Jaunam VNI jābūt identiskam visos Leaf, kuri ir ieinteresēti informācijā par VLAN 10 un 20.

vlan 99
  vn-segment 99000

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

vrf context PROD
  vni 99000                             ! Saistām L3 VNI ar noteiktu VRF

Kā rezultātā shēma izskatīsies šādi:

VxLAN fabrika. 2. daļa

Vēl tikai nedaudz jāpabeidz — jāpievieno vēl viens interfeiss — interface vlan 99 VRF PROD

interface Vlan99
  no shutdown
  vrf member PROD
  ip forward  ! Interfeisā nedrīkst būt IP adrese. Tiek izmantots tikai pakotņu pārsūtīšanai starp Leaf

Rezultātā rāmja pārejai no Host-1 uz Host-2 ir sekojoša loģika:

  1. Rāmis, ko nosūta Host-1, nonāk Leaf VLAN 10, kas asociēts ar VNI 10000;
  2. Leaf pārbauda, kur atrodas galamērķa adrese, un atrod to caur L3 VNI otrajā Leaf slēdzī;
  3. Tiklīdz atrasts maršruts uz galamērķa adresi, Leaf iepako rāmju nepieciešamajā L3VNI 99000 un nosūta uz otro Leaf;
  4. Otrais Leaf slēdzis saņem datus no L3VNI 99000. Tas izņem sākotnējo rāmi un pārvieto to vajadzīgajā L2VNI 20000 un tālāk VLAN 20.

Šādas L3VNI darbības rezultāts novērš nepieciešamību uz visiem Leaf slēdžiem turēt informāciju par visiem VNI, kas atrodas tīklā.

Rezultātā, kad nosūtām trafiku no Host-1 uz Host-2, pakete tiek iepakota VxLAN iekšienē ar jauno VNI — 99000:

VxLAN fabrika. 2. daļa

Joprojām jāizprot, kā tieši Leaf-1 uzzina par MAC adresi no cita VNI. Tas notiek arī ar EVPN route-type 2 (MAC/IP) palīdzību.

Zemāk parādīts maršruta izplatīšanas process par prefiksu, kas atrodas citā VNI:

VxLAN fabrika. 2. daļa

Proti, adreses, kas iegūtas no VNI 20000, ir divi RT.
Atgādināšu, ka maršruti, kas iegūti no Update, nonāk BGP tabulā ar Route-target, kas norādīts VRF iestatījumos (process ir nedaudz sarežģītāks, taču šajā rakstā par to neiedziļināsimies).
Pašas RT veidošana notiek pēc formulas: AS:VNI (ja tiek izmantota automātiskā režīma).

Piemērs RT veidošanai automātiskajā un maniskajā režīmā:

vrf context PROD
  address-family ipv4 unicast
    route-target import auto - automātiskā darba režīms
    route-target export 65001:20000 - manuālā RT veidošanas režīms

Tādējādi augstāk redzams, ka prefiksi no cita VNI ir divi RT vērtībās.
Viens no tiem ir 65001:99000 — papildu L3 VNI. Tā kā šis VNI ir vienāds visiem Leaf un nonāk mūsu importēšanas noteikumos VRF iestatījumos — prefikss nonāk BGP tabulā, ko var redzēt izvadē:

sh bgp l2vpn evpn

   Tīkls            Nākamais spertājums            Metrika     LocPrf     Svars Ceļš
Maršruta atšķirētājs: 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

Maršruta atšķirētājs: 10.255.1.21:32787
* i[2]:[0]:[0]:[48]:[5001.0008.0007]:[32]:[192.168.20.20]\/272    ! Prefikss, kas saņemts no VNI 20000
                      10.255.1.20                       100          0 i
*>i                   10.255.1.20                       100          0 i

Ja paskatāmies uzmanīgāk uz saņemto atjauninājumu, tad ir redzams, ka šim prefiksam ir divi RT:

Leaf11# sh bgp l2vpn evpn 5001.0008.0007
BGP maršrutēšanas tabulas informācija VRF noklusējuma, adreses ģimene L2VPN EVPN
Maršruta atšķirētājs: 10.255.1.21:32787
BGP maršrutēšanas tabulas ieraksts par [2]:[0]:[0]:[48]:[5001.0008.0007]:[32]:[192.168.20.20]\/272, versija 5164
Ceļi: (2 pieejami, labākais #2)
Aizzīmes: (0x000202) (high32 00000000) uz xmit-list, nav l2rib\/evpn, nav HW

  Ceļa veids: iekšējais, ceļš ir derīgs, nav labākais iemesls: Kaimiņa adrese, nav norādīts nākamais spertājs
  AS-Paths: NAV, ceļš avots iekšēji AS
    10.255.1.20 (metrika 81) no 10.255.1.102 (10.255.1.102)
      Avots IGP, MED nav iestatīts, vietējā preferece 100, svars 0
      Saņemts marķējums 20000 99000                                 ! Divi marķējumi VxLAN darbībai
      Extcommunity: RT:65001:20000 RT:65001:99000 SOO:10.255.1.20:0 ENCAP:8     ! Divas Route-target vērtības, uz kuru pamata tika pievienots šis prefikss
          Maršrutētāja MAC:5001.0005.0007
      Avots: 10.255.1.21 Klastera saraksts: 10.255.1.102

Maršrutēšanas tabulā uz Leaf-1 var novērot prefiksu 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 ! Adrese Host-2
 *via 10.255.1.20fault, [200/0], 01:20:20, bgp-65001, internal, tag 65001 ! Pieejams caur Leaf-2
(evpn) segid: 99000 tunnelid: 0xaff0114 encap: VXLAN ! Caur VNI 99000

Pamanījāt galvenā prefiksa trūkumu 192.168.20.0\/24 maršrutēšanas tabulā?
Tieši tā, tā tur nav. Tas nozīmē, ka attālinātie Leaf saņem informāciju tikai par hostiem, kas ir jūsu tīklā. Un tas ir pareizs uzvedība. Augstāk visos atjauninājumos ir redzams, ka ierodas informācija ar MAC\/IP saturu. Par prefiksiem nav runas.

Tas darbojas protokols Host Mobility Manager(HMM), kas piepilda ARP tabulu, no kuras tālāk tiek piepildīta BGP tabula (šajā rakstā šo procesu izlaidīsim). Pamatojoties uz HMM saņemtajiem datiem, tiek veidoti EVPN route-type 2 (pārraidīti MAC\/IP).

Tomēr, ko darīt, ja ir nepieciešams nodot informāciju par kādu prefiksu?

Šāda veida informācijai pastāv EVPN maršruta veids 5 — ļauj pārsūtīt prefiksus caur address-family l2vpn evpn (šis maršruta veids rakstīšanas brīdī ir tikai koncepta versijā) RFС, tādēļ dažādiem ražotājiem var atšķirties šī maršruta veida darbība

Lai pārsūtītu prefiksus, ir nepieciešams procesā BGP pie VRF pievienot prefiksus, kurus tiks paziņoti:

router bgp 65001
  vrf PROD
    address-family ipv4 unicast
      redistribute direct route-map VNI20000        ! Šajā gadījumā paziņojam prefiksus, kas ir tieši savienoti ar Leaf VNI 20000
route-map VNI20000 permit 10
  match ip address prefix-list VNI20000_OUT    ! Norādām, kuru izmantot prefix-list

ip prefix-list VNI20000_OUT seq 5 permit 192.168.20.0/24   ! Norādām, kuri tīkli iekļausies EVPN maršruta veidā 5

Rezultātā Update būs:

VxLAN fabrika. 2. daļa

APSkatīsim BGP tabulu. Papildus EVPN maršruta veidiem 2,3 parādījās maršruti 5. tipa, kas satur informāciju par tīkla numuru:

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 maršruta veids 5 ar prefiksu numuru
                      10.255.1.10              0        100          0 ?
* i
<.......>                   

Maršrutu tabulā prefikss arī parādījās:

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, internal, tag 65001 ! Attālināts prefikss, pieejams caur Leaf1/2 (Next-hop adrese = virtuālā IP starp VPC pāriem)
(evpn) segid: 99000 tunnelid: 0xaff010a encap: VXLAN ! Prefikss pieejams caur L3VNI 99000

192.168.10.10/32, ubest/mbest: 1/0
 *via 10.255.1.10fault, [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, hmm

Ar to mēs noslēdzam otro rakstu ciklu par VxLAN EVPN. Nākamajā daļā apskatīsim dažādus maršrutēšanas variantus starp VRF.

IPv6 protokola pamati un tā atšķirības no IPv4

Avots: habr.com

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster