VxLAN-fabriek. Deel 2

HΓ© Habr. Ik vervolg de reeks artikelen over VxLAN EVPN-technologie, die zijn speciaal geschreven voor de lancering van de cursus "Netwerktechnicus" door OTUS. En vandaag zullen we een interessant deel van de taken bekijken: routering. Hoe afgezaagd het ook mag klinken, als onderdeel van het werk van een netwerkfabriek kan alles niet zo eenvoudig zijn.

VxLAN-fabriek. Deel 2

1 deel van de cyclus - L2-connectiviteit tussen servers

In het laatste deel hebben we één uitzenddomein gerealiseerd bovenop een netwerkstructuur op een Nexus 9000v. Dit is echter niet het hele scala aan taken dat moet worden opgelost in het kader van het datacenternetwerk. En vandaag zullen we de volgende taak overwegen: routering tussen netwerken of tussen VNI's.

Laat me je eraan herinneren dat de Spine-Leaf-topologie wordt gebruikt:

VxLAN-fabriek. Deel 2

Om te beginnen zullen we analyseren hoe routering plaatsvindt en welke functies het heeft.

Laten we voor een beter begrip het logicaschema vereenvoudigen en nog een VNI 20000 voor Host-2 toevoegen. Het resultaat is:

VxLAN-fabriek. Deel 2

Hoe kunt u in dit geval verkeer van de ene host naar de andere overbrengen?

Er zijn twee opties:

  1. Bewaar informatie over alle VNI's op alle Leaf-switches, dan vindt alle routering plaats op de eerste Leaf in het netwerk;
  2. Gebruik speciaal - L3 VNI

De eerste manier is eenvoudig en handig. Omdat u alleen alle VNI's op alle Leaf-switches hoeft te starten. Een paar honderd of duizenden VNI's op de hele Leaf draaien lijkt echter geen gemakkelijke taak meer. Daarom wordt het in het werk vrij zelden gebruikt.

We zullen methode 2 analyseren, omdat deze interessanter en iets gecompliceerder is, maar meer flexibiliteit biedt bij het opzetten van de fabriek.

Laten we "PROD" toevoegen aan de VRF-topologie. Laten we interface vlan 10 eraan toevoegen op het Leaf-11/12-paar en interface VLAN 20 op Leaf-21. VLAN 20 is gekoppeld aan 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

Om L3VNI te gebruiken, moet u een nieuw VLAN maken en dit aan de nieuwe VNI koppelen. De nieuwe VNI moet hetzelfde zijn op alle Leafs die geΓ―nteresseerd zijn in VLAN 10- en 20-informatie.

vlan 99
  vn-segment 99000

interface nve1
  member vni 99000 associate-vrf        ! Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ L3 VNI

vrf context PROD
  vni 99000                             ! ΠŸΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°Π΅ΠΌ L3 VNI ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ VRF

Als gevolg hiervan ziet het diagram er als volgt uit:

VxLAN-fabriek. Deel 2

Het blijft een beetje afmaken - voeg nog een interface toe - interface vlan 99 in VRF PROD

interface Vlan99
  no shutdown
  vrf member PROD
  ip forward  ! На интСрфСйсС Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ IP. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для пСрСсылки ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ Leaf

Als gevolg hiervan is de logica van het doorgeven van het frame van Host-1 naar Host-2 als volgt:

  1. Een frame verzonden door Host-1 arriveert op een Leaf in VLAN 10, dat is gekoppeld aan VNI 10000;
  2. Leaf controleert waar het bestemmingsadres is en vindt dit via L3 VNI op de tweede Leaf-switch;
  3. Zodra de route naar het bestemmingsadres is gevonden, verpakt de Leaf het frame in een header met de benodigde L3VNI 99000 - en stuurt deze naar de tweede Leaf;
  4. De tweede Leaf-switch ontvangt gegevens van L3VNI 99000. Haalt het originele frame op en brengt dit over naar de vereiste L2VNI 20000 en vervolgens naar VLAN 20.

