مصنع VxLAN. الجزء 2

أهلا هبر. أواصل سلسلة المقالات حول تقنية VxLAN EVPN، والتي تم كتابتها خصيصًا لإطلاق الدورة "مهندس الشبكة" من أوتوس. واليوم سنلقي نظرة على جزء مثير للاهتمام من المهمة - التوجيه. بغض النظر عن مدى تافهة الأمر، ولكن في إطار عمل مصنع الشبكة، قد لا يكون كل شيء بهذه البساطة.

مصنع VxLAN. الجزء 2

الجزء الأول من الدورة - اتصال المستوى الثاني بين الخوادم

في الجزء الأخير، حققنا مجال بث واحدًا مبنيًا فوق نسيج الشبكة على جهاز Nexus 9000v. ومع ذلك، هذه ليست المجموعة الكاملة من المهام التي يجب حلها داخل شبكة مركز البيانات. واليوم سنلقي نظرة على المهمة التالية - التوجيه بين الشبكات أو بين شبكات VNI.

دعني أذكرك أنه تم استخدام طوبولوجيا Spine-Leaf:

مصنع VxLAN. الجزء 2

أولاً، دعونا نلقي نظرة على كيفية حدوث التوجيه وما هي ميزاته.

من أجل الفهم، دعونا نبسط المخطط المنطقي ونضيف VNI 20000 آخر لـ Host-2. النتيجه هي:

مصنع VxLAN. الجزء 2

كيف، في هذه الحالة، يمكنك نقل حركة المرور من مضيف إلى آخر؟

هناك خياران:

  1. احتفظ بمعلومات حول جميع VNIs على جميع محولات Leaf، ثم سيتم تنفيذ كل التوجيه على أول ورقة في الشبكة؛
  2. استخدم L3 VNI مخصصًا

الطريقة الأولى بسيطة ومريحة. نظرًا لأنك تحتاج فقط إلى تثبيت جميع VNI على جميع مفاتيح Leaf. ومع ذلك، فإن إعداد عدة مئات أو آلاف من VNIs لجميع أوراق الشجر لم يعد يبدو مهمة بسيطة. ولذلك، فإنه نادرا ما يستخدم في العمل.

دعونا نلقي نظرة على الطريقة الثانية، وهي أكثر إثارة للاهتمام وأكثر تعقيدًا بعض الشيء، ولكنها توفر مرونة أكبر في إعداد المصنع.

دعونا نضيف "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 الجديد هو نفسه على جميع أوراق الشجر المهتمة بمعلومات 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. تتحقق الورقة من مكان عنوان الوجهة وتجده من خلال L3 VNI على مفتاح الورقة الثاني؛
  3. بمجرد العثور على طريق إلى عنوان الوجهة، يقوم Leaf بتعبئة الإطار في رأس باستخدام L3VNI 99000 الضروري - ويرسله نحو الورقة الثانية؛
  4. يستقبل محول Leaf الثاني البيانات من L3VNI 99000. ويأخذ الإطار الأصلي وينقله إلى L2VNI 20000 المطلوب ثم إلى VLAN 20.

ونتيجة لهذا العمل، يلغي L3VNI الحاجة إلى الاحتفاظ بالمعلومات حول جميع VNIs الموجودة على الشبكة على جميع محولات Leaf.

ونتيجة لذلك، عندما نرسل حركة المرور من Host-1 إلى Host-2، يتم تعبئة الحزمة داخل VxLAN باستخدام VNI - 99000 جديد:

مصنع VxLAN. الجزء 2

يبقى أن نرى كيف تعرف Leaf-1 بالضبط على عنوان MAC من VNI آخر. يحدث هذا أيضًا باستخدام EVPN من النوع 2 (MAC/IP).

يوضح ما يلي عملية نشر مسار حول بادئة موجودة في VNI آخر:

مصنع VxLAN. الجزء 2

أي أن العناوين المستلمة من VNI 20000 تحتوي على RTs اثنين.
اسمحوا لي أن أذكرك أن المسارات المستلمة من التحديث تنتهي في جدول 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 هو نفسه في جميع أوراق الشجر ويندرج تحت قواعد الاستيراد الخاصة بنا في إعدادات 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

إذا نظرنا عن كثب إلى التحديث المستلم، يمكننا أن نرى أن هذه البادئة تحتوي على RTs:

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. في الجزء التالي سوف ننظر في الخيارات المختلفة للتوجيه بين VRFs.

أساسيات بروتوكول IPv6 واختلافه عن IPv4

المصدر: www.habr.com

إضافة تعليق