Segment Routing Primer — SR-MPLS and SRv6
Segment Routing Primer - SR-MPLS و SRv6
مسیریابی منبع بدون وضعیت هر جریان: چگونه SR جایگزین RSVP-TE میشود، Node-SID و Adj-SID چه میکنند، چگونه SRv6 دستورالعملها را در آدرسهای IPv6 رمزگذاری میکند، و SR-TE کجا در مهندسی ترافیک قرار میگیرد.
1. مشکل با RSVP-TE
RSVP-TE (پروتکل رزرو منابع - مهندسی ترافیک،RFC 3209) کنترل مسیر صریح را در شبکه های MPLS فعال کرد اما پیچیدگی عملیاتی قابل توجهی را معرفی کرد:
- وضعیت هر جریان:هر LSP به وضعیت روی هر روتر در طول مسیر نیاز دارد (پیام های RSVP PATH و RESV). در شبکهای با هزاران LSP، روترهای ترانزیت جدولهای بزرگ حالت نرم را نگه میدارند که باید به طور مداوم به روز شوند.
- سیگنالینگ هد انت:روتر ورودی (head-end) مسیر را از طریق RSVP سیگنال می دهد. هر تغییر توپولوژی نیاز به سیگنال دهی مجدد دارد و سربار همگرایی ایجاد می کند.
- مقیاس پذیری:تعداد LSP ها با O(N²) برای مش کامل افزایش می یابد، و هر LSP ورودی های LFIB را در هر روتر ترانزیت مصرف می کند.
- پیچیدگی مسیریابی سریع:RSVP-FRR (RFC 4090) از LSP ها با انحرافات از پیش محاسبه شده یا تونل های بای پس تسهیلات محافظت می کند - ویژگی که کار می کند اما یک لایه حالت دیگر را اضافه می کند.
مسیریابی بخش (RFC 8402) حالت هر جریان را در گره های انتقال به طور کامل حذف می کند. روتر مبدأ کل مسیر ارسال را به صورت لیستی از کدگذاری می کندبخش هادر خود هدر بسته روترهای ترانزیت فقط بخش فعال را پردازش می کنند و نیازی به وضعیت LSP ندارند.
2. معماری SR (RFC 8402)
A بخشدستورالعملی است که به روتر میگوید چگونه بسته را فوروارد کند - میتواند به معنای "رفتن به این گره"، "خروج از این مجاورت خاص" یا "اعمال این جستجوی VPN" باشد. بخش ها با شناسه های بخش (SID) شناسایی می شوند. یک لیست مرتب شده از SID ها استلیست بخش(یا لیست SID). بخش فعال در هر پرش پردازش می شود. وقتی پردازش کامل شد، بخش حذف می شود و قسمت بعدی فعال می شود.
دو نمونه صفحه داده وجود دارد:
- SR-MPLS: SID ها برچسب های MPLS هستند. لیست بخش یک پشته برچسب است. سازگار با سخت افزار MPLS موجود.
- SRv6: SID ها آدرس های IPv6 128 بیتی هستند. لیست بخش در سربرگ مسیریابی بخش (سربرگ برنامه افزودنی SRH، IPv6) حمل می شود. IPv6 بومی؛ MPLS مورد نیاز نیست.
3. SR-MPLS: Node-SID، Adj-SID و SRGB
SR-MPLS (RFC 8660) دو نوع SID اساسی را تعریف می کند که توسط IS-IS تبلیغ می شود (RFC 8667) یا OSPF (RFC 8665) به عنوان پسوند TLV:
| نوع SID | دامنه | ثبات | معنی |
|---|---|---|---|
| Node-SID | جهانی (SRGB) | ماندگار | "با استفاده از کوتاهترین مسیر IGP به این گره تحویل دهید." هر روتر یک Node-SID در هر Loopback/Router-ID دارد. همه روترها در دامنه SR باید این برچسب را برنامه ریزی کنند. |
| مجاورت-SID(Adj-SID) | محلی (SRLB یا پویا) | زودگذر (در هر جلسه) | "این رابط خاص را به این همسایه خاص ارسال کنید." برای وادار کردن یک بسته به یک پیوند خاص بدون در نظر گرفتن کوتاه ترین مسیر استفاده می شود. |
| Anycast-SID | جهانی | ماندگار | توسط مجموعه ای از گره ها به اشتراک گذاشته می شود (به عنوان مثال، یک گروه anycast از بازتاب دهنده های مسیر یا مراکز داده PoP). بسته ها به نزدیکترین عضو تحویل داده می شود. |
اینSRGB(Block Global Routing Segment) محدوده برچسبی است که برای SIDهای مهم جهانی در نظر گرفته شده است. پیشفرض رایج 16000–23999 است (سیسکو، جونیپر)، اگرچه قابل تنظیم است. Node-SID ها به صورت کدگذاری می شوندمقادیر شاخص(به عنوان مثال، شاخص 100) و با افزودن ایندکس به پایه SRGB (به عنوان مثال، 16000 + 100 = برچسب 16100) به یک برچسب حل شد. همه روترها باید از SRGB یکسانی استفاده کنند تا SIDهای جهانی یکدست باشند - SGRBهای نامناسب بین فروشندگان یا پیکربندی ها باعث برچسب زدن نادرست می شوند.
نمونه پشته برچسب SR-MPLS- ارسال ترافیک از R1 به R5 از طریق R3 (نقطه راه صریح)، اجتناب از مسیر مستقیم R1→R5:
Ingress R1 pushes: [Node-SID(R3)] [Node-SID(R5)] R1→R2: outer label = SID(R3), inner = SID(R5) R2→R3: pops SID(R3) (PHP or explicit-null) R3 sees top label = SID(R5); forwards on shortest path to R5 R5 pops SID(R5); delivers to local application
4. SRv6: SID به عنوان آدرس IPv6
SRv6 (RFC 8986) SID ها را به عنوان آدرس های IPv6 128 بیتی با ساختار زیر رمزگذاری می کند:
| Locator (e.g., /48) | Function (operator-defined, typically 16 bits) | Argument (remaining bits) |
- مکان یاب: پیشوند IPv6 قابل مسیریابی که به گره اختصاص داده شده است. روترهای ترانزیت به طور معمول به سمت این پیشوند حرکت می کنند. مکان یاب در IGP تبلیغ می شود.
- تابع: عملیات خاصی را که باید در نقطه پایانی SID انجام شود را مشخص می کند. مثالها: End (به جلو به SID بعدی)، End.X (همسایگی خاص به جلو)، End.DT4 (جستجوی جدول decap و IPv4 - برای VPNهای IPv4 استفاده میشود)، End.DX2 (اتصال متقابل decap و L2).
- استدلال: زمینه اضافی اختیاری برای تابع (به عنوان مثال، شناسه جریان برای آنتروپی).
لیست بخش درSRH(سربرگ مسیریابی بخش،RFC 8754) - یک هدر افزونه IPv6 با Next Header = 43 (Routing Header)، نوع مسیریابی = 4. SRH شامل:
- Segment Left (SL): در لیست بخش که به SID فعال اشاره می کند، فهرست می شود
- برچسب: راهنمایی طبقه بندی جریان
- فهرست بخش[0..n]: SIDهای مرتب شده (آخرین SID مقصد است)
در هر گره SR-aware، اگر مقصد IPv6 با SID محلی مطابقت داشته باشد، گره تابع SID را اجرا میکند، Segment Left را کاهش میدهد، و Segment List [Segment Left] را در IPv6 DA کپی میکند.
5. مهندسی ترافیک با SR-TE
SR-TE (RFC 9256— SR Policy Architecture) جایگزین RSVP-TE LSP ها می شودسیاست های SR، هر کدام توسط:
- هدند: گره ورودی که خط مشی را نمونه می کند
- رنگ: یک شناسه 32 بیتی که برای مرتبط کردن ترافیک (از طریق انجمن گسترده BGP Color) با خط مشی استفاده می شود
- نقطه پایانی: گره مقصد
- یک یا چندمسیرهای نامزد، هر کدام دارای یک لیست بخش وزنی هستند
مسیرهای نامزد توسط headend محاسبه می شوند (با استفاده از CSPF/PCE محلی) یا توسط یک SR-PCE/کنترل کننده متمرکز روی PCEP توزیع می شوند.RFC 5440) یا سیاست BGP SR (نگاه کنید بهRFC 9256§8). این صفحه سیگنالینگ RSVP را به طور کامل حذف می کند و در عین حال کنترل مسیر صریح را حفظ می کند.
بعدی هاپ درخواستی (ODN)یک ویژگی SR-TE است که در آن هنگام ورود یک مسیر BGP با یک جامعه رنگی خاص، هدند به طور خودکار یک خط مشی SR را معرفی می کند، بدون اینکه از قبل تدارک دیده شود - امکان هدایت خودکار ترافیک برای VPN ها و پیشوندهای CDN.
6. SR-MPLS در مقابل SRv6 در مقابل RSVP-TE
| SR-MPLS | SRv6 | RSVP-TE | |
|---|---|---|---|
| صفحه داده | پشته برچسب MPLS | هدر پسوند IPv6 + SRH | پشته برچسب MPLS |
| وضعیت هر جریان در ترانزیت | هیچ کدام | هیچ کدام | بله (حالت نرم RSVP) |
| پروتکل سیگنالینگ | پسوندهای IGP (IS-IS/OSPF). | پسوندهای IGP | RSVP-TE (PATH/RESV) |
| سازگاری HW | هر MPLS HW | به ASIC با قابلیت SRv6 نیاز دارد | هر MPLS HW |
| سربار هر بسته | 4 B در هر برچسب | 8 + 16n B (SRH با n SID) | 0 (برچسب MPLS از قبل در پشته است) |
| پشتیبانی VPN | از طریق برچسب های MPLS VPN | End.DT4/DT6/DX2 توابع SID | از طریق برچسب های MPLS VPN |
| تغییر مسیر سریع | TI-LFA (مستقل از توپولوژی، بدون تنظیمات قبلی) | TI-LFA | RSVP-FRR (بای پس از پیش تهیه شده) |
| بلوغ استقرار | گسترده در SP/DC | در حال رشد؛ پشتیبانی ASIC هنوز در حال بلوغ است | بالغ اما رو به زوال |
مراجع
- RFC 8402- معماری مسیریابی بخش
- RFC 8660- مسیریابی بخش با صفحه داده MPLS
- RFC 8665- برنامه های افزودنی OSPF برای مسیریابی بخش
- RFC 8667- برنامه های افزودنی IS-IS برای مسیریابی بخش
- RFC 8669- پسوندهای SID پیشوند مسیریابی بخش برای BGP
- RFC 8754- سربرگ مسیریابی بخش IPv6 (SRH)
- RFC 8986- مسیریابی بخش از طریق برنامه نویسی شبکه IPv6 (SRv6).
- RFC 9252- خدمات پوشش BGP بر اساس مسیریابی بخش از طریق IPv6 (SRv6)
- RFC 9256- معماری خط مشی مسیریابی بخش
- کارگروه IETF SPRING- مسیریابی بسته منبع در NetworkingG (پیشنویسهای SR فعال)