MPLS – Multi Protocol Label Switching

מבוא

לאחרונה עם הכניסה של שרותי SD-WAN, מדברים הרבה על כך ש- SDN (Software Defined Networking) בכלל ושרותי SD-WAN בפרט באים להחליף את טכנולוגיית MPLS, ואז אנחנו באים ושואלים אז מה זה בעצם MPLS? במאמר זה אסביר את הטכנולוגיה, מאיפה היא מגיעה ולאן (כנראה) היא הולכת.

מאמר זה מבוסס על קורס מבוא ל- MPLS, בקרוב בקורס מקוון.

קצת היסטוריה

טכנולוגיות תמסורת (Transmission) הינן טכנולוגיות שבאות לקשר בין אתרים מרוחקים, כלומר בקישורים בין-עירוניים ובינלאומיים. טכנולוגיית התמסורת הספרתית הראשונה שיצאה בשנות השמונים, ועבדה על ידי ריבוב של קצבי 2.048Mbps (E1) לקצבים גבוהים יותר – 8Mbps (E2), 34Mbps (E3) ו- 140Mbps (E4), ובתקינה האמריקאית ריבוב של 1.544Mbps (T1) ל- 6.312Mbps (J2) ויותר.

בתחילת שנות ה- 90, נכנסה טכנולוגיית SDH (Synchronous Digital Hierarchy) והמקבילה האמריקאית SONet (Synchronous Optical Network) שהביאו יתרונות רבים כמו שרידות על ידי עבודה בטבעות, ניהול של קצבים נמוכים יותר מקצה לקצה, רמות שרות (SLAs), ניטור תקלות ברמה גבוהה ועוד. רשתות SDH שבנו את שדרת הרשת מעלה מ- 20 שנה (רשתות SDH עדיין קיימות במקומות רבים בעולם) הביאו לעולם התקשורת ארכיטקטורות וטכנולוגיות חדשות שעברו כמעט במלואן לטכנולוגיות החדשות יותר של  MPLS ו- Carrier Ethernet, כמו שנראה בהמשך.

הבעיות עם SDH/SONet היו אחרות. SDH היא טכנולוגיה מבוססת TDM, כאשר בתחילת שנות ה- 2000 העולם כבר היה במעבר מלא לרשתות IP. כדי להעביר IP על SDH יצאו מספר "טריקים":   בהתחלה היה PoS (Packet over Sonet), דיברו גם על LCAS ו- GFP, והתחילו לחשו מה הלאה.

באותה תקופה בערך, כלומר בסוף שנות ה-90, התחילו לחשוב גם על טכנולוגיה שתשפר את ה- Routing, בעיקר מבחינת ביצועים, והתחילו גם לצאת תקנים ל- MPLS (RFC 3031, January 2001). וכאן מתחיל להיות מעניין. ועכשיו בואו נראה איך רשתות MPLS עובדות.

איך MPLS  עובד

הרעיון הראשוני ב- MPLS היה איך לשפר את הביצועים של רשתות נתבים. לפני 25-30 שנה נתב היה קופסא גדולה, יקרה ובעיקר איטית. מי שזוכר רשתות מאז, ה- Delay  על נתבים היה מספר מילי-שניות ויותר (בנתבים של השנים האחרונות מדוב על מיקרו-שניות). וכשרצו לבנות רשתות נתבים ציבוריות הייתה כאן בעיה, והתחילו לחשוב איך משפרים נתון זה, ומספר חברות התחילו לצאת עם טכנולוגיות כמו Cell switching, Tag switching ואחרות, שכולן באו לעשות דבר אחד: לעבור מ- Routing שהיא פעולה איטית ברמה 3 ל-Switching שהיא פעול המהירה ברמה 2.  איך עושים את זה? נראה בתמונה הבאה.

מה שאנחנו רואים זאת רשת MPLS, כאשר הנתבים המרכזיים נקראים LSR (Label Switch Router), והנתבים בקצוות E-LSR (Edge LSR). במונחים של VPNs (נדבר על זה בהמשך) – נתב מרכזי נקרא P (Provider), נתב קצה נקרא PE (Provide Edge) ונתב לקוח נקרא CE (Customer Edge).

אופן העבודה הוא שבאופן רציף עובדים כאן שני פרוטוקולים – פרוטוקול ניתוב שעובד בין הנתבים שבונה את הטבלאות ניתוב בכולם, והמרה לטבלאות מיתוג, שנעשית במספר שיטות כאשר השיטה הנפוצה (והפשוטה) ביותר היא בפרוטוקול LDP (Label Distribution Protocol) שבונה את טבלאות המיתוג.

ועכשיו, כאשר מנה מגיע מנתב הלקוח ל- PE, ה- PE מוסיף לה Label שנמצא מיד בין ה- Header של ה- Ethernet ל- Header של ה- IP, ראה דוגמא להלן.

אופן העבודה הוא שכאשר Packet נכנס לרשת ה- MPLS, הנתב החיצוני מוסיף לו Label שנכנס מיד אחרי ה- Header  של ה- Ethernet. ה- Label משקלל בתוכו נתוני ניתוב (כלומר לאן להמשיך), נתוני QoS, נתוני VPN ועוד, שכולם "משוכללים" ל- Label אחד פשוט.

