ہیلو، حبر۔ میں VxLAN EVPN ٹیکنالوجی پر اپنے مضامین کا سلسلہ جاری رکھ رہا ہوں، جو کورس کے آغاز کے لیے خاص طور پر لکھا گیا تھا۔ OTUS کی طرف سےآج، ہم کام کا ایک دلچسپ پہلو دیکھیں گے: روٹنگ۔ جتنا معمولی لگتا ہے، نیٹ ورک فیبرک کے تناظر میں، چیزیں زیادہ پیچیدہ ہو سکتی ہیں۔

پچھلے حصے میں، ہم نے Nexus 9000v پر نیٹ ورک فیبرک کے اوپر بنایا ہوا واحد براڈکاسٹ ڈومین حاصل کیا۔ تاہم، یہ کاموں کی مکمل رینج سے بہت دور ہے جن کو ڈیٹا سینٹر نیٹ ورک کے اندر حل کرنے کی ضرورت ہے۔ آج، ہم اگلے چیلنج پر غور کریں گے: نیٹ ورکس یا VNIs کے درمیان روٹنگ۔
میں آپ کو یاد دلاتا ہوں کہ اسپائن لیف ٹوپولوجی استعمال کی جاتی ہے:

سب سے پہلے، آئیے دیکھتے ہیں کہ روٹنگ کیسے کام کرتی ہے اور اس کی خصوصیات کیا ہیں۔
وضاحت کے لیے، آئیے منطقی خاکہ کو آسان بنائیں اور میزبان-2 کے لیے ایک اور VNI 20000 شامل کریں۔ نتیجہ یہ ہے:

اس صورت میں آپ ٹریفک کو ایک میزبان سے دوسرے میزبان میں کیسے منتقل کر سکتے ہیں؟
دو اختیارات ہیں:
- تمام لیف سوئچز میں تمام VNIs کے بارے میں معلومات ہونی چاہیے، پھر تمام روٹنگ نیٹ ورک میں پہلے لیف پر ہو گی۔
- ایک وقف شدہ L3 VNI استعمال کریں۔
پہلا طریقہ آسان اور آسان ہے، کیونکہ اس میں صرف تمام VNIs کو تمام لیف سوئچز کو تفویض کرنے کی ضرورت ہوتی ہے۔ تاہم، تمام لیف سوئچز کو کئی سو یا ہزاروں VNIs تفویض کرنا اب کوئی آسان کام نہیں ہے۔ لہذا، یہ شاذ و نادر ہی پیداوار میں استعمال کیا جاتا ہے.
آئیے طریقہ 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-gatewayL3VNI استعمال کرنے کے لیے، آپ کو ایک نیا 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نتیجے کے طور پر، خاکہ اس طرح نظر آئے گا:

ابھی تھوڑا سا کام کرنا باقی ہے - ایک اور انٹرفیس شامل کریں - VRF PROD میں انٹرفیس vlan 99
interface Vlan99
no shutdown
vrf member PROD
ip forward ! На интерфейсе не должно быть IP. Используется только для пересылки пакетов между Leafنتیجے کے طور پر، میزبان-1 سے میزبان-2 تک فریم ٹرانسمیشن کی منطق مندرجہ ذیل ہے:
- Host-1 کی طرف سے بھیجا گیا فریم VLAN 10 میں Leaf پر پہنچتا ہے، جو VNI 10000 سے منسلک ہے۔
- لیف چیک کرتا ہے کہ منزل کا پتہ کہاں ہے اور اسے دوسرے لیف سوئچ پر L3 VNI کے ذریعے تلاش کرتا ہے۔
- ایک بار جب منزل کا راستہ مل جاتا ہے، لیف فریم کو مطلوبہ L3VNI 99000 کے ساتھ ہیڈر میں پیک کرتا ہے اور اسے دوسرے لیف کی طرف بھیج دیتا ہے۔
- دوسرا لیف سوئچ L3VNI 99000 سے ڈیٹا حاصل کرتا ہے۔ یہ اصل فریم کو نکالتا ہے اور اسے مطلوبہ L2VNI 20000 اور پھر VLAN 20 میں منتقل کرتا ہے۔
اس کام کے نتیجے میں، L3VNI تمام لیف سوئچز پر نیٹ ورک میں موجود تمام VNIs کے بارے میں معلومات کو برقرار رکھنے کی ضرورت کو ختم کرتا ہے۔
نتیجے کے طور پر، جب ہم Host-1 سے Host-2 کو ٹریفک بھیجتے ہیں، تو پیکٹ VxLAN کے اندر ایک نئے VNI - 99000 کے ساتھ پیک کیا جاتا ہے:

یہ دیکھنا باقی ہے کہ Leaf-1 بالکل دوسرے VNI سے MAC ایڈریس کیسے سیکھتا ہے۔ یہ EVPN روٹ ٹائپ 2 (MAC/IP) کا استعمال کرتے ہوئے بھی ہوتا ہے۔
ایک مختلف VNI میں واقع ایک سابقہ کے بارے میں راستے کو پھیلانے کا عمل ذیل میں دکھایا گیا ہے:

یعنی 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 کی عدم موجودگی کو دیکھا؟
بالکل، یہ وہاں نہیں ہے۔ یعنی، ریموٹ لیفز صرف آپ کے نیٹ ورک پر میزبانوں کے بارے میں معلومات حاصل کرتے ہیں۔ اور یہ صحیح طرز عمل ہے۔ مندرجہ بالا تمام اپ ڈیٹس میں، آپ دیکھ سکتے ہیں کہ موصول ہونے والی معلومات میں MAC/IP معلومات شامل ہیں۔ کسی سابقے کا کوئی ذکر نہیں ہے۔
یہ ہوسٹ موبیلیٹی مینیجر (HMM) پروٹوکول کا کام ہے، جو ARP ٹیبل کو پاپولیشن کرتا ہے، جو پھر BGP ٹیبل کو آباد کرتا ہے (ہم اس مضمون کے مقاصد کے لیے اس عمل کو چھوڑ دیں گے)۔ HMM سے موصول ہونے والی معلومات کی بنیاد پر، EVPN روٹ ٹائپ 2 (MAC/IP منتقل کیا جاتا ہے) تیار کیا جاتا ہے۔
تاہم، اگر کسی خاص سابقہ کے بارے میں معلومات منتقل کرنے کی ضرورت ہو تو کیا کیا جائے؟
اس قسم کی معلومات کے لیے، ای وی پی این روٹ ٹائپ 5 ہے - یہ آپ کو ایڈریس فیملی l2vpn evpn کے ذریعے سابقے منتقل کرنے کی اجازت دیتا ہے (لکھنے کے وقت اس روٹ کی قسم صرف ڈرافٹ ورژن میں ہے) اس کی وجہ سے، اس قسم کے راستے کے ساتھ کام کرتے وقت مختلف مینوفیکچررز کا رویہ مختلف ہو سکتا ہے)
سابقے منتقل کرنے کے لیے، 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نتیجے کے طور پر، اپ ڈیٹ پر مشتمل ہوگا:

آئیے بی جی پی ٹیبل کو دیکھیں۔ 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 کے درمیان روٹنگ کے مختلف اختیارات دیکھیں گے۔
ماخذ: www.habr.com
