VxLAN fabrikası. Bölüm 2

Hey Habr. VxLAN EVPN teknolojisi ile ilgili makaleler serisine devam ediyorum. kursun başlatılması için özel olarak yazılmıştır "Ağ Mühendisi" OTUS tarafından. Ve bugün görevlerin ilginç bir bölümünü ele alacağız - yönlendirme. Kulağa ne kadar basmakalıp gelse de, bir ağ fabrikasının çalışmasının bir parçası olarak her şey o kadar basit olmayabilir.

VxLAN fabrikası. Bölüm 2

Döngünün 1 kısmı - sunucular arasında L2 bağlantısı

Son bölümde, Nexus 9000v'de bir ağ yapısı üzerine kurulu bir yayın alanı elde ettik. Ancak bu, veri merkezi ağı çerçevesinde çözülmesi gereken tüm görevler değildir. Ve bugün şu görevi ele alacağız - ağlar arasında veya VNI'ler arasında yönlendirme.

Spine-Leaf topolojisinin kullanıldığını hatırlatalım:

VxLAN fabrikası. Bölüm 2

Başlangıç ​​​​olarak, yönlendirmenin nasıl gerçekleştiğini ve hangi özelliklere sahip olduğunu analiz edeceğiz.

Anlamak için mantık şemasını basitleştirelim ve Host-20000 için başka bir VNI 2 ekleyelim. Sonuç:

VxLAN fabrikası. Bölüm 2

Bu durumda trafiği bir Ana Bilgisayardan diğerine nasıl aktarabilirsiniz?

Iki seçenek vardır:

  1. Tüm VNI'lar hakkındaki bilgileri tüm Leaf anahtarlarında tutun, ardından tüm yönlendirme ağdaki ilk Leaf'te gerçekleşir;
  2. Özel - L3 VNI kullanın

İlk yol basit ve kullanışlıdır. Yalnızca tüm Leaf anahtarlarındaki tüm VNI'ları başlatmak gerektiğinden. Ancak, Leaf'in tamamında birkaç yüz veya binlerce VNI elde etmek artık kolay bir iş değil. Bu nedenle, işte oldukça nadiren kullanılır.

Yöntem 2'yi daha ilginç ve biraz daha karmaşık olarak analiz edeceğiz, ancak fabrika kurulumunda daha fazla esneklik sağlayacak.

VRF topolojisine "PROD" ekleyelim. Leaf-10/11 çifti üzerine interface vlan 12'u ve Leaf-20 üzerinde interface VLAN 21'yi ekleyelim. VLAN 20, VNI 20000 ile ilişkilidir

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 kullanmak için yeni bir VLAN oluşturmanız, yeni VNI ile ilişkilendirmeniz gerekir. Yeni VNI, VLAN 10 ve 20 bilgileriyle ilgilenen tüm Leaf'lerde aynı olmalıdır.

vlan 99
  vn-segment 99000

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

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

Sonuç olarak, diyagram şöyle görünecektir:

VxLAN fabrikası. Bölüm 2

Biraz bitirmeye devam ediyor - başka bir arayüz ekleyin - VRF PROD'da vlan 99 arayüzü

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

Sonuç olarak Host-1'den Host-2'ye frame geçirme mantığı şu şekildedir:

  1. Host-1 tarafından gönderilen bir çerçeve, VNI 10 ile ilişkili olan VLAN 10000'daki bir Yaprağa ulaşır;
  2. Leaf, hedef adresin nerede olduğunu kontrol eder ve ikinci Leaf anahtarındaki L3 VNI yoluyla bulur;
  3. Hedef adrese giden yol bulunur bulunmaz, Yaprak çerçeveyi gerekli L3VNI 99000 ile bir başlığa paketler ve ikinci Yaprak'a gönderir;
  4. İkinci Yaprak anahtarı, L3VNI 99000'den veri alır. Orijinal çerçeveyi alır ve gerekli L2VNI 20000'e ve ardından VLAN 20'ye aktarır.