Als resultaat van dit werk neemt L3VNI de noodzaak weg om informatie over alle VNI's die zich op het netwerk bevinden op alle Leaf-switches bij te houden.

Als gevolg hiervan, wanneer we verkeer van Host-1 naar Host-2 sturen, wordt het pakket verpakt in VxLAN met de nieuwe VNI - 99000:

VxLAN-fabriek. Deel 2

Het valt nog te bezien hoe Leaf-1 precies leert over het MAC-adres van een andere VNI. Dit gebeurt ook met behulp van EVPN routetype 2 (MAC/IP).

Het volgende toont het proces van het propageren van een route over een prefix in een andere VNI:

VxLAN-fabriek. Deel 2

Dat wil zeggen, adressen ontvangen van VNI 20000 hebben twee RT's.
Laat me je eraan herinneren dat de routes die zijn ontvangen van Update in de BGP-tabel vallen met het Route-doel gespecificeerd in de VRF-instellingen (het proces is iets gecompliceerder, maar we zullen niet op dit artikel ingaan).
De RT zelf wordt gevormd door de formule: AS:VNI (indien automatische modus wordt gebruikt).

Een voorbeeld van RT-vorming in automatische en handmatige modus:

vrf context PROD
  address-family ipv4 unicast
    route-target import auto - автоматичСский Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹
    route-target export 65001:20000 - Ρ€ΡƒΡ‡Π½ΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ формирования RT

Hierdoor ziet u hierboven dat voorvoegsels van een andere VNI twee RT-waarden hebben.
Een van hen 65001:99000 is een extra L3 VNI. Omdat deze VNI op alle Leafs hetzelfde is en onder onze importregels in de VRF-instellingen valt, komt het voorvoegsel in de BGP-tabel, wat te zien is aan de uitvoer:

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

Als we de ontvangen update nader bekijken, kunnen we zien dat dit voorvoegsel twee RT's heeft:

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 de routeringstabel op Leaf-1 zie je ook het voorvoegsel 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

Let op het ontbrekende primaire voorvoegsel 192.168.20.0/24 in de routeringstabel?
Dat klopt, hij is er niet. Dat wil zeggen, externe Leafs ontvangen alleen informatie over de hosts die zich op uw netwerk bevinden. En dit is het juiste gedrag. Hierboven zie je in alle updates dat er informatie komt met de inhoud van MAC/IP. Er zijn geen voorvoegsels om over te spreken.

Dit is het Host Mobility Manager (HMM)-protocol, dat de ARP-tabel vult van waaruit de BGP-tabel verder wordt gevuld (we laten dit proces achterwege in het kader van dit artikel). Op basis van de informatie ontvangen van de HMM worden routetype 2 EVPN's gevormd (verzonden door MAC / IP).

Maar wat als er informatie over een voorvoegsel moet worden doorgegeven?

Voor dit soort informatie is er EVPN-routetype 5 - hiermee kunt u prefixen verzenden via adresfamilie l2vpn evpn (dit type route is op het moment van schrijven alleen in de conceptversie RFC, hierdoor kunnen verschillende fabrikanten een ander gedrag van dit type route hebben)

Om prefixen over te dragen, is het noodzakelijk om prefixen toe te voegen in het BGP-proces voor VRF, dat zal worden geadverteerd:

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

Als gevolg hiervan zal Update zijn:

VxLAN-fabriek. Deel 2

Laten we eens kijken naar de BGP-tabel. Naast EVPN-routetype 2,3 zijn er type 5-routes verschenen die informatie bevatten over het netwerknummer:

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

Het voorvoegsel verscheen ook in de routeringstabel:

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

Dit concludeert het tweede deel van een reeks artikelen over VxLAN EVPN. In het volgende deel zullen we verschillende opties voor routering tussen VRF's bekijken.

Basisprincipes van IPv6 en hoe het verschilt van IPv4

Bron: www.habr.com

Voeg een reactie