اگر هنوز برای هر سرویس و هر مشتری یک VLAN تازه میسازید و کمکم به سقف ۴۰۹۴ نزدیک میشوید، اگر برای جابهجا کردن یک VM بین دو رک باید لایه ۲ را تا هسته بکشید و با STP و لینکهای blocked کنار بیایید، یا اگر سایت DR دارید و نمیدانید subnet را چطور بین دو دیتاسنتر امن و تمیز باز کنید، وقت آن رسیده که VXLAN را جدی بگیرید. اینجا دیگر بحث یک فیچر روی سوئیچ نیست؛ بحث شکل تازهای از ساختن شبکه است.
در ده سال اخیر دیتاسنترها و حتی شبکههای پردیس عوض شدهاند. بهجای چند سرور فیزیکی، صدها و هزاران ماشین مجازی و کانتینر روی تعداد محدودی host نشستهاند و بیشتر ترافیک دیگر شمال–جنوب (کاربر به سرور) نیست، بلکه شرق–غرب است: سرور با سرور، اپلیکیشن با دیتابیس، backup با storage. شبکهای که بر پایه VLAN و Spanning Tree ساخته شده، برای این دنیا طراحی نشده بود.
در این راهنما سیسکو VXLAN را از پایه تا اجرا با هم مرور میکنیم: اینکه دقیقاً چه مشکلی را حل میکند، پکتش بایتبهبایت چه شکلی دارد، underlay و overlay چه فرقی دارند، چرا امروز همه سراغ BGP EVPN میروند، Anycast Gateway و Symmetric IRB چطور کار میکنند، Multi-Site و اتصال دو دیتاسنتر چطور ساخته میشود، روی کدام Nexus و Catalyst با چه لایسنسی اجرا میشود، کانفیگ کامل leaf و spine، عیبیابی از پایین به بالا، و در آخر اینکه چطور از شبکه قدیمی بدون قطعی به فابریک VXLAN مهاجرت کنیم. همه اعداد و تصاویر از منابع رسمی سیسکو است: Configuration Guideها، Verified Scalability Guide، White Paperها و اسلایدهای Cisco Live.
اگر قبلاً مطلب آشنایی با سیسکو NX-OS را خواندهاید، اینجا لایه بعدی همان داستان Nexus است. تصویر بزرگتر SDN و ACI را هم در مطلب سیسکو SDN ببینید.
VXLAN در یک نگاه
| نام کامل | Virtual eXtensible Local Area Network |
| استاندارد | RFC 7348 (دادهپلن) + RFC 7432 و RFC 8365 (کنترلپلن EVPN) |
| روش کار | MAC-in-UDP: فریم لایه ۲ داخل UDP/IP |
| پورت UDP | 4789 (تخصیص IANA) |
| شناسه سگمنت | VNI بیستوچهار بیتی؛ حدود ۱۶ میلیون سگمنت |
| سربار | ۵۰ بایت روی IPv4 (۵۴ با 802.1Q بیرونی) ؛ ۷۰ بایت روی IPv6 |
| کنترلپلن پیشنهادی سیسکو | MP-BGP EVPN |
| پلتفرمهای اصلی سیسکو | Nexus 9000 (NX-OS) ، Catalyst 9300/9400/9500/9600 (IOS XE) |
فهرست مطالب
- VXLAN چیست و از کجا آمد؟
- چرا VXLAN؟ پنج محدودیت شبکه لایه ۲
- اصطلاحات کلیدی
- Underlay و Overlay
- VTEP و نقش Leaf ، Spine و Border
- ساختار پکت VXLAN و مسئله MTU
- مسیر گامبهگام یک فریم
- ترافیک BUM: Multicast یا Ingress Replication
- کنترلپلن: Flood & Learn در برابر BGP EVPN
- Route Typeهای EVPN و RD/RT
- Anycast Gateway و Symmetric IRB
- طراحی Spine-Leaf ، vPC و Multi-Homing
- VXLAN EVPN Multi-Site و اتصال دیتاسنترها
- تجهیزات، مقیاس و لایسنس
- کانفیگ کامل روی Nexus (NX-OS)
- کانفیگ روی Catalyst 9000 (IOS XE)
- عیبیابی از پایین به بالا
- مهاجرت از شبکه قدیمی به VXLAN EVPN
- امنیت در VXLAN
- مقایسه با FabricPath ، OTV ، Geneve و بقیه
- کی سراغ VXLAN برویم؟ چکلیست شروع
- پرسشهای متداول
VXLAN چیست و از کجا آمد؟
Virtual eXtensible LAN یا همان VXLAN یک فناوری overlay است: یک شبکه لایه ۲ مجازی را روی یک شبکه لایه ۳ معمولی میسازد. ایدهاش ساده است؛ فریم اترنت اصلی را برمیدارد، یک هدر ۸ بایتی VXLAN جلویش میگذارد، بعد همه را داخل UDP و IP میفرستد. سیسکو به این روش میگوید MAC-in-UDP. نتیجه اینکه میتوانید یک VLAN منطقی را روی یک هسته کاملاً IP، حتی بین دو ساختمان یا دو دیتاسنتر، بکشید، بدون اینکه کل هسته را به یک دامنه بزرگ لایه ۲ با STP تبدیل کنید.
یک تشبیه ساده: underlay یک بزرگراه IP است و هر فریم اترنت یک محموله. VXLAN محموله را داخل یک کانتینر استاندارد میگذارد، برچسب VNI رویش میزند و آدرس فرستنده و گیرنده را روی کانتینر مینویسد. سوئیچها و روترهای بین راه فقط برچسب بیرونی را میخوانند و کاری به محتوای کانتینر ندارند.
بر اساس بخش Overview راهنمای VXLAN در Nexus 9000، سه نکته اصلی اینهاست:
- شناسه سگمنت VXLAN (VNID یا VNI) ۲۴ بیتی است؛ یعنی تا حدود ۱۶ میلیون سگمنت، در برابر سقف ۴۰۹۶ برای VLAN دوازدهبیتی.
- پکتهای VXLAN روی underlay با هدر لایه ۳ جابهجا میشوند و از ECMP استفاده میکنند؛ دیگر هیچ لینکی برای جلوگیری از loop بلاک نمیشود.
- دستگاهی که کپسوله و دکپسوله میکند VTEP (VXLAN Tunnel End Point) نام دارد. روی Nexus 9000 این کار در سختافزار و با سرعت line-rate انجام میشود، نه با CPU سوئیچ.
تاریخچه و استاندارد
VXLAN فناوری انحصاری سیسکو نیست. نویسندگان RFC 7348 از Cisco ، VMware ، Arista ، Broadcom ، Intel ، Red Hat و چند شرکت دیگر بودند و سند در اوت ۲۰۱۴ منتشر شد. وضعیت رسمیاش Informational است، اما امروز استاندارد عملی صنعت است و تقریباً همه سازندههای سوئیچ، هایپروایزرها و حتی هسته لینوکس پشتیبانیاش میکنند.
نکتهای که خیلیها جا میاندازند: RFC 7348 فقط دادهپلن و یادگیری مبتنی بر flood را توضیح میدهد. کنترلپلن مدرن، یعنی BGP EVPN، بعداً در RFC 7432 و RFC 8365 آمد و سیسکو آن را پایه همه فابریکهای دیتاسنتری و پردیسی خودش گذاشت.
| سند | عنوان | نقش |
|---|---|---|
| RFC 7348 | Virtual eXtensible Local Area Network | دادهپلن و فرمت پکت |
| RFC 7432 | BGP MPLS-Based Ethernet VPN | پایه کنترلپلن EVPN و Route Typeها |
| RFC 8365 | A Network Virtualization Overlay Solution Using EVPN | EVPN روی VXLAN (NVO) |
| RFC 9135 / 9136 | Integrated Routing and Bridging / IP Prefix Advertisement in EVPN | Symmetric IRB و Route Type 5 |
چرا VXLAN؟ پنج محدودیت شبکه لایه ۲
قبل از اینکه دستور feature nv overlay را بزنید، باید بدانید VXLAN دقیقاً برای چه آمده. بخش Problem Statement در RFC 7348 پنج مشکل مشخص را نام میبرد. همانها را سیسکو در اسلاید زیر با زبان عملیاتی خلاصه کرده است: همگرایی کند STP، لینکهای بلااستفاده، مسیر غیربهینه، هزینه ارتقای شاسیهای بزرگ و مقیاس محدود.
- سقف VLAN. شناسه VLAN در هدر 802.1Q فقط ۱۲ بیت است. در محیط چندمستأجری یا مجازیسازیشده که هر سرویس چند سگمنت میخواهد، این سقف زود پر میشود.
- STP و لینکهای بلااستفاده. Spanning Tree برای جلوگیری از loop لینکهای افزونه را بلاک میکند. یعنی پول پورت و فیبر را دادهاید اما ترافیکی از آنها رد نمیشود.
- پر شدن جدول MAC. با مجازیسازی، بهجای یک MAC برای هر سرور، دهها و صدها MAC داریم. اگر جدول MAC سوئیچ هسته پر شود، فریمها flood میشوند. در VXLAN هسته فقط IP تونلها را میبیند، نه MAC تکتک ماشینها را.
- چندمستأجری و همپوشانی آدرس. مشتریها یا واحدهای مختلف ممکن است MAC و IP تکراری داشته باشند. هر VNI دامنه جدای خودش را دارد و هر VRF جدول مسیریابی جدا.
- جابهجایی VM بین رک و pod. vMotion به لایه ۲ مشترک نیاز دارد. کشیدن لایه ۲ با VLAN بین رکها یعنی ریسک broadcast storm و دامنه خرابی بزرگ. VXLAN لایه ۲ را روی یک زیرساخت لایه ۳ پایدار گسترش میدهد.
| معیار | VLAN (IEEE 802.1Q) | VXLAN |
|---|---|---|
| طول شناسه | ۱۲ بیت | ۲۴ بیت |
| تعداد سگمنت | حدود ۴۰۹۴ | حدود ۱۶ میلیون |
| بستر انتقال | اترنت لایه ۲ | UDP/IP لایه ۳ |
| جلوگیری از loop | STP با بلاک کردن لینک | مسیریابی با ECMP ؛ همه لینکها فعال |
| گستره | محدود به دامنه لایه ۲ | هر جا IP برسد، حتی بین دیتاسنترها |
| یادگیری MAC | Flood & Learn | Flood & Learn یا BGP EVPN |
| چندمستأجری | محدود | VNI برای لایه ۲ + VRF/L3VNI برای لایه ۳ |
| دامنه خرابی | کل دامنه لایه ۲ | محدود به هر VNI ؛ underlay مثل هر شبکه مسیریابیشده |
کتاب رسمی سیسکو A Modern, Open, and Scalable Fabric: VXLAN EVPN صریح میگوید VXLAN بهتنهایی نصف راهحل است. بدون یک کنترلپلن هوشمند، همان flood-and-learn دوباره مقیاس را میخورد. نصف دیگر راهحل MP-BGP EVPN است.
اصطلاحات کلیدی
این واژهها را یک بار با حوصله بخوانید؛ در ادامه مدام با آنها سروکار داریم. تعریفها بر پایه RFC 7348 و راهنمای پیکربندی VXLAN سیسکو است.
| اصطلاح | معنی | نکته عملی |
|---|---|---|
| VNI / VNID | شناسه ۲۴ بیتی هر سگمنت overlay | معادل VLAN ID ، اما سراسری در کل فابریک |
| VTEP | نقطه شروع و پایان تونل VXLAN | کپسوله و دکپسوله میکند؛ سختافزاری یا نرمافزاری |
| NVE | Network Virtualization Edge ؛ اینترفیس منطقی VTEP | در NX-OS و IOS XE با interface nve1 ساخته میشود |
| Underlay | شبکه فیزیکی IP که پکتهای VXLAN را حمل میکند | تنها وظیفهاش رساندن VTEPها به هم است |
| Overlay | شبکه مجازی روی underlay | تونلها + کنترلپلن + VNIها و VRFهای مستأجر |
| L2VNI | VNI متناظر با یک VLAN (bridge domain) | برای bridging داخل یک subnet |
| L3VNI | VNI متناظر با یک VRF | برای routing بین subnetها در Symmetric IRB |
| BUM | Broadcast ، Unknown unicast ، Multicast | ترافیکی که باید به چند VTEP کپی شود |
| Flood & Learn | یادگیری MAC از روی ترافیک داده | روش اولیه RFC 7348 ؛ وابسته به multicast |
| MP-BGP EVPN | کنترلپلن مبتنی بر BGP برای پخش MAC و IP | روش استاندارد و توصیهشده امروز |
| Anycast Gateway | گیتوی با IP و MAC یکسان روی همه leafها | اولین hop هر سرور، leaf محلی خودش است |
| Border Leaf / BGW | leaf متصل به بیرون فابریک / گیتوی بین سایتها | ورود و خروج north-south و DCI |
Underlay و Overlay ؛ دو لایه که باید جدا فکر کنید
اگر این دو را قاطی کنید، کل طراحی میلرزد.
Underlay شبکه فیزیکی IP است: لینکهای leaf به spine، آدرس loopbackها، OSPF یا IS-IS یا eBGP، و MTU. طبق سند سیسکو کار underlay این است که دسترسی بین VTEPها را اعلام کند و حمل مطمئن ترافیک کپسولهشده را فراهم کند. underlay را ساده و سریع طراحی کنید؛ هیچ VLAN ، MAC یا مستأجری داخلش نیست.
Overlay شبکه مجازی روی همان underlay است: تونلهای VXLAN بهعلاوه کنترلپلنی که میگوید کدام MAC و IP پشت کدام VTEP است. از دید سرور و ماشین مجازی هیچ چیز عوض نشده؛ همان VLAN و subnet همیشگی است.
ملاحظات اصلی طراحی underlay طبق راهنمای طراحی VXLAN BGP EVPN سیسکو:
| موضوع | توصیه سیسکو | چرا |
|---|---|---|
| پروتکل مسیریابی | OSPF یا IS-IS در underlay ؛ iBGP برای overlay (طراحی تمام eBGP هم پشتیبانی میشود) | جدا بودن وظایف؛ خرابی یکی دیگری را نمیخواباند |
| آدرسدهی لینکها | /30 ، /31 یا ip unnumbered |
unnumbered آدرس کمتری مصرف میکند و کانفیگ را یکدست میکند |
| نوع شبکه OSPF | point-to-point |
حذف انتخاب DR/BDR و LSA نوع ۲ |
| MTU | ۹۰۰۰ تا ۹۲۱۶ روی تمام لینکهای مسیر؛ دو سر لینک یکسان | VXLAN حدود ۵۰ بایت سربار دارد و fragment نمیشود |
| Loopbackها | loopback0 برای Router-ID و BGP ؛ loopback1 برای VTEP |
جداسازی نقشها؛ الزام در vPC و Multi-Site |
| Multicast (اختیاری) | PIM ASM با Anycast RP روی spineها، یا BiDir ؛ یا بدون multicast با Ingress Replication | برای ترافیک BUM |
nve1 بینقص باشد. اولین چیزی که در عیبیابی چک میکنیم همین است.| موضوع | Underlay | Overlay |
|---|---|---|
| ماهیت | شبکه فیزیکی IP | شبکههای مجازی لایه ۲ و ۳ |
| آدرسها | Loopbackها و لینکهای P2P | MAC و IP سرورها و VMها |
| پروتکلها | OSPF / IS-IS / eBGP ؛ در صورت نیاز PIM | VXLAN + MP-BGP EVPN |
| تغییرات | نادر؛ فقط هنگام افزودن سوئیچ | مداوم؛ با هر VM ، VLAN یا مستأجر جدید |
| دامنه خرابی | کوچک، مثل هر شبکه مسیریابیشده | محدود به هر VNI |
VTEP و نقش Leaf ، Spine و Border
هر VTEP دو رو دارد: یک طرف اینترفیس لایه ۲ به سمت سرورها و endpointهای محلی، طرف دیگر یک IP یکتا (معمولاً loopback) به سمت شبکه IP. همین IP آدرس مبدأ و مقصد تونل میشود. VTEP داخل یک VNI فریم را bridge میکند و برای ترافیک بین VNIها route میکند.
در فابریک leaf/spine سیسکو نقشها اینطور تقسیم میشوند:
| نقش | VTEP است؟ | کار اصلی |
|---|---|---|
| Leaf | بله | اتصال سرور، storage و فایروال؛ Anycast Gateway |
| Spine | معمولاً خیر | اتصال leafها به هم در underlay ؛ Route Reflector برای EVPN ؛ RP برای multicast |
| Border Leaf | بله | خروج فابریک به اینترنت، WAN یا روتر لبه (VRF-lite) |
| Service Leaf | بله | اتصال فایروال، Load Balancer و سرویسهای لایه ۴ تا ۷ |
| Border Gateway (BGW) | بله | اتصال چند فابریک در معماری Multi-Site |
ساختار پکت VXLAN و مسئله MTU
این بخش را دقیق نگه دارید؛ در عمل همان چیزی است که در Wireshark یا Ethanalyzer میبینید. بسته VXLAN همان فریم اترنت اصلی است که چهار هدر جدید جلویش نشسته است.
| فیلد | اندازه | معنی عملی |
|---|---|---|
| Outer Ethernet (MAC SA/DA) | ۱۴ بایت | فریم فیزیکی hop فعلی روی underlay |
| Outer 802.1Q (اختیاری) | ۴ بایت | اگر لینک underlay تگدار باشد |
| Outer IP (SA/DA) | ۲۰ بایت (IPv4) / ۴۰ بایت (IPv6) | IP VTEP مبدأ و مقصد |
| Outer UDP | ۸ بایت | پورت مقصد 4789 ؛ پورت مبدأ از هش هدر داخلی |
| VXLAN Header | ۸ بایت | Flags + VNI ۲۴ بیتی |
| Inner Ethernet Frame | متغیر | فریم اصلی مستأجر؛ معمولاً بدون تگ VLAN |
داخل هدر ۸ بایتی VXLAN (RFC 7348):
- Flags ، یک بایت با الگوی
RRRRIRRR؛ بیت I باید ۱ باشد تا VNI معتبر حساب شود. - سه بایت Reserved.
- VNI ، سه بایت (۲۴ بیت)؛ از ۱ تا ۱۶٬۷۷۷٬۲۱۵.
- یک بایت Reserved پایانی. بعدها افزونههایی مثل VXLAN-GPO از بیتهای رزرو برای حمل برچسب گروه امنیتی (SGT) استفاده کردند.
پورت مبدأ UDP از هش هدر داخلی ساخته میشود (RFC بازه ۴۹۱۵۲ تا ۶۵۵۳۵ را توصیه میکند) تا جریانهای مختلف روی مسیرهای مختلف ECMP پخش شوند. اگر همه ترافیک یک پورت مبدأ ثابت بگیرد، ECMP عملاً تکمسیر میشود. این دقیقاً همان چیزی است که وقتی میپرسند «چرا فقط یکی از uplinkها داغ است» باید چک کنید. چکسام UDP در IPv4 معمولاً صفر ارسال میشود.
محاسبه سربار و MTU
| جزء | Underlay IPv4 | Underlay IPv6 |
|---|---|---|
| Outer Ethernet | 14 | 14 |
| Outer IP | 20 | 40 |
| Outer UDP | 8 | 8 |
| VXLAN Header | 8 | 8 |
| مجموع سربار (بایت) | 50 | 70 |
| حداقل MTU لینک underlay برای فریم ۱۵۰۰ بایتی مستأجر | 1550 | 1570 |
مسیر گامبهگام یک فریم: Host-A تا Host-B
فرض کنید Host-A پشت Leaf-1 و Host-B پشت Leaf-2 است. هر دو در VLAN 10 هستند و این VLAN روی هر دو leaf به VNI 10010 نگاشت شده. آدرس VTEP روی Leaf-1 برابر 10.0.1.11 و روی Leaf-2 برابر 10.0.1.12 است.
| گام | کجا | چه اتفاقی میافتد |
|---|---|---|
| ۱ | Host-A | یک فریم معمولی اترنت به MAC-B میفرستد. سرور هیچ خبری از VXLAN ندارد. |
| ۲ | Leaf-1 (VTEP مبدأ) | از روی VLAN ورودی VNI 10010 را پیدا میکند و در جدولش میبیند MAC-B پشت 10.0.1.12 است. |
| ۳ | Leaf-1 | هدر VXLAN با VNI 10010 ، هدر UDP با پورت مقصد 4789 ، هدر IP از 10.0.1.11 به 10.0.1.12 و در آخر اترنت بیرونی را اضافه میکند. |
| ۴ | Spine | فقط بر اساس IP مقصد بیرونی مسیریابی میکند؛ هش پورت مبدأ UDP جریانها را روی ECMP پخش میکند. |
| ۵ | Leaf-2 (VTEP مقصد) | VNI را چک میکند، هدرهای بیرونی را برمیدارد و فریم اصلی را روی VLAN 10 به Host-B تحویل میدهد. |
| ۶ | یادگیری | در Flood & Learn ، Leaf-2 همینجا یاد میگیرد MAC-A پشت 10.0.1.11 است. در EVPN این اطلاعات از قبل با BGP رسیده است. |
اگر مقصد هنوز ناشناخته باشد چه؟ Host-A اول یک ARP Request (broadcast) میفرستد که باید به همه VTEPهای عضو VNI 10010 برسد. اینجاست که بحث ترافیک BUM پیش میآید.
ترافیک BUM: Multicast یا Ingress Replication
BUM یعنی Broadcast ، Unknown unicast و Multicast ؛ ترافیکی که باید به همه VTEPهای یک VNI برسد. حتی با BGP EVPN هم به روشی برای رساندن این ترافیک نیاز داریم. دو راه داریم.
روش ۱ — Multicast در underlay: هر VNI به یک گروه multicast نگاشت میشود و VTEPهای عضو آن VNI به گروه join میشوند. VTEP مبدأ فقط یک نسخه میفرستد و خود underlay آن را روی درخت multicast تکثیر میکند. رایجترین گزینه PIM ASM با RP روی spineها و Anycast RP برای افزونگی است.
روش ۲ — Ingress Replication (Head-End Replication): underlay هیچ multicastی ندارد. VTEP مبدأ به ازای هر VTEP عضو آن VNI یک نسخه unicast جدا میسازد. فهرست VTEPها یا دستی تعریف میشود یا در EVPN بهطور خودکار از Route Type 3 ساخته میشود. همانطور که اسلاید سیسکو مثال میزند، ۱۰ مگابیت ترافیک BUM برای ۲۰ VTEP یعنی ۲۰۰ مگابیت روی uplink مبدأ.
| معیار | Multicast در Underlay | Ingress Replication |
|---|---|---|
| نیاز به PIM و RP | بله | خیر |
| نسخههایی که VTEP مبدأ میفرستد | یک | به تعداد VTEPهای مقصد |
| مصرف پهنای باند uplink مبدأ | کم | با تعداد VTEP رشد میکند |
| پیچیدگی عملیاتی | بیشتر (PIM ، RP ، نگاشت گروهها) | کمتر |
| مناسب برای | فابریک بزرگ یا BUM و multicast سنگین مستأجر | فابریک کوچک و متوسط، یا جایی که multicast ممکن نیست |
| سقف تأییدشده روی Nexus 9000 (NX-OS 10.5) | 512 VTEP مستقل در هر فابریک | 1000 VTEP مستقل (با حداقل 32GB حافظه) |
کنترلپلن: Flood & Learn در برابر BGP EVPN
VXLAN بهخودیخود فقط دادهپلن است. سؤال اصلی این است: VTEP از کجا بفهمد MAC ریموت پشت کدام VTEP است؟ سیسکو دو روش را پشتیبانی میکند.
۱) Flood & Learn
مدل اولیه RFC 7348 است و هیچ پروتکل کنترلی جداگانهای ندارد. کشف VTEPهای دیگر و یادگیری MACهای دوردست از روی خود ترافیک داده انجام میشود، درست مثل یک سوئیچ معمولی. روی کاغذ ساده است؛ در عمل در مقیاس بزرگ flooding و وابستگی به multicast دردسر عملیاتی میآورد، گیتوی باید متمرکز باشد و جابهجایی VM بهینه نیست.
۲) MP-BGP EVPN (مسیر توصیهشده)
در EVPN یادگیری MAC و IP میزبانها از دادهپلن به کنترلپلن منتقل میشود. هر VTEP میزبانهای محلی خودش را یاد میگیرد و آنها را در BGP با address-family l2vpn evpn اعلام میکند. بقیه VTEPها این مسیرها را میگیرند و مستقیم در جدول forwarding نصب میکنند، بدون flood.
| معیار | Flood & Learn (RFC 7348) | BGP EVPN (RFC 7432 / 8365) |
|---|---|---|
| کشف VTEPها | از روی ترافیک و multicast | از BGP (Route Type 3) |
| یادگیری MAC ریموت | دادهپلن، بعد از اولین flood | کنترلپلن، پیش از اولین بسته (Route Type 2) |
| ARP | flood در کل VNI | ARP Suppression ؛ پاسخ محلی leaf |
| گیتوی پیشفرض | متمرکز (HSRP/VRRP) | Distributed Anycast Gateway روی همه leafها |
| مسیریابی بین subnetها | خارج از overlay یا VRF-lite دستی | Symmetric IRB با L3VNI |
| چندمستأجری | محدود | VRF + RD/RT مثل MPLS L3VPN |
| امنیت کنترلپلن | هر VTEP عضو گروه multicast پذیرفته میشود | فقط VTEPهای شناختهشده در BGP ؛ احراز هویت MD5 نشستها |
| جایگاه امروز | آزمایشگاه یا مهاجرت موقت | استاندارد فابریکهای Nexus و Catalyst |
Route Typeهای EVPN و RD/RT
EVPN اطلاعاتش را در قالب چند نوع مسیر (Route Type) منتقل میکند. در فابریک VXLAN روزمره بیشتر با Type 2 ، 3 و 5 سروکار دارید؛ Type 1 و 4 وقتی به کار میآیند که Multi-Homing استاندارد با ESI راه بیندازید.
| Route Type | نام | کاربرد در VXLAN |
|---|---|---|
| 1 | Ethernet Auto-Discovery | Multi-Homing با ESI ، همگرایی سریع و aliasing |
| 2 | MAC/IP Advertisement | اعلام هر میزبان با MAC و IP ؛ پایه ARP Suppression و host routing |
| 3 | Inclusive Multicast Ethernet Tag | اعلام عضویت VTEP در هر VNI ؛ ساخت فهرست Ingress Replication |
| 4 | Ethernet Segment | انتخاب Designated Forwarder در Multi-Homing |
| 5 | IP Prefix | اعلام subnetها و مسیرهای خارجی، مثلاً از Border Leaf |
| 6 ، 7 ، 8 | SMET و IGMP Join/Leave Sync | بهینهسازی multicast مستأجر (TRM و IGMP snooping) |
فرق دو Route Type پرکاربرد را این اسلاید سیسکو خوب نشان میدهد: Type 2 حامل MAC (و در صورت وجود IP /32) با L2VNI و در صورت نیاز L3VNI است؛ Type 5 حامل prefix با طول متغیر، L3VNI و Router MAC است و از redistribute یا پروتکل مسیریابی میآید.
RD و RT ؛ چندمستأجری به سبک L3VPN
EVPN سازوکار آشنای MPLS L3VPN را به ارث برده است. Route Distinguisher (RD) مسیرهای یکسان در VRFهای مختلف را از هم جدا میکند. Route Target (RT) بهصورت BGP Extended Community حمل میشود و تعیین میکند هر مسیر وارد کدام VRF یا MAC-VRF شود. به همین دلیل send-community extended روی همه peerهای EVPN الزامی است.
در NX-OS میشود RD و RT را خودکار ساخت: RD از Router-ID و VNI ، و RT به شکل ASN:VNI. توصیه سیسکو: در فابریک تمامسیسکو با iBGP از حالت خودکار استفاده کنید. در طراحی eBGP با ASهای مختلف یا محیط چندبرندی، RT را دستی تنظیم کنید یا از rewrite-evpn-rt-asn کمک بگیرید.
Anycast Gateway و Symmetric IRB
تا اینجا درباره bridging داخل یک subnet حرف زدیم. اما سرورها باید با subnetهای دیگر و بیرون فابریک هم حرف بزنند. EVPN این را با سه ابزار حل میکند: Distributed Anycast Gateway ، مدل Symmetric IRB و Border Leaf.
Distributed Anycast Gateway
در شبکه سنتی گیتوی هر subnet روی یک یا دو سوئیچ هسته مینشیند (HSRP یا VRRP) و همه ترافیک مسیریابیشده باید تا آنجا برود و برگردد. در EVPN همه leafهایی که آن subnet را دارند، با IP و MAC مجازی کاملاً یکسان گیتوی هستند. ترافیک هر سرور در اولین hop ، یعنی leaf محلی خودش، مسیریابی میشود. وقتی VM به leaf دیگری میرود، گیتوی همان است و حتی لازم نیست جدول ARP خودش را عوض کند.
Symmetric در برابر Asymmetric IRB
در Symmetric IRB دو مفهوم جدید داریم. اول L3VNI: هر VRF یک VNI اختصاصی دارد که روی همه VTEPهای آن VRF یکسان است و به VTEP مقصد میگوید بسته را در کدام VRF مسیریابی کند. دوم Router MAC: هر VTEP یک MAC سیستمی دارد که با BGP اعلام میشود و در بستههای مسیریابیشده MAC مقصد داخلی میشود. تصویر زیر از راهنمای رسمی Catalyst 9000 فرق مسیر ترافیک داخل subnet (L2VNI) و بین subnetها (L3VNI) را نشان میدهد.
مسیر یک بسته بین دو subnet در Symmetric IRB:
- سرور بسته را به MAC مجازی Anycast Gateway روی leaf محلی میفرستد.
- Leaf مبدأ در VRF مستأجر lookup لایه ۳ انجام میدهد، MAC مقصد داخلی را به Router MAC leaf مقصد تغییر میدهد و بسته را با L3VNI کپسوله میکند.
- Leaf مقصد بعد از دکپسوله میبیند MAC مقصد مال خودش است، در VRF مشخصشده با L3VNI دوباره lookup میکند و بسته را به سرور تحویل میدهد.
| معیار | Asymmetric IRB | Symmetric IRB |
|---|---|---|
| Lookup در VTEP مبدأ | Routing و Bridging | Routing و Bridging |
| Lookup در VTEP مقصد | فقط Bridging | Routing و Bridging |
| VNI داخل بسته مسیریابیشده | L2VNI مقصد | L3VNI مخصوص VRF |
| آنچه هر VTEP باید داشته باشد | همه L2VNIهای فابریک | فقط VNIهای محلی + L3VNI |
| مقیاس جدول ARP/MAC | ضعیف | خوب |
| پیادهسازی سیسکو | — | مدل استاندارد NX-OS و IOS XE |
Border Leaf و اتصال به بیرون
Border Leaf داخل فابریک مثل هر VTEP دیگری EVPN صحبت میکند و در هر VRF مستأجر با روتر یا فایروال لبه با eBGP یا OSPF مسیر رد و بدل میکند؛ معمولاً VRF-lite با یک subinterface برای هر مستأجر. مسیرهای بیرونی بهصورت Route Type 5 وارد فابریک میشوند. توصیه سیسکو: مسیرهای بیرونی تا حد ممکن summarize شوند یا فقط یک default وارد فابریک شود، و در جهت مخالف فقط prefixها (نه host routeهای /32) به بیرون بروند.
طراحی Spine-Leaf ، vPC و Multi-Homing
فابریک VXLAN BGP EVPN معمولاً یک Clos سهمرحلهای است (Leaf و Spine) و در مقیاس خیلی بزرگ با لایه Super-Spine پنجمرحلهای میشود. هر leaf به همه spineها وصل است و هیچ leafی مستقیم به leaf دیگر وصل نیست؛ پس هر دو leaf دقیقاً دو hop از هم فاصله دارند.
- Spine هیچ اطلاعاتی از VLAN ، MAC ، ARP یا VRF مستأجرها ندارد و فقط مسیرهای EVPN را منعکس میکند. کانفیگش ساده و پایدار است.
- پورت بیشتر میخواهید؟ leaf اضافه کنید. پهنای باند بیشتر؟ spine اضافه کنید؛ هر spine یک مسیر ECMP تازه و oversubscription کمتر میآورد.
- برای اضافه کردن امن spine جدید در OSPF از
max-metric router-lsa on-startupو در IS-IS ازset-overload-bit on-startupاستفاده کنید تا سوئیچ قبل از آماده شدن کامل وارد مسیر ترافیک نشود. - سیسکو توصیه میکند نقش Border و BGW را از spine جدا کنید تا طراحی ماژولار بماند و ریسک تغییرات کم شود.
vPC و Anycast VTEP در برابر EVPN Multi-Homing
برای اتصال دوطرفه سرور یا فایروال به دو leaf دو راه داریم:
| معیار | vPC با Anycast VTEP | EVPN Multi-Homing (ESI) |
|---|---|---|
| سازوکار | دو leaf یک IP مشترک (secondary روی loopback1) دارند و برای بقیه فابریک یک VTEP دیده میشوند | استاندارد EVPN با Route Type 1 و 4 ؛ بدون peer-link |
| peer-link و keepalive | لازم است (یا vPC Fabric Peering) | ندارد |
| چندبرندی | مخصوص سیسکو | استاندارد |
| تجربه میدانی | بسیار رایج و جاافتاده روی Nexus | رو به رشد؛ پیش از استفاده Platform Matrix را چک کنید |
| نکته حیاتی | نگاشت VLAN/VNI و آدرس secondary روی دو عضو باید یکسان باشد، وگرنه NVE روی secondary خاموش میشود | ESI و LACP system-id روی همه اعضای segment یکسان |
advertise-pip زیر BGP و advertise virtual-rmac زیر nve1 را در طراحی vPC فراموش نکنید.VXLAN EVPN Multi-Site و اتصال دیتاسنترها
وقتی دیتاسنتر دوم یا سایت DR اضافه میشود، وسوسه اول این است که فابریک را «بکشیم» و یک فابریک بزرگ با دو سر بسازیم. سیسکو برای این کار معماری VXLAN EVPN Multi-Site را طراحی کرده که به گفته White Paper رسمی Multi-Site، «سلسلهمراتب را به شبکه overlay برمیگرداند»: هر سایت فابریک مستقل خودش را دارد و سایتها فقط از طریق Border Gateway (BGW) به هم وصل میشوند.
- BGW بین شبکه داخلی سایت و شبکه بین سایتها (DCI) مینشیند و VTEPهای داخلی را پنهان میکند. در شبکه بین سایتها فقط IP خود BGWها دیده میشود.
- بین سایتها eBGP استفاده میشود و هر سایت AS خودش را دارد؛ یعنی دامنه خرابی و کنترل هر سایت جدا میماند.
- BGWها برای BUM بین سایتها همیشه Ingress Replication استفاده میکنند، اما داخل هر سایت میتوانید multicast یا IR داشته باشید. پس شبکه بین سایتها به multicast نیازی ندارد؛ فقط IP و MTU بزرگ.
- با Multi-Site میشود فابریکهای قدیمی (STP ، vPC ، FabricPath) را هم به فابریک جدید وصل کرد.
Anycast BGW ؛ همه فعال، بدون وابستگی
در مدل Anycast ، همه BGWهای یک سایت یک Virtual IP مشترک دارند که برای همه ترافیک داده بین سایتها استفاده میشود. به کمک ECMP همه BGWها همزمان فعالاند و اگر یکی بیفتد، بقیه بلافاصله بار را برمیدارند. هر BGW یک IP اختصاصی (PIP) هم دارد که برای BUM و انتخاب Designated Forwarder استفاده میشود.
| مشخصه (NX-OS 10.5) | مقدار رسمی سیسکو |
|---|---|
| تعداد BGW در هر سایت | تا 6 عدد در حالت Anycast (روی 9332C/9364C تا 4) ؛ 2 عدد در حالت vPC BGW |
| تعداد سایت | تا 128 سایت (با CloudSec تا 10 سایت) |
| پلتفرمهای BGW | Nexus 9300-EX/FX/FX2/FX3/GX/GX2 و 9500 با کارتهای EX/FX/GX و مدلهای جدیدتر طبق Release Notes |
| Anycast و vPC BGW در یک سایت | همزمان پشتیبانی نمیشود |
| سرویس لایه ۲ محلی روی Anycast BGW | پشتیبانی نمیشود؛ فایروال و L4-L7 را پشت یک leaf معمولی بگذارید |
| لایسنس | Multi-Site در DCN Advantage ؛ رمزنگاری CloudSec با add-on امنیتی |
هسته کانفیگ یک Anycast BGW روی NX-OS بر اساس راهنمای رسمی Multi-Site:
evpn multisite border-gateway 100
delay-restore time 300
interface loopback100
description Multi-Site Virtual IP (same on all BGWs of site)
ip address 10.111.111.1/32
ip router ospf UNDERLAY area 0.0.0.0
interface nve1
no shutdown
host-reachability protocol bgp
source-interface loopback1
multisite border-gateway interface loopback100
member vni 10010
multisite ingress-replication
ingress-replication protocol bgp
member vni 50000 associate-vrf
interface Ethernet1/1
description DCI link
evpn multisite dci-tracking
interface Ethernet1/49
description to Spine (site-internal)
evpn multisite fabric-tracking
router bgp 65001
neighbor 172.16.0.2
remote-as 65002
update-source loopback0
ebgp-multihop 5
peer-type fabric-external
address-family l2vpn evpn
send-community
send-community extended
rewrite-evpn-rt-asn
تجهیزات، مقیاس و لایسنس
قبل از خرید همیشه Platform Support Matrix همان نسخه NX-OS یا IOS XE را چک کنید. جدول زیر تصویر کلی است، نه مجوز خرید کورکورانه.
| خانواده | مدلها / سیستمعامل | نقش رایج در VXLAN |
|---|---|---|
| Nexus 9300 | EX ، FX ، FX2 ، FX3 ، GX ، GX2 و نسلهای H ؛ NX-OS | Leaf ، Border Leaf ، BGW ، Spine کوچک ؛ کپسوله line-rate |
| Nexus 9500 / 9800 | شاسی با کارتلاین Cloud Scale ؛ NX-OS | Spine بزرگ و Route Reflector ؛ BGW |
| Nexus 9000 در ACI mode | همان سختافزار با سیستمعامل ACI و کنترلر APIC | فابریک مبتنی بر VXLAN داخلی؛ CLI کلاسیک VXLAN ندارد |
| Catalyst 9300 / 9300X | IOS XE ، لایسنس Network Advantage | Leaf پردیس و اتاق سرور کوچک |
| Catalyst 9400 / 9500 / 9600 | IOS XE ، لایسنس Network Advantage | Spine ، Border و هسته پردیس |
| روترهای IOS XE | ASR 1000 ، Catalyst 8000 | اتصال فابریک به WAN و DCI (امکانات بسته به نسخه) |
| Nexus 7000 / 5600 | نسل قدیمی NX-OS | فابریکهای قدیمی؛ برای پروژه جدید پیشنهاد نمیشود |
| Nexus Dashboard Fabric Controller | نرمافزار (NDFC) | ساخت و مدیریت خودکار فابریک NX-OS با قالبهای آماده |

برای Access اداری و PoE همان مسیر سوئیچ سیسکو سری ۹۲۰۰ کافی است؛ Catalyst 9200 از BGP EVPN VXLAN پشتیبانی نمیکند و جای ToR دیتاسنتر نیست. هسته شاسیدار پردیس را در سوئیچ سیسکو سری ۹۶۰۰ و leaf محبوب دیتاسنتر را در معرفی کامل Nexus 93180 ببینید.
مقیاس تأییدشده: Nexus 9300 در برابر Catalyst 9300
اعداد زیر از Verified Scalability Guide نسخه NX-OS 10.5(4)M و راهنمای مقیاس BGP EVPN VXLAN در Catalyst 9300 (IOS XE 17.15) است. اینها تست تکبعدی سیسکو هستند، نه ترکیب همزمان همه سقفها.
| پارامتر | Nexus 9300 (Cloud Scale) | Catalyst 9300 |
|---|---|---|
| تعداد VTEP / Leaf در فابریک | 1000 VTEP مستقل با IR ، یا 350 جفت vPC | 500 Leaf |
| Layer 2 VNI | 3900 | 1024 (روی 9300X: 750) |
| Layer 3 VNI / VRF | 2000 | 256 |
| MAC در EVPN | 96,000 | 32,000 ریموت (محلی تا 64,000 بسته به مدل) |
| IPv4 Host Route | 471,000 | 32,000 (روی UB/UBX تا 48,000) |
| همسایه EVPN روی Spine | — | 250 |
لایسنس: کدام فیچر در کدام سطح؟
| قابلیت | Nexus 9000 (NX-OS) | Catalyst 9000 (IOS XE) |
|---|---|---|
| VXLAN BGP EVPN پایه | DCN Essentials | Network Advantage |
| VXLAN EVPN Multi-Site (BGW) | DCN Advantage | — |
| Tenant Routed Multicast (TRM) | DCN Advantage | Network Advantage (طبق Feature Navigator) |
| CloudSec (رمزنگاری بین سایتها) | add-on امنیتی جداگانه | — |
منبع: Cisco NX-OS Licensing Options Guide و Cisco Feature Navigator. روی کاغذ لایسنس Essentials برای شروع کافی است؛ در عمل اگر دیتاسنتر دوم در افق طرحتان است، از روز اول Advantage را در بودجه ببینید.
کانفیگ کامل روی Nexus (NX-OS)
یک فابریک کوچک ولی کامل میسازیم: دو Spine بهعنوان Route Reflector ، دو Leaf بهعنوان VTEP ، یک L2VNI با Anycast Gateway و یک VRF مستأجر با L3VNI. الگو بر پایه راهنمای طراحی و راهنمای پیکربندی VXLAN BGP EVPN سیسکو است. این کانفیگ برای آموزش و لابراتوار است؛ پیش از شبکه عملیاتی، نسخه نرمافزار، ظرفیتها و الزامات امنیتی خودتان را چک کنید.
| مؤلفه | مقدار |
|---|---|
| BGP AS (iBGP) | 65000 |
| Underlay | OSPF ، لینکهای IP unnumbered ، area 0 ، MTU 9216 |
| loopback0 / loopback1 | Router-ID و BGP / آدرس VTEP (منبع NVE) |
| Spine-1 / Spine-2 | Lo0: 10.0.0.1 / 10.0.0.2 |
| Leaf-1 | Lo0 10.0.0.11 ، Lo1 10.0.1.11 |
| Leaf-2 | Lo0 10.0.0.12 ، Lo1 10.0.1.12 |
| VLAN 10 ↔ L2VNI | 10010 ؛ شبکه 192.168.10.0/24 ؛ گیتوی 192.168.10.1 |
| VRF ↔ L3VNI | TENANT-A ↔ 50000 (VLAN 3900) |
| BUM | Ingress Replication با BGP (بدون multicast) |
Leaf-1 روی Nexus 9000
! ===== 1) Features =====
feature ospf
feature bgp
feature interface-vlan
feature vn-segment-vlan-based
feature nv overlay
feature fabric forwarding
nv overlay evpn
! ===== 2) Underlay =====
router ospf UNDERLAY
router-id 10.0.0.11
interface loopback0
description Router-ID / BGP
ip address 10.0.0.11/32
ip router ospf UNDERLAY area 0.0.0.0
interface loopback1
description VTEP (NVE source)
ip address 10.0.1.11/32
ip router ospf UNDERLAY area 0.0.0.0
interface Ethernet1/49
description to Spine-1
no switchport
mtu 9216
medium p2p
ip unnumbered loopback0
ip ospf network point-to-point
ip router ospf UNDERLAY area 0.0.0.0
no shutdown
! Ethernet1/50 to Spine-2: same config
! ===== 3) Tenant VRF + L3VNI =====
vlan 3900
vn-segment 50000
vrf context TENANT-A
vni 50000
rd auto
address-family ipv4 unicast
route-target both auto
route-target both auto evpn
interface Vlan3900
no shutdown
mtu 9216
vrf member TENANT-A
ip forward
! ===== 4) L2VNI + Distributed Anycast Gateway =====
fabric forwarding anycast-gateway-mac 2020.0000.00aa
vlan 10
vn-segment 10010
interface Vlan10
no shutdown
vrf member TENANT-A
ip address 192.168.10.1/24
fabric forwarding mode anycast-gateway
evpn
vni 10010 l2
rd auto
route-target import auto
route-target export auto
! ===== 5) VTEP (NVE) =====
interface nve1
no shutdown
host-reachability protocol bgp
source-interface loopback1
member vni 10010
suppress-arp
ingress-replication protocol bgp
member vni 50000 associate-vrf
! ===== 6) Overlay: iBGP EVPN to Spines (RR) =====
router bgp 65000
router-id 10.0.0.11
neighbor 10.0.0.1
remote-as 65000
update-source loopback0
address-family l2vpn evpn
send-community
send-community extended
neighbor 10.0.0.2
remote-as 65000
update-source loopback0
address-family l2vpn evpn
send-community
send-community extended
vrf TENANT-A
address-family ipv4 unicast
advertise l2vpn evpn
! ===== 7) Server port =====
interface Ethernet1/1
switchport
switchport mode access
switchport access vlan 10
no shutdown
Leaf-2 دقیقاً همین کانفیگ را دارد و فقط آدرسها عوض میشوند: loopback0 = 10.0.0.12 و loopback1 = 10.0.1.12. گیتوی و MAC مجازی Anycast Gateway روی هر دو یکسان است.
Spine-1 بهعنوان Route Reflector
feature ospf
feature bgp
nv overlay evpn
router ospf UNDERLAY
router-id 10.0.0.1
interface loopback0
ip address 10.0.0.1/32
ip router ospf UNDERLAY area 0.0.0.0
interface Ethernet1/1
description to Leaf-1
no switchport
mtu 9216
medium p2p
ip unnumbered loopback0
ip ospf network point-to-point
ip router ospf UNDERLAY area 0.0.0.0
no shutdown
! link to Leaf-2: same config
router bgp 65000
router-id 10.0.0.1
address-family l2vpn evpn
template peer VTEP-PEERS
remote-as 65000
update-source loopback0
address-family l2vpn evpn
send-community
send-community extended
route-reflector-client
neighbor 10.0.0.11
inherit peer VTEP-PEERS
neighbor 10.0.0.12
inherit peer VTEP-PEERS
روی spineی که فقط نقش spine دارد، feature nv overlay لازم نیست؛ nv overlay evpn برای فعال شدن address-family مربوط به EVPN کافی است.
| دستور | کاربرد |
|---|---|
feature vn-segment-vlan-based |
امکان نگاشت VLAN به VNI |
feature nv overlay |
فعالسازی VXLAN و اینترفیس NVE |
nv overlay evpn |
فعالسازی کنترلپلن EVPN |
vn-segment 10010 |
نگاشت VLAN 10 به VNI 10010 |
vni 50000 زیر vrf context |
تعیین L3VNI برای VRF |
ip forward روی Vlan3900 |
مسیریابی روی SVI مربوط به L3VNI بدون آدرس IP |
fabric forwarding mode anycast-gateway |
فعال کردن Distributed Anycast Gateway روی SVI |
host-reachability protocol bgp |
استفاده از EVPN بهجای Flood & Learn |
suppress-arp |
پاسخ محلی به ARP از روی اطلاعات EVPN |
ingress-replication protocol bgp |
کپی BUM بر اساس فهرست VTEPهای Route Type 3 |
member vni 50000 associate-vrf |
اتصال L3VNI به NVE |
send-community extended |
ارسال Route Target ؛ بدون آن هیچ مسیری import نمیشود |
hardware access-list tcam region arp-ether). قبل از پنجره تغییرات، راهنمای پیکربندی مدل خودتان را بخوانید.کانفیگ روی Catalyst 9000 (IOS XE)
در پردیس همین منطق روی Catalyst 9000 با نحو کمی متفاوت پیاده میشود. نمونه زیر بر پایه راهنمای رسمی BGP EVPN VXLAN برای Catalyst 9300 است.
hostname C9300-LEAF-1 ! vrf definition TENANT-A rd 10.0.0.21:1 ! address-family ipv4 route-target export 65000:50000 route-target import 65000:50000 route-target export 65000:50000 stitching route-target import 65000:50000 stitching exit-address-family ! ip routing system mtu 9198 ! l2vpn evpn replication-type ingress router-id Loopback0 default-gateway advertise ! l2vpn evpn instance 10 vlan-based encapsulation vxlan ! vlan configuration 10 member evpn-instance 10 vni 10010 vlan configuration 3900 member vni 50000 ! interface Loopback0 ip address 10.0.0.21 255.255.255.255 ip ospf 1 area 0 ! interface Vlan3900 description L3VNI core SVI vrf forwarding TENANT-A ip unnumbered Loopback0 no autostate ! interface Vlan10 description L2VNI 10010 gateway mac-address 2020.0000.00aa vrf forwarding TENANT-A ip address 192.168.10.1 255.255.255.0 ! interface nve1 no ip address source-interface Loopback0 host-reachability protocol bgp member vni 10010 ingress-replication member vni 50000 vrf TENANT-A ! router bgp 65000 bgp router-id interface Loopback0 no bgp default ipv4-unicast neighbor 10.0.0.1 remote-as 65000 neighbor 10.0.0.1 update-source Loopback0 ! address-family l2vpn evpn neighbor 10.0.0.1 activate neighbor 10.0.0.1 send-community both exit-address-family ! address-family ipv4 vrf TENANT-A advertise l2vpn evpn redistribute connected exit-address-family
| موضوع | Nexus (NX-OS) | Catalyst 9000 (IOS XE) |
|---|---|---|
| نگاشت VLAN به VNI | vlan 10 → vn-segment |
vlan configuration → member evpn-instance … vni |
| EVPN Instance | زیر evpn با vni … l2 |
l2vpn evpn instance … vlan-based |
| SVI مربوط به L3VNI | ip forward |
ip unnumbered + no autostate |
| Anycast Gateway | fabric forwarding mode anycast-gateway |
MAC یکسان روی SVIها یا default-gateway advertise |
| RT برای VRF | route-target both auto evpn |
کلیدواژه stitching |
| کنترلپلن | Flood & Learn یا EVPN | فقط BGP EVPN ؛ بدون host-reachability protocol bgp تونل بالا نمیآید |
| Underlay | OSPF ، IS-IS ، eBGP | OSPF ، IS-IS ، BGP ؛ GRE در underlay پشتیبانی نمیشود |
عیبیابی از پایین به بالا
عیبیابی VXLAN همیشه از پایین به بالا است: اول underlay ، بعد BGP EVPN ، بعد تونلها و در آخر میزبانها. تا underlay سالم نباشد، نگاه کردن به لایههای بالا وقت تلف کردن است.
| مرحله | دستور (NX-OS) | انتظار |
|---|---|---|
| ۱. Underlay | show ip ospf neighbors |
همسایگی FULL با همه spineها |
| ۱. Underlay | show ip route 10.0.1.12 |
مسیر به loopback VTEP مقابل؛ ترجیحاً چند مسیر ECMP |
| ۱. Underlay | ping 10.0.1.12 source 10.0.1.11 packet-size 8972 df-bit |
پاسخ موفق یعنی MTU مسیر برای jumbo کافی است |
| ۲. Overlay | show bgp l2vpn evpn summary |
نشست EVPN با هر RR در وضعیت Established |
| ۲. Overlay | show bgp l2vpn evpn |
وجود مسیرهای Type 2 ، 3 و 5 |
| ۳. تونل | show nve peers |
peerها Up با LearnType برابر CP |
| ۳. تونل | show nve vni |
VNIها Up ؛ CP یعنی کنترلپلن، DP یعنی Flood & Learn |
| ۴. میزبان | show l2route evpn mac-ip all |
MAC و IP میزبانهای محلی و دوردست |
| ۴. میزبان | show ip arp suppression-cache detail |
ورودیهای ARP Suppression |
| ۴. میزبان | show ip route vrf TENANT-A |
مسیر /32 میزبانهای دوردست از طریق BGP |
| vPC | show vpc و show vpc consistency-parameters global |
peer adjacency برقرار و consistency موفق |
معادلهای Catalyst: show nve peers ، show l2vpn evpn mac ، show l2vpn evpn evi detail و show bgp l2vpn evpn summary.
| علامت | علت محتمل | راهحل |
|---|---|---|
| ping کوچک موفق، ترافیک بزرگ قطع | MTU ناکافی یا ناهمسان در underlay | MTU 9216 روی کل مسیر؛ دو سر هر لینک یکسان |
show nve peers خالی است |
نشست BGP برقرار نیست یا loopback VTEP در underlay اعلام نشده | بررسی OSPF ، BGP و مسیر به loopback1 |
| BGP برقرار است ولی مسیر import نمیشود | Extended Community ارسال نمیشود یا RT مطابقت ندارد | send-community extended و بررسی RT دو طرف |
| RT خودکار با eBGP کار نمیکند | RT خودکار به شکل ASN:VNI است و ASها فرق دارند | RT دستی یا rewrite-evpn-rt-asn |
| میزبان بعد از جابهجایی به گیتوی نمیرسد | MAC مجازی Anycast Gateway روی leafها یکسان نیست | یک anycast-gateway-mac واحد در کل فابریک |
| مسیریابی بین subnetها کار نمیکند | L3VNI ، VLAN یا SVI آن روی یکی از leafها تعریف نشده | L3VNI یکسان روی همه VTEPهای آن VRF |
| NVE روی یکی از اعضای vPC خاموش است | ناهمسانی نگاشت VNI یا آدرس secondary | یکسانسازی کانفیگ دو عضو vPC |
| BUM به بعضی VTEPها نمیرسد | روش replication در VTEPها یکسان نیست | یک روش (multicast یا IR) و نگاشت گروه یکسان در کل سایت |
| فقط یکی از uplinkها ترافیک دارد | آنتروپی کم پورت مبدأ UDP یا هش نامناسب | بررسی load-balance hash و تعداد جریانها |
مهاجرت از شبکه قدیمی به VXLAN EVPN
کمتر پیش میآید فابریک را روی زمین خالی بسازیم. معمولاً یک شبکه سهلایه با STP یا vPC در حال کار است و باید سرویسها را بدون قطعی جدی منتقل کنیم. جلسه Cisco Live با عنوان Migrate from your existing network to VXLAN EVPN (BRKDCN-2951) مسیر رسمی سیسکو را سه مرحله میداند: ساخت فابریک جدید، اتصال لایه ۲ و ۳ بین قدیم و جدید، و انتقال تدریجی workloadها.
| گام | کار | نکته عملی |
|---|---|---|
| ۱ | پیدا کردن مرز L2/L3 در شبکه قدیمی | معمولاً سوئیچهای Aggregation که HSRP دارند |
| ۲ | ساخت اتصال لایه ۳ بین دو شبکه | از Border Leaf ، per-VRF با eBGP یا OSPF |
| ۳ | ساخت اتصال لایه ۲ | یک Port-Channel دوطرفه (vPC به vPC) بین Aggregation و Border Leafها ؛ بدون loop |
| ۴ | همتراز کردن MAC گیتوی | MAC مجازی HSRP قدیمی و Anycast Gateway جدید باید یکی شوند تا جدول ARP سرورها عوض نشود |
| ۵ | تعیین محل گیتوی (FHRP) در دوره گذار | گیتوی تا انتقال آخرین میزبان در شبکه قدیمی بماند، یا از ابتدا به فابریک منتقل شود؛ از NX-OS 10.2(3) همزیستی HSRP و Anycast Gateway ممکن است |
| ۶ | انتقال workloadها | با vMotion یا جابهجایی کابل؛ EVPN با Sequence Number جابهجایی را تشخیص میدهد |
| ۷ | جمع کردن اتصالهای موقت | بعد از انتقال کامل هر subnet ، SVI و اتصال لایه ۲ قدیمی حذف میشود |
امنیت در VXLAN
مهمترین نکته امنیتی را همین اول بگوییم: VXLAN بهخودیخود هیچ رمزنگاری یا احراز هویتی ندارد. RFC 7348 صراحتاً میگوید حمل ترافیک لایه ۲ روی IP سطح حمله را بزرگتر میکند. هر کسی که بتواند یک بسته UDP با پورت مقصد 4789 به IP یک VTEP برساند، در تئوری میتواند فریم جعلی را داخل یک VNI تزریق کند. حملات کلاسیک لایه ۲ مثل ARP spoofing و DHCP جعلی هم داخل هر VNI همچنان ممکن است.
| لایه | اقدام | ابزار سیسکو |
|---|---|---|
| Underlay | ایزوله کردن کامل؛ هیچ مسیری از بیرون به loopbackهای VTEP نباشد | طراحی شبکه، VRF مدیریت جدا |
| لبه فابریک | مسدود کردن UDP/4789 ورودی از بیرون | ACL روی Border و فایروال |
| کنترلپلن | فقط VTEPهای شناختهشده در BGP ؛ احراز هویت نشستها | EVPN ، BGP MD5 / TCP-AO |
| بین سایتها | رمزنگاری ترافیک DCI | CloudSec در Multi-Site ، MACsec روی لینکها |
| داخل هر VNI | جلوگیری از جعل ARP و DHCP | DHCP Snooping ، Dynamic ARP Inspection ، First Hop Security |
| بین گروهها | micro-segmentation | VXLAN GPO و SGT ، Cisco SD-Access |
| بین مستأجرها | عبور ترافیک بین VRFها از فایروال، نه route leaking آزاد | Service Leaf + فایروال |
کاربردهای واقعی
| سناریو | مسئله | راهکار VXLAN در سیسکو |
|---|---|---|
| دیتاسنتر leaf/spine و ابر خصوصی | رشد سرورها، VLAN زیاد، STP | Nexus 9000 با VXLAN BGP EVPN و NDFC |
| جابهجایی زنده VM | لایه ۲ مشترک بین رک و pod | کشیدن subnet روی کل فابریک با Anycast Gateway |
| چندمستأجری و Colocation | هر مستأجر شبکه و آدرس مستقل میخواهد | L2VNI + VRF/L3VNI با RD و RT |
| DCI و سایت DR | اتصال چند سایت با حفظ ایزولاسیون خرابی | EVPN Multi-Site با BGW ؛ جایگزین OTV و VPLS |
| پردیس نرمافزارمحور | سگمنت کاربران، IoT و مهمان | Cisco SD-Access با دادهپلن VXLAN-GPO و کنترلپلن LISP ، یا BGP EVPN روی Catalyst |
| مهاجرت از شبکه قدیمی | سرورهای موجود روی VLAN هستند | نگاشت VLAN به VNI روی leaf ؛ Border Leaf پل میزند |
| کانتینر و Kubernetes | شبکه pod بین nodeها | VTEP نرمافزاری روی node و اتصال به فابریک با BGP |
کجا VXLAN نسازید؟ دفتر بیستنفره با یک سوئیچ Access و PoE. آنجا Catalyst و VLAN معمولی کاملاً کافی است. VXLAN پیچیدگی underlay ، MTU و عملیات میآورد و فایدهاش وقتی است که واقعاً مقیاس، ترافیک east-west یا چند مستأجر دارید.
مزایا و محدودیتها
| مزیت | محدودیت / هزینه |
|---|---|
| حدود ۱۶ میلیون سگمنت بهجای ۴۰۹۴ | سربار ۵۰ بایتی و حساسیت شدید به MTU |
| ECMP و استفاده از همه لینکها؛ خداحافظی با STP در هسته | تیم باید BGP ، VRF ، RD/RT و EVPN را بلد باشد |
| همگرایی سریع پروتکل مسیریابی | وابستگی به ASIC ؛ همه سوئیچها VTEP سختافزاری نیستند |
| جابهجایی آزاد workload بدون تغییر IP | هر میزبان یک ورودی MAC ، ARP و BGP مصرف میکند؛ ظرفیت را قبل از خرید حساب کنید |
| گیتوی در اولین hop | با IR ، ترافیک BUM سنگین به تعداد VTEPها کپی میشود |
| استاندارد باز و چندبرندی | بدون رمزنگاری ذاتی |
| خودکارسازی آسان با NDFC یا Ansible | ابزارهای مانیتورینگ قدیمی فقط هدر بیرونی را میبینند |
مقایسه با FabricPath ، OTV ، Geneve و بقیه
| فناوری | لایه انتقال | شناسه سگمنت | کنترلپلن | وضعیت امروز |
|---|---|---|---|---|
| VLAN (802.1Q) | لایه ۲ | ۱۲ بیت | STP | پایه شبکه دسترسی؛ برای فابریک بزرگ ناکافی |
| QinQ (802.1ad) | لایه ۲ | دو تگ ۱۲ بیتی | STP | کاربرد اپراتوری؛ مشکلات STP پابرجاست |
| FabricPath / TRILL | لایه ۲ مسیریابیشده | VLAN | IS-IS | نسل قبل؛ جایش را به VXLAN داده |
| OTV | MAC-in-IP بین دیتاسنترها | VLAN | IS-IS | DCI قدیمی سیسکو؛ جایگزین: EVPN Multi-Site |
| VPLS | MPLS | VLAN / VPN | LDP یا BGP | DCI اپراتوری؛ نیاز به MPLS |
| VXLAN + EVPN | UDP/IP | ۲۴ بیت | MP-BGP EVPN | استاندارد غالب دیتاسنتر و پردیس |
| NVGRE (RFC 7637) | GRE/IP | ۲۴ بیت | تعریفنشده | عملاً کنار گذاشته؛ ECMP ضعیفتر |
| Geneve (RFC 8926) | UDP/IP ، پورت 6081 | ۲۴ بیت + TLV | متغیر | رایج در مجازیسازی نرمافزاری |
VXLAN جایگزین VLAN نیست، بلکه آن را گسترش میدهد؛ سرور همچنان روی VLAN وصل میشود و leaf آن را به VNI نگاشت میکند. FabricPath و TRILL مشکل STP را حل کردند اما به سختافزار و پروتکل مخصوص لایه ۲ وابسته بودند، در حالی که VXLAN روی هر شبکه IP کار میکند. Geneve هدر انعطافپذیرتری دارد، اما در دنیای سوئیچهای سختافزاری و فابریکهای چندبرندی، VXLAN EVPN پشتیبانی بسیار گستردهتری دارد.
کی سراغ VXLAN برویم؟ چکلیست شروع
سراغ VXLAN بروید وقتی:
- دیتاسنتر یا اتاق سرورتان در حال رشد است و VLANها، STP و وابستگی به توپولوژی گلوگاه شدهاند.
- ماشینهای مجازی باید آزادانه بین رکها، podها یا دیتاسنترها جابهجا شوند.
- به جداسازی واقعی بخشها، مستأجرها یا تجهیزات حساس نیاز دارید.
- میخواهید سایت DR را با یک overlay یکپارچه و کنترلشده به سایت اصلی وصل کنید.
- در پردیس به سگمنت مبتنی بر هویت و سیاست گروهمحور (SD-Access) فکر میکنید.
| تصمیم | پیشنهاد ما برای شروع |
|---|---|
| کنترلپلن | از روز اول BGP EVPN ؛ Flood & Learn فقط برای لاب |
| Underlay | OSPF point-to-point یا IS-IS ، IP unnumbered ، MTU 9216 ، loopback0 و loopback1 جدا |
| Overlay | iBGP با دو spine بهعنوان Route Reflector |
| BUM | Ingress Replication برای فابریک کوچک؛ multicast با Anycast RP برای فابریک بزرگ |
| گیتوی | Distributed Anycast Gateway با یک MAC مجازی در کل فابریک |
| سختافزار دیتاسنتر | Nexus 9300 Cloud Scale برای leaf ؛ Nexus 9300/9500 برای spine |
| سختافزار پردیس | Catalyst 9300/9500 با Network Advantage |
| سایت دوم | EVPN Multi-Site با Anycast BGW و لایسنس DCN Advantage |
| عملیات | NDFC یا قالب استاندارد + مستندسازی آدرسها و VNIها از روز اول |
قدرت واقعی VXLAN وقتی دیده میشود که با کنترلپلن MP-BGP EVPN همراه شود: ARP Suppression ، Anycast Gateway ، Symmetric IRB و چندمستأجری واقعی. امروز این زبان مشترک دیتاسنتر و پردیس مدرن است. اگر درست و از پایین (underlay) طراحی شود، زیرساختی میسازد که سالها بدون بازطراحی بنیادین رشد میکند.
پرسشهای متداول
آیا VXLAN جای VLAN را میگیرد؟
نه. سرورها همچنان روی VLAN به leaf وصل میشوند؛ VLAN فقط محلی به همان leaf میشود و leaf آن را به VNI سراسری نگاشت میکند.
آیا برای VXLAN حتماً multicast لازم است؟
نه. با BGP EVPN و Ingress Replication هیچ multicastی در underlay لازم نیست. multicast فقط یک انتخاب برای بهینه کردن ترافیک BUM در فابریکهای بزرگ است.
روی Catalyst 9200 میشود VXLAN راه انداخت؟
BGP EVPN VXLAN روی Catalyst 9300 ، 9400 ، 9500 و 9600 با لایسنس Network Advantage پشتیبانی میشود. سری ۹۲۰۰ برای این نقش طراحی نشده است.
ACI هم VXLAN است؟
بله. فابریک ACI در داخل از VXLAN استفاده میکند، اما کنترلپلن و مدیریت آن با APIC است و CLI کلاسیک NX-OS برای VXLAN در آن معنی ندارد. آنچه در این مطلب کانفیگ کردیم حالت NX-OS مستقل (Standalone) است.
MTU دقیقاً چند بگذاریم؟
حداقل ۵۰ بایت بیشتر از بزرگترین فریم مستأجر (با underlay IPv4). توصیه سیسکو ۹۲۱۶ روی لینکهای underlay است تا حتی فریمهای jumbo مستأجر هم بدون مشکل رد شوند.
منابع رسمی برای ادامه مطالعه
- RFC 7348 – Virtual eXtensible Local Area Network (VXLAN)
- RFC 7432 – BGP MPLS-Based Ethernet VPN
- RFC 8365 – A Network Virtualization Overlay Solution Using EVPN
- Cisco Nexus 9000 NX-OS VXLAN Configuration Guide 10.5(x) – Configure VXLAN BGP EVPN
- Cisco Nexus 9000 – Configure VXLAN EVPN Multi-Site
- VXLAN EVPN Multi-Site Design and Deployment White Paper
- Cisco Nexus 9000 NX-OS Verified Scalability Guide 10.5(4)M
- Cisco NX-OS Licensing Options Guide
- BGP EVPN VXLAN Configuration Guide, IOS XE 17.15 (Catalyst 9300)
- A Modern, Open, and Scalable Fabric: VXLAN EVPN (Cisco PDF)
- Cisco Nexus 9000 – Configuring the Underlay
- Cisco VXLAN BGP EVPN Design and Implementation Guide
- Cisco Live BRKDCN-1621 – Introduction to VXLAN
- Cisco Live BRKDCN-1999 – VXLAN BGP EVPN
- Cisco Live BRKDCN-2951 – Migrate from your existing network to VXLAN EVPN
مشاوره و پیادهسازی با آکانت
آکانت (Akanet) با بیش از بیست سال سابقه در شبکههای مبتنی بر سیسکو، کنار سازمانهایی ایستاده که از Access پردیس تا دیتاسنتر leaf/spine و فابریکهای بزرگ سازمانی را طراحی و اجرا میکنند. مشاوره معماری، انتخاب بین Nexus و Catalyst ، طراحی underlay و overlay ، کانفیگ VXLAN EVPN ، مهاجرت از VLAN کلاسیک، سگمنت امنیتی، اتصال سایتها و DR بخشی از کار روزمره ماست. طراحی شبکهای مثل آنچه خواندید فقط دانستن دستورها نیست؛ تجربه میدانی، تصمیم درست از روز اول و پشتیبانی مطمئن بعد از اجرا میخواهد.
تلفن: 09121308444 | ایمیل: aka@aka.ir | aka.ir
























