VxLAN үйлдвэр. 2-р хэсэг

Хөөе Хабр. Би VxLAN EVPN технологийн талаархи цуврал нийтлэлийг үргэлжлүүлж байна хичээлийг эхлүүлэхэд зориулж тусгайлан бичсэн болно "Сүлжээний инженер" OTUS. Өнөөдөр бид даалгаврын сонирхолтой хэсэг болох чиглүүлэлтийн талаар авч үзэх болно. Энэ нь хичнээн улиг болсон мэт сонсогдож байсан ч сүлжээний үйлдвэрийн ажлын нэг хэсэг болохын хувьд бүх зүйл тийм ч хялбар биш байж болно.

VxLAN үйлдвэр. 2-р хэсэг

Циклийн 1 хэсэг - сервер хоорондын L2 холболт

Сүүлчийн хэсэгт бид Nexus 9000v дээрх сүлжээний материал дээр бүтээгдсэн нэг өргөн нэвтрүүлгийн домайныг бий болгосон. Гэсэн хэдий ч, энэ нь мэдээллийн төвийн сүлжээний хүрээнд шийдвэрлэх шаардлагатай бүх төрлийн ажил биш юм. Өнөөдөр бид дараах ажлыг авч үзэх болно - сүлжээний хооронд эсвэл VNI хооронд чиглүүлэлт хийх.

Spine-Leaf топологийг ашигладаг болохыг танд сануулъя:

VxLAN үйлдвэр. 2-р хэсэг

Эхлэхийн тулд бид чиглүүлэлт хэрхэн үүсдэг, ямар онцлог шинж чанартай болохыг шинжлэх болно.

Ойлгохын тулд логик диаграммыг хялбарчилж, Host-20000-д өөр VNI 2 нэмье. Үр дүн нь:

VxLAN үйлдвэр. 2-р хэсэг

Энэ тохиолдолд та траффикийг нэг хостоос нөгөө хост руу хэрхэн шилжүүлэх вэ?

Хоёр сонголт байна:

  1. Бүх VNI-ийн талаарх мэдээллийг бүх Навч шилжүүлэгч дээр хадгал, дараа нь бүх чиглүүлэлт сүлжээний эхний Навч дээр хийгдэнэ;
  2. Зориулалтын ашиглах - L3 VNI

Эхний арга нь энгийн бөгөөд тохиромжтой. Учир нь та зөвхөн бүх навч шилжүүлэгч дээр бүх VNI-г эхлүүлэх хэрэгтэй. Гэсэн хэдий ч бүхэл бүтэн Навч дээр хэдэн зуу эсвэл мянга мянган VNI ажиллуулах нь тийм ч хялбар ажил биш юм шиг санагдаж байна. Тиймээс энэ нь ажилд маш ховор хэрэглэгддэг.

Бид 2-р аргыг илүү сонирхолтой, арай илүү төвөгтэй, гэхдээ үйлдвэр байгуулахад илүү уян хатан байдлаар дүн шинжилгээ хийх болно.

VRF топологид "PROD"-г нэмье. Үүнд Leaf-10/11 хос дээр vlan 12 интерфейс, Leaf-20 дээр VLAN 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 нь 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-р хэсэг

VRF PROD дэх vlan 99 интерфэйсийг нэмж оруулаад бага зэрэг дуусгах хэрэгтэй

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

Үүний үр дүнд фрэймийг Host-1-ээс Host-2 руу дамжуулах логик дараах байдалтай байна.

  1. Host-1-ийн илгээсэн фрейм нь VNI 10-тай холбоотой VLAN 10000 дахь Навч дээр ирдэг;
  2. Навч очих хаяг хаана байгааг шалгаж, хоёр дахь Leaf шилжүүлэгч дээрх L3 VNI-ээр дамжуулан олдог;
  3. Зорилтот хаяг руу хүрэх замыг олмогц Навч нь шаардлагатай L3VNI 99000 бүхий хүрээг толгой хэсэгт багцалж, хоёр дахь Навч руу илгээдэг;
  4. Хоёрдахь Навч шилжүүлэгч нь L3VNI 99000-аас өгөгдлийг хүлээн авдаг. Анхны фрэймийг аваад шаардлагатай L2VNI 20000 руу, дараа нь VLAN 20 руу шилжүүлнэ.

Энэхүү ажлын үр дүнд L3VNI нь сүлжээнд байгаа бүх VNI-ийн талаарх мэдээллийг бүх Навч шилжүүлэгч дээр хадгалах хэрэгцээг арилгасан.

Үүний үр дүнд бид Host-1-ээс Host-2 руу траффик илгээх үед пакет нь VXLAN дотор шинэ VNI - 99000-аар савлагдсан болно:

VxLAN үйлдвэр. 2-р хэсэг

Leaf-1 нь өөр VNI-ээс MAC хаягийн талаар яг яаж мэдсэнийг харах л үлдлээ. Энэ нь мөн EVPN чиглүүлэлтийн төрлийн 2 (MAC / IP) тусламжтайгаар тохиолддог.

Дараах нь өөр VNI-д байрлах угтварын талаарх маршрутыг түгээх үйл явцыг харуулж байна:

VxLAN үйлдвэр. 2-р хэсэг

Өөрөөр хэлбэл, VNI 20000-аас хүлээн авсан хаягууд нь хоёр RT-тэй байдаг.
Шинэчлэлтээс хүлээн авсан маршрутууд нь VRF тохиргоонд заасан чиглүүлэлтийн зорилт бүхий BGP хүснэгтэд багтдаг гэдгийг сануулъя (энэ процесс нь арай илүү төвөгтэй боловч бид энэ нийтлэлд орохгүй).
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 гэсэн үндсэн угтвар алга байгааг анзаарсан уу?
Энэ нь зөв, тэр тэнд байхгүй. Өөрөөр хэлбэл, алсын навчнууд зөвхөн таны сүлжээнд байгаа хостуудын мэдээллийг хүлээн авдаг. Мөн энэ бол зөв зан үйл юм. Дээр дурдсан бүх шинэчлэлтүүдээс та мэдээлэл MAC / IP-ийн агуулгатай хамт ирдэг болохыг харж болно. Ярих угтвар байхгүй.

Энэ бол BGP хүснэгтийг бөглөх ARP хүснэгтийг бөглөх Host Mobility Manager (HMM) протокол юм (бид энэ нийтлэлийн хүрээнд энэ үйл явцыг орхих болно). HMM-ээс хүлээн авсан мэдээлэлд үндэслэн 2-р төрлийн EVPN-үүдийг (MAC / IP дамжуулдаг) үүсгэдэг.

Гэсэн хэдий ч угтварын талаар мэдээлэл дамжуулах шаардлагатай бол яах вэ?

Энэ төрлийн мэдээллийн хувьд 5-р төрлийн EVPN чиглүүлэлт байдаг - энэ нь l2vpn evpn хаягаар дамжуулан угтвар илгээх боломжийг олгодог (энэ зүйлийг бичиж байх үед энэ төрлийн маршрут нь зөвхөн ноорог хувилбарт байгаа болно) RFC, үүнээс болж янз бүрийн үйлдвэрлэгчид энэ төрлийн маршрутын өөр өөр үйлдэлтэй байж болно)

Угтваруудыг шилжүүлэхийн тулд VRF-ийн BGP процесст угтвар нэмэх шаардлагатай бөгөөд үүнийг сурталчлах болно:

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

сэтгэгдэл нэмэх