1. הבעיה עם RSVP-TE
RSVP-TE (פרוטוקול שמירת משאבים - הנדסת תנועה,RFC 3209) אפשר בקרת נתיב מפורשת ברשתות MPLS אך הציג מורכבות תפעולית משמעותית:
- מצב לכל זרימה:כל LSP דורש מצב בכל נתב לאורך הנתיב (הודעות RSVP PATH ו-RESV). ברשת עם אלפי LSPs, נתבי מעבר שומרים על טבלאות ענק של מצבים רכים שיש לרענן באופן רציף.
- איתות מקצה ראש:הנתב הנכנס (ראשי) מסמן את הנתיב דרך RSVP. כל שינוי בטופולוגיה דורש איתות מחדש, יצירת התכנסות תקורה.
- מדרגיות:מספר ה-LSPs גדל עם O(N²) עבור רשת מלאה, וכל LSP צורך ערכי LFIB בכל נתב תחבורה.
- מורכבות ניתוב מחדש:RSVP-FRR (RFC 4090) מגן על LSPs עם עקיפות מחושבות מראש או מנהרות עוקפות של מתקנים - תכונה שעובדת אך מוסיפה שכבה נוספת של מצב.
ניתוב פלחים (RFC 8402) מבטל לחלוטין מצב פר-זרימה בצמתי מעבר. נתב המקור מקודד את כל נתיב ההעברה כרשימה מסודרת שלקטעיםבכותרת החבילה עצמה. נתבי מעבר מעבדים רק את הקטע הפעיל ואינם זקוקים למצב LSP.
2. SR Architecture (RFC 8402)
A מִגזָרהיא הוראה שאומרת לנתב כיצד להעביר את החבילה - זה יכול להיות "עבור לצומת זה", "צא בסמוך הספציפי הזה", או "החל את בדיקת ה-VPN הזה." פלחים מזוהים על ידי מזהי פלחים (SIDs). רשימה מסודרת של SIDs היארשימת פלחים(או רשימת SID). הקטע הפעיל מעובד בכל קפיצה; כאשר העיבוד מסתיים, הקטע מוסר והאחר הופך לפעיל.
קיימים שני מופעי מישור נתונים:
- SR-MPLS: SIDs הם תוויות MPLS. רשימת הפלחים היא ערימת תוויות. תואם לאחור עם חומרת MPLS קיימת.
- SRv6: SIDs הם כתובות IPv6 של 128 סיביות. רשימת הפלחים נישאת בכותרת ניתוב הפלחים (SRH, IPv6 header extension). IPv6 מקורי; אין צורך ב-MPLS.
3. SR-MPLS: Node-SIDs, Adj-SIDs ו-SRGB
SR-MPLS (RFC 8660) מגדיר שני סוגי SID בסיסיים, המפורסמים על ידי IS-IS (RFC 8667) או OSPF (RFC 8665) בתור הרחבות TLV:
| סוג SID | תְחוּם | יַצִיבוּת | מַשְׁמָעוּת |
|---|---|---|---|
| Node-SID | גלובלי (SRGB) | מַתְמִיד | "שלח לצומת זה באמצעות נתיב ה-IGP הקצר ביותר." לכל נתב יש Node-SID אחד לכל loopback/נתב-ID. כל הנתבים בדומיין SR חייבים לתכנת תווית זו. |
| סמיכות-SID(Adj-SID) | מקומי (SRB או דינמי) | ארעית (לכל הפעלה) | "העבר את הממשק הספציפי הזה לשכן הספציפי הזה." משמש כדי לכפות מנה על קישור מסוים ללא קשר לנתיב הקצר ביותר. |
| Anycast-SID | גלוֹבָּלִי | מַתְמִיד | משותף על ידי קבוצה של צמתים (למשל, קבוצת Anycast של מחזירי מסלול או PoPs של מרכזי נתונים). מנות נמסרות לחבר הקרוב ביותר. |
הSRGB(Segment Routing Global Block) הוא טווח התוויות השמור עבור SIDs בעלי משמעות גלובלית. ברירת המחדל הנפוצה היא 16000–23999 (Cisco, Juniper), אם כי היא ניתנת להגדרה. Node-SIDs מקודדים כערכי אינדקס(לדוגמה, אינדקס 100) ונפתר לתווית על ידי הוספת האינדקס לבסיס ה-SRGB (לדוגמה, 16000 + 100 = תווית 16100). כל הנתבים חייבים להשתמש באותו SRGB כדי ש-SIDs גלובליים יהיו עקביים - SGRBs לא תואמים בין ספקים או תצורות גורמים לתיוג שגוי.
דוגמה למחסנית תווית 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: SIDs ככתובות 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 (חיפוש טבלת כיסוי ו-IPv4 - משמש ל-VPNs IPv4), End.DX2 (חיבור צולב של decap ו-L2).
- טַעֲנָה: הקשר נוסף אופציונלי עבור הפונקציה (למשל, מזהה זרימה עבור אנטרופיה).
רשימת הפלחים נישאת ב-SRH(כותרת ניתוב פלחים,RFC 8754) — כותרת הרחבה IPv6 עם כותרת הבאה = 43 (כותרת ניתוב), סוג ניתוב = 4. ה-SRH מכיל:
- פלח שמאלי (SL): אינדקס לרשימת הפלחים המצביע על ה-SID הפעיל
- תגית: רמז לסיווג זרימה
- רשימת פלחים[0..n]: ה-SIDs שהוזמנו (SID אחרון הוא היעד)
בכל צומת שמודע ל-SR, אם יעד ה-IPv6 תואם ל-SID מקומי, הצומת מבצע את הפונקציה של ה-SID, מקטין את הפלח שמאלה ומעתיק את רשימת הפלחים [המקטע שמאלה] אל ה-IPv6 DA לפני ההעברה.
5. הנדסת תנועה עם SR-TE
SR-TE (RFC 9256— ארכיטקטורת מדיניות SR) מחליפה RSVP-TE LSPs עםמדיניות SR, כל אחד מוגדר על ידי:
- קצה ראש: צומת הכניסה שמציג את המדיניות
- צֶבַע: מזהה 32 סיביות המשמש לשיוך תעבורה (דרך הקהילה המורחבת של BGP Color) עם המדיניות
- נקודת קצה: צומת היעד
- אחד או יותרנתיבי מועמדים, כל אחד עם רשימת פלחים משוקללת
נתיבים מועמדים מחושבים על ידי ה-headend (באמצעות CSPF/PCE מקומי) או מופצים על ידי SR-PCE/בקר מרכזי על PCEP (RFC 5440) או BGP SR Policy (ראהRFC 9256§8). זה מבטל את מישור האיתות RSVP לחלוטין תוך שמירה על בקרת נתיב מפורשת.
Next-Hop לפי דרישה (ODN)היא תכונת SR-TE שבה ה-headend מייצר אוטומטית מדיניות SR כאשר מסלול BGP מגיע עם קהילת צבע ספציפית, ללא הקצאה מוקדמת - מה שמאפשר היגוי תעבורה אוטומטי עבור VPNs וקידומות 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 ב' לכל תווית | 8 + 16n B (SRH עם n SIDs) | 0 (תווית MPLS כבר בערימה) |
| תמיכה ב-VPN | באמצעות תוויות MPLS VPN | פונקציות SID End.DT4/DT6/DX2 | באמצעות תוויות 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 Segment Routing (SRH)
- RFC 8986— ניתוב מקטעים על פני תכנות רשת IPv6 (SRv6).
- RFC 9252— שירותי שכבת-על של BGP המבוססים על ניתוב פלחים דרך IPv6 (SRv6)
- RFC 9256- ארכיטקטורת מדיניות ניתוב פלחים
- קבוצת העבודה של IETF SPRING- ניתוב מנות מקור ברשתות (טיוטות SR פעילות)