sh ip bgp – מטריקות

במהלך הלימודים ל-BSCI, נתקלתי בשאלה שלא מצאתי לה תשובה בשום מקום באינטרנט….

showYou work as a network engineer at Certkiller .com. You study the exhibit carefully. Router Certkiller 3 discovers network 202.176.56.0 via BGP. Which one of these statements is true?
A. Certkiller 1 advertised network 202.176.50.0/24 with a metric of 782.
B. Certkiller 3 is directly connected to Certkiller 1 using subnet 192.168.1.0.
C. Certkiller 3 has an IGP metric of 782 to reach 192.168.1.1.
D. Certkiller 3 has a BGP metric of 782 to reach 192.168.1.1.
E. Certkiller 1 advertised network 202.176.50.0/24 with a metric of 1000.
F. Certkiller 3 has an IGP metric of 1782 to reach 202.176.56.0/24.
Answer: C

אז בשביל לעשות קצת סדר, השאלה מדברת על ה-MED (או metric), שהוא ה-attribute הכי חלש בקבלת ההחלטות של פרוטוקול הניתוב BGP. המטריקה MED מכניסה לחישוב מטריקה של IGP ע"י יבוא המטריקה ל-attribute MED. למשל, אם רץ בתור IGP הפרוטוקול RIP, והיעד שלנו הוא במרחק 3 הופים, ה-MED אמור להיות 3.
עובדה אחרונה – כמעט אף אחד לא משתמש ב-MED 🙂
ספציפית, השאלה מדברת על קריאת הפקודה show ip bgp – שהיא פקודה מעולה כדי להבין למה BGP החליט להתקין ניתוב כזה ולא אחר.
מעיון בשאלה, נראה ממבט ראשון כי המספר 782 היא המטריקה שהשכן ב-AS המרוחק מדווח לי, והמספר 1782 הוא המרחק הכולל: למשל, המרחק לשכן + המרחק שהשכן מדווח לי = סה"כ 1782, כלומר, המרחק לשכן המרוחק הוא 1000.
לאור זאת, תשובות A+F נכונות. אולם בשאלה, במקומות רבים, מציינים שהתשובה הנכונה היא C. למה?
חיפוש באינטרנט – ואין תשובה. בעצם, יש תשובה חלקית. והנה ציטוט:

From what I remember from my studies, the metric in parenthesis is the routers IGP metric to reach the next hop router.

כלומר, המספר בסוגריים, הנמוך, שערכו הוא 782, הוא המרחק ל-next-hop, שהוא הנתב המרוחק, ב-AS המרוחק.
אז מה זה המספר הגדול? המרחק הכולל? זה לא מסביר את C! תשובות אין.
פתחתי GNS3 והרמתי מעבדה (ללחוץ כדי להגדיל):
topologie

AS200 משתמש ב-RIPv2 בתור IGP, כדי לפרסם את הדרך ל-lo0 של כל נתב ונתב.

(אגב, מתוך עצלנות (פחות שורות לכתוב), הגדרתי את R3 בתור Route-Reflector)

במעבדה שלי, R0 מפרסם ל-AS200 (דרך השכנים R1 ו-R2), את הרשת 192.168.200.0/24 עם מטריקה 1000.

router bgp 100
 bgp log-neighbor-changes
 neighbor 192.168.1.2 remote-as 200
 neighbor 192.168.2.2 remote-as 200
 !
 address-family ipv4
 redistribute connected
 neighbor 192.168.1.2 activate
 neighbor 192.168.1.2 default-originate
 neighbor 192.168.1.2 soft-reconfiguration inbound
 neighbor 192.168.1.2 route-map test-med out
 neighbor 192.168.2.2 activate
 neighbor 192.168.2.2 default-originate
 neighbor 192.168.2.2 soft-reconfiguration inbound
 neighbor 192.168.2.2 route-map test-med out
 no auto-summary
 no synchronization
 network 192.168.200.0
 exit-address-family
!
route-map test-med permit 10
 match ip address prefix-list 1
 set metric 1000
!
ip prefix-list 1 seq 5 permit 192.168.200.0/24

עד כאן הכל בסדר. כשאני עושה 192.168.200.0 show ip bgp על נתב R1, אני מקבל את ה-MED ש-R0 מפרסם לי:

