‏הצגת רשומות עם תוויות CCNP. הצג את כל הרשומות
‏הצגת רשומות עם תוויות CCNP. הצג את כל הרשומות

1 בינו׳ 2015







BGP Regular Expression

התמונה באה להמחיש, זה לא מדענות חלל.. :)

בגדול בעולם שלנו (עולם התקשורת) ברוב המקרים אנחנו משתמשים בפונקציה זו על מנת לפלטר\למצוא ניתובים שנמצאים תחת (AS (Autonomous System מסוים בפרוטוקול BGP, לכן המאמר ברובו הולך להתייחס לשימוש שלנו באמצעות Regexp בתוך BGP.
** חשוב לציין כי דרושה היכרות עם פרוטקול BGP על מנת להבין לעומק את המדובר במאמר.

בתוך BGP אנחנו יכולים לבצע סינון למאפיין ה- AS_PATH מתבצע באמצעות Regular Expressions בתוך BGP.
ה-Regular Expressions תואם את ערך ה-AS_PATH, שדה ה- AS_PATH יכול להרכיב את האלמנטים הבאים כגון: AS_SET (רשימה לא מסודרת של מספרי ה-ASים), AS_SEQUENCE (רשימה מסודרת של ה-ASים), AS_CONFED_SET, AS_CONFED_SEQUENCE שזה אותו דבר רק פה זה בתוך Confederations .
על מנת לתחום את ערך מאפיין ה-AS_PATH יש להסתכל על הערך שמגיע מהשכן עם מספר
ה-AS משמאל לימין.

על מנת לתחום את הנתב שמייצר את הניתוב יש להסתכל מימין לשמאל בערך ה-AS_PATH.
·    כאשר תוחמים את ערך מאפיין ה-AS_SET יש לסגור את מספרי ה-AS בתוך סוגריים מסולסלות – {100,200,300}.
     כאשר תוחמים נתיב בתוך Confederation יש לסגור את מספרי ה-AS בתוך סוגריים תוך שימוש
    ב-Backslash על מנת להימנע מהשימוש המיוחד בתו -    "  \(100\) "  

אנחנו הולכים לדון בתבניות היעילות ביותר בעת שימוש ב- Regular Expressions אשר מתאימות לעולם האמיתי.


תחילה ניזכר בערכים הבסיסיים של Regular Expressions:

 " . " – נקודה – משמע כל ערך.
" ? " – סימן שאלה – משמע חזור על הערך הקודם פעם אחת או אפס פעמים.
 " * " – כוכבית – משמע חזור על הערך הקודם אפס או מספר פעמים.
  " + " – פלוס – משמע חזור על הערך הקודם פעם אחת או יותר.
  " ^ " -  פסיק עליון – תואם את תחילת הערך (הערך השמאלי ביותר).
   " $ " – דולר – תואם את סוף הערך (הערך הימני ביותר)
   " [ ] " – סוגריים מרובעות – משמע טווח של מספרים.
   " _ " – קו תחתון – משמע זהו תו שתואם לרווח שמפריד בין ASים או הסוף של רשימת ה-AS PATH.

     פונקציה נוספת וחשובה מאוד ב- Regular Expressions כולל יצירת קבוצות והתייחסות לאחור.
ישנה אפשרות להשתמש בסוגריים על מנת לתחום מספרי ASים בצורה הבאה: (123 124 1+)  ולכל קבוצה מוצמד מספר שמתחיל משמאל לימין.
לדוגמא הערך  1 2 (3 4) 5 6 (7 8)   הקבוצה הראשונה היא קבוצה מספר 1 והקבוצה השנייה היא מספר 2.
ניתן לאחר מכן להחזיר את הקיבוץ באמצעות פקודות \1   \2     וכו'.. עבור מספרי הקבוצות.


עכשיו ניקח דוגמאות פרקטיות:

·         ^$ - ערך זה משמעו- מאפיין ה- AS PATH ריק, מה שאומר – ניתובים שנוצרו ב-AS המקומי.

·         ^254_ - ערך זה משמעו ניתובים שנתקבלו ישירות מ-AS 254.
 יש לשים לב לקו התחתון " _ " שהוא חשוב מאוד, כיוון שיכול להיות
AS סמוך שמתחיל במספר 254.

·         _254_ - ערך זה משמעו ניתובים שעוברים דרך AS 254, סימן הקו התחתון מחייב על מנת להפריד בין ה-ASים.

·         _254$ - משמע ניתובים שנוצרו ב-AS 254 – הביטוי תואם את ה-AS הימני ביותר (שם נוצר הניתוב).

·         ^ ([0-9] +) _254 – משמע ניתובים מ-AS 254 רק כאשר הם במרחק של HOP אחד בלבד.

·         ^254_ ([0-9] +) – משמע ניתובים משכן שהוא מקושר ישירות (DC) ל-AS 254.

·         ^(254_) + ([0-9]+) – משמע ניתובים מהקליינטים הסמוכים ל-AS 254 עם לקיחה בחשבון ש-AS 254 מבצע Prepend

·         ^254_ ([0-9] +_) + - משמע ניתובים שמתקבלים מקליינטים של השכן הסמוך AS 254 תוך לקיחה בחשבון שהשכנים מבצעים AS PATH Prepending.

·         ^\ (65009\) – משמע ניתובים שנלמדו משכן Confederation Peerשמספרו הוא 65009.


שימוש ב- Regular Expressions מבוצע בתוך IP as-path access-list בצורה הבאה:

ip as-path access-list


ה-as-path acl יכול להיות מופעל על שכן מסויים אמצעות Filter-list בצורה הבאה:

neighbor x.x.x.x filter-list {in | out}


אך יחד עם זאת הגישה הטובה ביותר להפעיל את ה-as-path acl היא תחת RM בפקודה הבאה:

route-map AS_PATH permit 10
match as-path
חשוב לזכור!

ניתן לבדוק את Regular Expressions בתוך טבלת ה-BGP באמצעות הפקודות:

show ip bgp Regexp < string>

Or
show ip bgp quote-regexp
הפקודה השנייה מאפשרת שימוש בפייפ  | על מנת לפלטר תוצאות.

מקווה שעזרתי.
לכל שאלה ניתן לפנות אליי במייל.



7 בינו׳ 2011

Routing Protocols - EIGRP




שלום לכולם,
מאמר זה הולך לדבר על פרוטוקול הניתוב EIGRP,
התמונה ממחישה EIGRP על גבי ענן Frame-Relay.
מאמר זה הוא הראשון בסדרה הקשורה לפרוטוקולי הניתוב השונים והם OSPF, BGP, RIP.

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

Distance Vector:
פרוטוקולים הנמנים תחת כותרת זו הם BGP,IGRP, RIPv1/v2 - (זהו הפרוטוקול אשר נמצא בשימוש האינטרנט) וכמובן הפרוטוקול שעליו אנו מדברים והוא EIGRP, סיסקו מכנה את EIGRP כפרוטוקול Hybrid וזאת כיוון שקיימים בו תכונות של של פרוטוקולים מסוג Link-State (נרחיב על כך בהמשך..).
פרוטוקולים מסוג DV הם פרוטוקולים אשר מתבססים על "שמועות" ומה זה אומר בעצם..
פרוטוקולים אלו בעצם מעבירים את טבלת הניתוב אל הנתבים השכנים.
מידע בנוגע לטבלת הניתוב נשלח בכל פרק זמן קבוע (בהתאם לפרוטוקול עצמו), במצב זה הנתב מכיר אך ורק את הרשתות שפורסמו אליו ולא מכיר את הרשת כולה.
כל פרוטוקול משתמש בשיטת חישוב הדרך אל היעד בצורה שונה ובכך בעצם מושפעת בחירת הנתיב הטוב ביותר  (Best Route).
לדוגמא פרוטוקול RIP משתמש בשיטת Hop Count בעצם כמה יעדים הוא עובר עד להגעה לנתיב היעד.
פרוטוקול EIGRP לעומת זאת משתמש בחישוב של מספר פרמטרים עליהם נרחיב בהמשך..

Link-State:
פרוטוקולים הנמנים בקבוצה זו הם OSPF, IS-IS.
פרוטוקולים אלו משתמשים בשיטה שונה לגמריי מזו של ה-DV, בשיטה זו כל נתב מכיר את כל היעדים לכל נתב ונתב ברשת ובכך מכיר את כלל הטופולוגיה וע"י כך הוא יודע לבחור את הנתיב הטוב ביותר לרשת היעד.
היתרון בשימוש בשיטה זו הוא מהירות התגובה בעת נפילה של נתב באמצע הדרך.
כיוון שהנתב מכיר את כל הרשתות אל היעד הוא יודע להחליף ניתוב בצורה מהירה מאוד ולהתאושש מנפילה.
פרוטוקולים אלו משתמשים בחישוב רוחב הפס (Cost) על מנת למצוא את הנתיב הטוב ביותר אל היעד (ארחיב על פרוטוקולים אלו במאמר הבא).

מכאן אנו מגיעים לחלוקת הפרוטוקולים לקבוצות וקיימות 2 קבוצות אשר כוללות את כלל הפרוטוקולים והם:


Interior Gateway Protocol - IGP
פרוטוקולים אלו הם בעצם פרוטוקולים אשר משמשים לניתוב פנים ארגוני, משמע הם מחזיקים טבלאות לא גדולות (יחסית) והם מודדים מרחק מנקודה לנקודה בהתאם לפרמטרים שצויינו לעיל, דוגמא לפרוטוקולים אלו הם, OSPF,RIP וכמובן EIGRP.

Exterior Gateway Protocol - EGP
פרוטוקולים אלו אינם משמשים למדידת מרחק מנקודה לנקודה אלא מאפשרים להשפיע על נקודת הכניסה והיציאה מהרשת, פרוטוקולים אלו משמשים את ספקיות האינטרנט על מנת להעביר תעבורה בינהן או לחילופין בין ארגונים גדולים לדוגמא - BGP.

** גם EGP מתחלק ל2 סוגים של תעבורה:
* האחד הוא Transit AS - שהוא בעצם משמש ספקיות אינטרנט בדר"כ.
* או לחילופין Stub AS אשר בדר"כ משמש ארגונים גדולים אשר לא מעבירים דרכם את תעבורת האינטרנט
  אלא משתמשים בו לצרכי הארגון בין הסניפים.

מכאן נמשיך לפרוטוקול שלשמו המאמר - EIGRP

* כפי שציינתי פרוקוטול EIGRP הוא פרוטוקול אשר נמנה עם פרוטוקולי ה-Distance Vector.
  בדומה לפרוטוקול OSPF גם EIGRP ניחן בזמן התכנסות מאוד גבוה ומאפשר חזרה מהירה מקריסה.
  החסרון היחיד של פרוטוקול זה שהוא שייך לסיסקו ולכן ניתן להשתמש בו רק על ציודים של סיסקו.
  מה שסיסקו עשו הם בעצם לקחו את פרוטוקול ה-IGRP ושיפרו אותו ובכך בעצם הפכו אותו לייחודי לסיסקו.

* פרוטוקול זה מוגדר לעבוד בשכבת התעבורה (4) במודל ה-OSI (ראה מאמר קודם),
מספר הפרוטוקול ID שלו בתוך ה-IP Header הוא 88, בנוסף EIGRP מוגדר כפרוטקול אמין Connection Oriented כיוון שהוא מכיל מנגנון ACK משלו, הוא אינו מתבסס על TCP

* EIGRP עובד בכתובת Multicast 224.0.0.10 ליצירת קשרי שכנות ושמירה עליהם, מה שהופך אותו ליעיל ביותר בעת פרסום עדכונים או הקמת קשרי שכנות כיוון שהוא אינו עושה זאת בצורת Broadcast בניגוד לפרוטוקולים אחרים דוגמת RIPV1, יתרון נוסף שקיים לEIGRP הוא שליחת העדכונים רק במצב שקרה משהו לדוגמא רשת נפלה, או שנוסף ניתוב - רק אז EIGRP מוציא עדכון לשכנים מה שנקרא Triggered Updates.

* נוסף על כך פרוטוקול זה מאפשר לבטל את פונקציית ה-Auto Summary ולכן EIGRP
הוא פרוטוקול מסוג Classless משמע הוא מפרסם את ה SM המקורי שהגיע ובכך מאפשר לנו להשתמש ב-VLSM.
במילים פשוטות אם היינו מפרסמים רשת עם SM של 27/ היינו רואים את ה-MASK המקורי ולא את זה של הרשת עצמה.

בקצרה אספר על IGRP:
נתחיל מכך שהוא אינו בשימוש בארגונים יותר, בניגוד ל-EIGRP לא ניתן לבטל את אופציית ה- Auto Summary מה שהופך את IGRP לפרוטוקול מסוג Classfull משמע הוא מפרסם את ה-Class המקורי של הניתוב, לצורך הדוגמא אם לקחנו רשת  10.1.1.0 וחילקנו אותה למספר תתי רשתות, מה שהיה קורה זה שלא משנה לאיזה SM היינו מחלקים הרשת הנתב המרוחק שהיה מקבל את הניתוב היה רואה את הרשת כ- 10.0.0.0/8 דבר שהיה משפיע על הניתוב כיוון שהנתיב מציג את עצמו כאחראי הבלעדי לרשת 10 ולכן לא היינו יכולים למקם אף נתב אחר עם כתובת זו.


נמשיך..

הפעלת פרוטוקול EIGRP היא מאוד פשוטה והיא מתבצעת בפקודה:

Router(config)#router eigrp 1  הספרה 1 מייצגת מספר אוטונומוס סיסטם שחייב להיות דומה בכל הנתבים

אך לפני שאנו ניגשים להסברים איך מפעילים את EIGRP על הממשקים עצמם חובה להכיר מספר תנאים אשר חייבים להתקיים על מנת שיתקיימו קשרי שכנות והם:

1. מספר ה-AS חייב להיות זהה על כל הנתבים.
2. ערכי ה-K-Values (ערכים על-פיהם נקבע הניתוב) חייבים להיות תואמים.
3. כתובת ה-IP חייבת להיות זהה על גבי הממשק - אך אורך ה-SM לא חייב להיות זהה (על בסיס כתובת ה-Primary על גבי הממשק).

* K-Values - ציינתי את ערכים אלו כתנאי ליצירת קשרי שכנות, אז מה זה בעצם K-Values?
נוסחת חישוב ה-Best Route של EIGRP מתבססת על מספר פרמטרים ואלו נקראים K, והם:

Bandwidth
Reliability
Delay
Load
MTU

כאשר לכל ערך יש מיקום בנוסחה, אך חשוב לציין שלא לכל ערך יש משמעות כיוון שלא כולם פעילים בנוסחה.
למעשה סיסקו ממליצה שלא לשנות ערכים אלו כיוון שהם יכולים להשפיע לרעה על ביצועי הנתב.
הערכים שכן נכנסים לנוסחה הם K1 ו- K3 שהם Bandwidth - Delay.
זה מה שנקרא Metric.

אני תמיד הייתי מבלבל בין Administrative Distance ל- Metric, אז ככה להבהרה ה-AD הוא בעצם האמינות של הפרוטוקול ביחס לפרוטוקולים אחרים המספר של EIGRP הוא 90 מבחינת ה-AD, דוגמא אחרת שהיא OSPF ה-AD שלו היא 110, מה שהופך את EIGRP לאמין יותר.
והעניין השני הוא ה- Metric שהוא בעצם החישוב של הפרוטוקול אל היעד, כך זה נראה בטבלת הניתוב:

האדום הוא ה- AD
הירוק הוא ה- Metric.

Router#sh ip route

Gateway of last resort is not set

     10.0.0.0/32 is subnetted, 3 subnets
D       10.1.2.1 [90/130816] via 192.168.1.1, 00:00:06, GigabitEthernet0/0
D       10.1.3.1 [90/130816] via 192.168.1.1, 00:00:06, GigabitEthernet0/0
D       10.1.1.1 [90/130816] via 192.168.1.1, 00:00:06, GigabitEthernet0/0

והחלק הפחות אהוב עליי.. :) הנוסחה לחישוב:

10^7/bandwidth+delay*256=FD

עכשיו אתם בטח שואלים מה זה FD??
אני אסביר...
כפי שהזכרתי למעלה, EIGRP יודע להחזיק 2 נתיבים אל היעד ואפילו להציג אותם בטבלת ניתוב ואפילו יותר מזה גם לעשות בינהם Load-Balance.
ולמה אני מזכיר את זה..
מהסיבה הפשוטה שמה שאנו רואים בטבלת הניתוב נקרא Successor שהוא בעצם הנתיב הטוב ביותר אל היעד- ומה זה הנתיב הטוב ביותר אל היעד, זהו בעצם ה-FD.
 וכפי שציינתי EIGRP יודע להחזיק 2 ניתובים (בעלי Metric זהה או שהוגדרו בפקודת Variance) ולכן הניתוב שלא נבחר לשמש כ- Best Route נקרא Feasible Successor.

FD- מייצג את ראשי התיבות Feasible Distance ובתרגום פשוט מה שזה אומר שהמרחק ממני עד לרשת היעד הוא בעצם מיוצג על ידי ה-FD (כולל כל הנתבים בדרך ליעד).

קיים עוד נתון אשר עוד לא דיברנו עליו והוא ה-AD:

AD- מייצג את ראשי התיבות Administrative Distance ובתרגום מה שאומר AD הוא בעצם המרחק של השכן שאליו אני מחובר אל רשת היעד.

להלן דוגמא שתעזור להמחיש את הקונספט של AD ו FD.


שימו לב שהנתב E השמאלי הוא רשת המקור, היעד שלנו הוא NET X שמקושר לנתב A.
לצורך הדוגמא נבחר את המסלול העליון.
ה-FD שלנו הוא המרחק בין נתב E לנתב A ז"א כל המסלול ולכן הוא גם נקרא Sucssesor.
ה-AD שלנו הוא המרחק בין נתב B לנתב A משמע המרחק של השכן שלנו מרשת היעד.


פרוטוקול EIGRP מחזיק במספר טבלאות ואלו שהופכות אותו להיות דומה לפרוטוקלים מסוג Link State והם:

Neighbor Table - טבלת השכנים, טבלה זו מציגה את כל השכנים המחוברים ישירות אל הנתב דוגמא להצגת השכנים ב-EIGRP בפקודה:

Router#sh ip eigrp neighbors
IP-EIGRP neighbors for process 1
H   Address                 Interface       Hold    Uptime   SRTT RTO  Q  Seq Type
                                                            (sec)                    (ms)          Cnt Num
0   192.168.1.1             Gi0/0             12    00:23:42  120   720    0      2


מה שניתן לראות בפלט מפקודה זו הוא:
1. את השכנים - בכתובת 192.168.1.1
2. האות H מייצגת את המילה Handle משמע סדר השכנים - מי עלה קודם.
3. על איזה ממשק הוא עלה.
4. Hold Time כמה זמן עד שהשכן נחשב כלא פעיל.
5. Up Time כמה זמן השכן למעלה.
6. SRTT - כמה זמן לקח לשכן להגיע ליעד ולחזור.
7. RTO - כמה זמן יש להמתין במידה ולא הגיע פקטה של Hello.
8. Q - כמה פקטות ממתינו ב-Queue.


Routing Table - הטבלה השניה היא כמובן טבלת הניתוב, טבלה זו מכילה את כל הניתובים לרשתות השונות ואת הממשקים המחוברים ישירות לנתב לדוגמא: 
Router#sh ip route

Gateway of last resort is not set

     10.0.0.0/32 is subnetted, 3 subnets
D       10.1.2.1 [90/130816] via 192.168.1.1, 00:30:12, GigabitEthernet0/0
D       10.1.3.1 [90/130816] via 192.168.1.1, 00:30:12, GigabitEthernet0/0
D       10.1.1.1 [90/130816] via 192.168.1.1, 00:30:12, GigabitEthernet0/0
     192.168.1.0/30 is subnetted, 1 subnets
C       192.168.1.0 is directly connected, GigabitEthernet0/0
שימו לב שישנה אות ליד כל ניתוב, האות D מייצגת רשת שנלמדה ע"י EIGRP והאות C מייצגת רשת שמחוברת ישירות לנתב.
 
Topology Table- הטבלה השלישית שקיימת בEIGRP היא טבלת הטופולוגיה, טבלה זו מכילה את כל הניתובים אל כל הרשתות כולל אלו שלא נכנסו לטבלת הניתוב ואלו הם...... זוכרים??

ה-Feasible Successor שהם בעצם הניתוב המשני הטוב ביותר אל היעד.

כך נראית טבלת הטופולוגיה ב EIGRP : 

Router#sh ip eigrp topology
IP-EIGRP Topology Table for AS(1)/ID(192.168.1.2)

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - reply Status, s - sia Status

P 10.1.2.1/32, 1 successors, FD is 130816
         via 192.168.1.1 (130816/128256), GigabitEthernet0/0
P 10.1.3.1/32, 1 successors, FD is 130816
         via 192.168.1.1 (130816/128256), GigabitEthernet0/0
P 10.1.1.1/32, 1 successors, FD is 130816
         via 192.168.1.1 (130816/128256), GigabitEthernet0/0
P 192.168.1.0/30, 1 successors, FD is 2816
         via Connected, GigabitEthernet0/0


מה שאנחנו יכולים ללמוד מהטבלה הזו בעצם זה את כל הרשתות ש EIGRP מכיר, ואם קיימים ניתובים משניים - FS.
האות P משמאל מציינת שהניתוב הוא ב- Passive מה שאומר לנו שהכל תקין, במידה והייתה מופיעה לנו האות A משמע ACTIVE וזה אומר שהניתוב לרשת נפל והנתב מנסה בצורה אקטיבית לחפש דרכים חלופיות.

מה שמביא אותנו אל ה-Packets ש- EIGRP משתמש על-מנת להקים קשרי שכנות ולשמור עליהם ועוד...
והם:

1.Hello- הקמה ותחזוקת קשרי השכנות בין 2 נתבים - עובד בכתובת מולטיקאסט 224.0.0.10 ושולח פקטות של
   Hello כברירת מחדל כל 5 שניות ו-Hold Time כל 15 שניות בקווים מהירים (מעל 1.5M).
2. Update - מייצג עדכון לגבי רשת שנוספה\הוסרה, מייצג את טבלת הניתוב.
3. Query- תהליך תשאול שכנים לגבי רשת שנפלה, במצב זה אנו נראה A בטבלת טופולגיה.
4. Reply- תהליך קבלת תשובה משכן עבור רשת שנפלה.
5. Ack- מה שהופך את EIGRP לפרוטוקול אמין בזכות ה- ACK, עבור כל פקטה ישנו ACK למעט Hello ועל ACK עצמו.

קיים מצב שבו רשת נפלה והנתב מוציא פקטה של Query ע"מ למצוא נתיב חלופי לרשת היעד, כברירת מחדל הנתב ממתין 3 דקות ע"מ לשמוע Query Reply מכל השכנים ולאחר מכן כל קשרי השכנות מתאפסים ומתחדשים.

מצב זה נקרא SIA - Stuck In Active , אפילו שהנתב קיבל Query Reply מאחד השכנים, הוא עדיין ממתין כדי לקבל תגובה מכולם ובטבלת הטופולגיה אנו נראה A על יד הניתוב עצמו.

קיימים פתרונות למצב, וזאת ע"י מניעה מהנתב להוציא Packet של Query, כיוון שאנחנו כמנהלי הרשת יודעים בדיוק לאילו ניתובים ניתן להגיע ואילו נתבים מחזיקים בכל ניתוב וניתוב (ברוב המקרים).

הפתרון הראשון לבעיה זו הוא הגדרת הנתב כ- Stub, נתב שמוגדר כ- Stub בעצם מייצג את הנתב האחרון בשרשרת והוא אינו מכיל עוד נתבים אחריו ולכן אין צורך לתשאל אותו בנוגע לניתובים חסרים.
חשוב לציין שהגדרת Stub מבוצעת בטופולוגיות של Hub-And-Spoke (ראו תמונה).

שימו לב שנתבי A ו-B הם ה-Hub Routers ונתבי C,D,E הם ה-Spoke Routers ולכן מבחינה הגיונית אין צורך לתשאל אותם לגבי רשתות.


הפתרון השני הוא ע"י הגדרת Summary-Address, מה שעושה Summary-Address הוא בעצם מפרסם Supernet אחד כלפי הנתב ששכן מולו, ומה שקורה בעצם זה שהנתב אומר אני מחזיק רק את טווח הכתובות הזה ולא שום רשת אחרת.
היתרון של Summary Address ב- EIGRP הוא שניתן להגדיר אותו על כל נתב ברשת, זאת בניגוד לOSPF שמאפשר להגדיר רק על נתבים אסטרטגיים.

הגדרת Summary Address בפקודה תחת הממשק:

Router(config-if)#ip summary-address eigrp 1 192.168.1.0 255.255.255.240

אחרי שלמדנו את הקונספט הכללי של איך EIGRP עובד נעבור לחלק הסופי של הגדרת EIGRP והוא הפעלתו על הממשק שעליו אנו רוצים שEIGRP ישלח Hello Packets בפקודה: 
מה שאנו עושים בפקודה זו זה בעצם לציין על אילו ממשקים אנו מעוניינים להפעיל את EIGRP, במקרה הזה אני מעוניין להפעילו על הממשק הספציפי שכתובתו היא 192.168.1.1 כיוון שה-WildCard שלי ממוקד ספציפית לממשק זה.

Router(config-router)#network 192.168.1.1 0.0.0.0

הערה:
כאשר אנו משתמשים בפקודת Network נשלחים פקטות באמצעות multicast לכתובת 224.0.0.10.
במצב שאנו עובדים על גבי ענן שלא מאפשר multicast לדוגמא - Frame relay ניתן להתשמש בפקודת Neighbor אשר שולחת פקטות באמצעות unicast.
כתובת 192.168.1.2 מייצגת את השכן המרוחק ואת הממשק דרכו נגיע אליו.

Router(config-router)#neighbor 192.168.1.2 gigabitEthernet 0/0
הערה:
חשוב לבטל Auto-Summary כדי שהרשתות יפורסמו עם ה-MASK שלהם ולא בצורת Classfull.


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








15 באוק׳ 2010

EtherChannel Concept & Configuration



שלום לכולם,
אחרי הרבה מאוד זמן שלא כתבתי מאמר בבלוג ולאחר בקשות על הנושא אני מעלה מאמר חדש בנושא EtherChannel,
אז מה זה EtherChannel?

ישנם מנהלי רשתות שמכירים את המושג Bonding או Teaming מעולמות אחרים (מיקרוסופט\לינוקס),
EtherChannel זהו מונח שמשתמשים בו בעולם ה-Cisco שבעצם מאפשר לנו לקחת מספר חיבורי רשת פיזיים כגון:
Fast Ethernet או FiberOptic ולאגד אותם לפורט לוגי אחד.
באגה המקצועית איחוד הפורטים נקרא EtherChannel, דבר זה מאפשר לנו להגדיל את רוחב הפס שלנו מ- 200Mbps
(במידה ומדובר בפורט של Fast Ethetnet Full Duplex 100Mbps ) לעד 16 פורטים- בפרוטוקול דינמי לאיחוד פורטים שנקרא LACP שעליו נדבר בהמשך..
בנוסף לאיחוד הפורטים ולהגדלת רוחב הפס איחוד פורטים מאפשר לנו ביצוע יתירות  (Redundancy) משמע,
כאשר פורט מתוך האיחוד פורטים כשל, שאר הפורטים מאפשרים המשך תעבורה תקינה ללא הפרעה למשתמשים ולתעבורת רשת תקינה.

ל-EtherChannel (אשתמש במושג זה במהלך המאמר) ישנן מספר אפשרויות לביצוע הגדרתו התקינה, 2 מהאופציות הן דינמיות (באמצעות פרוטוקול) ושיטה אחת באופן ידני.

השיטה הראשונה עליה אדבר היא באמצעות פרוטוקול שנקרא
 PAGP -Port Aggregation Protocol,
פרוטוקול זה פותח על-ידי סיסקו ולכן הוא נתמך אך ורק בין ציודי סיסקו.
לפרוטוקול זה ישנם מספר אפשרויות אשר בעת ההגדרה אנו נאלץ להגדיר על מנת ששתי הציודים יבצעו את האיגוד בצורה דינמית והם:
1. Auto- אופציה זו היא דיי ניטרלית, משמע אנו ממתינים להודעות PAGP אשר יגיעו מהצד השני של החיבור
 "ויבקשו" להעלות את ה-Port-Channel (מייד אסביר מה אומר המונח).
** גם לאופציית Auto זו יש 2 תתי אפשרויות שניתן להגדיר תחתיו:
1.1 Auto Non-Silent Mode - במצב שאנו מגדירים Auto על מנת להרים קשרי EtherChannel ניתן להוסיף את
     התוספת Non-Silent מה שאומר לנו שאם לא מגיעות פקטות של PAGP על גבי פורט מסויים
 תרים בכל מקרה את ה- EtherChannel.
1.2 Silent Mode - בהגדרה זו אנו אומרים לא להקמת קשרי איגוד אם לא הגיעו פקטות מסוג PAGP.
2. Desirable- באופציה זו אנו שולחים באופן יזום בקשות אל עבר הצד השני בבקשה להעלות את ה-Port-Channel.
3. No - מה שאומר לנו שהצדדים אינם יקיימו קשרי Etherchannel.

הפרוטוקול השני אשר מאפשר לנו להקים קשרי EtherChannel באופן דינמי הוא:
LACP -Link Aggregation Control Protocol
פרוטוקול זה הוא IEEE 802.3ad זאת אומרת שהוא תקן סטנדרטי וניתן להשתמש בו בכל ציוד ולא בהכרח רק Cisco.
פרוטוקול זה הוא גמיש יותר והוא מאפשר לנו לאגד עד 16 פורטים פיזיים בעוד ש PAGP מאפשר רק 8 פורטים שכולם יכולים להיות פעילים,
נוסף על כך אציין כי לא ניתן להשתמש בכל ה-16 פורטים בו זמנית, 8 יכולים להיות פעילים ו-8 נמצאים במצב של Standby.
פרוטוקול זה גם מכיל בתוכו מספר מצבים להפעלת איחוד הפורטים (דיי דומה ל PAGP) השוני הוא מבחינת טרמינולוגיה והם:
1. Passive - מה שאומר לנו בדומה ל-Auto ב-PAGP אל תקים קשרי EtherChannel אלא אם הצד השני שלח בקשה לכך.
2. Active - בהגדרה זו אנו מגדירים את הפרוטוקול ליזום קשרי EtherChannel.

** על מנת שקשרי האיחוד פורטים יעלה יש אפשרות להגדיר צד אחד למצב של Active וצד שני למצב של Passive ובכך הצד שמוגדר כ-Active יצור את קשרי איחוד הפורטים.
נוסף על כך על אחת כמה וכמה אם 2 הצדדים יוגדרו למצב של Active אזי קשרי האיחוד יעלו ויתבצע קישור.

המצב השלישי עליו אדבר הוא האופציה לא להשתמש בפרוטוקול על מנת להרים קשרי EtherChannel והוא מאוד פשוט:

ON Mode- במצב זה אנו לא משתמשים בפרוטוקול כלשהו ואין לו אופציות אחרות אלא להעלות את קשרי הפורטים (כמובן אם הצד השני מוגדר דומה).

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

כפי שאנו יודעים מתגים עובדים בשכבה שניה של מודל OSI ולכן רוב האפשרויות שלנו להשתמש ב-Load-Balancing היא באמצעות ה-Source Mac וה-Destenation Mac, אם כי לא כולם יודעים אבל מתג יודע גם "לקלף" את ה-Frame ולבדוק מה יש בתוכו שזה בדרך כלל Packet, מה שמאפשר לנו לבצע את ה-Load Balancing גם עפ"י כתובות IP מקור ויעד שהם נמצאים בשכבה שלישית של מודל ה-OSI.
מתג בודק את ה-PACKET מכל מיני סיבות כגון: QOS, ACL וכו' (על QOS אפרט במאמר אחר.. :) ).
חשוב לציין שיש צורך לבחון את התעבורה באופן אינדיבידואלי בהתאם לרשת ולכן לא אוכל להמליץ על שיטה כזו או אחרת לביצוע LB

נחזור ל-EtherChannel אז אלו השיטות שקיימות לביצוע LB בין הפורטים :

dst-ip Dst IP Addr

dst-mac Dst Mac Addr

src-dst-ip Src XOR Dst IP Addr

src-dst-mac Src XOR Dst Mac Addr

src-ip Src IP Addr

src-mac Src Mac Addr
 
 
ועכשיו נעבור להגדרות...
 
על מנת להתחיל בהגדרות דרושים לנו לפחות 2 פורטים ולכן ניתן להשתמש בפקודת Range על מנת להחיל את ההגדרות בו זמנית על מספר פורטים ( כמובן שניתן להגדיר פורט אחד ולאחר מכן את השני):
 
בפקודה הראשונה אנו נכנס אל הממשקים אותם נרצה לאחד במקרה שלי אלו פורטים GIG0/11-12:
 
2960G(config)#int range gigabitEthernet 0/11 - 12
 
לאחר מכן נקליד את הפקודה הבאה (אני אעתיק את סימן השאלה על מנת שתוכלו לראות אילו אפשרויות קיימות):
שימו לב אילו אפשרויות קיימות תחת הפקודה Channel, האחת היא להגדיר פרוטוקול כפי שהסברתי למעלה והשניה היא להגדיר קבוצה.
במצב זה אדגים את מצב ה-LACP:
 
2960G(config-if-range)#channel-?

channel-group channel-protocol

בפקודה זו אגדיר את הפרוטוקול - LACP :
2960G(config-if-range)#channel-protocol ?
lacp Prepare interface for LACP protocol
pagp Prepare interface for PAgP protocol 


לאחר מכן אגדיר את המצב בו אני מעוניין שקשרי האיחוד יעלו - במקרה זה אציין Active:
שימו לב שאת הפקודה הזו אני מקליד תחת ה-Channel-Group :

2960G(config-if-range)#channel-group 1 mode active


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

** לאחר שהגדרתי את הקבוצה ואת הפרוטוקול ניתן לבצע פקודת Show Ip Int Brief ולראות שנוצר לי ממשק נוסף שנקרא Port-Channel 1 והוא נמצא ב-UP הן ב-DATA LINK והן ב-PHYSICAL:

Interface              IP-Address      OK? Method Status                Protocol
Port-channel1          unassigned      YES unset  up                    up     


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

2960G#sh etherchannel summary 

וזה הפלט שנקבל - שימו לב למקרא ולאות P ליד הפורטים הפיזיים שאומר שהפורטים נמצאים ב-Port-Channel:

2960G#sh etherchannel summary
Flags: D - down         P - in port-channel
I - stand-alone            s - suspended
H - Hot-standby (LACP only)
R - Layer3 S - Layer2
U - in use f - failed to allocate aggregator
u - unsuitable for bundling
w - waiting to be aggregated
d - default port
Number of channel-groups in use: 1
Number of aggregators: 1
Group Port-channel Protocol Ports

------+-------------+-----------+-----------------------------------------------
1 Po1 (SU) -      Gi0/11(P)     Gi0/12(P)  

 לסיום אראה כיצד מגדירים את ה-LB באיחוד פורטים הפקודה היא :

2960G(config)#port-channel load-balance

** הערה:
עוד חשוב לציין כי כל שינוי שאנו מעוניינים לבצע אם זה להפוך את הפורט ל-Trunk או ל- Access או כל שינוי שהוא ברמת פורט, ניתן לבצעו ברמת ה-Port-Channel וההגדרות יחולו על הפורטים הפיזיים מבלי שנצטרך להכנס לכל ממשק וממשק ולהגדיר.
נוסף על כך אומר כי Port-Channel יכול להתחבר גם בין מתגים שונים וגם בין שרתים (ישנם שרתים שיודעים לבצע פעולת אגרגציה) פעולה זו בשרתים נקראת Teaming/Bonding.
Port-Channel יודע לעבוד בשכבה 2 וגם בשכבה 3 משמע ניתן להגדיר עליו כתובת IP וכל מה שמשתמע מכך.


מקווה שעזרתי,
אם ישנן שאלות אשמח לענות במייל:

ciscobloger@gmail.com




,

14 במרץ 2010

מסמכי CCNP-Route 642-902

שלום לכולם,
לאחרונה כתבתי מספר מסמכים באנגלית שמתאימים לרמת CCNP.
המסמכים מתייחסים לפרוטוקולי ניתוב דינמיים כגון, OSPF,BGP,IS-IS,EIGRP וניתוב מתקדם.
המסמכים מכילים חומרים טכניים בנוגע נושאים שציינתי לעיל, הם ברמה קצת יותר מתקדמת מאשר הפוסטים בעברית ולכן אני מעלה את הקישורים להורדה ומי שמעוניין יוכל להנות מהחומר...
תפיצו לכמה שיותר חברים.. :)


אז ככה...
- הלינק הראשון הוא מסמך המתייחס לכל הפקודות וההגדרות והתפיסה הכללית של פרוטוקול הניתוב הדינמי Ospf.
להודדת המסמך לחץ כאן.

- המסמך השני מתייחס במאמר מפורט על כל ההגדרות והבנת פרוטוקול הניתוב Eigrp.
להורדת המסמך לחץ כאן.

- המסמך השלישי אינו מתייחס לפרוטוקול ניתוב דינמי אלא להגדרות ניתוב באופן כללי, שוב.. ברמת CCNP.
להורדת המסמך לחץ כאן.

- מסמך זה מתייחס לפרוטוקול הניתוב מסוג IS-IS, שהוא פרוטוקול מסוג Link State,
להורדת המסמך לחץ כאן.
- המסמך האחרון שכתבתי בנושא BSCI, שהוא הפרק הראשון בסדרת ה-CCNP מתייחס לפרוטוקול הניתוב האחרון והוא
  כמובן BGP.

להורדת המסמך לחץ כאן.

בכל שאלה שצצה אל תהססו לשלוח אליי מייל לכאן


תהנו :)