Bu çalışmanın bir sonucu olarak, L3VNI, tüm Leaf anahtarlarında ağda bulunan tüm VNI'lar hakkında bilgi tutma ihtiyacını ortadan kaldırır.

Sonuç olarak, Host-1'den Host-2'ye trafik gönderdiğimizde, paket yeni VNI - 99000 ile VxLAN içinde paketlenir:

VxLAN fabrikası. Bölüm 2

Leaf-1'in MAC adresini başka bir VNI'dan tam olarak nasıl öğrendiğini göreceğiz. Bu aynı zamanda EVPN rota tipi 2 (MAC / IP) yardımıyla gerçekleşir.

Aşağıda, başka bir VNI'da bulunan bir önek hakkında bir rota yayma işlemi gösterilmektedir:

VxLAN fabrikası. Bölüm 2

Yani, VNI 20000'den alınan adreslerin iki RT'si vardır.
Güncellemeden alınan rotaların, VRF ayarlarında belirtilen Rota hedefi ile BGP tablosuna düştüğünü hatırlatmama izin verin (işlem biraz daha karmaşık, ancak bu makaleye girmeyeceğiz).
RT'nin kendisi şu formülle oluşturulur: AS:VNI (eğer otomatik mod kullanılıyorsa).

Otomatik ve manuel modlarda RT oluşumuna bir örnek:

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

Sonuç olarak, yukarıda başka bir VNI'den öneklerin iki RT değerine sahip olduğunu görebilirsiniz.
Bunlardan biri 65001:99000, ek bir L3 VNI'dir. Bu VNI, tüm Leaf'lerde aynı olduğundan ve VRF ayarlarında içe aktarma kurallarımızın kapsamına girdiğinden, önek, çıktıdan görülebilen BGP tablosuna girer:

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

Alınan güncellemeye daha yakından bakarsak, bu ön ekin iki RT'ye sahip olduğunu görebiliriz:

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'deki yönlendirme tablosunda 192.168.20.20/32 önekini de görebilirsiniz:

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

Yönlendirme tablosunda eksik birincil önek 192.168.20.0/24 dikkatinizi çekti mi?
Bu doğru, o orada değil. Yani, uzak Yapraklar yalnızca ağınızdaki ana bilgisayarlar hakkında bilgi alır. Ve bu doğru davranıştır. Yukarıda tüm güncellemelerde bu bilgilerin MAC/IP içeriği ile geldiğini görebilirsiniz. Bahsedilecek önek yok.

Bu, BGP tablosunun daha fazla doldurulduğu ARP tablosunu dolduran Host Mobility Manager (HMM) protokolüdür (bu makale çerçevesinde bu işlemi atlayacağız). HMM'den alınan bilgilere göre rota tipi 2 EVPN'ler oluşturulur (MAC/IP tarafından iletilir).

Ancak, bir önek hakkında bilgi iletmeye ihtiyaç duyulursa ne olur?

Bu tür bilgiler için, EVPN yol tipi 5 vardır - adres-ailesi l2vpn evpn aracılığıyla önekler göndermenize izin verir (bu yazının yazıldığı sırada bu tür yol yalnızca taslak sürümdedir) RFC, bu nedenle, farklı üreticilerin bu tür bir rotada farklı davranışları olabilir)

Ön ekleri aktarmak için, reklamı yapılacak olan VRF için BGP işlemine ön eklerin eklenmesi gerekir:

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

Sonuç olarak, Güncelleme şöyle olacaktır:

VxLAN fabrikası. Bölüm 2

BGP tablosuna bakalım. EVPN rota tipi 2,3'e ek olarak, ağ numarası hakkında bilgi içeren tip 5 rotaları ortaya çıktı:

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

Önek, yönlendirme tablosunda da göründü:

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

Bu, VxLAN EVPN hakkındaki bir dizi makalenin ikinci bölümünü tamamlıyor. Bir sonraki bölümde, VRF'ler arasında yönlendirme için çeşitli seçenekleri ele alacağız.

IPv6'nın temelleri ve IPv4'ten farkı

Kaynak: habr.com

Yorum ekle