Home CCNA הסבר והגדרת OSPF

הסבר והגדרת OSPF

2 comments
נהנתם מהמאמר ? שתפו אותו!

הסבר והגדרת OSPF

OSPF הוא פרוטוקול ניתוב דינמי מסוג Link State זאת אומרת שהוא תמיד מחזיק מפה מלאה של טופולוגיית הרשת, במאמר זה נבין כיצד הוא עובד ונבצע בסוך מעבדה על מנת להגדיר OSPF תקין.
OSPF למעשה עובד על פי אזורים, על מנת למנוע עומס ברשת הוא מחלק את הרשת לאזורים (את החלוקה אתם קובעים) סיסקו ממליצה שלא יותר מ50 ראוטרים יהיו באזור אחד.
האזור שחייב להיות בכדי שOSPF יתפקד הוא אזור "0" שמוגדר כ Backbone Are ואליו כל האזורים האחרים חייבים להתחבר ודרכו להעביר את המידע (לא יהיה מצב בו אזור 4 מעביר מידע לאזור 8 מבלי לעבור קודם באזור 0)

LSDB – קיצור של Large Link State Database כיוון שOSPF הוא מסוג Link State הוא מכיל את כל טופולוגיית הרשת ולכן נחשב לטבלה גדולה, נוסף על כך אם לא מבוצע Summarization ידנית, OSPF לא יבצע זאת בעצמו ולכן הטבלה יכולה להיות דיי גדולה (תלוי בגודל הרשת)
גם אם הראוטר לא משתמש בנתיב זה על מנת להגיע לאותה הרשת הוא חייב לרשום אותה בLSDB.

SPF Algorithm – כל שינוי ברשת מחייב את האלגוריתם לבצע חישוב מחדש ולכן מבזבז המון על משאבים כאשר יש שינוי ולו הקטן ביותר ברשת.

על מנת שלא יהיה עומס מבחינת גודל טבלת הניתוב והחישוב של האלגוריתם OSPF מחלק את הרשת לאזורים.

תרשים זה מתאר בפשטות את האזורים אפשר לראות שבצד שמאל וימין יש 6 ראוטרים, כל 3 ראוטרים בכל צד מוגדרים באזור אחר, בצד שמאל אזור "1" ובצד ימין אזור "2" ולמעלה אזור "0" שהוא ה Backbone לרוב אזור זה לא מחובר למשתמשים (אני החלטתי כן לחבר משתמש לאזור זה) וכל שאר האזורים נקראים Non-Backbone

כל ראוטר מוגדר עם תפקיד מסוים:

הראוטרים באדום: הם Internal Routers

הראוטרים בירוק: הם ABR קיצור של Area Border Router
בגלל שהראוטרים בירוק והצהוב מחוברים אחד לשני (Directly Connected) הם למעשה Backbone Routers (כי הם מחוברים לאזור "0") ממש כמו הצהוב, אבל נוסף על כך הם Area Border Router

הראוטרים בצהוב: הם ה Backbone (אזור "0")

אם היה ראוטר כאן שמחובר לרשת העולמית הוא היה ה ASBR (הוסבר למעלה)

LSA

הוא קיצור של Link State Advertisement על ידי Packet זה הLSDB ממלא את כל הרשתות והנתיבים וכך למעשה מתעדכן.
קיימים 8 סוגים של LSA:

LSA Type 1: Router LSA

כל ראוטר יציף את הרשת (רק את ה Area בו הוא נמצא) ב LSA1 והוא יכיל את כל החיבורים הישירים לאותו הראוטר (Directly Connected) ופירסם אותם לאחרים

כתובות הרשתות, ה Prefix.

ארבע סוגים של פרסומים בתוך LSA Type 1

1. Neighbor Router ID

2. כתובת IP של ה DR

3. כתובת של כל רשת

4. Virtual Link של השכן Router Neighbor ID

LSA Type 2: Network LSA

