שני מסלולים על אותה מכונה יכולים להצביע אל 198.51.100.77 ובכל זאת לענות על שאלות שונות. האחד מתאר היכן כתובת MAC נגישה ובאופן אופציונלי איזו IP קשורה אליה. האחר מתאר קידומת שנפתרת דרך קפיצה הבאה, גם כאשר אותה קידומת היא מארח בודד. ערבוב ביניהם מייצר תקלה שנראית כמו באג בניתוב אבל היא למעשה סוג מסלול שנקרא באופן שגוי.

הדרך המהירה ביותר להבדיל ביניהם היא לקרוא את המפתח שסביבו נבנה ה-NLRI, ולא את המסכה שבסופו.

מפתח המסלול אומר מה המסלול טוען

סוג 2 הוא מסלול פרסום ה-MAC/IP מ-RFC 7432, והמפתח שלו הוא כתובת ה-MAC באורך 48 סיביות בתוך ה-NLRI. מאחורי המפתח הזה נמצא שדה כתובת IP ששדה האורך שלו יכול להיות 0, 32 או 128 סיביות, כך שפרסום של MAC בלבד הוא מסלול שלם ולא רשומת מארח שחסרים בה חלקים. מחסנית התוויות שאחריו מצביעה על הקשר הגישור שבו חי אותו MAC.

האם שדה ה-IP מלא משנה את מה שהמסלול מצהיר, לא את סוג המסלול. באורך של 32 או 128 סיביות השולח גם טוען שה-IP הזה שייך לאותו MAC בתוך מופע EVPN אחד. באורך אפס השולח אינו טוען דבר לגבי IP. אף אחת מהגרסאות אינה אומרת שקידומת נגישה דרך נתב.

סוג 5 הוא מסלול קידומת ה-IP מ-RFC 9136, והמפתח שלו הוא קידומת שנכתבת כאורך ועוד אותו מספר סיביות. האורך נע בין 0 ל-32 עבור IPv4 ובין 0 ל-128 עבור IPv6.

שני קצות הטווח הזה חוקיים, ואף אחד מהם אינו מרמז על MAC. קידומת באורך אפס טוענת לנגישות בלי לנקוב בשם מארח, ואילו /32 מנקב בשם כתובת אחת בדיוק. ה-NLRI נושא גם כתובת IP של שער שהצד היוצא משתמש בה כדי לבנות את אינדקס ה-overlay, ובנוסף תווית עבור הקשר ההעברה. אין שדה MAC שאליו ניתן להחליף, ולכן מקלט מתייחס לסוג 5 כיעד מנותב.

מסלול קידומת /32 אינו סוג 2 בשינוי שם

קידומות בגודל מארח הן מסלולי סוג 5 רגילים. מסלול קידומת /32 וסוג 2 עבור אותה כתובת יכולים להתקיים יחד במופע EVPN אחד, והם נושאים מידע העברה שונה.

קחו את 198.51.100.77 במופע EVPN שמשתמש ב-VNI 10100. סוג 2 עשוי לצמד אותה ל-MAC 02:00:00:00:00:77 ולתווית שמזהה את תחום הגישור שבו נלמד ה-MAC. סוג 5 עשוי לפרסם את 198.51.100.0/24 עבור כל תת-הרשת, או את 198.51.100.77/32 רק עבור הכתובת הזו, עם כתובת שער שמצביעה אל VTEP היציאה. הכתובות חופפות בכוונה משום שהמסלולים עונים על שאלות שונות.

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

ההבדל הזה קובע היכן להסתכל קודם כשתעבורה נכשלת. אם מארח בודד אינו נגיש בעוד מסלול תת-הרשת שלו נראה תקין, סוג 5 מעולם לא נועד לשאת את המארח הזה; חפשו את סוג 2 החסר. אם מסלול המארח קיים אבל כל תת-הרשת אינה נגישה, בדקו אם סוג 5 נוצר בכלל. קריאת השדות לפי הסדר עדיפה על ניחוש לפי אורך המסכה.

לקרוא את שני המסלולים בלי לנחש

ב-NX-OS, show bgp l2vpn evpn route type 2 ו-show bgp l2vpn evpn route type 5 מפצלים את הטבלה בדיוק לפי הקו הזה, ו-show l2route evpn mac ip מציג את קישורי ה-MAC ל-IP המקומיים שמאחורי מסלולי סוג 2. ב-Junos, show evpn database מפרט קישורי MAC ו-IP שנלמדו בעוד show route table bgp.evpn.0 מציג מה פורסם ומה התקבל.

סננו לפי route distinguisher ותגית Ethernet לפני הסקת מסקנות. אותו MAC או אותה קידומת יכולים להופיע בכמה מופעי EVPN, ומסלול שנראה שגוי במופע אחד עשוי להיות נכון באחר.

לאחר מכן קראו את ה-NLRI לפי הסדר: סוג מסלול, מפתח, שדות שער או תווית, ואז ה-route targets בתכונות. סוג 2 שנושא ESI שאינו אפס אומר לכם שה-MAC הוא multi-homed, והערך הזה הוא שקושר יחד פרסומים מנתבי PE שונים. סוג 5 שנושא כתובת שער אומר לכם איזה VTEP יציאה אמור לקבל את התעבורה.

אם מסלול חסר, בדקו את היצירה לפני הקידוד. ודאו שלמקור יש את הקישור או הקידומת באופן מקומי, ואז ודאו שה-route target שמצורף לו מיובא במכונה הזו. רוב הדיווחים על סוג 5 שבור מסתיימים במדיניות ייבוא, לא בפורמט ה-NLRI.

תעדו את ההקשר, לא רק את סוג המסלול

רשמו יחד את סוג המסלול, מופע ה-EVPN, ה-route distinguisher, ה-route targets המיובאים והמיוצאים והקפיצה הבאה שנפתרה. סוג 2 בלי המופע שלו הוא דו-משמעי, וקפיצה הבאה בלי משפחת המסלולים מזמינה מסקנה שגויה.

שניהם מסלולי EVPN גם כאשר המטען הוא כתובת IPv4. משפחת הכתובות בתוך ה-NLRI ומשפחת הכתובות של המסלול עצמו הן תכונות נפרדות, וסוג 5 אינו הופך למסלול IPv4-unicast או VPN-IPv4 רק מפני שהוא נושא קידומת IPv4.

ההבחנה הזו נראית בגבול שבין מישור בקרה של EVPN לבין IP-VRF. ה-route target קובע איזה VRF מייבא את הקידומת, בעוד כתובת השער והתווית קובעים כיצד החבילה נעטפת לעבר היציאה. קראו את אלה יחד והחלטת ההעברה מפסיקה להיראות שרירותית.

בפעם הבאה ש-/32 יופיע בטבלת EVPN, בדקו את המפתח לפני המסכה. מפתח MAC עם IP אופציונלי הוא קישור מסוג 2; מפתח קידומת הוא מסלול מסוג 5 יהיה אורכו אשר יהיה. רשמו לצידו את ה-route target ואת הקפיצה הבאה, והמהנדס הבא לא יצטרך לגזור מחדש את כל הסיפור.

מאמרים קשורים