توپولوژی طراحی پردیس سنتی به محدودیتهای مقیاسپذیری و الزامات عملکرد معماری شبکه امروزی رسیده است. یکی از فناوری های کاربردی برای حل این مشکل معماری Spine-and-Leaf VXLAN BGP EVPN fabric پدید آمده است. فناوری فوق، یک شبکه ستون فقرات قوی را فراهم میکند که تقاضا برای تراکم بالا و نیازهای ترافیک چند گیگابیتی را برطرف میکند. رویکرد فوق امکان دسترسی همزمان به پایگاههای داده با کارایی بالا، پخش محتوای رسانهای با وضوح 4K و انتقال فایلهای ترابایتی را بدون تأخیر یا کاهش سرعت در صورت دسترسی هزاران کاربر همزمان فراهم میکند.
معماری ستون و برگ (نامی بسیار غیرمعمول برای یک مفهوم فناوری در صنعت فناوری اطلاعات) محدودیتهای مقیاسپذیری و تقاضای عملکردی در شبکههای دانشگاهی را با استفاده از یک رویکرد معماری ساده حل میکند. VXLAN BGP EVPN لایه 2 را در فریمهای لایه 3 کپسوله میکند و برای این منظور از شناسه خانواده آدرس L2VPN EVPN (AFI) در پروتکل BGP استفاده میکند. برای آنکه درک روشنی از معماری ستون و برگ در مفاهیم طراحی شبکه امروزی داشته باشیم باید اطلاعات اولیهای در ارتباط با مولفههای آن داشته باشیم.
عماری spine-and-leaf میتواند برنامههای مختلفی را اجرا کند و محدود به VXLAN نیست. یکی دیگر از موارد استفاده از معماری ستون و برگ، زیرساخت برنامهمحور سیسکو است COOP سرنام (Council of Oracle Protocol) به جای VXLAN برای انجام نگاشت نقطه پایانی (IP) و اعلام موقعیت مکانی است.
معماری ستون فقرات و برگ
معماری متقارن قابل پیشبینی است. شما میتوانید یک الگوی ترافیک را در یک معماری ستون فقرات و برگ تجسم کنید. اتصال به سادگی برگ – ستون فقرات – برگ است.
جریان ترافیک از برگ منبع شروع میشود، که آنرا به سمت ستون فقرات هدایت میکند. سپس، ستون فقرات آن را به سمت برگ مقصد هدایت میکند. هر نقطه پایانی منبع (هر دستگاه، سرور، ایستگاه کاری، و غیره) تنها دو پرش با مقصد خود فاصله دارد. شکل زیر این موضوع را نشان میدهد.
پرش اول: منبع برگ تا ستون فقرات
پرش دوم: ستون فقرات تا برگ مقصد
لایههای ستون فقرات و برگ
دو لایه در یک توپولوژی ستون فقرات و برگ وجود دارد.
لایه ستون فقرات محل اتصال برگها است. اسپینها (خارها) تمام اطلاعات مسیریابی را به کلاینتهای خود (در این مورد، به برگها) منعکس میکنند. لایه ستون فقرات BGP EVPN را به گونهای پیکربندی میکند تا نقش بازتابنده مسیر را بازی کنند. در لایه ستون فقرات، شما آنها را به عنوان نقاط ملاقات برای ترافیک چندپخشی زیرین تعیین میکنید. در اینجا، لایه ستون فقرات به عنوان یک لایه توزیع یا تجمیع در یک طرح سه لایه در نظر گرفته میشوند، اما کار بیشتری نسبت به تجمیع مولفههای لایه 2 انجام میشود.
لایه برگ تمام نقاط انتهایی دسترسی به Fabric را فراهم میکند و تصمیمات مسیریابی شبکه را انجام میدهد. همه برگهای لایه 3 هسته هستند. در طراحی سه لایه، لایه هسته تمام تصمیمات مسیریابی را انجام میدهد. در طرحهای سهلایه، هسته معمولاً یک سختافزار فعال است و هستههای اضافی بهعنوان گرههای آمادهبهکار با FHRP (پروتکل افزونگی اولین هاپ) تنظیم میشوند. البته دقت کنید که این مورد در مورد برگ در VXLAN BGP EVPN صادق نیست.
یکی از یژگی های بسیار قدرتمند در VXLAN BGP EVPN ویژگی anycast gateway است که به لایه برگ اجازه میدهد تا به عنوان یک سوئیچ هسته فعال بزرگ عمل کند. هر برگ میتواند ترافیک را به مقصد خود هدایت کند. در اینجا، محدود به یک لایه فعال 3 هستهای نیستید. در شبکههای مجازی محلی توسعهیافته مبتنی بر فابریک، هر برگ یک هسته فعال است که عملکرد قابل توجه و مقیاسپذیری را متناسب با نیازهای شبکههای مستقر در مرکز داده امروزی ارائه میدهد.
افزونگی در توپولوژیهای ستون فقرات و برگ
مانند تمام محیطهای تولیدی، وجود افزونگی در محل ضروری است. در معماری ستون فقرات و برگ، نیز این قاعده وجود دارد. همه برگها به همه اسپینها متصل هستند. در اینجا، حداقل یک پیوند از یک برگ به ستون فقرات میرود. یک مولفه Fabric باید حداقل دو اسپین داشته باشد تا با الزامات افزونگی مطابقت داشته باشد. شکل زیر رمونه ای از سناریوی مقابله با خرابی در توپولوژی چهار برگی/دو ستونی را نشان میدهد.
افزونگی برگ
اکنون بهتر است اطلاعاتی در ارتباط با افزونگی در لایه برگ به دست آوریم. از آنجایی که یک برگ تمام نقاط انتهایی شبکه، سوئیچهای دسترسی، سرورها و غیره را به هم متصل میکند، جنبه افزونگی آن تفاوت کمی با لایه ستون فقرات دارد.
برای روشن شدن بحث، بهتر است بهطور خلاصه در مورد vPC در پلتفرم Cisco Nexus صحبت کنیم. vPC با ترکیب دو برگ مستقل در یک دامنه vPC، افزونگی برگ مورد نیاز را فراهم میکند. بیایید فرض کنیم شما یک سرور با اتصال NIC دوگانه دارید. از آنجایی که لایه برگ جایی است که تمام دستگاههای پایانی، سوئیچهای دسترسی و سرورهای خود را به فابریک متصل میکنید، افزونگی به دستگاه پایانی، در این مورد، سرور در نظر گرفته میشود. رویکرد فوق با پیکربندی vPC میزبان پایانی به دست میآید. افزونگی توسط لایه برگ به سرور ارائه میشود. اگر Leaf-01 را از دست بدهید، Leaf-02 باید مکانیزم اتصال به سرور را ادامه دهد تا عملکرد شبکه تداوم پیدا کند.
ازی زیر سازی شبکه
زمانی که برای اولین بار شروع به یادگیری VXLAN کردم، مدتی طول کشید تا ذهنم را در مورد underlay و overlay متمرکز کنم. توضیح دادن این نکته به همکاران و مشتریانم نیز یک چالش بود. خوشبختانه، من تشبیه کامل را برای توضیح آن یاد گرفتم.
بیایید به زیرسازی یا زیرساخت و روساخت VXLAN نگاه کنیم و آنها را به ترن هوایی تشبیه کنیم. ترن هوایی دارای ریل، موتور و ترمز است که زیرساخت هستند. زیرانداز ترن هوایی، مولفههای کلیدی هستند که روساخت را میزبانی میکنند و به آن خدمترسانی میکنند.
حالا بیایید آنرا با VXLAN مقایسه کنیم. در زیرساخت VXLAN، پیوندهای فیزیکی بین برگها و اسپینها (ریلها) به هم وصل شدهاند تا به ترافیک مشتری (ماشینهای ترن هوایی و سواران) اجازه دهند روی فابریک حرکت کنند و به مقصد برسند. یک جنبه بسیار مهم زیرساخت، استفاده از مسیریابی چند مسیره با هزینه برابر (ECMP) سرنام equal-cost multipath در پیوندهای بین برگها و اسپینها است. ECMP از پیوندهای برگ به ستون فعال برای جریان ترافیک استفاده میکند. رویکرد فوق تا حدودی شبیه تجمیع پیوندها در L2 است، اما شما آنرا بر مبنای معماری L3 انجام میدهید.
شبکه پوششی
یک پوشش (خودروها و سواران ترن هوایی) جایی است که مزیت VXLAN نسبت به شبکههای سنتی را نشان میدهد. VXLAN یک ویژگی مقابله با خرابی را به ویژه در ارتباط با معماریهای مبتنی بر چند مستاجری ارائه میدهد. با استفاده از مدل چند مستاجری، میتوانید شبکههای کلاینتهای مختلف را با استفاده از یک فابریک اجرا کنید. مستاجر به یک شبکه مجازی در داخل همان فابریک VXLAN اشاره دارد که یکی از مزایای اصلی شبکههای تعریف شده با نرمافزار (SDN) یا همان شبکههای نرمافزارمحور هستند. در قیاس ترن هوایی، مستاجران خودروهای ترن هوایی هستند. هر ماشین (مستاجر) گروهی از مسافران را حمل میکند (بیایید مسافران را به VLANها مرتبط کنیم)، و فقط مسافران (VLAN) داخل همان ماشین (مستاجر) میتوانند با یکدیگر صحبت کنند.
در اینجا، من به ECMP و نحوه استفاده از پیوندهای هر برگ که به ستونهای مختلف میروند اشاره کردم. ECMP مزیت استفاده همزمان از دو ریل (ارتباط بین برگها و اسپینها) را برای ماشین ترن هوایی (مستاجر) را فراهم میکند. خودروهای ترنهای هوایی (مستاجر) برای دستیابی به سرعت بیشتر میتوانند همزمان روی دو ریل (پیوندها) حرکت کنند. اگر یک ریل (پیوند) خراب شود، ماشین همچنان ریل دیگری برای ادامه مسیر در اختیار دارد. شکل زیر این موضوع را نشان میدهد.
جریان ترافیک فابریک ستون فقرات و برگ
اکنون که تصویر واضحتری از مولفههای فابریک VXLAN به دست آوردیم باید ببنیم فابریک چگونه کار میکند و VXLAN برای برقراری ارتباط در زیرساخت به چه چیزی نیاز دارد.
Broadcast Unknown Unicast and Multicast (BUM Traffic)
از آنجایی که فریمهای L2 در VXLAN در L3 محصور شدهاند، شما مکانیزم پخشی را در سطح فابریک متوقف میکنید. همهپخشی به این معنی است که یک شبکه در مورد دستگاههای متصل خود اطلاعات میگیرد، اما VXLAN چگونه این اطلاعات را به دست میآورد، وقتی که مدل همهپخش متوقف شده است؟ در اینجا از رویکرد چندپخشی استفاده میشود. ترافیک BUM از سه نوع مکانیزم پیامرسانی برای برقراری ارتباط در یک شبکه استفاده میکند که همهپخش (broadcast)، تک پخشی (unicast) و چندپخشی (multicast) نام دارند. چندپخشی جایگزینی برای همه پخش است که میتواند از L3 برای انتشار اطلاعات استفاده کند.
Underlay Multicast
اکنون که میدانید چندپخشی جایگزین مدل همهپخش میشود، باید از این نکته نیز مطلع شوید که معماری چندپخشی باید در لایه زیرین اجرا شود. این فرآیند چگونه انجام میشود؟ شما یک پیشوند چندپخشی برای نگاشت گروههای چندپخشی به شناسه (VNI)در شبکه محلی مجازی توسعهیافته تعیین میکنید. یک گروه چندپخشی در هر VNI وجود دارد. پیامهای چندپخشی به یک نقطه قرار ملاقات فرستاده میشوند که معمولاً آنرا به ستونها تعیین میکنید.
مسیریابی زیر لایه
مسیریابی زیرانداز در VXLAN برای ساخت فابریک پارچه بسیار مهم است. یک پروتکل مسیریابی پویا مانند OSPF یا IS-IS به عنوان پروتکل دروازه داخلی (IGP) تعیین میشود تا فرآیند همتاسازی همسایه را برای همه پیوندهای فیزیکی برگ به ستون فقرات ایجاد کند. هنگامی که مکانیزم فوق فعال شد، با اجرای پروتکل BGP در بالای OSPF یا IS-IS، BGP EVPN این مهم تحقق یافته و عملیاتی میشود. شما روی هر سوئیچ یک آدرس Loopback ایجاد میکنید (اسپین و برگ) و اطلاعات آنرا در OSPF قرار میدهید تا از آن آدرس به عنوان آدرس مشابه BGP استفاده کند. چگونه اینکار را انجام میدهید؟ به دقت توجه کنید.
اولین گام عبارت است از آوردن OSPF یا IS-IS بین پیوندهای برگ و ستون فقرات، پیکربندی یک رابط حلقه بک برای هر دستگاه، و ارائه اطلاعات موردنیاز برای OSPF در پروتکل IGP.
با قرار دادن مسیریابی زیرین، گام بعدی استفاده از رابط حلقه بک برای همتاسازی BGP در بالای OSPF است. Leaf-01 دو مسیر معتبر به اسپینها دارد و در ادامه BGP میان آنها با استفاده از حلقه بک بررسی میشود. در اینجا عملیات به شرح زیر انجام میشود:
BGP Neighbors Leaf-01 Spine-01
1.0.0.10 1.0.0.100
BGP Neighbors Leaf-01 Spine-02
1.0.0.10 1.0.0.200
BGP Neighbors Leaf-02 Spine-01
1.0.0.20 1.0.0.100
BGP Neighbors Leaf-02 Spine-02
1.0.0.20 1.0.0.200
پس از دسترسی به رابطهای حلقه بک به BGP و همتاسازی، ارتباط میان دستگاهها برقرار میشود. هنگامی که این همتاسازی BGP را انجام دادید، زیرساخت BGP لازم برای ارسال ترافیک با VXLAN EVPN را آماده کردهاید
مسیریابی همپوشانی
شما پیکربندی اولیهای نیاز دارید تا به یک ترن هوایی اجازه دهید تا ماشین ها به حرکت در آورد. در اصطلاح VXLAN، باید همه چیز از زیرساخت برای اجرای VXLAN گرفته تا مستاجران فابریک در بالای آن که روساخت نام دارند را آماده کنید.
به همین دلیل VXLAN باید از طریق مکانیزمی مسیربای همپوشانی را اجرا کند. ما همسایگی EVPN را بین برگها ایجاد میکنیم، پس چرا اینکار را برای ستون فقرات انجام ندهیم؟ ستونهای فقرات فریمهای L2 را از/داخل VXLAN کپسوله یا از حالت کپسوله خارج نمیکنند. اسپینها با هدف تجمیع و به عنوان بازتابدهنده مسیر BGP کار میکنند.
شما یک رابط مجازی شبکه (NVE) ایجاد میکنید و از آن برای کپسوله کردن و از کپسوله خارج کردن فریمهای L2 استفاده میرکنید. VXLAN از رابط حلقه بک منبع اختصاص داده شده به NVE برای ایجاد یک تونل VXLAN بین برگها استفاده میکند.
دقت کنید در اینجا حلقه بک تخصیص داده شده به NVE با آنچه برای همتا کردن BGP استفاده میشود یکسان نیست. بنابراین، میتوانید به شکل بهتری از آن استفاده کنید، اما بهتر است یک حلقه بک مشخص برای اهداف VXLAN NVE داشته باشید. در اینجا تمام ترافیک کلاینت هنگامی که از طریق هر برگ به فابریک میرسد باید از طریق تونل عبور کند. بهطوری که ترافیک با استفاده از فابریک EVPN بین برگها و از طریق تونل عبور داده میشود.
البته، همانگونه که اشاره شد، اسپینها به عنوان یک مکانیزم ردیابی قابل مشاهده نیستند و تنها دروازه های برگ مبدا و مقصد را مشاهده میکنید. شکل زیر نشان میدهد که حلقه بک 0 رابط حلقه بک همتا برای BGP EVPN است. در اینجا، میتوانید حلقه بک دیگری ایجاد کنید تا تونلهای VXLAN بین برگها را به دست آورید.
اجازه دهید Loopback 1 را به عنوان NVE Loopback انتخاب کنیم. هنگامی که اینکار را انجام دهیم، در ادامه میتوانیم به طور موثر NVEها را همتاسازی کنیم. آدرس واسط Loopback 1، نقطه پایان تونل مجازی VTEP سرنام Virtual Tunnel End Point نامیده میشود.