โรงงาน 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 ใหม่จะต้องเหมือนกันในทุก Leafs ที่สนใจข้อมูล 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. เฟรมที่ส่งโดย Host-1 มาถึง Leaf ใน VLAN 10 ซึ่งเชื่อมโยงกับ VNI 10000
  2. Leaf ตรวจสอบว่าที่อยู่ปลายทางอยู่ที่ไหนและค้นหาผ่าน L3 VNI บนสวิตช์ Leaf ที่สอง
  3. ทันทีที่พบเส้นทางไปยังที่อยู่ปลายทาง Leaf จะบรรจุเฟรมลงในส่วนหัวที่มี L3VNI 99000 ที่จำเป็น และส่งไปยัง Leaf ที่สอง
  4. สวิตช์ Leaf ตัวที่สองรับข้อมูลจาก L3VNI 99000 รับเฟรมดั้งเดิมและถ่ายโอนไปยัง L2VNI 20000 ที่จำเป็น จากนั้นไปยัง VLAN 20

ผลจากการทำงานนี้ L3VNI ไม่จำเป็นต้องเก็บข้อมูลเกี่ยวกับ VNI ทั้งหมดที่อยู่ในเครือข่ายบนสวิตช์ Leaf ทั้งหมด

เป็นผลให้เมื่อเราส่งทราฟฟิกจาก Host-1 ไปยัง Host-2 แพ็กเก็ตจะถูกบรรจุภายใน VxLAN ด้วย VNI - 99000 ใหม่:

โรงงาน VxLAN ส่วนที่ 2

คงต้องดูว่า Leaf-1 เรียนรู้เกี่ยวกับที่อยู่ MAC จาก VNI อื่นได้อย่างไร สิ่งนี้เกิดขึ้นด้วยความช่วยเหลือของ EVPN route-type 2 (MAC / IP)

ต่อไปนี้แสดงขั้นตอนการเผยแพร่เส้นทางเกี่ยวกับคำนำหน้าที่อยู่ใน VNI อื่น:

โรงงาน VxLAN ส่วนที่ 2

นั่นคือ ที่อยู่ที่ได้รับจาก VNI 20000 มี RT สองรายการ
ฉันขอเตือนคุณว่าเส้นทางที่ได้รับจากการอัปเดตจะอยู่ในตาราง BGP โดยระบุเป้าหมายเส้นทางในการตั้งค่า 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 นี้เหมือนกันใน Leaf ทั้งหมดและอยู่ภายใต้กฎการนำเข้าของเราในการตั้งค่า 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 เส้นทางประเภท 2 EVPN จะถูกสร้างขึ้น (ส่งโดย MAC / IP)

อย่างไรก็ตาม หากจำเป็นต้องส่งข้อมูลเกี่ยวกับคำนำหน้าล่ะ

สำหรับข้อมูลประเภทนี้ มี EVPN route-type 5 - อนุญาตให้คุณส่งคำนำหน้าผ่าน address-family l2vpn evpn (เส้นทางประเภทนี้ในขณะที่เขียนนี้อยู่ในเวอร์ชันร่างเท่านั้น อาร์เอฟซีด้วยเหตุนี้ ผู้ผลิตที่แตกต่างกันอาจมีพฤติกรรมที่แตกต่างกันของเส้นทางประเภทนี้)

ในการโอนคำนำหน้า จำเป็นต้องเพิ่มคำนำหน้าในกระบวนการ 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

ที่มา: will.com

เพิ่มความคิดเห็น