Εργοστάσιο VxLAN. Μέρος 2ο

Γεια σου Χαμπρ. Συνεχίζω τη σειρά άρθρων για την τεχνολογία VxLAN EVPN, η οποία γράφτηκαν ειδικά για την έναρξη του μαθήματος "Μηχανικός Δικτύου" από την OTUS. Και σήμερα θα εξετάσουμε ένα ενδιαφέρον μέρος των εργασιών - δρομολόγηση. Όσο τετριμμένο κι αν ακούγεται, ωστόσο, ως μέρος της δουλειάς ενός εργοστασίου δικτύου, όλα μπορεί να μην είναι τόσο απλά.

Εργοστάσιο VxLAN. Μέρος 2ο

1 μέρος του κύκλου - Συνδεσιμότητα L2 μεταξύ διακομιστών

Στο τελευταίο μέρος, επιτύχαμε έναν τομέα μετάδοσης χτισμένο πάνω σε ένα δίκτυο δικτύου σε ένα Nexus 9000v. Ωστόσο, αυτό δεν είναι όλο το φάσμα των εργασιών που πρέπει να επιλυθούν στο πλαίσιο του δικτύου κέντρων δεδομένων. Και σήμερα θα εξετάσουμε την ακόλουθη εργασία - δρομολόγηση μεταξύ δικτύων ή μεταξύ VNI.

Να σας υπενθυμίσω ότι χρησιμοποιείται η τοπολογία Spine-Leaf:

Εργοστάσιο VxLAN. Μέρος 2ο

Αρχικά, θα αναλύσουμε πώς συμβαίνει η δρομολόγηση και ποια χαρακτηριστικά έχει.

Για κατανόηση, ας απλοποιήσουμε το λογικό διάγραμμα και ας προσθέσουμε ένα άλλο VNI 20000 για το Host-2. Το αποτέλεσμα είναι:

Εργοστάσιο VxLAN. Μέρος 2ο

Πώς, σε αυτήν την περίπτωση, μπορείτε να μεταφέρετε κίνηση από έναν κεντρικό υπολογιστή σε έναν άλλο;

Υπάρχουν δύο επιλογές:

  1. Διατηρήστε πληροφορίες για όλα τα VNI σε όλους τους διακόπτες Leaf και, στη συνέχεια, όλη η δρομολόγηση θα πραγματοποιηθεί στο πρώτο Leaf στο δίκτυο.
  2. Χρησιμοποιήστε αποκλειστικό - L3 VNI

Ο πρώτος τρόπος είναι απλός και βολικός. Επειδή χρειάζεται μόνο να ξεκινήσετε όλα τα VNI σε όλους τους διακόπτες Leaf. Ωστόσο, η εκτέλεση μερικών εκατοντάδων ή χιλιάδων VNI σε ολόκληρο το Leaf δεν φαίνεται πλέον εύκολη υπόθεση. Ως εκ τούτου, στο έργο χρησιμοποιείται αρκετά σπάνια.

Θα αναλύσουμε τη μέθοδο 2, ως πιο ενδιαφέρουσα και ελαφρώς πιο περίπλοκη, δίνοντας όμως μεγαλύτερη ευελιξία στη δημιουργία του εργοστασίου.

Ας προσθέσουμε το "PROD" στην τοπολογία VRF. Ας προσθέσουμε τη διεπαφή vlan 10 σε αυτό στο ζεύγος Leaf-11/12 και τη διεπαφή VLAN 20 στο Leaf-21. Το VLAN 20 σχετίζεται με το 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

Για να χρησιμοποιήσετε το L3VNI, πρέπει να δημιουργήσετε ένα νέο VLAN, να το συσχετίσετε με το νέο VNI. Το νέο VNI πρέπει να είναι το ίδιο σε όλα τα Leaf που ενδιαφέρονται για πληροφορίες VLAN 10 και 20.

vlan 99
  vn-segment 99000

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

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

Ως αποτέλεσμα, το διάγραμμα θα μοιάζει με αυτό:

Εργοστάσιο VxLAN. Μέρος 2ο

Απομένει να τελειώσουμε λίγο - προσθέστε μια ακόμη διεπαφή - διεπαφή vlan 99 στο VRF PROD

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

Ως αποτέλεσμα, η λογική της μετάβασης του πλαισίου από το Host-1 στο Host-2 είναι η εξής:

  1. Ένα πλαίσιο που αποστέλλεται από τον κεντρικό υπολογιστή-1 φτάνει σε ένα φύλλο στο VLAN 10, το οποίο σχετίζεται με το VNI 10000.
  2. Το Leaf ελέγχει πού βρίσκεται η διεύθυνση προορισμού και τη βρίσκει μέσω L3 VNI στον δεύτερο διακόπτη Leaf.
  3. Μόλις βρεθεί η διαδρομή προς τη διεύθυνση προορισμού, το Leaf συσκευάζει το πλαίσιο σε μια κεφαλίδα με το απαραίτητο L3VNI 99000 - και το στέλνει προς το δεύτερο φύλλο.
  4. Ο δεύτερος διακόπτης Leaf λαμβάνει δεδομένα από το L3VNI 99000. Λαμβάνει το αρχικό πλαίσιο και το μεταφέρει στο απαιτούμενο L2VNI 20000 και μετά στο VLAN 20.

Ως αποτέλεσμα αυτής της εργασίας, το L3VNI καταργεί την ανάγκη διατήρησης πληροφοριών για όλα τα VNI που βρίσκονται στο δίκτυο σε όλους τους διακόπτες Leaf.