עכשיו, כמו שאנחנו רואים בתמונה הבאה, כש- Packet נכנס לרשת MPLS מוסיפים לו Label שזה שדה של ארבעה Bytes שמתוכם ב- 12bits רשום מספר.

לדוגמא, Packet נכנס לרשת עם L=123, במתג הראשון שרואה אותה מחליף ל- L=370, במתג השני מוחלף ל-66 וכאשר יוצא מהרשת ה- Label מוסר (פעולת Pull) על ידי ה- PE בצד ימין ומועבר לרשת הלקוח. הרעיון הוא שבמקום טבלת ניתוב כאשר כל פעם ש- Packet מגיע לנתב נבדקת כתובות IP לאן ה- Packet  מיועד, הנתב בודק בטבלת ניתוב ומקבל החלטה, יש לנו פעול המהיר שכאשר מגיע Packet, הנתב בודק מספר Label, מחליף אותו ב- Label שונה (פעולת Swap), ומעביר הלאה. קיבלנו פרוטוקולי ניתוב שעובדים ברקע (ב- Control Plane), כאשר  הפעולה מתורגמת לטבלאות מיותג שממתגות את המנות קדימה (ב- Forwarding Plane). קיבלנו Routing במהירות של Switching.

MPLS-VPNs ו- IPVPN

השלב הבא בהתפתחות הטכנולוגיה היית התפתחות השירותים השונים מעל רשתות MPLS, וקודם כל L3-VPNs שהינו גם היום השירות הנפוץ ביותר. שירות זה, שנקרא גם BGP/MPLS VPNs (ועוד מעט נבין למה) הוגדר לראשונה ב- RFC 2547 (March 1999). בשירות זה כל רשת לקוח מקבלת Route Distinguisher (RD) של 8 Bytes שמפריד בינה לבין הרשתות האחרות, כלומר כל לקוח שמתחבר לספק השרות מקבל מאפיין שלו, וכך יכולים לקוחות שונים להתחבר לרשת גם אם כתובות ה- IP שלהם זהות, כי כל אחד מקבל מזהה משלו, כמו שאנחנו רואים בתמונה הבאה.

הניתובים נלמדים באמצעות פרוטוקול BGP (iBGP), ולכן התקן נקרא BGP/VPNs, וכמובן שהמסלולים הנלמדים מתורגמים גם הם לטבלאות Labels לכל אורך המסלול. קיימים סוגים נוספים של VPNs – VPLS, VPWS ועוד, ועל כך נדבר בקורס המורחב.

T-MPLS ו- MPLS-TP

Transport MPLS (T-MPLS) (במקור מה- ITU-T) ו- MPLS-TP (Transport Profile) מה- IETF הינם שני פרוטוקולי דומים שהיום נמצאים שניהם תחת MPLS-TP בעבודה משותפת של שני ארגוני התקינה. העקרון בפרוטוקולים או הינו לקחת את מנגנני השרידות והבקרה מטכנולוגיות התמסורת הוותיקות יותר, בעיקר מה- SDH, ולממש אותם ב- MPLS. כך למשל מוגדרת כאן ארכיטקטורה של טבעות דרישות (Ring Protection), תחזוקה ותפעול (OAM – Operation, Administration and Maintenance), דרישות לרמת שירות (QoS) ועוד. הארכיטקטורה הוגדרה לראשונה ב- RFC5654 מספטמבר 2009 ובמספר רב של תקנים לאחר מכן.

MPLS-TE

MPLS – Traffic Engineering (MPLS-TE) הינם טכנולוגיה שהוגדרה לראשונה ב- RFC3209 מדצמבר 2001, המאפשרת הגדרה של נתוני קו מראש – למשל התחייבות לרוחב פס מינימלי, התחייבות ל- MTU מסויים, התחייבות לניתוב מסוים ועוד. טכנולוגיה זו משתמשת בפרוטוקול RSVP (Resource Reservation Protocol) לבדיקת וקביעת המסלולים.

Segment Routing (SG)

Segment Routing (SR) שהוצג לראשונה על ידי סיסקו ב- 2013, ותוקנן ב- RFC8402 ביולי 2018, נקרא גם Source Packet Routing and Networking (SPRING). ב- SR משתמשים במנגנון (שחלקנו עדיי זוכרים..) שנקרא Source Routing, כאשר נתב המקור קובע את מסלול במנה מהמקור ליעד. כאן קובעים משהו שנקרא "סגמנט" (Segment), כאשר סגמנט יכול להיות דילוג אחד או יותר בין נתבים (ראה תמונה הבאה), כאשר נתב המקור מכניס את כל ה- Labels שלפיהם תקבע הדרך ליעד.

בדוגמא רואים העברת Packet מקצה לקצה, כאשר כל נתב מוריד Label ומעביר הלאה.

בקורס MPLS – ארכיטקטורה ופרוטוקולים נדבר על הנושא בהרחבה.

ומה הלאה

רשתות MPLS יהיו איתנו עוד הרבה שנים, גם כתשתיות תמסורת ברשתות ציבוריות, גם כשדרה של רשתות סלולאריות, וגם ברשתות פרטיות לשם הולכת הטכנולוגיה ונכנסת בהדרגה. בנוסף לכך, טכנולוגיית SR משתלבת ברשתות SDN באופן שבקר הרשת יוכל לקבוע מסלולי העברה מקצה לקצה, באופן שהרשת תתמוך בצורה טובה יותר ביישומים העובדים באמצעותה.