cisco-2

ואותו דבר מופיע גם על R2: ישנו MED של 1000 כדי להגיע ל-192.168.200.0.

בנוסף, הגדרתי ש-R2 יפרסם ל-R3 ב-RIP את כל הניתובים עם מטריקת (RIP) של 10. כלומר, ב-RIP, האורך של הדרך בין R2 ל-R3 היא 10 hopים. לעומת זאת, האורך של הדרך בין R1 ל-R3 היא hop אחד (יותר טוב). את ההגדרה עשיתי ע"י הקונפיגורציה הבאה על R2:

router rip
 version 2
 passive-interface FastEthernet0/0
 offset-list 1 out 10 FastEthernet0/1
 network 2.0.0.0
 network 192.168.2.0
 network 192.168.102.0
 no auto-summary

access-list 1 permit any

כלומר, ב-RIP, כדי להגיע מ-R3 ל-R0, אנחנו עוברים 11 הופים דרך R2: הופ אחד מ-R2 ל-R0, ועוד 10 הופים ש-R2 פירסם ל-R3.

ב-BGP, אנחנו מצפים שהמטריקה ל-192.168.200.0 תהיה 1011: 1000 (כי R0 מפרסם ב-MED ככה) + 11 (כי אנחנו "יורשים" את המטריקה של RIP לתוך החישובים של ה-BGP)

עכשיו נסתכל על פקודות show מ-R3 וננסה להבין מה הוא רואה. נתחיל מ-show ip route …

sh ip route

קודם כל אנחנו רואים בפקודה show ip route  שהדרך המועדפת ל-192.168.200.0 היא דרך R1 בכתובת 192.168.1.1. את הניתוב הזה למדנו ב-iBGP (כי ה-administrative distance הוא 200). המטריקה בתוך ה-BGP היא מוזרה… 1000! לא 1001 כמו שצפוי! היינו מצפים לקבל 1001 כי קיבלנו 1000 מ-R0 ולזה נוסיף עוד 1 (כי אנחנו במרחק של הופ אחד מ-R1 ל-R3)

נסתכל כעת על show ip bgp 192.168.200.0…

sh ip bgp

יש לי שני דרכים להגיע: דרך 192.168.1.1 (או R1) ודרך 192.168.2.1 (או R2). נסתכל על הדרך הלא מועדפת (לא מסומנת כ-best).

המטריקה 1000 (לא בסוגריים) מייצגת את ה-MED ש-R0 מפרסם לי. לעומת זאת המטריקה 11 (בסוגריים) היא המטריקה שאני לומד ב-IGP (בדוגמה זו RIP) אל R0.

אם נחשב את המטריקה הכוללת, נראה שה-MED דרך R2 הוא 1011 וה-MED הכולל אל R1 הוא 1001. R1 נבחר כי ה-MED שם טוב (קטן) יותר.

מה שמוזר הוא שב-sh ip bgp, המטריקה היא 1000.

sh ip bgp

אולי כי נתבי סיסקו מציגים את המטריקה המקורית, הטהורה, ה-BGPית, לפני שהנתב הולך ומחשב בטבלת הניתוב או בטבלה של ה-IGP (במקרה זה RIP) את העלות הכוללת ליעד.

עוד יותר מוזר הוא שבפקודה show ip route אנחנו רואים שוב, את המטריקה המקורית, ולא את הכוללת. אולי בגלל שהמטריקה נלקחת מטבלת ה-BGP ("הטהורה").

מסקנות!

1. בסוגריים מוצג העלות (ב-IGP) להגיע לנתב שמחזיק את הניתוב (R0 מחזיק את 192.168.200.0).

2. בלי סוגריים מוצגת העלות ה-BGPית "הטהורה".

3. כדי לקבל חישוב כולל של העלות ליעד, עלינו להוסיף את ה"סוגריים" עם ה"בלי סוגריים". דרך R1 העלות היא 1001, ודרך R2 העלות היא 1011 (פחות טובה).

לכן התשובה היא C 🙂

להשאיר תגובה

הזינו את פרטיכם בטופס, או לחצו על אחד מהאייקונים כדי להשתמש בחשבון קיים:

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת / לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת / לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת / לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת / לשנות )

מתחבר ל-%s


%d בלוגרים אהבו את זה: