OSPF LSA Type 4 – למה צריך את זה בכלל ?

אני לומד עכשיו את נושא ה OSPF, ואחת השאלות שעלתה במוחי היא  -"למה צריך את ה LSA טייפ 4?"

בקצרה -באמצעות ה LSA  (מכל הסוגים) הנתבים ברשת OSPF מעבירים בניהם את טופולוגית הרשת, כל אחד את הטופולוגיה שלו לשכני ה OSPF שלו. ישנם מספר סוגי LSA's, מי שרוצה להרחיב יכול לקרוא על כולם פה.

כדי להמשיך בקריאת הפוסט חייבים להכיר את המושגים הנוגעים ל OSPF ברמת CCNA לפחות. למשל:  ABR, ASBR, Backbone, Router-ID, Redistribute וכו'.

לפני שאני מסביר בדיוק את השאלה של "למה צריך LSA  טייפ 4?", רצוי להבין נקודה מאד בסיסית הנוגעת לטופולוגית ה OSPF, אני אדגים אותה אחרי שאציג אותה :

נתב (למשל R1) ב area ספציפי יכול לתקשר עם נתב  ב AS אחר, רק באמצעות ה Router-ID שהוא מחזיק ב Type1 שלו, כי ה  router-ID שנמצא ב Type1 הוא ה Next Hop (הנתב הבא) אליו R1 יעביר את החבילות. זה אמנם נשמע לא הכי נהיר, אבל עד סוף הפוסט זה יהיה ברור.

אתחיל מהדוגמה הכי פשוטה שיכולה להיות :

as

3 נתבי OSPF, כולם באותו Area הלא הוא Area 0. עכשיו, R1 ו R2 עם ממשקי OSPF בלבד. R3 הוא ה ASBR – הוא מקשר בין ה AS האחר (במקרה הזה טופולוגית EIGRP המיוצגת גם ע"י R4). ז"א, ל R3 ממשק אחד המחובר ל area 0 ב OSPF וממשק אחד המחובר לרשת ה EIGRP שלנו . Redistribute הוגדר ב R3.

הדגש פה הוא על הנתון הבא : כל נתבי ה OSPF הם באותו "אזור " – Area 0.

אם נסתכל על ה DB של ה OSPF ב R2 נראה כך :

with out type 4

רשת 10.0.0.0 מפורסמת בעזרת LSA Type5, ו ה ADV Router הוא 3.3.3.3. עכשיו, מכיוון ש R2 ו R3 נמצאים באותו אזור – are 0, נתב R2 מכיל את ה ID  של R3 ב LSA Type1. אז יש לנו את הרשת אליה אנחנו רוצים להגיע – 10.0.0.0, ויש את הנתב דרכו צריכים לעבור,  ב Type1. האלגוריתם ידע להכניס מפה את הנתונים לטבלת הניתוב.

אך עכשיו כדי להבין את הצורך ב LSA Type4 נשנה את המצב. אני אעשה שני שינוים :

1. אחלק את ה AS של ה OSPF  לשני אזורים שונים. נתב R2 יהיה ב Area 1. נתב R3 ב Area 0. נתב R1 יהיה ה ABR. הנה, כך זה נראה :

as2

2. אוסיף ל R3 עוד רשת (ממשק Loopback) עם כתובת 3.3.3.3 ברשת ה OSPF. זה חיוני על מנת להבין יותר לעומק את תפקיד ה LSA TYPE4.

נסתכל עכשיו על ה DB שמחזיק R2  :

db after changing

הנה הנקודות שצריך לשים אליהן לב :

1. R2 אינו מחזיק יותר ב LSA TYPE1 את ה ID של R3. זה ברור למה – הם לא באותו אזור.

2. ב LSA TYPE3 מופיע ניתוב לרשת 3.3.3.3, שהיר רשת OSPF – באותו ה AS.

3. ישנו LSA TYPE4

עכשיו, מה שבלבל אותי כאשר התחלתי ללמוד את נושא ה DB של ה OSPF זה "למה בדיוק צריך את LSA TYPE4?"

הרי יש לנו את ה LSA TYPE5  שמראה לנו שרשת 10.0.0.0 מפורסמת ע"י נתב עם ID 3.3.3.3. וחוץ מזה, לפי ה LSA TYPE3,  כדי להגיע ל 3.3.3.3 אנחנו צריכים לעבור דרך 1.1.1.1, שאת ה ID שלו אנחנו כבר מחזיקים ב LSA TYPE 1. אז, שילוב של LSA TYPE 3 ו – 5  לכאורה אמור להספיק . . .

אבל לא כך היא. מדוע? משום שאנו אמורים להחזיק ב LSA TYPE1 את ה Router-ID של הנתב שהוא ה Next hop שלנו. אז אמנם LSA TYPE5 מספקת לנו את ה Router-ID  של הנתב המוביל ל 10.0.0.0 (זהו 3.3.3.3), ואמנם LSA TYPE 3  מספק לנו את ה next hop  להגעה לרשת 3.3.3.3 (דרך 1.1.1.1) . אבל זה לא מספיק. כדי להגיע לרשת ב AS אחר, צריך לקשר בין ה Router ID אותו סיפק לנו LSA TYPE 5, ובין ה Next hop שנמצא אצלנו ב LSA TYPE1. את כל זה עושה בשבילנו ב LSA TYPE 4  – הוא הדבק בין ה 3.3.3.3 ל 1.1.1.1 כ next hop שלו.

OSPF ב Packet Tracer

תוכנת ה Packet Tracer היא תוכנה מבית Cisco המאפשרת ליצור "סימולציית רשת/ות"  של מוצרי סיסקו, ובכך להתנסות במוצרי החברה מבלי לרכוש אותם. התוכנה מיועדת למשתמשים מתחילים בתחום התקשורת (עד רמת CCNA), להם היא אמורה להספיק. גם משתמש מתחיל מבין מהר מאד את מגבלות התוכנה ואת החסרונות שבה, וכנראה שבהמשך הוא ירצה לנסות ולהקדם למשהו קצת יותר מתקדם, אם הוא בוחר להמשיך להתמקצע בתחום התקשורת.

במאמר הנוכחי אני אציג את אחת המגבלות ששמתי לב אליהן בתוכנה. מדובר ביישום חלקי של פרוטוקול ה OSFP (פרוטוקול קוד פתוח, לא של סיסקו), הפרוטוקול מיושם אמנם בתוכנת ה Packet Tracer, אבל באופן חלקי בלבד, בעוד כמה שורות אראה את אחת הנקודות שבהן הוא מיושם באופן חלקי. המאמר לא ייתן פירוט נרחב על פרוטוקול ה OSPF, אלא סקירה קצרה ביותר של אחד ממאפייניו – המאפיין שלא מיושם ב Packet Tracer.

OSPF הוא פרוטוקול ניתוב דינאמי, אחד המאפיינים הבולטים שלו הוא Summariztion – היכולת לקבץ מספר שורות ניתוב של הרשתות אותן הוא מפרסם,  לשורה אחת. למה זה עוזר לנו בחיים? פשוט כי הנתבים שיקבלו את ניתובי ה OSPF (בעלי הסימן "O"), יקבלו למשל שורת ניתוב אחת במקום 10. הדבר יחסוך להם זמן ומאמץ עיבוד, ובכך יגביר את יעילות ותזמון הניתוב ברשת. הנתבים שמבצעים את ה Summariztion אלו נתבי ABR  שזה Area Border Routers – מונח מטופלוגיית הרשת שמיושם בפרוטוקול ה OSPF (להרחבה על המושג – אנא לגגל).

ניתן את הדוגמה הכי פשוטה. נניח שיש לי נתב ABR – נתב שיושב על התפר בין שני "Area" . הראשון הוא Area 0 השני הוא Area 1. הנה איור המדגים זאת :

abrכאמור, הנתב המקשר בין שתי הרשתות הוא ה ABR, ונניח ששתי הרשתות ש מחוברות אליו הן 192.168.0.0 (ממשק ה ethernet) ו 192.168.1.0 (מחובר בממשק הסיריאלי). שתי הרשתות עם מיסוך 24. הפקודה שתבצע את פרסום הניתוב של שתי הרשתות היא כדלקמן :

ospf routeבעזרת ה OSPF Wildcard Mask ה ABR פרסם את שתי הרשתות בשורה אחת, אך אם נסתכל בנתב router1 שנמצא ב Area 0, נראה שאצלו הניתוב מתפרס על שתי שורות :

ospf routeכאמור, שתי הרשתות מכילות את אותו מסוך בדיוק, ולכן הגיוני שנוכל גם לאחד אותן. אם נרצה ליישם את ה Summariation של ה OSPF ולקבץ את שתי השורות לשורה אחת,  צריך להריץ בנתב המפרסם (ה ABR) בתוך הקונפיג של ה OSFP את  הפקודה הבאה :

area 1 range 192.168.0.0 255.255.254.0

*שימו לב שבניגוד לפרסום הרגיל שמתבצע עם Wildcard Mask, פה הפרסום הוא עם מיסוך רגיל.

אך כאשר נשים את פקודת ה area X בתוך ה Packet Tracer, נגלה שמיד לאחר מכן, אין לנו בכלל את האפשרות להמשיך עם המילה range  . . .

ospf area

דוגמה קטנה אחת (מיני רבות) למגבלות והחסרונות ב Packet Tracer.