VxLAN-fabriko. Parto 2

Hej Habr. Mi daŭrigas la serion de artikoloj pri teknologio VxLAN EVPN, kiu estis skribitaj specife por la lanĉo de la kurso "Reta inĝeniero" de OTUS. Kaj hodiaŭ ni konsideros interesan parton de la taskoj - vojigo. Kiom ajn banala ĝi sonas, tamen, kiel parto de la laboro de reto-fabriko, ĉio povas esti ne tiel simpla.

VxLAN-fabriko. Parto 2

1 parto de la ciklo - L2 konektebleco inter serviloj

En la lasta parto, ni atingis unu elsendan domajnon konstruitan sur reto-ŝtofo sur Nexus 9000v. Tamen, ĉi tio ne estas la tuta gamo de taskoj, kiuj devas esti solvitaj en la kadro de la datumcentra reto. Kaj hodiaŭ ni konsideros la sekvan taskon - vojigo inter retoj aŭ inter VNIoj.

Mi memorigu vin, ke la Spine-Folia topologio estas uzata:

VxLAN-fabriko. Parto 2

Komence, ni analizos kiel okazas vojigo kaj kiajn funkciojn ĝi havas.

Por kompreno, ni simpligu la logikan diagramon kaj aldonu alian VNI 20000 por Host-2. La rezulto estas:

VxLAN-fabriko. Parto 2

Kiel, en ĉi tiu kazo, vi povas translokigi trafikon de unu Gastiganto al alia?

Estas du ebloj:

  1. Konservu informojn pri ĉiuj VNI-oj sur ĉiuj Leaf-ŝaltiloj, tiam ĉiu vojigo okazos sur la unua Folio en la reto;
  2. Uzu dediĉitan - L3 VNI

La unua maniero estas simpla kaj oportuna. Ĉar vi nur bezonas komenci ĉiujn VNI-ojn ĉe ĉiuj Leaf-ŝaltiloj. Tamen, ruli kelkajn centojn aŭ milojn da VNI-oj sur la tuta Folio ne plu ŝajnas facila tasko. Tial en la verko ĝi estas uzata sufiĉe malofte.

Ni analizos metodon 2, kiel pli interesan kaj iomete pli komplikan, sed donante pli da fleksebleco en starigo de la fabriko.

Ni aldonu "PROD" al la VRF-topologio. Ni aldonu interfacon VLAN 10 al ĝi sur la paro Leaf-11/12 kaj interfacon VLAN 20 sur Leaf-21. VLAN 20 estas rilata al 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-gateway

Por uzi L3VNI, vi devas krei novan VLAN, asocii ĝin kun la nova VNI. La nova VNI devas esti la sama ĉe ĉiuj Folioj interesitaj pri informoj pri VLAN 10 kaj 20.

vlan 99
  vn-segment 99000

interface nve1
  member vni 99000 associate-vrf        ! Создаем L3 VNI

vrf context PROD
  vni 99000                             ! Привязываем L3 VNI к определенному VRF

Kiel rezulto, la diagramo aspektos jene:

VxLAN-fabriko. Parto 2

Restas iom fini - aldoni unu plian interfacon - interfaco vlan 99 en VRF PROD

interface Vlan99
  no shutdown
  vrf member PROD
  ip forward  ! На интерфейсе не должно быть IP. Используется только для пересылки пакетов между Leaf

Kiel rezulto, la logiko de pasado de la kadro de Host-1 al Host-2 estas kiel sekvas:

  1. Kadro sendita de Host-1 alvenas sur Folio en VLAN 10, kiu estas rilata al VNI 10000;
  2. Folio kontrolas kie la celadreso estas kaj trovas ĝin per L3 VNI sur la dua Folio-ŝaltilo;
  3. Tuj kiam la itinero al la cel-adreso estas trovita, la Folio pakas la kadron en kaplinion kun la necesa L3VNI 99000 - kaj sendas ĝin al la dua Folio;
  4. La dua Leaf-ŝaltilo ricevas datumojn de L3VNI 99000. Akiras la originan kadron kaj transdonas ĝin al la bezonata L2VNI 20000 kaj poste al VLAN 20.

Kiel rezulto de ĉi tiu laboro, L3VNI forigas la bezonon konservi informojn pri ĉiuj VNIoj kiuj estas en la reto sur ĉiuj Leaf-ŝaltiloj.

Kiel rezulto, kiam ni sendas trafikon de Host-1 al Host-2, la pako estas pakita ene de VxLAN kun la nova VNI - 99000:

VxLAN-fabriko. Parto 2

Restas vidi kiel precize Leaf-1 ekscias pri la MAC-adreso de alia VNI. Ĉi tio ankaŭ okazas kun la helpo de EVPN-itinero-tipo 2 (MAC / IP).

La sekvanta montras la procezon disvastigi itineron pri prefikso situanta en alia VNI:

VxLAN-fabriko. Parto 2

Tio estas, adresoj ricevitaj de VNI 20000 havas du RTojn.
Mi memorigu vin, ke la itineroj ricevitaj de Ĝisdatigo falas en la BGP-tabelon kun la Itinero-celo specifita en la VRF-agordoj (la procezo estas iom pli komplika, sed ni ne eniros ĉi tiun artikolon).
La RT mem estas formita per la formulo: AS:VNI (se aŭtomata reĝimo estas uzata).

Ekzemplo de RT-formado en aŭtomataj kaj manaj reĝimoj:

vrf context PROD
  address-family ipv4 unicast
    route-target import auto - автоматический режим работы
    route-target export 65001:20000 - ручной режим формирования RT

Kiel rezulto, vi povas vidi supre, ke prefiksoj de alia VNI havas du RT-valorojn.
Unu el ili 65001:99000 estas plia L3 VNI. Ĉar ĉi tiu VNI estas la sama ĉe ĉiuj Folioj kaj estas sub niaj importaj reguloj en la VRF-agordoj, la prefikso eniras la BGP-tabelon, kiu povas esti vidita de la eligo:

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 i

Se ni rigardas pli detale la ricevitan ĝisdatigon, ni povas vidi, ke ĉi tiu prefikso havas du RT-ojn:

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
<......>

En la vojtabelo sur Folio-1, vi ankaŭ povas vidi la prefikson 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 99000

Ĉu vi rimarkas la mankantan ĉefan prefikson 192.168.20.0/24 en la vojtabelo?
Ĝuste, li ne estas tie. Tio estas, foraj Folioj ricevas informojn nur pri la gastigantoj kiuj estas en via reto. Kaj ĉi tio estas la ĝusta konduto. Supre, en ĉiuj ĝisdatigoj, vi povas vidi, ke informoj venas kun la enhavo de MAC / IP. Ne estas prefiksoj por paroli.

Ĉi tio estas la protokolo de Host Mobility Manager (HMM), kiu plenigas la ARP-tabelon de kiu la BGP-tabelo estas plue plenigita (ni preterlasos ĉi tiun procezon kadre de ĉi tiu artikolo). Surbaze de la informoj ricevitaj de la HMM, itineraj 2 EVPN-oj estas formitaj (senditaj per MAC / IP).

Tamen, kio se estas bezono transdoni informojn pri prefikso?

Por ĉi tiu speco de informoj, ekzistas EVPN-itinero-tipo 5 - ĝi ebligas al vi sendi prefiksojn per adreso-familio l2vpn evpn (ĉi tiu speco de itinero en la momento de ĉi tiu skribado estas nur en la malneta versio. RFC, pro tio, malsamaj produktantoj povas havi malsaman konduton de ĉi tiu speco de itinero)

Por transdoni prefiksojn, necesas aldoni prefiksojn en la BGP-procezo por VRF, kiu estos reklamita:

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 5

Kiel rezulto, Ĝisdatigo estos:

VxLAN-fabriko. Parto 2

Ni rigardu la BGP-tabelon. Krom EVPN-itinero-tipo 2,3, aperis tipo 5-vojoj, kiuj enhavas informojn pri la retnumero:

<......>
   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
<.......>                   

La prefikso ankaŭ aperis en la vojtabelo:

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, hmm

Ĉi tio finas la duan parton de serio de artikoloj pri VxLAN EVPN. En la sekva parto, ni konsideros diversajn eblojn por vojigo inter VRF-oj.

Fundamentoj de IPv6 kaj kiel ĝi diferencas de IPv4

fonto: www.habr.com

Aldoni komenton