pabrik VxLAN. Bagian 1

Halo, habr. Saat ini saya adalah ketua kursus untuk kursus Network Engineer di OTUS.
Untuk mengantisipasi dimulainya pendaftaran baru untuk kursus "Insinyur jaringan", Saya telah menyiapkan serangkaian artikel tentang teknologi VxLAN EVPN.

Ada banyak sekali materi tentang cara kerja VxLAN EVPN, jadi saya ingin mengumpulkan berbagai tugas dan praktik untuk memecahkan masalah di pusat data modern.

pabrik VxLAN. Bagian 1

Pada bagian pertama dari seri teknologi VxLAN EVPN, saya ingin melihat cara mengatur konektivitas L2 antar host di atas struktur jaringan.

Semua contoh akan dilakukan pada Cisco Nexus 9000v, yang dirakit dalam topologi Spine-Leaf. Kami tidak akan membahas pengaturan jaringan Underlay di artikel ini.

  1. Jaringan yang mendasari
  2. Peering BGP untuk keluarga alamat l2vpn evpn
  3. Menyiapkan NVE
  4. Menekan-arp

Jaringan yang mendasari

Topologi yang digunakan adalah sebagai berikut:

pabrik VxLAN. Bagian 1

Mari kita atur pengalamatan di semua perangkat:

Spine-1 - 10.255.1.101
Spine-2 - 10.255.1.102

Leaf-11 - 10.255.1.11
Leaf-12 - 10.255.1.12
Leaf-21 - 10.255.1.21

Host-1 - 192.168.10.10
Host-2 - 192.168.10.20

Mari kita periksa apakah ada konektivitas IP di antara semua perangkat:

Leaf21# sh ip route
<........>
10.255.1.11/32, ubest/mbest: 2/0                      ! Leaf-11 доступен чеерз два Spine
    *via 10.255.1.101, Eth1/4, [110/81], 00:00:03, ospf-UNDERLAY, intra
    *via 10.255.1.102, Eth1/3, [110/81], 00:00:03, ospf-UNDERLAY, intra
10.255.1.12/32, ubest/mbest: 2/0                      ! Leaf-12 доступен чеерз два Spine
    *via 10.255.1.101, Eth1/4, [110/81], 00:00:03, ospf-UNDERLAY, intra
    *via 10.255.1.102, Eth1/3, [110/81], 00:00:03, ospf-UNDERLAY, intra
10.255.1.21/32, ubest/mbest: 2/0, attached
    *via 10.255.1.22, Lo0, [0/0], 00:02:20, local
    *via 10.255.1.22, Lo0, [0/0], 00:02:20, direct
10.255.1.101/32, ubest/mbest: 1/0
    *via 10.255.1.101, Eth1/4, [110/41], 00:00:06, ospf-UNDERLAY, intra
10.255.1.102/32, ubest/mbest: 1/0
    *via 10.255.1.102, Eth1/3, [110/41], 00:00:03, ospf-UNDERLAY, intra

Mari kita periksa apakah domain VPC telah dibuat dan kedua switch telah melewati pemeriksaan konsistensi dan pengaturan pada kedua node sama:

Leaf11# show vpc 

vPC domain id                     : 1
Peer status                       : peer adjacency formed ok
vPC keep-alive status             : peer is alive
Configuration consistency status  : success
Per-vlan consistency status       : success
Type-2 consistency status         : success
vPC role                          : primary
Number of vPCs configured         : 0
Peer Gateway                      : Disabled
Dual-active excluded VLANs        : -
Graceful Consistency Check        : Enabled
Auto-recovery status              : Disabled
Delay-restore status              : Timer is off.(timeout = 30s)
Delay-restore SVI status          : Timer is off.(timeout = 10s)
Operational Layer3 Peer-router    : Disabled

vPC status
----------------------------------------------------------------------------
Id    Port          Status Consistency Reason                Active vlans
--    ------------  ------ ----------- ------                ---------------
5     Po5           up     success     success               1

Mengintip BGP

Terakhir, Anda dapat melanjutkan ke pengaturan jaringan Overlay.

Sebagai bagian dari artikel, perlu untuk mengatur jaringan antar host, seperti yang ditunjukkan pada diagram di bawah ini:

pabrik VxLAN. Bagian 1