Ως αποτέλεσμα, όταν στέλνουμε κίνηση από τον κεντρικό υπολογιστή-1 στον κεντρικό υπολογιστή-2, το πακέτο συσκευάζεται μέσα στο VxLAN με το νέο VNI - 99000:

Εργοστάσιο VxLAN. Μέρος 2ο

Μένει να δούμε πώς ακριβώς το Leaf-1 μαθαίνει για τη διεύθυνση MAC από άλλο VNI. Αυτό συμβαίνει επίσης με τη βοήθεια του EVPN route-type 2 (MAC / IP).

Το παρακάτω δείχνει τη διαδικασία διάδοσης μιας διαδρομής σχετικά με ένα πρόθεμα που βρίσκεται σε άλλο VNI:

Εργοστάσιο VxLAN. Μέρος 2ο

Δηλαδή, οι διευθύνσεις που λαμβάνονται από το VNI 20000 έχουν δύο RT.
Επιτρέψτε μου να σας υπενθυμίσω ότι οι διαδρομές που λαμβάνονται από το Update εμπίπτουν στον πίνακα BGP με το Route-target να καθορίζεται στις ρυθμίσεις VRF (η διαδικασία είναι κάπως πιο περίπλοκη, αλλά δεν θα μπούμε σε αυτό το άρθρο).
Το ίδιο το RT σχηματίζεται από τον τύπο: AS:VNI (εάν χρησιμοποιείται αυτόματη λειτουργία).

Ένα παράδειγμα σχηματισμού RT σε αυτόματη και χειροκίνητη λειτουργία:

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

Ως αποτέλεσμα, μπορείτε να δείτε παραπάνω ότι τα προθέματα από άλλο VNI έχουν δύο τιμές RT.
Ένα από αυτά 65001:99000 είναι ένα επιπλέον L3 VNI. Δεδομένου ότι αυτό το VNI είναι το ίδιο σε όλα τα φύλλα και εμπίπτει στους κανόνες εισαγωγής μας στις ρυθμίσεις VRF, το πρόθεμα μπαίνει στον πίνακα BGP, ο οποίος φαίνεται από την έξοδο:

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

Αν κοιτάξουμε πιο προσεκτικά τη ληφθείσα ενημέρωση, μπορούμε να δούμε ότι αυτό το πρόθεμα έχει δύο RT:

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

Στον πίνακα δρομολόγησης στο Leaf-1, μπορείτε επίσης να δείτε το πρόθεμα 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

Παρατηρήστε το κύριο πρόθεμα 192.168.20.0/24 που λείπει στον πίνακα δρομολόγησης;
Σωστά, δεν είναι εκεί. Δηλαδή, τα απομακρυσμένα Leafs λαμβάνουν πληροφορίες μόνο για τους κεντρικούς υπολογιστές που βρίσκονται στο δίκτυό σας. Και αυτή είναι η σωστή συμπεριφορά. Παραπάνω, σε όλες τις ενημερώσεις, μπορείτε να δείτε ότι οι πληροφορίες συνοδεύονται από το περιεχόμενο του MAC / IP. Δεν υπάρχουν προθέματα για να μιλήσουμε.

Αυτό είναι το πρωτόκολλο Host Mobility Manager (HMM), το οποίο γεμίζει τον πίνακα ARP από τον οποίο συμπληρώνεται περαιτέρω ο πίνακας BGP (θα παραλείψουμε αυτήν τη διαδικασία στο πλαίσιο αυτού του άρθρου). Με βάση τις πληροφορίες που λαμβάνονται από το HMM, σχηματίζονται EVPN τύπου διαδρομής 2 (μεταδίδονται από MAC / IP).

Ωστόσο, τι γίνεται εάν υπάρχει ανάγκη διαβίβασης πληροφοριών σχετικά με ένα πρόθεμα;

Για αυτόν τον τύπο πληροφοριών, υπάρχει ο τύπος διαδρομής EVPN 5 - σας επιτρέπει να στέλνετε προθέματα μέσω της οικογένειας διεύθυνσης l2vpn evpn (αυτός ο τύπος διαδρομής τη στιγμή της σύνταξης αυτού του άρθρου είναι μόνο στην πρόχειρη έκδοση RFC, εξαιτίας αυτού, διαφορετικοί κατασκευαστές ενδέχεται να έχουν διαφορετική συμπεριφορά αυτού του τύπου διαδρομής)

Για να μεταφέρετε προθέματα, είναι απαραίτητο να προσθέσετε προθέματα στη διαδικασία BGP για VRF, τα οποία θα διαφημιστούν:

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

Ως αποτέλεσμα, η ενημέρωση θα είναι:

Εργοστάσιο VxLAN. Μέρος 2ο

Ας δούμε τον πίνακα BGP. Εκτός από τη διαδρομή τύπου EVPN 2,3, έχουν εμφανιστεί διαδρομές τύπου 5 που περιέχουν πληροφορίες σχετικά με τον αριθμό δικτύου:

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

Το πρόθεμα εμφανίστηκε επίσης στον πίνακα δρομολόγησης:

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

Αυτό ολοκληρώνει το δεύτερο μέρος μιας σειράς άρθρων για το VxLAN EVPN. Στο επόμενο μέρος, θα εξετάσουμε διάφορες επιλογές για δρομολόγηση μεταξύ VRF.

Βασικές αρχές του IPv6 και πώς διαφέρει από το IPv4

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο