1. چرا VXLAN؟
VLANهای IEEE 802.1Q دارای 4094 شناسه در هر دامنه پخش هستند - یک محدودیت سخت در مراکز داده چند مستاجر که در آن هزاران بخش مشتری باید در زیرساخت مشترک وجود داشته باشند. VXLAN (شبکه قابل توسعه مجازی،RFC 7348) این مشکل را با کپسوله کردن فریم های اترنت در داخل UDP/IP، با استفاده از یک VNI 24 بیتی (شناسه شبکه VXLAN) برای پشتیبانی از 16.7 میلیون بخش منطقی حل می کند.
VXLAN توپولوژی لایه 2 مجازی را از لایه فیزیکی لایه 3 جدا می کند، و اجازه می دهد تا مسیریابی IP استاندارد (ECMP، OSPF، BGP) بین نقاط پایانی تونل VXLAN (VTEPs) بدون کشش VLAN ها انجام شود. هدر UDP خارجی از پورت مقصد استفاده می کند4789(تخصیص IANA؛ استقرار اولیه از 8472 استفاده شد). کل سربار کپسوله سازی ~50 بایت بر روی IPv4، ~70 بایت بر روی IPv6 است.
2. روش های کشف VTEP
VTEP ها باید VTEP های همتا را برای راه اندازی تونل ها و توزیع ترافیک BUM (پخش، پخش ناشناخته، چندپخشی) کشف کنند. سه مکانیسم در عمل به کار گرفته می شود:
| روش | چگونه کار می کند | جوانب مثبت | منفی |
|---|---|---|---|
| چندپخشی | هر VNI به یک گروه چندپخشی PIM در لایه زیرین نقشه میدهد. ترافیک BUM به آن گروه سرازیر شده است | ساده؛ کشف خودکار همتایان | نیاز به چندپخشی PIM در لایه زیرین. بسیاری از اپراتورها چندپخشی را غیرفعال می کنند |
| همانندسازی ورودی | هر VTEP یک لیست unicast صریح از VTEP های راه دور در هر VNI را حفظ می کند. ترافیک BUM برای هر همتا تکرار می شود | نیازی به چندپخشی نیست | Head-end در هر بسته BUM، O(N) را تکرار می کند. لیست های همتا ثابت نیاز به نگهداری دستی دارند |
| BGP EVPN | مسیرهای IMET RT-3 عضویت VTEP را تبلیغ می کنند. مسیرهای RT-2 اتصالات MAC+IP را توزیع می کنند. بدون سیل و یادگیری | یادگیری MAC هواپیمای کنترلی. سرکوب ARP؛ مقیاس به هزاران VTEP. استاندارد | پشته BGP در تمام VTEP ها یا بازتابگرهای مسیر مورد نیاز است |
مراکز داده گرین فیلد مدرن به طور انحصاری از BGP EVPN استفاده می کنند. Multicast و Ingress-Replication رویکردهای قدیمی هستند که هنوز در محیط های قهوه ای یافت می شوند.
3. انواع مسیر BGP EVPN
BGP EVPN (RFC 7432) از AFI 25 (L2VPN) / SAFI 70 (EVPN) برای توزیع پنج نوع مسیر استفاده می کند. RT-5 به طور جداگانه در تعریف شده استRFC 9136(اکتبر 2021).
| RT | نام | هدف | فیلدهای کلیدی NLRI |
|---|---|---|---|
| 1 | کشف خودکار اترنت | Per-ES و per-EVI - برداشت انبوه در صورت شکست پیوند. نام مستعار برای متعادل سازی بار همه کاره چند هومینگ | RD، ESI، شناسه برچسب اترنت، برچسب MPLS |
| 2 | تبلیغات MAC/IP | آدرس های MAC (و به صورت اختیاری IP محدود) را برای فعال کردن سرکوب ARP و حذف flood-and-learn توزیع کنید. | RD، ESI، برچسب VLAN، آدرس MAC، آدرس IP (اختیاری)، برچسبهای L2VNI + L3VNI |
| 3 | تگ اترنت چندپخشی فراگیر (IMET) | دسترسی به VTEP در هر VNI را تبلیغ کنید. برای ایجاد لیستهای تکراری ورودی و راهاندازی ارسال BUM استفاده میشود | RD، شناسه تگ اترنت، IP روتر مبدا (آدرس VTEP). ویژگی PMSI Tunnel دارای VNI و نوع تونل است |
| 4 | مسیر بخش اترنت | انتخاب Forwarder تعیین شده (DF) در میان PE هایی که بخش اترنت را به اشتراک می گذارند. اطمینان حاصل می کند که فقط یک PE BUM را به بخش CE ارسال می کند | RD، ESI، IP روتر مبدا |
| 5 | مسیر پیشوند IP(RFC 9136) | پیشوندهای IP را در پوشش EVPN برای مسیریابی بین زیرشبکه تبلیغ کنید. به L3VNI اختصاصی (VNI ترانزیت) نیاز دارد | RD، شناسه برچسب اترنت، طول پیشوند IP، پیشوند IP، آدرس IP GW، برچسب L3VNI |
4. IRB متقارن در مقابل نامتقارن
مسیریابی و پل زدن یکپارچه (IRB) توضیح می دهد که چگونه VTEP ها ترافیک بین زیرشبکه های همپوشانی را هدایت می کنند. دو مدل در تعریف شده استRFC 9135:
IRB نامتقارن:VTEP ورودی مسیریابی L3 (کاهش TTL، بازنویسی بعدی پرش) را درمقصدL2VNI قبل از کپسوله کردن و ارسال. VTEP خروجی فقط پل میشود - فریم داخلی را میبیند که قبلاً به MAC نهایی خطاب شده است. هر VTEP باید هر VNI (زیر شبکه) را به صورت محلی برنامه ریزی کرده باشد، حتی آنهایی که میزبان محلی ندارند، که مقیاس را محدود می کند.
IRB متقارن:مسیرهای ورودی VTEP از منبع L2VNI به یک اشتراک گذاری شده استL3VNI(VNI ترانزیت، یک در هر VRF). خروجی VTEP از L3VNI به مقصد محلی L2VNI میرود. هر دو نقطه پایانی مسیریابی را انجام می دهند. هر VTEP فقط به L2VNI های محلی خود نیاز دارد. تک L3VNI جهانی است. این مدل برای پارچه های بزرگ توصیه می شود.
| IRB نامتقارن | IRB متقارن | |
|---|---|---|
| L2VNI برای هر VTEP مورد نیاز است | تمام VNI ها در پارچه | فقط زیر شبکه های متصل به صورت محلی |
| L3VNI (VNI ترانزیت) | لازم نیست | مورد نیاز - یک عدد برای هر VRF |
| هاپ مسیریابی | فقط VTEP ورودی | ورود و خروج VTEP |
| مقیاس | ضعیف (همه VNI ها در همه جا) | خوب (فقط زیرشبکه های محلی) |
| پیشوندهای RT-5 | پشتیبانی نمی شود | پشتیبانی می شود (از L3VNI استفاده می کند) |
5. سرکوب ARP
بدون EVPN، یک درخواست ARP از یک میزبان در VNI آن پخش میشود و به هر VTEP موجود در فابریک ارسال میشود. با BGP EVPN، مسیرهای RT-2 اتصالات MAC+IP را به همه VTEP ها به محض یادگیری میزبان ها توزیع می کنند. هنگامی که یک میزبان برای یک IP راه دور ARP می کند، VTEP محلی مستقیماً از جدول پر شده با BGP پاسخ می دهد - هیچ بسته ARP از بافت VXLAN عبور نمی کند. این سیل BUM را برای میزبان های شناخته شده حذف می کند و به ویژه در پارچه هایی با هزاران VM در هر VTEP تأثیرگذار است.
سرکوب ND (کشف همسایه) برای IPv6 یکسان عمل می کند - مسیرهای RT-2 آدرس های IPv6 را در فیلد IP NLRI حمل می کنند و VTEP به پیام های NS به صورت محلی پاسخ می دهد.
6. Multi-Homing و ESI
شناسه بخش اترنت (ESI) یک شناسه 10 بایتی است که به بسته منطقی که یک دستگاه CE را به چندین PE VTEP متصل می کند اختصاص داده شده است. دو حالت ارسال وجود دارد:
- تک فعال: یک PE در یک زمان به جلو می رود. انتخاب DF (با استفاده از مسیرهای RT-4) Forwarder تعیین شده را برای هر تگ اترنت انتخاب می کند. غیر DF PE ارسال BUM را به بخش مسدود می کند اما همچنان می تواند unicast را دریافت کند.
- همه فعال: همه PE ها به طور همزمان به جلو می روند و ECMP را در سراسر بسته فعال می کند (مانند یک کانال پورت با پایه های راه دور). مسیرهای "aliasing" RT-1 به VTEP های راه دور اجازه می دهد تا ترافیک را به سمت ESI در تمام PE های متصل بارگذاری کنند. تحرک MAC از طریق انجمن توسعه یافته MAC Mobility در RT-2 انجام می شود.
7. مرجع سریع فروشنده CLI
| وظیفه | Cisco NX-OS | Arista EOS | جونیپر جونوس |
|---|---|---|---|
| نمایش مسیرهای EVPN | show bgp l2vpn evpn | show bgp evpn | show route table bgp.evpn.0 |
| نمایش همتایان VTEP | show nve peers | show vxlan vtep | show evpn instance |
| نمایش MACهای همپوشانی | show mac address-table | show vxlan address-table | show evpn mac-ip-table |
| نمایش کش سرکوب ARP | show ip arp suppression-cache detail | show vxlan address-table detail | show evpn mac-ip-table extensive |
| نمایش نگاشت VNI-to-VRF | show nve vni | show vxlan vni | show evpn instance extensive |
| نمایش ESI multi-homing | show nve ethernet-segment | show bgp evpn instance | show evpn instance extensive |
مراجع
- RFC 7348— VXLAN: چارچوبی برای همپوشانی شبکه های مجازی لایه 2 روی شبکه های لایه 3 (2014)
- RFC 7432— VPN اترنت مبتنی بر BGP MPLS (BGP EVPN) (2015)
- RFC 8365- راه حل پوشش مجازی سازی شبکه با استفاده از اترنت VPN (EVPN) (2018)
- RFC 9135- مسیریابی و پل زدن یکپارچه در اترنت VPN (EVPN) (2021)
- RFC 9136- تبلیغات پیشوند IP در اترنت VPN (EVPN) (2021)
- کارگروه IETF BESS- سرویسهای فعال BGP (پیشنویسهای فعال EVPN)