Untuk mengkonfigurasi jaringan Overlay, Anda perlu mengaktifkan BGP pada switch Spine dan Leaf dengan dukungan untuk keluarga l2vpn evpn:

feature bgp
nv overlay evpn

Selanjutnya, Anda perlu mengonfigurasi peering BGP antara Leaf dan Spine. Untuk menyederhanakan pengaturan dan mengoptimalkan distribusi informasi perutean, kami mengonfigurasi Spine sebagai server Route-Reflector. Kami akan menulis semua Leaf di konfigurasi menggunakan templat untuk mengoptimalkan pengaturan.

Jadi settingan di Spine terlihat seperti ini:

router bgp 65001
  template peer LEAF 
    remote-as 65001
    update-source loopback0
    address-family l2vpn evpn
      send-community
      send-community extended
      route-reflector-client
  neighbor 10.255.1.11
    inherit peer LEAF
  neighbor 10.255.1.12
    inherit peer LEAF
  neighbor 10.255.1.21
    inherit peer LEAF

Pengaturan pada saklar Leaf terlihat serupa:

router bgp 65001
  template peer SPINE
    remote-as 65001
    update-source loopback0
    address-family l2vpn evpn
      send-community
      send-community extended
  neighbor 10.255.1.101
    inherit peer SPINE
  neighbor 10.255.1.102
    inherit peer SPINE

Di Spine, mari kita periksa peering dengan semua switch Leaf:

Spine1# sh bgp l2vpn evpn summary
<.....>
Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.255.1.11     4 65001       7       8        6    0    0 00:01:45 0
10.255.1.12     4 65001       7       7        6    0    0 00:01:16 0
10.255.1.21     4 65001       7       7        6    0    0 00:01:01 0

Seperti yang Anda lihat, tidak ada masalah dengan BGP. Mari beralih ke pengaturan VxLAN. Konfigurasi lebih lanjut hanya akan dilakukan pada sisi Leaf pada sakelar. Tulang belakang hanya bertindak sebagai inti jaringan dan hanya terlibat dalam transmisi lalu lintas. Semua pekerjaan enkapsulasi dan penentuan jalur hanya terjadi pada sakelar Leaf.

Menyiapkan NVE

NVE - antarmuka virtual jaringan

Sebelum memulai penyiapan, mari kenali beberapa terminologi:

VTEP - Titik Akhir Terowongan Vitual, perangkat tempat terowongan VxLAN dimulai atau diakhiri. VTEP belum tentu merupakan perangkat jaringan apa pun. Server yang mendukung teknologi VxLAN juga dapat bertindak sebagai server. Dalam topologi kami, semua sakelar Leaf adalah VTEP.

VNI - Indeks Jaringan Virtual - pengidentifikasi jaringan dalam VxLAN. Sebuah analogi dapat ditarik dengan VLAN. Namun terdapat beberapa perbedaan. Saat menggunakan fabric, VLAN menjadi unik hanya dalam satu switch Leaf dan tidak ditransmisikan melalui jaringan. Namun setiap VLAN dapat memiliki nomor VNI yang terkait dengannya, yang sudah dikirimkan melalui jaringan. Seperti apa bentuknya dan bagaimana penggunaannya akan dibahas lebih lanjut.

Mari aktifkan fitur agar teknologi VxLAN berfungsi dan kemampuan untuk mengaitkan nomor VLAN dengan nomor VNI:

feature nv overlay
feature vn-segment-vlan-based

Mari konfigurasikan antarmuka NVE, yang bertanggung jawab atas pengoperasian VxLAN. Antarmuka ini bertanggung jawab untuk merangkum frame dalam header VxLAN. Anda dapat menggambar analogi dengan antarmuka Tunnel untuk GRE:

interface nve1
  no shutdown
  host-reachability protocol bgp ! используем BGP для передачи маршрутной информации
  source-interface loopback0    ! интерфейс  с которого отправляем пакеты loopback0

Pada saklar Leaf-21 semuanya dibuat tanpa masalah. Namun, jika kita memeriksa output dari perintah tersebut show nve peers, maka itu akan kosong. Di sini Anda perlu kembali ke konfigurasi VPC. Kami melihat Leaf-11 dan Leaf-12 bekerja berpasangan dan disatukan oleh domain VPC. Ini memberi kita situasi berikut:

Host-2 mengirimkan satu frame menuju Leaf-21 sehingga mentransmisikannya melalui jaringan menuju Host-1. Namun, Leaf-21 melihat bahwa alamat MAC Host-1 dapat diakses melalui dua VTEP sekaligus. Apa yang harus dilakukan Leaf-21 dalam kasus ini? Bagaimanapun, ini berarti bahwa sebuah loop dapat muncul di jaringan.

Untuk mengatasi situasi ini, kita memerlukan Leaf-11 dan Leaf-12 untuk juga bertindak sebagai satu perangkat di dalam pabrik. Solusinya cukup sederhana. Pada antarmuka Loopback tempat kita membangun terowongan, tambahkan alamat sekunder. Alamat Sekunder harus sama di kedua VTEP.

interface loopback0
 ip add 10.255.1.10/32 secondary

Jadi, dari sudut pandang VTEP lain, kita mendapatkan topologi berikut:

pabrik VxLAN. Bagian 1

Artinya, sekarang terowongan akan dibangun antara alamat IP Leaf-21 dan IP virtual antara dua Leaf-11 dan Leaf-12. Sekarang tidak akan ada masalah dalam mempelajari alamat MAC dari dua perangkat dan lalu lintas dapat berpindah dari satu VTEP ke VTEP lainnya. Manakah dari dua VTEP yang akan memproses lalu lintas ditentukan menggunakan tabel routing di Spine:

Spine1# sh ip route
<.....>
10.255.1.10/32, ubest/mbest: 2/0
    *via 10.255.1.11, Eth1/1, [110/41], 1d01h, ospf-UNDERLAY, intra
    *via 10.255.1.12, Eth1/2, [110/41], 1d01h, ospf-UNDERLAY, intra
10.255.1.11/32, ubest/mbest: 1/0
    *via 10.255.1.11, Eth1/1, [110/41], 1d22h, ospf-UNDERLAY, intra
10.255.1.12/32, ubest/mbest: 1/0
    *via 10.255.1.12, Eth1/2, [110/41], 1d01h, ospf-UNDERLAY, intra

Seperti yang Anda lihat di atas, alamat 10.255.1.10 segera tersedia melalui dua Next-hop.

Pada tahap ini, kita telah membahas konektivitas dasar. Mari beralih ke pengaturan antarmuka NVE:
Ayo segera aktifkan Vlan 10 dan kaitkan dengan VNI 10000 di setiap Leaf untuk host. Mari kita siapkan terowongan L2 antar host

vlan 10                 ! Включаем VLAN на всех VTEP подключенных к необходимым хостам
  vn-segment 10000      ! Ассоциируем VLAN с номер VNI 

interface nve1
  member vni 10000      ! Добавляем VNI 10000 для работы через интерфейс NVE. для инкапсуляции в VxLAN
    ingress-replication protocol bgp    ! указываем, что для распространения информации о хосте используем BGP

Sekarang mari kita periksa beberapa rekan dan tabel untuk BGP EVPN:

Leaf21# sh nve peers
Interface Peer-IP          State LearnType Uptime   Router-Mac
--------- ---------------  ----- --------- -------- -----------------
nve1      10.255.1.10      Up    CP        00:00:41 n/a                 ! Видим что peer доступен с secondary адреса

Leaf11# sh bgp l2vpn evpn

   Network            Next Hop            Metric     LocPrf     Weight Path
Route Distinguisher: 10.255.1.11:32777    (L2VNI 10000)        ! От кого именно пришел этот l2VNI
*>l[3]:[0]:[32]:[10.255.1.10]/88                                   ! EVPN route-type 3 - показывает нашего соседа, который так же знает об l2VNI10000
                      10.255.1.10                       100      32768 i
*>i[3]:[0]:[32]:[10.255.1.20]/88
                      10.255.1.20                       100          0 i
* i                   10.255.1.20                       100          0 i

Route Distinguisher: 10.255.1.21:32777
* i[3]:[0]:[32]:[10.255.1.20]/88
                      10.255.1.20                       100          0 i
*>i                   10.255.1.20                       100          0 i

Di atas kita hanya melihat rute tipe rute EVPN 3. Jenis rute ini berbicara tentang rekan (Daun), tetapi di mana host kita?
Masalahnya adalah informasi tentang host MAC dikirimkan melalui rute EVPN tipe 2

Untuk melihat host kami, Anda perlu mengkonfigurasi tipe rute EVPN 2:

evpn
  vni 10000 l2
    route-target import auto   ! в рамках данной статьи используем автоматический номер для route-target
    route-target export auto

Mari kita ping dari Host-2 ke Host-1:

Firewall2# ping 192.168.10.1
PING 192.168.10.1 (192.168.10.1): 56 data bytes
36 bytes from 192.168.10.2: Destination Host Unreachable
Request 0 timed out
64 bytes from 192.168.10.1: icmp_seq=1 ttl=254 time=215.555 ms
64 bytes from 192.168.10.1: icmp_seq=2 ttl=254 time=38.756 ms
64 bytes from 192.168.10.1: icmp_seq=3 ttl=254 time=42.484 ms
64 bytes from 192.168.10.1: icmp_seq=4 ttl=254 time=40.983 ms

Dan di bawah ini kita dapat melihat bahwa tipe rute 2 dengan alamat MAC host muncul di tabel BGP - 5001.0007.0007 dan 5001.0008.0007

Leaf11# 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                      !  evpn route-type 2 и mac адрес хоста 1
                      10.255.1.10                       100      32768 i
*>i[2]:[0]:[0]:[48]:[5001.0008.0007]:[0]:[0.0.0.0]/216                      ! evpn route-type 2 и mac адрес хоста 2
* i                   10.255.1.20                       100          0 i
*>l[3]:[0]:[32]:[10.255.1.10]/88
                      10.255.1.10                       100      32768 i
Route Distinguisher: 10.255.1.21:32777
* i[2]:[0]:[0]:[48]:[5001.0008.0007]:[0]:[0.0.0.0]/216
                      10.255.1.20                       100          0 i
*>i                   10.255.1.20                       100          0 i

Selanjutnya, Anda dapat melihat informasi rinci tentang Pembaruan, di mana Anda menerima informasi tentang MAC Host. Di bawah ini bukan seluruh keluaran perintah.

Leaf21# sh bgp l2vpn evpn 5001.0007.0007

BGP routing table information for VRF default, address family L2VPN EVPN
Route Distinguisher: 10.255.1.11:32777        !  отправил Update с MAC Host. Не виртуальный адрес VPC, а адрес Leaf
BGP routing table entry for [2]:[0]:[0]:[48]:[5001.0007.0007]:[0]:[0.0.0.0]/216,
 version 1507
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 labe
led nexthop
  AS-Path: NONE, path sourced internal to AS
    10.255.1.10 (metric 81) from 10.255.1.102 (10.255.1.102)    ! с кем именно строим VxLAN тоннель
      Origin IGP, MED not set, localpref 100, weight 0
      Received label 10000         ! Номер VNI, который ассоциирован с VLAN, в котором находится Host
      Extcommunity: RT:65001:10000 SOO:10.255.1.10:0 ENCAP:8        ! Тут видно, что RT сформировался автоматически на основе номеров AS и VNI
      Originator: 10.255.1.11 Cluster list: 10.255.1.102
<........>

Mari kita lihat seperti apa bingkai saat melewati pabrik:

pabrik VxLAN. Bagian 1

Menekan-ARP

Hebat, kami sekarang memiliki komunikasi L2 antara tuan rumah dan kami bisa menyelesaikannya di sana. Namun, tidak semuanya sesederhana itu. Selama kita memiliki sedikit host, tidak akan ada masalah. Tapi mari kita bayangkan situasi di mana kita memiliki ratusan dan ribuan host. Masalah apa yang mungkin kita hadapi?

Masalah ini adalah lalu lintas BUM (Broadcast, Unknown Unicast, Multicast). Pada artikel ini, kami akan mempertimbangkan opsi untuk menangani lalu lintas siaran.
Generator siaran utama dalam jaringan Ethernet adalah host itu sendiri melalui protokol ARP.

Nexus mengimplementasikan mekanisme berikut untuk menangani permintaan ARP - supres-arp.
Fitur ini berfungsi sebagai berikut:

  1. Host-1 mengirimkan permintaan APR ke alamat Broadcast jaringannya.
  2. Permintaan tersebut mencapai saklar Leaf dan alih-alih meneruskan permintaan ini lebih jauh ke fabric menuju Host-2, Leaf merespons sendiri dan menunjukkan IP dan MAC yang diperlukan.

Dengan demikian, permintaan Siaran tidak sampai ke pabrik. Tapi bagaimana cara kerjanya jika Leaf hanya mengetahui alamat MAC?

Semuanya cukup sederhana, rute EVPN tipe 2, selain alamat MAC, dapat mengirimkan kombinasi MAC/IP. Untuk melakukan ini, Anda perlu mengkonfigurasi alamat IP di VLAN di Leaf. Timbul pertanyaan, IP apa yang harus saya setting? Di nexus dimungkinkan untuk membuat alamat terdistribusi (sama) di semua switch:

feature interface-vlan

fabric forwarding anycast-gateway-mac 0001.0001.0001    ! задаем virtual mac для создания распределенного шлюза между всеми коммутаторами

interface Vlan10
  no shutdown
  ip address 192.168.10.254/24          ! на всех Leaf задаем одинаковый IP
  fabric forwarding mode anycast-gateway    ! говорим использовать Virtual mac

Jadi, dari sudut pandang host, jaringan akan terlihat seperti ini:

pabrik VxLAN. Bagian 1

Mari kita periksa BGP l2route evpn

Leaf11# 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.21                       100      32768 i
*>i[2]:[0]:[0]:[48]:[5001.0008.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.0008.0007]:[32]:[192.168.10.20]/248
                      10.255.1.10                       100          0 i
*>i                   10.255.1.10                       100          0 i

<......>

Route Distinguisher: 10.255.1.21:32777
* i[2]:[0]:[0]:[48]:[5001.0008.0007]:[0]:[0.0.0.0]/216
                      10.255.1.20                       100          0 i
*>i                   10.255.1.20                       100          0 i
* i[2]:[0]:[0]:[48]:[5001.0008.0007]:[32]:[192.168.10.20]/248
*>i                   10.255.1.20                       100          0 i

<......>

Dari keluaran perintah Anda dapat melihat bahwa pada rute EVPN tipe 2, selain MAC, sekarang kita juga melihat alamat IP host.

Mari kita kembali ke pengaturan supres-arp. Pengaturan ini diaktifkan untuk setiap VNI secara terpisah:

interface nve1
  member vni 10000   
    suppress-arp

Kemudian timbul beberapa kerumitan:

  • Agar fitur ini berfungsi, diperlukan ruang di memori TCAM. Berikut contoh pengaturan untuk supres-arp:

hardware access-list tcam region arp-ether 256

Pengaturan ini memerlukan lebar ganda. Artinya, jika Anda menyetel 256, maka Anda perlu mengosongkan 512 di TCAM. Menyiapkan TCAM berada di luar cakupan artikel ini, karena menyiapkan TCAM hanya bergantung pada tugas yang diberikan kepada Anda dan mungkin berbeda dari satu jaringan ke jaringan lainnya.

  • Penerapan supres-arp harus dilakukan pada semua switch Leaf. Namun, kerumitan dapat muncul saat mengonfigurasi pasangan Leaf yang berada di domain VPC. Jika TCAM diubah, konsistensi antar pasangan akan rusak dan satu node mungkin tidak dapat beroperasi. Selain itu, reboot perangkat mungkin diperlukan untuk menerapkan pengaturan perubahan TCAM.

Oleh karena itu, Anda perlu mempertimbangkan dengan cermat apakah, dalam situasi Anda, layak menerapkan pengaturan ini ke pabrik yang sedang berjalan.

Ini mengakhiri bagian pertama dari seri ini. Pada bagian selanjutnya kita akan melihat perutean melalui fabric VxLAN dengan pemisahan jaringan menjadi VRF yang berbeda.

Dan sekarang saya mengundang semua orang untuk melakukannya webinar gratis, di dalamnya saya akan memberi tahu Anda secara rinci tentang kursus tersebut. 20 peserta pertama yang mendaftar webinar ini akan menerima Sertifikat Diskon melalui email dalam waktu 1-2 hari setelah siaran.

Sumber: www.habr.com

Tambah komentar