הDR צריך לשלוח לכל הראוטרים האחרים את העדכון שהוא קיבל מכל ראוטר, זאת אומרת שהוא מקבל את ה LSA1 מכל ראוטר ואז מתחיל לשלוח LSA Type 2 לכל הראוטרים האחרים (כמובן שבתוך ה Area שהוא נמצא)

LSA Type 3: Summary LSA

הראוטר שהוא ABR (זה שעומד בין אזור אחד לאזור אחר, יבצע Flood ל Area 0 שממנו יופץ לשאר ה Area כך שכולם יקבלו LSA Type 3 Summary סוג של סיכום של כל הרשתות ששוכנות בכל אזור

LSA Type 4: Summary ASMBR LSA

תארו לכם ראוטר2 שמחובר לאזור 3 ברשת ה OSPF שלכם, ראוטר2 מחובר לראוטר7 שנמצא באזור 3, ראוטר2 משתמש בניתוב דינמי של RIP למעשה הראוטר7 שמחובר לראוטר2 הוא ASMBR מכיוון שראוטר7 מחובר לראוטר שמשתמש בפרוטוקול ניתוב אחר, ראוטר7 שקיבל ניתובים של RIP יעביר את זה ב LSA Type 1  לראוטר שנמצא בArea שלו אבל לא לסתם ראוטר לראוטר שהוא ABR זה שעומד בין ה Areaes והוא יבין שהוא קיבל מראוטר 7  שהוא ASMBR ולכן יצור LSA Type 4 ויעביר את זה ל Area0 וכך זה יופץ לכל האזורים וכולם ידעו על הניתובים של RIP

LSA Type 5: Autonomous System Extrenal LSA

כמו ב LSA Type4 יש לנו ראוטר עם RIP אבל הוא בגרסה RIPv2 שמכיל כעת Prefix /24 נאמר, לכן ה LSA Type5 הוא זה שיעביר את ה Prefix של הרשתות אל כל האזורים בדיוק כמו בLSA Type4 זאת ואמרת כל התהליך של LSA Type4 יקרה אבל אם יש Prefix יתווסף גם LSA Type 5 עם ה Prefix

LSA Type 6: Multicast OSPF LSA

לא בשימוש בסיסקו ואפילו סיסקו אוסרת על שימוש בתצורה זו , היא כן מאפשרת שימוש ב פרוטוקול PIM (קיים הסבר באתר)

LSA Type 7: Not SO Stubby Area LSA

בגלל LSA Type6 חסום, הוא מעביר במקומו את המידע על שנשלח לראוטרים ספציפיים

LSA Type 8: External Attribute LSA for BGP

יסוקר בהמשך

Router ID

הוא "השם הפרטי" של אותו הראוטר ברשת ה OSPF זאת אומרת הפרוטוקול יזהה את הראוטר שהוא מחובר אליו לפי ה Router ID, את ה Router ID ניתן להגדיר בכמה דרכים:

כתובת Loopback, הגדרה בOSPF, Router ID את הגדרות אלו נראה במעבדה.

סוגי רשתות בOSPF

Virtual Link – רשתות OSPF מרוחקות שאמורות להתחבר ל OSPF Area 0 שהוא ה Backbone

Point To Point – שתי ראוטרים שמחוברים בחיבור בו אין עוד ראוטרים בין נקודות מרוחקות (לרוב בWAN)

Point To Multipoint  – כמה ראוטרים שמחוברים בתצורת Hub And Spoke (קיים הסבר באתר נושא זה) על גבי רשת NMBA ולרוב זה בשביל לחבר סניפים, שלוחות של משרד גדול, בקצרה Hub And Spoke קיים "מפקדה" של משרד גדול ואליו מחוברים כל הסניפים, זה תצורת Hub And Spoke וכל זה מחובר ברשתות NMBA למשל Frame Relay

Nonbroadcast Multicass – ראוטרים שמחוברים אחד לשני ברשת שלא ניתן להעביר בה Broadcast כמו Frame Relay

Broadcast Multicass – ראוטרים שמחוברים ברשת רגילה בה עובר Broadcast בדיוק ההפך מ NMBA

Adjacencies

על מנת לקבל עדכונים על ניתובים שהשתנו, ניתובים חדשים ברשת וכו' חייב הראוטר ליצור "חברות" עם הראוטר שמחובר אליו ישירות (Directly Connected)

OSPF Designated

ברשת Multicass Network (רשת רגילה בה נשלחים Broadcasts) ישנם "חברויות" ששמם Adjacencies הראוטר בעצם יוצר "חברויות" Adjacencies בחברות זו הוא מקבל עדכונים על מצב הרשת, שינויים במצב הרשת וכו', חשוב לדעת שחברות זו נוצרת אך ורק בין ראוטרים שהם Directly Connected

DR And BDR

DR – בOSPF הפרוטוקול בוחר ראוטר שימש כ DR, קיצור של Designated Router אותו DR אחראי בעצם להפיץ ב Broacast את ה LSA לכלל הראוטרים ולעדכן אותם בטופולוגיית הרשת
ה"בחירות" של הראוטר שימש כ-DR הם על פי ה Priority שניתן להגדיר כפקודה, הטווח הוא בין 0-255 ככל שהPriority גדול יותר משאר הראוטרים כך הוא ייבחר כ-DR, אם תגדירו 0 ב Priority אז אותו הראוטר לא יוכל לעולם לשמש כ-DR, הברירת מחדל ב Priority של כל ראוטר הוא 1 ולכן אם תגדירו בעצמכם את ה Priority הבחירה של ה DR יהיה על פי 2 מנגנונים אחרים: Router ID או כתובת IP.
דרך נוספת היא הRouter ID הגדול ביותר ואם לא הגדרתם Router ID ידני, אז כתובת ה Loopback שהגדרתם תשמש כRouter ID ואם שניהם לא מוגדרים אז על פי כתובת ה IP הכי גבוהה במוגדרת באחד הפורטים בראוטר, לסיכום הRouter ID הגבוהה ביותר בכל הראוטרים הוא זה שיבחר להיות ה DR.

BDR – כאשר OSPF בחר DR הוא בוחר ראוטר שיהיה ה BDR קיצור של Backup Designated Router למעשה BDR הוא גיבוי לDR, במקרה והDR יפול ה BDR יחליף אותו בתור DR על ידי כך שהוא מאזין לרשת, ואם הDR מפסיק לשלוח הודעות Hello הוא יחשיב אותו כנפל וייקח פיקוד כDR
ה"בחירות" של הBDR הם כמו של ה DR רק של התוצאה השניה אחרי הDR, על פי Router ID במקום השני, וכמו שהוסבר למעלה, הגדרת ידנית של Router ID אם אין אז ה Loopback Address ואם את שניהם אז לפי כתובת ה IP הגבוהה ביותר בראוטר זאת אומרת הRouter ID הנמוך בפעם אחת מDR הוא יהיה ה BDR
כאן נתתי דוגמא לRouter ID שהוגדר ידנית על כל ראוטר:
1.1.1.1 = R1

2.2.2.2 = R2

3.3.3.3 = R3 יש לו את ה Router ID הנמוך יותר מהDR ולכן הוא BDR

4.4.4.4 = R4 יש לו ה Router ID הגבוהה ביותר ולכן הוא DR

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

1.1.1.1 = R1

2.2.2.2 = R2

3.3.3.3 = R3 הוא ה BDR

4.4.4.4 = R4 הוא הDR

5.5.5.5 = R5 הוא ראוטר חדש שנכנס הרגע, האם הוא יבחר מיד כ-DR? או האם כאשר R4 יפול האם הוא יקח את תפקיד הDR במקום ה BDR שהוא R3?

התשובה היא לא כאשר התפקידים לכל ראוטר DR או BDR חולקו, גם אם קיים ראוטר חדש עם Router ID גדול יותר הוא לא ישנה את התמונה, רק אם R3 ו R4 יפלו הוא יקח את תפקיד הDR (כנראה) לאחר בחירות מחודשות

Non-DR או BDR – כל ראוטר שאינו DR או הוא BDR יחשב בOSPF לDROTHER

LSA DR – כאשר ייבחר ראוטר כ-DR הוא זה שיפיץ את ה LSA לכל הראוטרים האחרים אבל לפני זאת כל ראוטר ישלח לראוטר DR את ה LSA שלו (שמכיל את הרשתות שהוא מכיר והגדרתם לו לפרסם)
ננסה להסביר זאת כך:
קיימים R1 R2 R3 R4 R5
R1 הוא ה-DR | והBDR הוא R4
R2 ישלח את ה LSA שלו לR1 שהוא ה DR ו לR4 שהוא ה BDR
R1 שהוא הDR יבצע Flood של ה LSA לכל שאר הראוטרים של ה LSA של R1

R3 ישלח את הLSA שלו לR1 ולR4 שהם ה DR והBDR
כעת R1 שהוא ה DR ישלח את ה LSA של R3 לכל הראוטרים.

בעצם על ידי מנגנון זה הDR אחראי על שליחה של כל הLSA לכלל הראוטרים והוא המפיץ הראשי
על מנת לזהות מיהו ה BDR או DR אפשר לבדוק על ידי בדיקה של הפורט או בדיקת השכנים (Adjacancies) ולבדוק אם הוא DR או BDR או DROTHER
לבדיקת שכנים: Show IP OSPF Neighbor
לבדיקת הפורט: Show IP OSPF Interface GigabitEthernet 0/1

ASBR

Autonomous System Boundary Router

ראוטר שמחובר באחד הפורטים שלו לרשת האינטרנט מוגדר כ-ASBR שהוא קיצור של Autonomous System Boundary Router, זאת אומרת שמוגדר לו פורטי עם Static Route ל 0.0.0.0 שכן נתיב זה מוגדר כ Default Route, חלק זה חשוב מאוד שכן אנו נרצה שנתיב זה יכירו כל הראוטרים ברשת וידעו איזה ראוטר יודע לצאת לאינטרנט.
על מנת להגדיר זאת בראוטר יש להגדיר IP Route Static ל 0.0.0.0 ולאיזה כתובת חיצוני הוא יוצא. ואז להגדיר את הפקודות

R1#conf t

R1(config)#router OSPF 1

R6(config-router)#default-information originate

Hello & Dead Intervals

על מנת שראוטר שמוגדר בו OSPF יתחיל בזיהוי "שכניו" Adjacencies ואותה שכנות תיווצר חובה שה Hello Time וה Dead Intervals Time יהיו זהים, ההגדרה חלה פר פורט שמחובר לאותו הראוטר נאמר R2 מחובר לR1 בפורט G0/0.
כברירת מחדל מוגדר 10 שניות Hello וכ- 40 שניות ל Dead Intervals זאת אומרת שHello ישלח כל 10 שניות ואם הצד השני לא ישלח Hello בתוך 40 שניות, הראוטר יחשיב אותו "כנפל".

OSPF Summarization

על מנת שהטבלה תהיה כמה שיותר קטנה OSPF מבצע "סיכום" לרשתות שדומות, נאמר יש לנו את הרשתות הבאים:

192.168.1.0

192.168.2.0

192.168.3.0

192.168.4.0

כולם הם Prefix של /24 אז ניתן לצמצם אותם ל 192.168.0.0/21 וכך למעשה לצמצם את הLSDB ולחסוך תעבורה ברשת, צמצום זה עובר בLSA Type3 (הוסבר למעלה)

OSPF Authentication

יכול להיות מצב בו תוקף (אדם מסוים) מצליח להכניס לרשת שלכם ואז התוקף יגדיר ראוטר עם OSPF ID כמו זה שהגדרתם  וכך אותו הראוטר יקבל עדכונים על הרשתות ולמעשה עלול לגרום לבעיות ברשת.
על מנת למנוע מדבר כזה לקרות ניתן להגדיר תצורה מסוימת של אבטחה.
Null – זה המצב הרגיל בו אין הגדרה של סיסמא בין הראוטרים
Password – הגדרה של סיסמא פשוטה, לא מוצפנת ונמצאת כ Clear Text
MD5 – סיסמא שמוצפנת (באמצעות MD5) ואבטחה זו היא המומלצת ביותר.
תצורת אבטחה זו קובעת שיש Secret Key נאמר והוא Tal ברגע שיוצא Update Packet של OSPF הוא מוצפן באותו ה Secret Key החבילה וה Secret Key ביחד נקראים Hash Value אותו Hash למעשה אומר לראוטר שמקבל את החבילה האם לסמוך על עדכון זה. המידע העובר ב MD5 הוא לא כזה מוצפן ודיי קל לקריאה ולכן אינו מוגדר כאבטחה אשר מצפינה את המידע.
נסביר זאת כך: R1 מוגדר לו MD5 Authentication עם הסיסמא Tal.
R2 מוגדר לו בדיוק כמו שמוגדר לR1
R2 שולח עדכון ל R1 וכמובן מגדיר עם הסיסמא את ה Hash Value התוצאה היא ה Packet וה Hash Value של 74d25dae65d9e1bfe851af474fba7b1f, ברגע שהחבילה מגיע ל R1 הוא בודק עם הסיסמא Tal מה הHash Value שנוצר ומתאם זאת עם ה Hash שהתקבל וכך יודע אם לסמוך על חבילה זאת.
למה אמרתי שזה לא מצפין את המידע, קחו את ה Hash הזה 74d25dae65d9e1bfe851af474fba7b1f וכנסו לכל אתר שמבצע MD5 Decrypt ותבדקו מה התוצאה.

 

 מעבדה

להורדת המעבדה

לפניכם רשת המחלוקת ל 3 אזורים,

Area 0

Area 1

Area 2

במעבדה זו נגדיר את האזורים ואת OSPF על מנת שהרשת תתפקד כראוי

 


 

נתחיל עם R6

R6>en

R6#conf t

R6(config)#router ospf 1

R6(config-router)#network 192.168.1.0 0.0.0.255 area 2

R6(config-router)#network 172.16.30.0 0.0.0.255 area 2

נעבור לR1

R1>en

R1#conf t

R1(config)#router ospf 1

R1(config-router)#network 192.168.2.0 0.0.0.255 area 2

R1(config-router)#network 172.16.40.0 0.0.0.255 area 2

כעת נעבור לR10

R10>en

R10#conf t

R10(config)#router ospf 1

R10(config-router)#network 172.16.30.0 0.0.0.255 area 2

R10(config-router)#network 172.16.40.0 0.0.0.255 area 2

R10(config-router)#network 172.16.70.0 0.0.0.255 area 0

R10(config-router)#network 172.16.10.0 0.0.0.255 area 0

נעבור ל R7

R7#conf t

R7(config)#router ospf 1

R7(config-router)#network 192.168.3.0 0.0.0.255 area 1

R7(config-router)#network 172.16.50.0 0.0.0.255 area 1

נעבור לR8

R8#conf t

R8(config)#router ospf 1

R8(config-router)#network 192.168.4.0 0.0.0.255 area 1

R8(config-router)#network 172.16.60.0 0.0.0.255 area 1

נעבור לR9

R9>en

R9#conf t

R9(config)#router ospf 1

R9(config-router)#network 172.16.60.0 0.0.0.255 area 1

R9(config-router)#network 172.16.50.0 0.0.0.255 area 1

R9(config-router)#network 172.16.70.0 0.0.0.255 area 0

R9(config-router)#network 172.16.20.0 0.0.0.255 area 0

נעבור לR11

R11#conf t

R11(config)#router ospf 1

R11(config-router)#network 172.16.20.0 0.0.0.255 area 0

R11(config-router)#network 172.16.10.0 0.0.0.255 area 0

כל הזכויות שמורות לטל בן שושן – Shushan.co.il

הורדת המעבדה (מוכנה)

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

2 comments

tomgar -

אבל איך מגדירים לו סיסמא??

Reply
Tal Ben Shushan -

היי,
לא הסברתי זאת במאמר, אבל תוכל לבדוק באתר של סיסקו

Reply

Leave a Comment