הסבר והגדרת EIGRP
המאמר מחולק לחלקים בגלל אורכו:
חלק א'
EIGRP הוא קיצור של Enhanced Interior Gateway Routing Protocol, הוא פרוטוקול של חברת סיסקו ועד עכשיו היה שייך אך ורק לראוטרים שלה, לאחרונה פתחה סיסקו את EIGRP לכלל החברות ובכך תרמה לשימוש בפורטוקול ניתוב זה.
הוא פרוטוקול מסוג Distance Vector והוא כמובן Classless Routing Protocol.
DUAL – הוא משתמש באלגוריתם DUAL שהוא קיצור של Diffusing Update Algorithm והוא מבטיח שהרשת היא Loop Free (שאין בה Loop), יצירת ניתובים יעלים מהירים ואמינים, יצירת נתיב גיבוי לנתיב הראשי (שהוא שומר אצלו כך שאם יש נפילה בנתיב מסוים הוא מעלה את נתיב הגיבוי במהירות, אבל זה לא קל כאשר עלול להתרחש Loop בניתוב
הוא משתמש בכמה מונחים:
כל הזכויות שמורות לטל בן שושן – Shushan.co.il
Successor
הוא הראוטר שדרכו יעבור מראוטר אחד לראוטר שני Packet אשר מיועד לרשת שהוא יכול להגיע אליה
D 192.168.1.0/24 [90/28416] via 172.16.30.1, 00:00:12, GigabitEthernet2/0
הכתובת המודגשת זה ה Interface של הראוטר שהוא Successor שכן הדרך להגיע לרשת 192.168.1.0 (הדרך הטובה ביותר שמחוברת גם ישירות לראוטר) הוא הראוטר שהפורט עם הIP 172.16.30.1 ולכן הוא Successor
Feasible Distance
הוא הMetric (החישוב של ה Metric שהוא Dely + Bendwidth) הנמוך ביותר, על מנת להגיע אל היעד (מוסבר בהמשך בהרחבה) הוא מודגש למטה כאשר בודקים את טבלת הניתוב
D 192.168.1.0/24 [90/28416] via 172.16.30.1, 00:00:12, GigabitEthernet2/0
Feasible Successor – אלגוריתם DUAL יכול כמו שהסברתי מקודם לבצע עלייה מהירה (התכנסות מהירה) כאשר יש שינוי בטופולוגיית הרשת (נפל חיבר, התנתק,ראוטר נפל וכו') וללא צורך לחשב את הדרך החדשה מכיוון שהוא עושה זאת עוד בהתחלה הוא מחשב את ה Feasible Distance ואז את ה Feasible Successor
זה ראוטר שכן שאין בו Loop ודרכו גם ניתן להגיע אל אותו היעד, כיצד הוא מגלה את הנתיב הנוסף?
על ידי Advertised Distance – כאשר הוא מחשב את ה FD (קיצור של Feasible Distance) הוא מחשב את כל הדרכים ליעד הוא מגלה R1 הוא הדרך הטובה ביותר וקובע שזה הSuccessor שלו, ואז הוא מקבל Feasible Condition שR2 הוא דרך נוספת להגיע ליעד אך ה Feasible Distance נמוך יותר מR1 ולכן R2 עומד ב Feasible Condition ונבחר להיות ה Feasible Successor
נאמר וקיימים R1,R2,R3 מחוברים בEIGRP
R1 שולח Update (איזה רשתות הוא מכיר) לR2,R3
R1 כעת מקבל Acknoledge (שהם קיבלו את העדכון) מ R2 וR3
כעת R1 שולח Query ל R2 וR3 (שואל איזה רשתות הם מכירים)
R2 ו R3 מחזירים הודעת Ack לR1 (שהם קיבלו את הQuery)
וכעת R2 וR3 שולחים Reply בו הם שולחים את הרשתות שהם מכירים לR1
לסיום R1 שולח Ack
נוכל להקיש את הפקודה בראוטר:
R11#show ip eigrp topology
P 172.16.60.0/24, 1 successors, FD is 3072
via 172.16.20.1 (3072/2816), GigabitEthernet1/0
פקודה זו תציג את כל טופולוגיית הרשת של EIGRP, לקחתי את אחד הנתיבים והדבקתי מתוך כל הטופולוגיה.
האות P – זה קיצור של Passive זאת אומרת DUAL מניח כי ניתוב זה במצב המתנה ואינו כרגע משתנה כי אין שינוי בטופולוגיה ואם היה אז האות שהייתה רשומה היא A קיצור של Active שכרגע אומר ש DUAL מחפש ניתוב חדש.
172.16.60.0/24 – הרשת שהיא היעד של הניתוב
1 successors – אם יש כמה נתיבים עם Cost שווה אז יש יותר מדרך אחת להגיע אל היעד(כרגע יש רק אחד)
FD is 3072 – קיצור של Feasible Distance שהסברתי למעלה ו3072 הוא החישוב של ה Metric
via 172.16.20.1 – כתובת הIP שדרכה נצא אל הרשת המיועדת
(3072/2816) – 2816 הוא ה Metric של הראוטר השני דרכו ניתן להגיע אל אותה הרשת.
אך נראה Feasible Seccessor
R11#show ip eigrp topology
P 172.16.70.0/24, 2 successors, FD is 3072
via 172.16.10.1 (3072/2816), GigabitEthernet0/0
via 172.16.20.1 (3072/2816), GigabitEthernet1/0
גם כאן לא רשמתי את כל טבלת הטופולוגיה אך ניתן לראות שעל מנת להגיע לרשת 172.16.70.0/24 אני יכול להגיע ב2 דרכים שרשומים מתחת לרשת זו.
R11#show ip eigrp topology
P 172.16.70.0/24, 2 successors, FD is 3072
via 172.16.10.1 (3072/2816), GigabitEthernet0/0
via 172.16.20.1 (3072/3012096), GigabitEthernet1/0
Neighbor Adjacencies – כמו ב OSPF גם כאן ה EIGRP יוצר "חברות" עם ראוטרים אחרים שמחוברים אליו ישירות וזאת על מנת ללמוד על הרשתות ועל הפרטים של כל ראוטר וראוטר.
R11#show ip eigrp topology
P 172.16.70.0/24, 2 successors, FD is 3072
via 172.16.10.1 (3072/2816), GigabitEthernet0/0
via 172.16.20.1 (3072/3012096), GigabitEthernet1/0
בתצורה הזו, סימנתי לכם בצבעים על מנת שאוכל להסביר מה כל אחד אומר:
3072 – Feasible Distance חישוב הMetric אל היעד שהוא הקצר ביותר
GigabitEthernet0/0 – הוא ה- Successor דרכו ניתן להגיע לרשת זו בדרך הטובה ביותר
3012096 – Advertised Distance המרחק שפרסם הראוטר השכן והוא למעשה הדרך השניה הטובה ביותר
GigabitEthernet1/0 – דרך פורט זה לא יעבור המידע שכן הוא אינו ה"יורש" Successor
RTP – הוא קיצור של Reliable Transport Protocol והוא ייחודי ל EIGRP ומוודא את הגעת הPackets ל EIGRP, הוא אחראי לקבל ולשלוח אותם והוא תוכנן להיות עצמאי ממש כמו TCP (והוא אינו משתמש בTCP)
מה שמייחד פרוטוקול זה הוא שהוא יכול להיות "אמין" ו"לא אמין" זאת אומרת ממש כמו TCP ו UDP יחד, למשל EIGRP Update נשלח באופן "אמין" ו EIGRP Hello נשלח באופן "לא אמין"
הוא מסוגל לשלוח הודעות אלו ב Multicast או Unicast (אם זה Multicast הכתובת היא: 224.0.0.10)
סוגים של EIGRP Packets
Hello Packets – נשלח על מנת לזהות וליצור Adjacencies (חברות) עם ראוטר אחר שמחובר אליו, נשלח על ידי RTP לא אמין וב Multicast בכתובת 224.0.0.10
כאשר ראוטר מחובר לראוטר הם בעצם במצב Directly Connected במצב זה הם שולחים Hello Packets על מנת ליצור Adjacencies , חברות, שותפות, בשליחת ה Packet שאינה אמינה כפי שציינתי קודם ובגלל זה המקבל אינו שולח ACK Packet חזרה, הוא שולח Hello כל 5 שניות ואילו ברשתות איטיות או רשתות NBMA (שאסור לשלוח הם Broadcast) או חיבור Frame Relay הם נשלחים כל 60 שניות.
זאת אומרת שכל עוד ראוטר מקבל Hello מראוטר אחר, הראוטר הזה תקין ועובד. אבל אחרי כמה זמן? ובכן לEIGRP יש מנגון המוגבל בזמן שנקרא Hold Timer הוא פי 3 מהזמן של שליחת Hello (5 שניות) זאת אומרת 15 שניות וברשתות איטיות כמו שהסברתי למעלה זה 180 שניות.
אם לא התקבל הודעת Hello בטווחי זמן אלו, הראוטר יחשיב ראוטר זה כנפל וDUAL יחפש דרך אחרת להגיע לרשתות חוץ מראוטר זה.
Updates Packets – מפיץ עדכונים על ניתובים לשכנים (Adjacencies ) , נשלח בRTP אמין וגם ב Multicast
הוא נשלח רק כאשר הראוטר מבקש זאת וכאשר 2 ראוטרים או יותר מבקשים זאת הוא משתמש ב Multicast והוא שולח אך ורק להם ומתי שהם מבקשים זאת לעומת RIP ששולח כל X שניות את הניתוב שהוא מחזיק.
או שקרה שינוי בטופולגיית הרשת (נפילה,שינוי,נתיב חדש וכו')
Query Packets – אלגוריתם ה DUAL משתמש ב Query כאשר הוא מחפש רשתות, דוגמה לQuery, ראוטר1 הבחין שרשת 192.168.50.0 נפלה, אז הוא שולח Query ב Multicast לכל הראוטרים השכנים שלו בשאלה: האם אתם מכירים דרך נוספת ל192.168.50.0 ואז הם עונים לו ב Replay (שהוא גם RTP אמין) ולא משנה אם הראוטרים מכירים או לא מכירים דרך ל192.168.50.0 הם חייבים לענות ב Replay ולאחר מכן ראוטר1 שקיבל את הReplay חייב להגיב ב ACK
אם ראוטר עם EIGRP מעוניין לדעת על נתיב מסוים או לתשאל כל דבר אחר הוא משתמש ב Query Packet (הוא נשלח ב RTP אמין וב Unicast או Multicast)
Replay Packets – נשלח בתגובה ל Query ( נשלח באופן אמין ו Unicast)
Acknowledgment Packets – הEIGRP משתמש ב ACK כאשר משתמשים ב RTP "אמין" וזאת על מנת ליידע את המקבל (שהוא שלח אליו באופן אמין) על הודעות שהוא קיבל (הוא הACK נשלח בRTP לא אמין, ובUnicast) זאת אומרת הודעות כמו Query, update וReplay
הודעות אלו Encapsulate בתוך ה IPv4 בתא 88
Partial & Bounded Updates – שלא כמו ב RIP פרוטוקול EIGRP לא שולח הודעות Hello כל X זמן והניתובים אינם תקפים בזמן ולכן הוא יכול לשלוח Partial Update בו הוא משנה נתיב אחד , מספר על נתיב חדש, או שנתיב מסוים קרס.
Bounded אומר שהעברת הודעות אלו (הPartial Update) יועברו רק לראוטרים שמושפעים משינוי,מחיקה,עדכון,נפילה של נתיבים אלו.
Equal And Unequal Load Balancing – פרוטוקול ה EIGRP תומך ב"איזון" השרת, זאת אומרת להחליט מאיפה יעברו חבילות ולאיפה והאם החבילות יעברו באופן שווה בנתיבים או לא.
PDMs – ל EIGRP יש את היכולת לתמוך בכמה פרוקטוקולים כמו IPv4 ו IPv6 וגם Novell,IPX , AppleTalk וכו' ומטרתו היא לקבל ולשלוח Packets של EIGRP בתוך IPv4 Packet וכך מודיע לאלגוריתם DUAL שמידע חדש התקבל וכך EIGRP מתשאל את DUAL שיקבל החלטות ניתוב (הניתובים נשמרים בטבלת הניתוב)
הPDM אחראי על שמירת טבלת הטופולוגיה של הרשת ושל הראוטרים השכנים, תיווך בין הEIGRP Packet שנמצא בתוך ה IPv4, חישוב ה Metric והעברתו לDUAL על מנת שיקבל החלטה באיזה נתיב להשתמש,
Encapsulating EIGRP Inside IPv4
EIGRP Packet מוכנסת (Encapsulate) בתוך IPv4 Packet , ה EIGRP Packet בנוי מכמה תאים: Type, Length, Value או אך שסיסקו קוראים לזה TLV שמכיל בתוכו EIGRP Parameters, IP Internal,IP External
ה EIGRP Header מוכנס לכל EIGRP Packet כך ה EIGRP Header וה TLV מוכנסים לתוך ה IPv4 Packet ולאחר שהוא מוכנס, מבוצע שינוי בתא הפרוטוקול בתוך IPv4 Header למספר 88 שמסמן כי שהפרוקטול הוא EIGRP (היעד הוא Multicast: 224.0.0.10) וגם ה Ethernet Frame היעד הוא Multicast ל 01:00:5E:00:00:0A
TLV
בתא ה EIGRP Header קיימים התאים:
Autonomous System Number – ומסמן איזה מספר של EIGRP הוא שייך (סיסקו קוראת לזה "מספר תהליך ה EIGRP) (מספר זה אתם קובעים בזמן הגדרת EIGRP.)
OPcode – אשר מסמן איזה סוג של הודעה זו, Update – Query – Replay – Hello?
Ack – האם ההודעה התקבלה
Sequence – איזה חלק מה Packet
בתא ה EIGRP Parameters קיימים התאים:
Weights – כובד הקו , זאת אומרת כמה הקו עמוס וכך לחשב האם הנתיב מהיר או לא
Hold Time – כמה זמן יחכה הראוטר עד שלא יקבל הודעת Hello מהראוטר השכן שלו ויכריז עליו כנפל
בתא ה IP Internal Routes קיימים התאים:
Metric – רוחב הפס ה Bandwidth, מהו רוחב הפס של כל Interface שעבר ה EIGRP בדרך ובנוסף ה Delay של כמה הקו הזה איטי ב10 מיקרו שניות
Perfix – מהו ה Subnet Mask של הרשת
Destination – לאיזה רשת הנתיב הזה שייך, לדוגמה 192.168.1.0
בתא ה IP External Routes קיימים התאים:
כאשר ניתובים חיצוניים, מפרוטוקולים אחרים כמו RIP OSPF או Static Route יש לו תאים כמו Orginating Routers – מאיפה הניתוב הגיע, מה ה Next Hop וכו'
חלק ב'
Autonomous System Number
כאשר אתם מעוניינים להגדיר את פרוטוקול EIGRP ברשת עליכם להשתמש בפקודה
Router(config)#router eigrp 100
מה שסימנתי באדום, המספר 100 הוא Autonomous System, הוא אינו משוייך לרשתות חיצוניות ולפרוטוקולים כמו BGP ולכן הוא AS (קיצור של Autonomous System) פנימי ולא חיצוני
כל מספר AS חיצוני שייך לIANA ארגון האינטרנט העולמי (אותו ארגון שאחראי על כתובות IP חיצוניות) וקיימים מעל 4 מילארד מספרי AS, לרוב כל ארגון גדול, חברה, ספקית, אקדמיה וכו' מחזיקים AS משלהם ועל מנת להתחבר זה לזו הם משתמשים בפרוטוקול ניתוב בשם BGP והוא היחיד שמתמש בAS חיצוני לעומת EIGRP שמשתמש בAS פנימי.
אסביר בהרחבה, לחברות הבאות יש את הרשתות הבאות:
חברת "ישראל" – רשת א' – צורת ניתוב: EIGRP
חברת "דוד" רשת ב' – צורת ניתוב: OSPF
חברת "שלום" רשת ג' – צורת ניתוב: EIGRP
חברת "לאומי" רשת ד' – צורת ניתוב: OSPF
כל החברות האלו מחוברות לספקית
הרשתות למעלה משתמשות בפרוטוקולי ניתוב פנימיים (Internal Routing Protocols) למשל ב OSPF או בEIGRP וRIP וכל הרשת נשלטת על ידי חברה אחת (כמו בהסבר למעלה) כל החברות האלו מפרסמות ניתובים ל ISP לספקית על מנת לפרסם את הניתובים ולהיות מחוברים אליה, הם משתמשים ב BGP ובAS חיצוני אך לא כל ארגון גדול צריך AS חיצוני חלק מהחברות פשוט משתמשות ב AS של הספקית כך הם בתוכם משתמשים בפרוטוקולי ניתוב פנימיים (EIGRP, OSPF,RIP) ומעליהם יישות גדולה עם AS חיצוני והיא הספקית שאחראית על כל הניתובים ברשת שלה עצמה וגם ברשתות מחוצה לה שהם AS חיצוניים אחרים.
מאפייני ה EIGRP
Router ID – על מנת לזהות כל ראוטר (כמו בOSPF) יש לתת ID לכל ראוטר כך הוא יזוהה ברשת ובפרט בפרוטוקול ה EIGRP, הID נקבע על פי כמה קריטריונים:
פקודה:
Router(config)#router eigrp 100
Router(config-router)#eigrp router-id 1.1.1.1
דרך נוספת היא Loopback Address
Router(config)#interface loopback 0
Router(config-if)#ip address 1.1.1.1 255.255.255.0
Passive Interface
ברגע שהמוגדר EIGRP, הפרוטוקול בעצם מנסה למצוא "חברים" Adjcancies עם ראוטרים אחרים שמחוברים אליו, ניתן להגדיר על פורט Passive Interface וכך בעצם למנוע "חברויות" מעבר לפורט זה עם ראוטר שמחובר , נוסף על כך לא יהיו עדכוני EIGRP
Neighbor Adjacencies
עוד לפני שפרוטוקול ה EIGRP מתחיל באמת לעבוד, הוא חייב ליצור "חברויות", "שותפות" עם ראוטר אחר שמחובר אליו ישירות מה שאנו מכירים בתור Directrly Conected, בעצם הראוטר כאשר מופעל EIGRP שולח הודעות Hello .
בהודעת הHello:
1. ראוטר1 שולח Hello לראוטר 2
2. ראוטר2 שולח Update Packet בה הוא שולח לו את הניתובים שהוא מכיר
3.ראוטר 2 כעת שולח Hello לראוטר1
כעת כל אחד מהם מחזיק טבלת Adjacencies בה הוא רושם את כל ה"שותפויות" שהוא יצר, הפקודה להצגת ה"שכנים" Show ip eigrp neighbors
Topology Table
לאחר הודעות ה Hello ויצירת ה Adjacencies כעת מתחיל להיווצר טבלת הניתוב הטופולוגית, בה מקבל הראוטר את הניתובים של הרשתות אליהם מחובר שכנו ושאר הרשתות ששכנו יכול להגיע אליהם,
נסביר זאת כך:
1. ראוטר1 שולח Update Packet לראוטר2 (מכיל את הרשתות שהוא מכיר ומחוברים אליו (ניתובים) וה Metric חישוב המרחק ליעד)
2. ראוטר2 שולח Acknoladge Packet לראוטר1 (מודיע לו שהוא קיבל את העדכון)
3. ראוטר2 שולח Update Packet לראוטר1 (מכיל את הרשתות שהוא מכיר ומחוברים אליו (ניתובים) וה Metric חישוב המרחק ליעד) (חוץ מהרשתות שהוא למד מראוטר1, חוק הSplit Horizon)
4. ראוטר1 שולח Acknoladge Packet לראוטר2 (מודיע לו שהוא קיבל את העדכון)
בסיום כל ראוטר יהיה במצב Full Convergence זאת אומרת שהם מתפקדים ומוכנים לשימוש ב EIGRP
הפקודה להצגת הטבלה: Show ip eigrp topology
Feasible Distance – Metric
כיצד מחשב EIGRP את הנתיב המועדף אל היעד, מהו הנתיב הטוב ביותר ליעד? (מהיר,אמין,קצר וכו')
Delay – ב10 מיקרו שניות, חישוב של הזמן בו לוקח לחבילה לעבור בתוך הפורטים (ניתן לומר בתוך כל הראוטר עצמו עד שיוצא לראוטר השני) מהמקור אל היעד והוא מחושב על פי החיבור\פורט וסוגו
GigabitEthernet – 10
FastEthernet –100
FDDI – 100
Token Ring – 630
Ethernet – 1000
Serial (T1) – 20000
56KB Connection – 20000
64kb Connection – 20000
1024KB Connection – 20000
המספרים המודגשים הם למעשה ה Delay Metric שהם מספרים ברירת מחדל לכל סוג חיבור (ניתן לשנות אותם ידני) והם מחושבים בשניות נאמר FDDI מחשוב לפי 100 מיקרו שניות
החישוב הוא כזה:
כל הדרכים אל היעד ה Delay שלהם בסה"כ:
מפורט 0/0 בראוטר1 (Delay 10 חיבור GigaEthernet)
לפורט 0/0 בראוטר2 (Delay 100 חיבור FastEthernet)
100 +10 = 110 Delay
Bandwidth – רוחב הפס האיטי ביותר בין כל הפורטים שהוא עובר בדרך אל היעד מהמקור אל היעד, הוא מחושב ב KB לשניה ורוב הראוטרים משתמשים בברירת מחדל של 1544KB או 1544000 בתים(1.54 מגה בית) ניתן להגדיר על ידי הפקודה
Router(config)#interface fastethernet 0/0
Router(config)#bandwidth 1024
1024 הוא למעשה 1024KB.
החישוב הוא כזה:
מפורט 0/0 בראוטר1 (רוחב פס של 1024kb)
לפורט 0/0 בראוטר2 (רוחב פס של 100000kb)
100000 חלקי 1024 = 97 תוצאת הרחוב פס היא 97 לחיבור זה בדרך אל היעד נאמר והיעד הוא מאחורי ראוטר אחד בלבד אז קיימים 2 Interfaces אל היעד (כך מחושבים כל הדרכים ברוחב הפס של EIGRP)
החישוב הסופי הוא של Bandwidth + Delay –
97 + 110 כפול 256 = 52992 או בשמו השני Feasible Distance
וכאשר תקישו את הפקודה Show IP Route תוכלו לראות אחרי הרשת את החישוב
שאר הפרמטרים לא חייבים בשימוש בגלל עודף הזמן שלוקח לחשב אותם ולכן לא מומלצים:
Load – הקישור העמוס ביותר אל היעד (חישוב של רוחב הפס האיטי ביותר של פורט בדרך + כמה זמן עד שה Packet עוזב את הראוטר) קישור בעומס גבוהה יחושב כפחות טוב על מנת להגיע אל היעד
Railability – מבוסס על KeepAlive שאומר ככל שהראוטרים בדרך אל היעד פחות אמינים להעביר מידע הם יחושבו כפחות טובים על מנת להגיע אל היעד
מעבדה א'
במעבדה זו נגדיר את EIGRP בכל הראוטרים
בR6:
R6#conf t
R6(config)#router eigrp 1
R6(config-router)#network 192.168.30.0 0.0.0.255
R6(config-router)#network 192.168.1.0 0.0.0.255
בR1:
R1#conf t
R1(config)#router eigrp 1
R1(config-router)#network 192.168.2.0 0.0.0.255
R1(config-router)#network 192.168.40.0 0.0.0.255
בR10:
R10#conf t
R10(config)#router eigrp 1
R10(config-router)#network 192.168.10.0 0.0.0.255
R10(config-router)#network 192.168.70.0 0.0.0.255
R10(config-router)#network 192.168.30.0 0.0.0.255
R10(config-router)#network 192.168.40.0 0.0.0.255
בR11:
R11#conf t
R11(config)#router eigrp 1
R11(config-router)#network 192.168.10.0 0.0.0.255
R11(config-router)#network 192.168.20.0 0.0.0.255
בR7:
R7#conf t
R7(config)#router eigrp 1
R7(config-router)#network 192.168.3.0 0.0.0.255
R7(config-router)#network 192.168.50.0 0.0.0.255
בR8:
R8#conf t
R8(config)#router eigrp 1
R8(config-router)#network 192.168.4.0 0.0.0.255
R8(config-router)#network 192.168.60.0 0.0.0.255
בR9:
R9#conf t
R9(config)#router eigrp 1
R9(config-router)#network 192.168.20.0 0.0.0.255
R9(config-router)#network 192.168.70.0 0.0.0.255
R9(config-router)#network 192.168.50.0 0.0.0.255
R9(config-router)#network 192.168.60.0 0.0.0.255
מעבדה ב'
אז בואו נגדיר קצת EIGRP,
ניכנס לRouter1
בפקודה router eigrp 100 אני מגדיר 100 על מנת להגדיר AS וחייב להגדיר כך גם בראוטרים האחרים!
Router(config)#router eigrp 100
Router(config-router)#network 192.168.2.0 0.0.0.255
Router(config-router)#network 192.168.1.0 0.0.0.255
Router(config-router)#network 192.168.4.0 0.0.0.3
אתם בטח שואלים הSubnet mask כזה, כיוון שאנחנו מגדירים לו Wildcard ולכן נגיד לו ההוסטים הם מ0 עד 255
ואילו ברשת 192.168.4.0/30 כיוון שהוא /30 אז נגיד לו שקיימים רק 2 Hosts ולכן נרשום 0.0.0.3
כעת נעבור לRouter0,
Router(config)#router eigrp 100
Router(config-router)#network 192.168.4.0 0.0.0.3
Router(config-router)#
%DUAL-5-NBRCHANGE: IP-EIGRP 100: Neighbor 192.168.4.1 (GigabitEthernet0/0) is up: new adjacency
Router(config-router)#network 192.168.5.0 0.0.0.3
ניתן לראות בסימון האדום שהוא יצר Adacency (שכנות)
*חשוב שתעקבו אחר טופולוגיית הרשת כמו בתמונה, א' כדי להבין ,ב' בשביל לא לטעות…*
כעת נעבור לRouter2
Router(config)#router eigrp 100
Router(config-router)#network 192.168.5.0 0.0.0.3
Router(config-router)#
%DUAL-5-NBRCHANGE: IP-EIGRP 100: Neighbor 192.168.5.1 (GigabitEthernet0/0) is up: new adjacency
Router(config-router)#network 192.168.3.0 0.0.0.255
נחזור כעת לRouter2 על מנת לבדוק כמה דברים… (זה הראוטר שילמד הכי הרבה ניתובים על פי הטופולוגייה שלנו…)
Router#show ip route
Codes: L – local, C – connected, S – static, R – RIP, M – mobile, B – BGP
D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area
N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
E1 – OSPF external type 1, E2 – OSPF external type 2, E – EGP
i – IS-IS, L1 – IS-IS level-1, L2 – IS-IS level-2, ia – IS-IS inter area
* – candidate default, U – per-user static route, o – ODR
P – periodic downloaded static route
Gateway of last resort is not set
D 192.168.1.0/24 [90/5632] via 192.168.5.1, 00:04:02, GigabitEthernet0/0
D 192.168.2.0/24 [90/5632] via 192.168.5.1, 00:04:02, GigabitEthernet0/0
192.168.3.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.3.0/24 is directly connected, GigabitEthernet0/1
L 192.168.3.1/32 is directly connected, GigabitEthernet0/1
192.168.4.0/30 is subnetted, 1 subnets
D 192.168.4.0/30 [90/3072] via 192.168.5.1, 00:04:02, GigabitEthernet0/0
192.168.5.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.5.0/30 is directly connected, GigabitEthernet0/0
L 192.168.5.2/32 is directly connected, GigabitEthernet0/0
כל שורה המתחילה עם D היא למעשה רשת אשר נילמדה על ידי EIGRP וניתן לראות שהוא למד על כל הרשתות בטופולוגייה שלנו!
נבדוק את הפקודות להצגת הטבלאות שלמדנו למעלה,
טבלת הטופולוגיה,
ניתן לראות את ה FD שלמדנו עליו למעלה, וע"פ הוא מחשב את הדרך הטובה ביותר אל היעד ובנוסף ניתן לראות את הניתובים אל הרשתות
Router#show ip eigrp topology
IP-EIGRP Topology Table for AS 100/ID(192.168.5.2)
Codes: P – Passive, A – Active, U – Update, Q – Query, R – Reply,
r – Reply status
P 192.168.1.0/24, 1 successors, FD is 5632
via 192.168.5.1 (5632/5376), GigabitEthernet0/0
P 192.168.2.0/24, 1 successors, FD is 5632
via 192.168.5.1 (5632/5376), GigabitEthernet0/0
P 192.168.3.0/24, 1 successors, FD is 5120
via Connected, GigabitEthernet0/1
P 192.168.4.0/30, 1 successors, FD is 3072
via 192.168.5.1 (3072/2816), GigabitEthernet0/0
P 192.168.5.0/30, 1 successors, FD is 2816
via Connected, GigabitEthernet0/0
ניתן לראות בסימון האדום שהוא גם רושם את ה FD (מרחק לרשת + מרחק הראוטר אל הרשת)
טבלת השכנים, בה ניתן לראות את הראוטרים המחוברים אל Router2
Router#show ip eigrp neighbors
IP-EIGRP neighbors for process 100
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 192.168.5.1 Gig0/0 13 00:17:54 40 1000 0 10
טבלת ה Interfaces, אילו Interfaces משתתפים ב EIGRP
Router#show ip eigrp interfaces
IP-EIGRP interfaces for process 100
Xmit Queue Mean Pacing Time Multicast Pending
Interface Peers Un/Reliable SRTT Un/Reliable Flow Timer Routes
Gig0/0 1 0/0 1236 0/10 0 0
Gig0/1 0 0/0 1236 0/10 0 0
EIGRP Authentication
אם אתם רוצים לאבטח את הרשת שלכם ושEIGRP לא יפרסם את הרשתות לכל דורש בפרוטוקול EIGRP עליכם ליצור סוג של "מזהה" או "מפתח" שרק איתו אתם ראוטרים יכולים לבצע "שכנות" לראוטרים האחרים ברשת..
אז אך עושים את זה?
ניכנס לRouter2,
Router(config)#key chain Tal
Router(config-keychain)#key 1
Router(config-keychain-key)#key-string t@l
Router(config-keychain-key)#exit
Router(config-keychain)#exit
Router(config)#interface g0/0
Router(config-if)#ip authentication key-chain eigrp 100 tal
Router(config-if)#ip authentication mode eigrp 100 md5
Router(config-if)#
%DUAL-5-NBRCHANGE: IP-EIGRP(0) 100: Neighbor 192.168.5.1 (GigabitEthernet0/0) is down: authentication mode changed
ניתן כעת לראות שהEIGRP בינהם נפל, בגלל שעכשיו Router0 אין לו את המפתח על מנת ליצור Adjency
נכנס ל Router1,
נגדיר הכל אותו דבר חוץ מהפורט שהוא שונה
Router(config)#key chain Tal
Router(config-keychain)#key 1
Router(config-keychain-key)#key-string t@l
Router(config-keychain-key)#exit
Router(config-keychain)#exit
Router(config)#interface g0/1
Router(config-if)#ip authentication key-chain eigrp 100 tal
Router(config-if)#ip authentication mode eigrp 100 md5
וכעת נבצע גם את זה בRouter1…