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




,

26 באפר׳ 2010

Upgrade Cisco AP To LAP


שלום לכולם,
עוד פוסט קצר שמסביר איך לשדרג גרסת IOS ל-Cisco AP או בשמו המוכר יותר Aironet.

עקרונית מי שמכיר את ה-AP של Cisco יודע שהם מגיעים עם גרסת מערכת הפעלה (IOS) אשר ניתן לנהל אותו בצורה רגילה כמו כל IOS או דרך ממשק ה-GUI שלו (ללא Controller).

במידה וקיים בארגון שלכם AP ויש לכם Controller אתם צריכים לשדרג את גרסת ה-IOS שלו מגרסת ה-AP
לגרסת ה-LAP.

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

1. כבל קונסול.
2. חובה שה-AP יהיה מחובר לאותו LAN ע"מ להתחבר ל-Controller (החיבור לController מתבצע בצורה אוטומטית
    ע"י Broadcast).
3. כלי העלאה (ניתן להוריד מהאתר של סיסקו או מכאן).
4. יש צורך ב-IOS לשדרוג (קובץ TAR. גם הוא נמצא בלינק מסעיף 3).
5. לאחר שהורדנו את הקבצים הנחוצים, יש למקם את כולם באותה תיקיה.

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

שם המשתמש כברירת מחדל הוא Cisco והסיסמה היא Cisco.

- לאחר שה-AP סיים את תהליך העליה אנו ניקח את כתובת ה-IP שהוא קיבל משרת ה-DHCP שלנו בארגון, במידה
  ולא מוגדר כזה אנו נצטרך להגדיר כתובת ידנית ל-AP ,את כתובת ה-IP אנחנו נגדיר כפי שהסברתי בפוסט הקודם.

- לפני שאנחנו מתחילים בתהליך ההעלאה עצמו, יש לוודא שאנחנו יכולים לגשת ל-Controller שלנו ב-Telnet, במידה
  ולא אנחנו נצטרך להגדיר זאת

- לאחר שהגדרנו את כתובת ה-IP אנחנו נפתח את ה-Upload Tool שהורדנו קודם לכן ונמלא את הפרטים הנדרשים:
- IP File - יש לפתוח Notepad ובתוכו יש לרשום בצורה הבאה :
  172.23.2.2Cisco,Cisco,Cisco

* קובץ זה מגדיר לנו את כתובת ה-IP של ה-AP ואת שם המשתמש והסיסמת Telnet וה- Enable על מנת
   שה-Upload Tool יוכל להתחבר ל-AP עם הרשאות מתאימות.

- יש להמשיך למלא את השדות לפי הפרטים שלנו ברשת.

- לסיכום נלחץ על -Start

- בסיום התהליך אנחנו אמורים לקבל הודעה שהתהליך הושלם בהצלחה.

- ה-AP מבצע הפעלה מחדש בצורה אוטומטית ולאחר מכן אנחנו נתחבר ל-Controller ושם נוודא שנוסף לנו עוד AP
  לרשימת ה-AP במסך הראשי של ה-Controller.

הערה:
שימו לב שצעדים אלו מבוצעים בהנחה שיש Controller והוא מוגדר כראוי - שלבים אלו מציינים כיצד לשדרג ולחבר את ה-AP ל-Controller.
- בנוסף נציין עוד 2 דברים:
1. בקונטרולר יש הגבלות לתאימות האקסס פוינט על פי מדינה ולכן חשוב לוודא שהיא אכן קיימת , אחרת גם אחרי שידרוג של הקושחה שלו הוא לא ייעלה עם הקונטרולר.


2. חשוב לציין את הגבלות התאימות של הקושחה של האקסס פוינט לקונטרולר, ז"א קונטרולר עם קושחה מסידרה 4 לא ייקבלו אקסס פוינטים חדשים ה 1140.
לדוגמא ולכן אין טען לשדרג את קושחת האקסס םוינט מאחר והוא לא יתאים לקונטרולר בכל מקרה.

תהנו,
אבי

28 במרץ 2010

NAT



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

אז ככה..
מה זה NAT?
בתרגום פשוט - Network Address Translation - תרגום כתובות רשת.
בתחילת דרכו של האינטרנט בוצעה חלוקת כתובות IP ע"י ארגון שנקרא IANA ראשי תיבות (Internet Assigned Numbers Authority), חלוקת הכתובות התבצעה ללא הבחנה ולכל דורש.
לקראת שנות ה-90 עם התפתחות הטכנולוגיה, הבינו בארגון IANA שכתובות ה-IP הולכות ואוזלות וצריך למצוא פתרון אשר יאפשר את המשך השימוש באינטרנט (היום כבר קיים IPv6).

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

אבל איך עושים את זה?

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

תזכורת קצרה לסוגי ה- Classes השונים :

Class A: 0-127.0.0.0

Class B: 128.0.0.0-191.0.0.0

Class C: 192.0.0.0-223.0.0.0

מהן כתובות פרטיות?

10.0.0.0-10.255.255.255

172.16.0.0-172.31.255.255

192.168.0.0-192.168.255.255

אחרי שהבנו את המשמעות של NAT, בואו נבין את הסוגים.
אז ככה...
- הסוג הראשון עליו נדבר הוא Static Nat,
Static Nat משמש למיפוי כתובת חיצונית לכתובת פנימית ולהפך - אם אני רוצה שמחשב מסויים ברשת ייראה לעולם ככתובת ציבורית אזי אני מגדיר למחשב לצאת עם כתובת חיצוניות וזו קבועה ואינה משתנה.

- הסוג השני שבו אנו נשתמש לעתים קרובות יותר הוא נקרא PAT - Port Address Translation
חשוב לציין שאנו משתמשים ב-PAT כאשר אנו מעוניינים להגדיר כתובת IP אשר תמפה שרת אשר מספק שירות מסויים לדוגמא :
שרת דואר, שרת WEB או כל שרת אחר יש צורך במיפוי ה-Port מהכתובת הציבורית אשר העולם פונה אליה אל הכתובת הפנימית אשר עליה ממוקם השירות המבוקש,

לדוגמא:
אם יש לי שרת דואר (Exchange) בארגון ואני מעוניין שתהיה גישה אליו משרתי דואר אחרים אני מבצע את המיפוי הסטטי בצורה הבאה :

212.235.111.15:25-----> 192.168.2.10:25

מה שהגדרתי פה בעצם זה שכל מי שפונה לכתובת IP 212.235.111.15 בפורט 25 בעצם ממופה לכתובת פנים ארגונית שהיא 192.168.2.10 בפורט 25.

במילים אחרות כל ההגדרה שביצעתי כאן נקרא PAT, שזה בתרגום פשוט מיפוי פורטים - Port Address Translation.

נמשיך..

הצורה הבאה שבה ניתן להשתמש ב-Nat היא כאשר יש לנו Pool של כתובות IP אשר רכשנו מבעוד מועד מספקית האינטרנט שלנו,
מה שאחנו יכולים להגדיר הוא בעצם במקום לצאת עם כתובת אחת ולהעמיס עליה - זאת ע"י הוספת מתג ה-Overload לסוף הפקודה, ניתן להגדיר Pool של כתובות אשר יאפשר לנו לבצע זה (כמובן שכאשר אני מדבר על Pool כתובות, אני מתכוון לציבוריות).

ואחרי התאוריה, נעבור לחלק המעניין :) ההגדרות בסיסקו שלנו:

אז איך אנחנו מגדירים NAT:

- תחילה עלינו לזהות את המתאמים, כלומר מי מבצע NAT פנימי ומי מבצע NAT חיצוני.
 את הזיהוי אנו מבצעים כפי שציינתי - תחת המתאם:

יש להכנס אל המתאם הרצוי, לדוגמא את Vlan1 המשמש לפנים הרשת נגדיר בפקודה הבאה:

R1(Config)# int vlan1

R1(Config)# ip nat inside

לאחר מכן נגדיר את המתאם החיצוני, במקרה שלנו חייגן PPPOE:

R1(Config)# int dialer 1

R1(Config)# ip nat outside

בכך הגדרנו אילו מתאמים יבצעו NAT החוצה ואילו מתאמים יבצעו NAT פנימה.

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

אז נגדיר ACL בפקודה הבאה :

R1(Config)# Ip access list standard Nat_Addresses

R1(config-ext-nacl)#permit 172.30.30.0 0.0.0.255

R1(config-ext-nacl)#permit 10.10.10.0 0.0.0.255

כעת הגדרנו ACL אשר מאפשר ל-2 רשתות לגשת לאינטרנט ולהיות מתורגמות לכתובות חיצוניות.

מה שנותר לנו זה להגדיר את ההגדרות של ה-NAT עצמו וזאת בצורה הבאה:

R1(config)# ip nat inside source list Nat_Addresses interface Dialer1  overload

ועכשיו בתרגום לעברית , מה אומרת לנו הפקודה משמאל לימין -
ip nat - הגדר NAT
inside - מבפנים החוצה
list - בהתאם ל ACL שהגדרנו מראש שנקרא Nat_Addresses
Dialer1 - דרך החייגן\החיבור לספקית האינטרנט.
overload- תאפשר למספר כתובות לצאת על גבי כתובת אחת.

עכשיו אני אדגים כיצד לבצע NAT כאשר רכשנו מספר כתובות IP חיצוניות (Pool).

תחילה נגדיר את ה-Pool של הכתובות שרכשנו.

R1(config)#ip nat pool Nat_Pool 10.41.10.1 10.41.10.41 netmask 255.255.255.0


כעת נגדיר ACL לכתובות פנימיות שיתורגמו לכתובות שיצרנו בהגדרת ה-NAT למעלה.

R1(config)#access-list 100 permit ip 10.3.2.0 0.0.0.255 any
 
כעת מה שנותר הוא להחיל את ההגדרות בפקודה הבאה:
 
Router(config)#ip nat inside source list 100 pool Nat_Pool interface Dialer1 overload

ולסיכום אני רוצה להדגים פקודות One To One Nat כלומר מיפוי של כתובת Ip חיצונית לפנימית ולהיפך:

R1(config)#ip nat inside source static 10.3.2.11 10.41.10.12

והגדרת PAT שזהו אותו מיפוי רק עם מספר פורט - כפי שציינתי , כאשר יש לנו שרת שנותן שירות מסויים ואנו מעוניינים למפות כתובת לפורט ספציפי.

R1(Config)#ip nat inside source static tcp 212.235.111.15 80 172.16.10.8 80

מה שהגדרתי בפקודה זו בעצם ממפה לנו את פורט 80 מכתובת חיצונית 212.235.111.15 לכתובת פנימית 172.16.10.8 לפורט 80, שזה שרת ה-Web הפנימי.

לסיכום,
כל נושא ה-NAT הוא נושא מאוד פשוט,
צריך רק להבין את התפיסה הכללית של למה אנחנו משתמשים ב-NAT.

כמו בכל פוסט, אם יש לכם שאלות אתם מוזמנים לפנות אליי במייל.

מקווה שהחכמתם.

חג שמח
אבי


14 במרץ 2010

מסמכי CCNP-Route 642-902

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


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

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

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

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

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

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


תהנו :)

8 במרץ 2010

Cisco's World


שלום לכולם,
עוד מאמר בנושא Networking והפעם אני רוצה לדבר על החברה המובילה בעולם בתחום התקשורת
והיא כמובן Cisco.

למה Cisco הפכה להיות שם דבר בעולם התקשורת? מה הופך את Cisco להיות הכי טובה ולשלוט בשוק?
לצורך ההבהרה, אני לא איש מכירות ואני גם לא עובד בסיסקו (למרות שזו אופציה נחמדה :-) )
מטרתו של פוסט זה היא להכיר את התכונות הבסיסיות של ה-IOS (מערכת ההפעלה של סיסקו), פקודות בסיסיות ומצבים בנתב\מתג.
אז נתחיל..
מה הופך את הנתבים של סיסקו לטובים ולמוכרים ביותר?
זאת כמובן ה-IOS, אחת הסיבות העיקריות אשר הביאו את סיסקו להיות מובילה בתחומה היא מערכת ההפעלה שלה.
כל מי שמכיר (CLI - (Coצבע טקסטmmand Line Interface יודע שהאפשרויות לניהול והגמישות בפקודות גדולה יותר מאשר ניהול ממשקים ב-(GUI - (Graphic User Interface
מערכת ההפעלה שלה איפשרה ניהול קל ופשוט ואפשרויות גדולות יותר בביצועים.
מעבר לכך ישנו את הפן החומרתי שגם בו אנחנו צריכים להתחשב, כל רכיב חייב מעבד כדי לבצע את כל החישובים כמובן, זכרון, ולוח – כל אלו יצרו שם לסיסקו שאין שני לו.
קצת על רכיבי החומרה שנמצאים בתוך הנתב:

Rom: רכיב זה מאכסן בתוכו את תוכנת ה-POST Power On Self Test(בדיוק כמו במחשבים).
Ram: זהו זכרון נדיף (נמחק בעת כיבוי הנתב) אשר טוען לתוכו את ה-IOS ואת קובץ הקונפיגורציה, כמו כן הוא מאכסן בתוכו את טבלאות ה-ARP ואת טבלאות הניתוב (על ניתובים נדבר בפוסט הבא) הוא שומר בתוכו את קבצי ה-Running Config.
Nvram: זהו זכרון שאינו נדיף (אינו נמחק בעת כיבוי הנתב) הוא משמר לאחסון קבצי הקונפיגורציה לאחר שמירתם, שומר בתוכו את ה-Startup Config.
Flash: זהו זכרון הבזק אשר מאכסן בתוכו את ה-IOS בצורה מכווצת, בעת עליית הנתב וטעינת התוכן אל תוך ה-RAM הוא מבצע Decompress.
Buses: אלו הם אפיקי העברת המידע בין המעבד אל הרכיבים השונים בלוח כגון Ram, Nvram וכו'...

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

- כבל קונסול.
- דיסק הוראות \ תוכנה לניהול בממשק גרפי (SDM\(ASDM.
- כבל רשת.

אחרי שפתחנו את האריזה..ונהנינו.. מה עכשיו?
לנתב\מתג קיימים מספר חיבורים אשר באמצעותם ניתן להתחבר ולנהל את המוצר, בהנחה שהמוצר חדש מהאריזה אנחנו נאלץ לבצע שימוש ראשוני רק דרך כבל ה-Console שהוא גם נקרא (Rollover Cable) וזאת מכיוון שלמוצר שלנו אין עדיין כתובת IP ואנחנו לא יכולים לנהל אותו דרך הרשת אז אנחנו משתמשים בכבל קונסול.

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

- כבל רשת רגיל מסוג RJ45 שנקרא גם Straight,משמש לחיבור ציוד קצה כגון מחשבים ומתג.
- כבל רשת מוצלב גם הוא מסוג RJ45 שנקרא גם Crossover לחיבור ציוד מאותו תוצרת, משמע ראוטר לראוטר, מחשב ולמחשב וכו'..
במקרה שלנו ,כפי שציינתי, אין לנו כתובת IP לכן אנו נחבר את הכבל אל הכניסה הכחולה מאחורי הנתב ובקצהו השני לחבר את הכבל לחיבור סיריאלי (Com) למחשב, מכאן נותר לנו לפתוח תוכנה אשר באמצעותה נוכל להתחבר למוצר ולנהל אותו. בתוך ה-Windows קיים כלי מובנה אשר נקרא Hyper Terminal למי שלא מכיר ולא השתמש אף פעם הוא נמצא בתוך:


Start—Programs—accessories—Communications—Hyper Terminal .

על מנת שהחיבור יעבוד בצורה תקינה ב- Hyper Terminal אנו צריכים לוודא שההגדרות עומדות על:

Flow Control 9600,8,No parity ,1 stop, no

קיימות בשוק תוכנות קצת יותר נוחות לעבודה כגון:

Putty
TeraTerm


כעת, מה שנותר לנו זה להדליק את הנתב ולצפות בתהליך העליה שלו, כפי שציינו מוקדם יותר המערכת מבצעת Decompression ל-IOS אשר ממקומם בתוך ה-Flash אל רכיב ה-Ram.
לאחר שמערכת ההפעלה עלתה מופיעה לנו הודעה אשר אומרת אם אנחנו מעוניינים להשתמש ב-Wizard על מנת לבצע הגדרה ראשונית למוצר (נתב\מתג). מנהלי רשתות ואנשי GUI בדרך כל יעדיפו את הדרך הזו, במיוחד על מי שאינו בקיא בנושא ה-CLI בסיסקו כיוון שתהליך זה מלווה אותנו במהלך ההגדרה הראשונית של הממשקים השונים, שם לנתב וסיסמאות.
אני באופן אישי וממליץ לכולכם ללחוץ NO על האשף ולהתקדם ובצע קונפיגורציה ידנית- גם כי זה עוזר ללימוד העצמי וגם כדי לתרגל ולהתרגל לשימוש בפקודות.
אז, לאחר שהנתב\מתג עלה מה שנותר לנו להבין איפה אנחנו נמצאים מבחינת רמות הרשאה וביצוע פעולות.
נתבי (וכשאני אומר נתבי אני מתכוון גם למתגים) מחולקים לכמה רמות של פקודות משמע, לא ניתן לבצע פקודות מסויימות מבלי להיות שם תחת אותו שורת Prompt.
עכשיו אני אסביר.. הרמות מתחלקות לכמה מצבים והם מוצגים לנו במספר סימנים אשר באמצעות ניתן לזהות היכן אנחנו נמצאים, עם הזמן והתרגול אתם תזכרו מה אומר כל סימן ואילו פעולות ניתן לבצע,

בואו נעבור על כמה מהמצבים הבסיסיים, כאשר אנו רואים את הסימנים הבאים:

R1 - מצב זה נקרא User Mode והוא מאפשר לנו ביצוע בדיקות תקשורת בסיסיות כגון: Ping,Traceroute וכו..
על מנת להגיע למצב זה אנחנו לא נדרשים בהקשת סיסמה כיוון שמצב זה מוגבל.







R1#- על מנת להגיע למצב זה אנו צריכים להקיש פקודת Enable או בקיצור En , למצב זה קוראים Exec Mode וכדי להגיע למצב זה אנו נדרשים להקיש סיסמה (אם הגדרנו), מצב זה הוא בעל הרשאות לצפיה בהגדרות הנתב.

#(R1 (config - מצב זה הוא מצב אשר אליו אנחנו נכנסים על-ידי הקשת פקודת Configure Terminal או
בקיצור conf t, מצב זה מאפשר לנו ניהול גלובלי של הנתב, ביצוע פעולות גורפות אשר משפיעות על הנתב כולו.
כלה בהגדרת DHCP, CDP, פרוטוקולי ניתוב סטטיים ודינמיים – בעצם כל ההגדרות החשובות נעשות מהמצב הגלובלי.

קיימים עוד מספר מצבים אשר נעבור עליהם בקצרה:
#(R1(config-line - מצב זה מאפשר לנו להגדיר את ממשק הקונסול וה-VTY.

#(R1(config-if- במצב זה אנחנו נמצאים תחת ממשק מסויים כגון Ethernet .

#(R1(config-subif- במצב זה אנחנו מגדירים תתי ממשקים וירטואלים על ממשק פיזי אחד.

כעת אני רוצה להסביר קצת על נושא ההשלמה האוטומטית של פקודות בממשק הנתב, ראשית נאמר שכל פקודה ניתן להשלים בצורה אוטומטית על-ידי הקשה על מקש TAB לדוגמא:
Conf t

הפקודה המלאה היא Configure Termial - וזאת על מנת להכנס להגדרות גלובליות על הנתב.
עכשיו מדוע אנחנו רושמים Conf t ולא את הפקודה המלאה?
זאת מכיוון שכתבנו מספיק אותיות אשר מייחדות את הפקודה, משמע אין עוד פקודה שמתחילה ב conf,
לאחר מכן שרשמנו את האות t ויכולנו להמשיך מבלי לרשום את המילה Terminal כיוון שאין עוד אופציה שמתחילה באות t.
לכן יכולנו להמשיך מבלי לרשום את הפקודה המלאה,

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



? R1#show
aaa Show AAA values
access-expression List access expression
access-lists List access lists
accounting Accounting data for active sessions
adjacency Adjacent nodes
aliases Display alias commands
alignment Show alignment information
appfw Application Firewall information
archive Archive of the running configuration information
arp ARP table
ase Display ASE specific information
async Information on terminal lines used as router interfaces
auto Show Automation Template
backup Backup status
beep Show BEEP information
bfd BFD protocol info
bridge Bridge Forwarding/Filtering Database [verbose]
buffers Buffer pool statistics
call Show call
caller Display information about dialup connections
cca CCA information
cdapi CDAPI information
--More--

טיפ!

ניתן להוסיף את המילה do לפני כל פקודה אשר אמורה לפעול רק ממצבים שהם לא Exec Mode, מה שאומר לנו בכל מצב אחר אם זה Conf T או תחת הממשקים שונים אזי יש צורך לכתוב את המילה do לפני הפקודה עצמה ודבר זה יאפשר לנו להקליד את הפקודה מכל מיקום.

אז מה אנחנו רואים אחרי שרשמתי את פקודת ? show

אנו רואים את פקודות הצפיה שאנחנו יכולים לבצע על מנת לצפות בהגדרות וכו'..

על מנת לחזור אחורה שלב אחד, לדוגמא אנחנו נמצאים ב- (R1(config ואנחנו מעוניינים לחזור שלב אחד אחורה ל-R1# אנו יכולים לכתוב את הפקודה exit, או לחילופין אנו יכולים ללחוץ Ctrl Z.

עוד על רשימת התגובות מה-IOS של סיסקו, כאשר אנו מקבלים את הפלטים הבאים-מה זה אומר?

- Unrecognized Command-במידה והקלדנו פקודה שאינה קיימת.

- Incomplete Command- במידה והקלדנו פקודה חלקית ולא סיימנו להקליד.

- Invalid Input- פקודה שקיימת בה שגיאת כתיב.

- Ambiguous Command -כאשר אנו מקלידים פקודה ולא הקלדנו מספיק אותיות ויכולות להיות מספר משמעויות.

- כאשר אנחנו רואים את הסימן $ בסוף משפט - אומר שיש המשך למשפט וצריך ללחוץ Ctrl E ע"מ להגיע לסוף המשפט כמו כן ניתן להקליד Ctrl A על-מנת לחזור לתחילת הפקודה.

כעת נעבור עלהגדרות גישה ראשוניות לציוד סיסקו:

כאמור, במידה ורכשנו ציוד חדש הוא אינו מגיע עם כתובת IP מוגדרת או סיסמה כלשהי, לכן אנו נבצע את הפעולות על מנת לאפשר גישה ראשונית לציוד מרחוק ולא באמצעות חיבור הקונסול, איך אנחנו עושים את זה?

תחילה נגדיר את ה-Vlan הראשון שלנו, שהוא בעצם ה-Native Vlan, מה שאומר שכברירת מחדל כל הפורטים מקושרים ל-Vlan הזה ולכן הוא גם יהיה המקור אליו אנו מתחברים בחיבור Telnet/Ssh.


מה זה Vlan אתם שואלים?
אז ככה בקצרה...

Vlan בתרגום הוא Virtual Lan מה שאומר שזו רשת LAN וירטואלית, משמע אנחנו לא משתמשים בממשק פיזי ומקצים לו כתובות IP וכו'.. זהו בעצם ממשק וירטואלי אשר משמש להפרדת רשתות ללא שימוש בממשקים פיזיים כגון: Fast Ethernet, Ethernet,Fiber וכו'..

את ההגדרה עבור ה-Vlan נבצע בצורה הבאה:

1. נכנס לממשק ה-Vlan בפקודה: R1(config)#interface vlan 1

2.לאחר מכן ניגש להגדיר את כתובת ה-IP בה אנו מעוניינים להשתמש בפקודה:

255.255.255.0 R1(config-if)#ip addrees 172.16.2.1

3. בשלב זה נפעיל את הממשק (במידה והוא כבוי) על-ידי פקודת :

R1(config-if)#no shut

שימו לב!
על מנת לבטל פעולה כלשהי בסיסקו אנחנו צריכים להקליד את המילה no לפני הפקודה, הניגוד של הפקודה בעצם מבטל אותה.
אז בדוגמה שהייתה לנו כאן הגדרתי ל-Vlan לעבור ממצב Shutdown למצב No Shutdown - שזה דלוק.


לאחר מכן, נגדיר את ממשקי ה-VTY נבצע בשלבים הבאים:

1. בשלב ראשון נכנס לממשק ה-VTY בצורה הבאה R1(config)#line vty 0 4

2.בשלב שני נגדיר שבכל גישה לממשק ב-VTY נתבקש לבצע לוגין בפקודה הבאה: R1(config)#login
3.בשלב שלישי נגדיר סיסמה על מנת שבכל לוגין נתבקש להגדיר סיסמה בפקודה R1(config)#password 123456

אלו ההגדרות גישה הראשוניות עבור מתג\נתב של סיסקו.
המאמר מכיל תמצית שבתמצית מפקודות ה-IOS של סיסקו, אם יש לכם שאלות נוספות
תמיד ניתן לפנות אליי במייל ואני אשמח לענות.





אבי


28 בפבר׳ 2010

IP Subnetting

(ניתן ללחוץ על התמונה להגדלה)


שלום לכולם,
במאמר זה אני רוצה להתייחס לכל נושא כתובות ה-IP בגרסה 4 הידוע כ- IPv4.
כאשר אנחנו מסתכלים על כתובת IP אנו יכולים להבחין שהכתובת מחולקת ל4 אוקטטות (מקטעים) ומופרדת ע"י נקודות.
כפי שציינו במאמר הקודם בנוגע לכתובות IP אמרנו שמקומם במודל ה-OSI הוא בשכבה השלישית ותפקידו העיקרי הוא לתת מספר יחודי לרכיב (מחשב,נתב,רכזת וכו'..) ברשת (הרי שכל מכשיר המשתמש בפרוטוקול ה-TCP/IP צריך כתובת IP).

כתובת ה-IP בנויה מ32 ביטים, וניתן לכתוב אותה בשתי צורות, האחרת עשרונית והשניה בינארית.
ניתן דוגמא לכתובת IP בצורה עשרונית:
192.168.0.1

כעת ניתן לפרק את הכתובת העשרונית הרשומה למעלה למספרים בינאריים,

* מספר בינארי הוא בעצם 0 ו-1 כאשר מופיעה הספרה 1 משמע אנו לא יכולים לבצע שינוי והספרה 0 משמע ניתן לשנות את ה-subnet.
לכל ספרה בינארית יש משמעות למיקום שלה על גבי הרצף המספרי, כמו כן, ניתן לבצע חזקה על כל ספרה בהתאם למיקומה לדוגמא:

0^2=0

1^2=2

2^2=4

3^2=8

4^2=16

5^2=32

6^2=64

7^2=128

אם נתבונן כעת בצורה בינארית על כתובת ה-IP הרשומה למעלה נוכל לומר שהצורה הבינארית של כתובת ה-IP שרשמנו למעלה היא:
11000000.10101000.00000000.00000001

למה זה ככה?

כדי להגיע ל-192 (המספר שקיים באוקטטה הראשונה) אנו נזדקק ל-2 הביטים האחרונים שהם 128+64 וביחד יוצא לנו 192 - כך הגענו לספרה 192.

כדי להגיע ל-168 (הספרה מהאוקטטה השניה) אנו נצטרך ללקט ביטים בהתאם למיקום שלהם מבלי לעבור את המספר שאנו צריכים, אזי כדי להגיע ל168 אנו צריכים 128 ולאחר מכן 32 ולבסוף אנו מוסיפים 8 (שזה הביט הרביעי) וכך קיבלנו 168.
האוקטט השלישי אינו מכיל מספרים ולכן אנו נשאיר אותו מאופס.

והאוקטט האחרון מכיל את הספרה 1 ולכן אנו נשתמש בביט הראשון אשר מכיל את הספרה 1 .

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

עשרוני לבינארי:

172.30.0.5


10.10.10.8

212.235.222.1

16.7.5.3

בינארי לעשרוני (בדקו את עצמכם באמצעות מחשבון):

00001101

11101100

00001111

10110011

אחרי שהבנו איך כתובת IP בנויה, נבין כעת את סוגי הקלאסים השונים ונבין מה זה כתובת IP פרטית ומה זו כתובת IP ציבורית,
למה אנחנו צריכים כתובות ציבוריות ופרטיות בכלל?
אז ככה...
בתחילת דרכו של האינטרנט בארגון IANA (ארגון האחראי על הקצאת כתובות IP) לא חשבו שיהיה צורך לשמר כתובות IP ולכן חילקו קבוצות גדולות של כתובות ללא הבחנה לכל דורש. ניתן לומר שכל חברה שרצתה Pool כתובות קיבלה והרבה.
לאחר תקופה מסויימת הבינו שעם קצב התפתחות הטכנולוגיה כאשר כמעט לכל מכשיר יהיה צורך בהקצאת כתובת IP,
חובה שתהיה שיטה אשר תפריד את הכתובות הפנים ארגוניות מאלו שמשתמשים בהן באינטרנט וכך תאפשר לחברות לצאת לאינטרנט עם כתובת אחת ובכך יחסכו כתובות ה-IP המבוזבזות.
ולכן הומצאה השיטה להפרדת כתובות שנקראת NAT (שעליה נדבר בפוסט הבא) אבל הנושא שלנו כרגע הוא כתובות ציבוריות ופרטיות..

החלוקה מתבצעת כך:

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

10.0.0.0-10.255.255.255

169.254.0.0-169.254.255.255 - טווח כתובות שמור למיקרוסופט.

172.16.0.0-172.31.255.255

192.168.0.0-192.168.255.255

אלו הכתובות שהוקצו לשימוש האינטרנט ואלו ה-Classes:

Class A: 0-127.0.0.0
Class B: 128.0.0.0-191.0.0.0
Class C: 192.0.0.0-223.0.0.0

קיימים גם קלאס D ו- E כאשר קלאס D משמש ל Multicast וקלאס E שמור ואינו בשימוש.
את הקלאס קובע האוקטט הראשון בשורת כתובת ה-IP לדוגמא אם כתובת ה-IP שלנו מתחילה ב 192 אזי היא שייכת ל-Class C וזאת עפ"י הטבלה שמעל, אם כתובת ה-IP שלנו היא מתחילה ב- 172 אזי הכתובת משוייכת ל-Class B וכך הלאה לגבי Class A.
ועכשיו כשאנחנו יודעים כיצד בנויה כתובת IP וכיצד להמיר בין עשרוני ובינארי ולהיפך ואת סוגי הקלאסים השונים נתחיל להבין מה זה Subnetting.
ישנן המון שיטות ללימוד Subnetting, אני אשתדל להביא במאמר זה את השיטה הנוחה והפשוטה ביותר.
אז מה זה Subnetting?

כאשר יש לנו רשת אחת גדולה שאנחנו רוצים לחלקה לסגמנטים במטרה להפריד בין המחלקות השונות או כשיש לנו אתרים שונים המחוברים בחיבור VPN ואנחנו רוצים להפריד בין הרשתות אנו מבצעים Subnetting.
אז רגע לפני שאנחנו מגיעים לחלוקה עצמה נעצור שניה ונבין מה זה Subnet...
כאשר אנחנו מבצעים פקודה ב-Windows שנקראת IPCONFIG או IFCONFIG בלינוקס אנחנו מקבלים את הפלט הבא:



Connection-specific DNS Suffix...:
IPv4 Address.................................192.168.2.53
Subnet Mask...................................255.255.255.0
Default Gateway.............................192.168.2.1



הפלט הבא מציג לנו את כתובת ה-IP שדיברנו עליה קודם לכן, מציג לנו את מסכת המשנה (Subnet Mask) ואת שער ברירת המחדל (Default Gateway) ומה אומר כל דבר?
כפי שציינתי, את כתובת ה-IP כבר הכרנו קודם לכן..
מסכת המשנה (Subnet Mask) משמשת אותנו לזיהוי הרשת.
שזה אומר שכתובת ה-IP מתחלקת ל-2 חלקים והם: Host ID ו- Network ID .
עכשיו איך אנחנו יודעים לזהות מהו ה- Net ID ומהו ה- Host ID זאת על-פי ה SM (Subnet Mask).
נחזור רגע להסבר למעלה בנוגע להמרות מעשרוני לבינארי ונפרק את ה-SM לבינארי אזי מה יוצא לנו?

בדוגמא שלמעלה יש לנו כתובת IP השייכת ל-Class C וזאת כיוון שהכתובת היא 192.168.2.53 וכפי שציינו במידה והאוקטטה הראשונה מתחילה בין הספרות 192-223 אזי כתובת ה-IP שלנו משוייכת ל-Class C.
עכשיו בואו נפרק את ה-SM שלנו מעשרוני לבינארי:

מבחינתנו בכל אוקטטה שיש בה את הספרה 255 אנחנו נמקם 8 ביטים של 1, מה שעוד אומר שאנחנו לא יכולים לשנות אותה לטובת הרחבה או הקטנה הרשת.

0 255 255 255
11111111.11111111.11111111.00000000

אחרי שהמרנו את ה-SM לבינארי כעת מה שנותר לנו הוא להבין מה הוא ה-Net ID ומהו ה-Host ID,
אם אנחנו מסתכלים על ה-SM אנחנו יכולים לומר שבכל חלק שרשום 1 מתחתיו הוא הוא Net ID ובכל מה שרשום 0 הוא ה- Host ID, שימו לב שרק עם ה-Host ID ניתן "לשחק" ולבצע שינויים במבנה הרשת.

בואו ניתן דוגמא כעת ל-SM השייך ל- Class B :

0 0 255 255
11111111.11111111.00000000.00000000


דוגמא כעת ל-SM השייך ל- Class A :

0 0 0 255
11111111.00000000.00000000.00000000

הגענו לחלק של חלוקת הרשת למקטעים (Subnets),
השיטה הפשוטה והקלה ביותר לדעתי כדי להגיע למצב שבו אנחנו נוכל לקחת רשת מקלאס C ולפרק אותה לתתי רשתות היא ככה, בואו ניקח דוגמה שבה אנחנו מעוניינים ב 5 רשתות אנחנו צריכים להסתכל על המצב בצורה כזו שיש לנו מצב מובנה שאותו אנחנו לא יכולים לשנות, לצורך העניין אם נתנו לנו לחלק רשת קלאס C זאת אומרת שיש לנו SM של 255.255.255.0 מה שאומר שבשלושת האוקטטות הראשונות אנחנו לא יכולים לגעת (כמו שאמרנו ב-1ים אנחנו לא יכולים "לשחק" – רק מה שיש תחתיו 0) אז כרגע לטובת הדוגמא נאמר שאנחנו מעוניינים ב 5 תתי רשתות נוספים- איך עושים את זה?

בשיטה שלי- אני שואל את עצמי כמה ביטים אני צריך כדי להגיע ל-5 רשתות ואז אני פשוט משנן בראש את החזקות שלמדנו קודם... הנה תזכורת :

0^2=0

1^2=2

2^2=4

3^2=8

4^2=16

5^2=32

6^2=64

7^2=128

אז אם אני מסתכל על הטבלה של החזקות – אני יכול לומר שכדי להגיע ל-5 רשתות אני חייב לא פחות מ-3 ביטים כיוון ש 3^2=8 ואז אני פשוט "גונב" 3 ביטים מהחלק שאמור להיות ה-NET ID בואו נראה את זה מוחשי..

בדוגמא אנחנו רואים את ה- Class C לפני שחילקנו את הרשת :

0 255 255 255
11111111.11111111.11111111.00000000

פה אנחנו יכולים לראות לאחר החלוקה ואת ה-SM החדש שלנו:

224 255 255 255
11111111.11111111.11111111.11100000

עכשיו אתם שואלים איך הגענו ל 224? שאלה טובה...

מה שעשיתי בעצם זה לחבר את כל הספרות שיש לנו תחת ה-1ים.. ובצורה נוחה משמאל לימין עשיתי את הפעולה הבאה:
128+64+32=224

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

0 2 4 8 16 32 64 128

נמשיך את התרגיל, מה שנותר לנו לאחר "שגנבנו" 3 ביטים זה להסתכל על ה-Host ID החדש שנוצר לנו ולעשות חזקה בהתאם למספר הביטים שנשארו , במקרה הזה אני יודע שנותרו לי 5 ביטים (5 אפסים- הם מסמלים את ה-Host ID) ואני פשוט עושה חזקה של 5^2=32.
מה שאני מבין מהחישוב הזה – חילקתי את הרשת ל- 5 תתי רשתות, כאשר בכל רשת ישנם 32 מחשבים.

חוק חשוב מאוד שצריך לקחת בחשבון זה שאנחנו לא יכולים להשתמש ב-IP הראשון והאחרון וזאת מכיוון שה-IP הראשון מסמל את כתובת הרשת וה- IP האחרון מסמל לנו את כתובת ה- Broadcast.

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

אז אמרנו שכתובת ה-IP שלי היא 192.168.2.0 :
נתחיל לפרק את הכתובות :

192.168.2.1-31
192.168.2.33-63
192.168.2.65-95
192.168.97.127
192.168.2.129+159

שימו לב שהקפיצות בוצעו בכל פעם ב-32 כתובות ושהורדתי את את ה-IP הראשון והאחרון בכל קפיצה.

לתרגול הנה עוד כמה דוגמאות שתוכלו לתרגל:
קחו את הרשתות הבאות וחלקו אותם למקטעים בהתאם:

192.168.5.0 – חלקו ל-10 תתי רשתות, מהי הכתובת הראשונה והאחרונה בכל רשת?

172.30.0.0 – חלקו את הרשת ל 30 תתי רשתות כשבכל רשת יהיו לכם 30 מחשבים.


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

1. כתובת IP חייבת להיות ייחודית ברשת.

2. כל המחשבים חייבים להיות באותו Network ID במידה והם לא נמצאים באותו Net ID חובה לערב נתב אשר יקשר בין הרשתות השונות.

3. אסור שה-Net ID יתחיל ב-0.

4. אסור שה- Net ID יתחיל ב-127 - שמור ל- localhost.

5.חייב שה- Default Gateway יהיה באותו Network ID כמו המחשבים אותם הוא אמור לשרת.

6.ללא DG המחשבים ברשת הפנימית לא יוכלו לתקשר עם מחשבים ברשתות אחרות.


אם יש לכם הארות, הערות וכל דבר שעולה לכם בראש,
תרגישו חופשי לכתוב לי ל- ciscobloger@gmail.com

מקווה שעזרתי






אבי



26 בפבר׳ 2010

שלושת השכבות הראשונות במודל ה-OSI



שלום לכולם,
במאמר זה נכיר את 3 השכבות העיקריות בהן נעסוק והן שכבת עורק הנתונים (Data Link Layer),
שכבת הרשת (Network Layer) והשכבה האחרונה בה נעסוק היא שכבת התעבורה (Transport Layer).
כאשר אנחנו מדברים על מודל השכבות, אנו מדברים על השילוב בין הרמות השונות של העברת המידע.
כל שכבה במודל ה-OSI (Open System Interconnection) מבצעת אריזה\פתיחה של המידע בהתאם לכיוון העברת ה-DATA, מהלקוח לשרת ולהפך.
כאשר אנחנו מדברים על השכבה השניה במודל ה-OSI העברת המידע בין השכבה השניה ולבין השכבה השלישית מתבצעת באמצעות פרוטוקול שנקרא ARP ובכך נוצר הקשר בין שכבת עורק הנתונים לשכבת הרשת,
נאמר שבעת ביצוע פניה למחשב מסויים ברשת מבצע פרוטוקול ה-ARP "צעקה" ברשת עבור כתובת ה-MAC של אותו התקן אליו אנו מבקשים להגיע, אותו התקן אשר מחזיק בכתובת עונה בתגובה לקריאה ה-ARP ע"י העברת כתובת ה-MAC וה-IP המשויכת לאותו התקן.
בקצרה על כתובת ה-MAC ,היא כתובת פיסית הצרובה על גבי כל ציוד אלקטרוני ובכך מאפשרת לנו לזהות את הרכיב, כתובת ה-MAC מתחלקת לשני חלקים, החלק הראשון מייצג את החברה לה שייך המוצר (כל חברה מקבלת טווח כתובות MAC בו היא יכולה להשתמש) והחלק השני מייצג את כתובת הרכיב עצמו (לכן הוא חייב להיות ייחודי) ובאופן עקרוני לא ניתן לשנות אותה (כך המוצר יוצא מהמפעל). להלן דוגמא לכתובת MAC :00:1c:25:bc:21:60 ניתן לזהות כי כרטיס הרשת במקרה הזה שייך לחברת אינטל.
נמשיך...כפי שהזכרנו קודם לכן, כל שכבה מקושרת לזו שמעליה ולזו שמתחתיה וכך מתבצעת העברת בקשה לשכבה השלישית (Network Layer) אשר שואלת מהי כתובת ה-IP (ראה מאמר כתובת IP) של אותו התקן ובכך על-ידי קישור ה-MAC ADDRESS לכתובת ה-IP מתאפשרת העברת הנתונים לשכבה השלישית
חשוב לציין ששכבת עורק הנתונים עוסקת במעבר הנתונים באותה הרשת באמצעות Frames ולכן בשכבה שניה אנו נשתמש בציוד מסוג מתג (Switch) ומגבר (Repeater).
שכבת הרשת (Network) עוסקת באופן מעבר הנתונים בין סגמנטים (רשתות) שונות, בשכבה זו אנו משתמשים בציוד כגון נתב (Router) על מנת להעביר את המנות (Packets) ליעדן.
כאשר אנחנו מעוניינים להעביר מידע בין רשתות כתובת ה-MAC אינה מספקת, על-מנת להגיע להתקן מסויים אשר נמצא ברשת אחרת יש צורך לדעת מהי הרשת הלוגית בה הוא נמצא, חשוב לציין כי כתובות הרשת הינם משוייכות רק לרשת הפנימית וברגע שאנחנו מעוניינים להעביר מידע אל מחוץ לרשת אין חשיבות לכתובת ה-MAC, לעומת זאת כן חשובה לנו כתובת ה-IP של היעד אליו אנו מעוניינים להגיע, כל חבילת מידע אשר יוצאת מהרשת מכילה מספר שדות אשר מגדירים מספר גורמים מאוד חשובים בעת העברת הפקטה (באגה המקצועית) לדוגמא: כתובת IP של היעד והמקור,כמה זמן הפקטה יכולה "להשאר בחיים" (TTL) זהו מנגנון למניעת Loops, כתובת ה-MAC של המקור וכתובת ה-MAC של שער ברירת המחדל (Default Gateway), אני יודע שאמרתי שלכתובת ה-MAC אין חשיבות בעת יציאה מהרשת וזה נכון אבל על מנת להגיע לרשת אחרת אנו חייבית להגיע אל שער ברירת המחדל שלנו (Default Gateway) ומשם להיות מנותבים אל היעד- אזי מרגע הגעת הפקטה אל ה- Default Gateway אין חשיבות לכתובת ה-MAC מבחינתנו.


לדוגמא IP Header:



השכבה הרביעית היא שכבת התעבורה (Transport Layer) לשכבה זו יש 2 תפקידים עיקריים,
והם: טיפול בבקרת האיכות של המידע המועבר מהשכבות העליונות או התחתונות, שכבה זו מבצעת מספור של חבילת הנתונים המגיעה ומוודאות תקינות ולאחר מכן מעבירה אתה לשכבות הבאה, שכבה 3 ו-4 פועלות בשיתוף פעולה באמצעות פרוטוקולים כדוגמת פרוטוקול הנפוץ TCP/IP שבו IP שייך לשכבה שלישית ו-TCP שייך לשכבה רביעית ואחראי על אמינות המידע, או כדוגמת IPX/SPX שבו IPX שייך לכתובות הלוגיות (ניתן להשוות לכתובת IP) וה-SPX שייך לשכבה 4 ומספק את אמינות המידע.
תפקידה השני של שכבת התעבורה הוא להוסיף את מספר היציאה (Port), מחשב אשר מבצע מספר משימות במקביל מול הרשת חייב לתייג לעצמו דרך איזו יציאה הוא הפעיל את השירות על מנת שידע לאיזו יציאה לחזור, ניתן דוגמה של מחשב אשר יוצא לאינטרנט באמצעות הדפדפן ופותח מספר דפי אינטרנט במקביל, בתהליך זה המחשב מייצר לעצמו פורט אקראי אשר באמצעותו הוא יודע להיכן להחזיר את הבקשה, לדוגמא 3652 (פורטים 1-1024 שמורים ולא ניתן להשתמש בהם) , את הבקשה הוא מפנה אל האתר המבוקש בפורט הגלישה ב-HTTP שהוא מספר 80, חשוב לציין את פורט היעד אנו לא יכולים לשנות. בכך נוצר מצב כאשר דף האינטרנט חוזר אלינו למסך הוא חוזר בפורט שממנו הוא יצא ובכך אנחנו מבצעים הפרדה בין החלונות השונים של הדפדפן.

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