NSSL logo

הכירות עם פרוטוקולי TCP/IP
חוברת הכנה


תדריך כללי

מסמך זה מכיל תדריך והכנה לניסוי TCP/IP . בתדריך נעבור בקצרה על היסודות של TCP/IP שיעזרו לכם לעבור את הניסוי בקלות ותוך הבנה את המתרחש ברשת .

התדריך מורכב מחלק תיאורטי, ולאחריו שלב הכנה .

חלק א' – מבוא לפרוטוקולי TCP/IP

מבוא

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

TCP/IP הינו אוסף הפרוטוקולים הסטנדרטי להעברת תקשורת נתונים. הפרוטוקולים בנו יים לשרת רשתות גדולות מאד, המורכבות מתתי רשתות קטנות יותר שמקושרות ביניה ן בעזרת נתבים. TCP/IP משמש את רשת האינטרנט, שמורכבת למעשה מאוסף של אלפי רשתות בכל העולם, כולל מוסדות מחקר, משרדי ממשלה, מוסדות ציבור, חברות מסחריות ומשקי בית.

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

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

הסטוריה

מוצאו של ה - TCP/IP הוא אי שם בשנות ה- 60 של המאה הקודמת . סוכנות המחקר של משרד ההגנה ) ARPA ששינה את שמו בהמשך ל- DARPA ( החלה בשיתוף פעולה עם מספר אוניברסיטאות על מנת לתכנן פרוטוקול סטנדרטי, שיהיה פתוח לכמה יצרנים , ויהיה עמיד לנפילה של קו תקשורת מסוי ם על ידי כך שימצא נתיב עוקף לקו זה. יש לציין שבאותה תקופה כבר היו קיימות רשתות תקשורת, אבל הן היו מוגבלות לייצרן ספציפי )למשל מיינפריים של IBM (, כך שלא היה ניתן להשיג תקשורת בין מחשבים של מערכות שונות .

ARPA ביחד עם האוניברסיטאות יצרו ביחד את רשת ARPANET , שהיווה את הרשת הראשונה שמבוססת על מיתוג מנות . הרשת הזו היית ה מבוססת על פרוטוקול NCP ( Network Control Protocol (, שהוא גרסא קדומה של ה- TCP המוכר היום .

ציוני דרך

להלן ציוני דרך מרכזיים בהתפתחות פרוטוקולי האינטרנט :

1969 הרשת הראשונית של ARPANET) ARPA) קמה לקראת סוף 1969 וכללה 4 צמתים, כל אחת באוניברסיטה אחרת: UCLA , סטנפורד, יוטה וסנטה ברברה.
1971-2 תוכנת האימייל הראשונה פותחה עבור רשת ARPANET
1972 הופעת פרוטוקול Telnet . הפרוטוקול שימש כ- Terminal emulator לחיבור מרחוק .
1973 הופעת פרוטוקול FTP להעברת קבצים .
1973-4 אחרי שמגיעים להבנה שפרוטוקול NCP מהווה בעיה במידה שרשת ה- ARPANET תמשיך לגדול, מוציאים Vint Cerf ו- Bob Kahn מראשי אירגון ARPA , את פרוטוקול TCP . גרסא זו של TCP שונה ממה שקיים היום .
1978 פרוטוקול TCP מפוצל ל- 2 פרוטוקולים שונים: IP שאחראי על העברת הנתונים בין הצמתים ברשת, ו- TCP שאחראי על התקשורת בין 2 נקודות הקצ ה
1980 בעקבות ניתוק ה- IP מפרוטוקול TCP , הופיע פרוטוקול UDP .
1981 פרסום IPv4 הנמצא בשימוש עד היום (RFC 791) .
1981 פרסום ICMP בגרסתו הנוכחית (RFC 792) .
1983 ARPANET עובר רשמית מ- NCP ל- IP / TCP
1989-1991 המצאת ה- Web ע"י מדענים מהמכון לחקר הגרעין CERN שבשוויץ. פיתוח פרוטוקול HTTP ופורמט HTML .

מהו האינטרנט

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

מכשיר אשר מחובר לאינטרנט נקרא host או תחנת קצה. תחנות קצה מחוברות לרשת בדרך כלל באמצעי תקשורת שונים , למשל כבל נחושת, משדר אלחוטי או כבל אופטי . כל תחנת קצה מסוגלת לעבוד בקצבי שידור וקליטה שונים בהתאם ליכולות השידור והקליטה שלה ולתווך שאליו מחוברת. כשתחנת קצה אחת שולחת מידע לתחנת קצה אחרת, המידע נעטף ב- header ולפעמים גם ב- footer אשר מסייעים למידע להגיד לקצה השני בבטחה. כך נוצרת חבילת מידע. כאשר תחנת הקצה השניה מקבלת את החבילה, היא מקלפת את ה- header וה - footer ומחלצת את המידע מתוך החבילה.ה- header כולל פרטים על מקור ויעד ההודעה, פרוטוקול תקשורת שעליו עובדת ) TCP , UDP וכו'( ונתונים נוספים. ה- footer מסמן את סוף החבילה .

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

מודל השכבות

את מודל 7 השכבות של OSI אתם אמורים להכיר מהקורס לרשתות. מודל השכבות בחבילת הפרוטוקולים של IP / TCP אינו תואם במדוייק את המודל התיאורתי של OSI . ב- IP / TCP ישנן רק 4 שכבות, כפי שמתואר בציור הבא :

להלן ציוני דרך מרכזיים בהתפתחות פרוטוקולי האינטרנט :

TCP/IP Model


כזכור, כל שכבה מתייחסת לנתונים של בשכבות שמעליה כאל data ,ומוסיפה header עם נתונים משלה.

TCP/IP Model

LINK LAYER (או NETWORK INTERFACE LAYER)

שכבה זו היא הנמוכה ביותר במודל השכבות של IP /TCP ,והיא מקבילה ל-2 השכבות הנמוכות של OSI .מטרת השכבה הזו היא לנהל ממשק פיזי בין תחנת הקצה לבין הרשת.

למרות שמודל ה-IP/TCP מתייחס אל החלק הזה כאל שכבה אחת, במודל OSI מדובר ב- 2 שכבות שונות וכך נתייחס לזה בסעיף זה.

PHYSICAL LAYER

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

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

דוגמאות:

  • השכבה הפיזית של תקן  1000Base-T, 100Base-T, 10Base-T -  Ethernet שמעבירים סיגנלים בעזרת 4 חוטי נחושת,  100Base-X, 1000Base-X שמעבירים מידע על גבי סיב אופטי.
  • תקן-802.11 רשתות עבור Wi-Fi
  • DSL שמותאם להעביר נתונים מעל קוי טלפון.
DATA LINK LAYER

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

שכבה זו מחולקת ל-2 תתי שכבות: העליונה היא LLC שאחראית לשחרר כל שיקולי חומרה משכבת ה-Network שמעליה. התחתונה היא שכבת ה-MAC שאחראית על אלגוריתם הגישה לרשת (למשל CD/CSMD ב-Ethernet), שכבת ה-MAC היא גם השכבה התחתונה ביותר המשתמשת בכתובות. כאשר מוגדר פרוטוקול בו כמה נקודות יכולות לחלוק את אותו הקו, היעד לחבילה נקבע ע"י כתובת זו. עוד על כתובות MAC מפורט בהמשך כאשר נדון בפרוטוקול ה- Ethernet

דוגמא:

נניח שנוצר קשר בין המחשב הנייד בכתובת 132.68.60.80 לבין המחשב בכתובת 132.68.55.99 (ראה ציור למטה). הקשר הוא בין 2 רשתות שונות. בתוך כל רשת התקשורת היא ברמת ה-link data .ברשת השמאלית התקשורת נעשית מהמחשב הנייד דרך point access לכיוון המתג ומשם לנתב. ברשת הימנית יש קשר אחר בין הנתב דרך המתג עד למחשב

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

הקווים המעוגלים העבים מראים את התקשורת שנעשית ברמת ה- link data.

TCP/IP Model

הדוגמא הנפוצה ביותר לפרוטוקול בשכבה הזו הוא Ethernet .דוגמאות נוספות הם PPP (פרוטוקול נקודה לנקודה שמשמש למשל במודמים), ATM ו-Relay Frame שנפוצים בתחום הטלפוניה, וכמובן שיש עוד רבים אחרים.

ETHERNET

פרוטוקול זה אינו חלק מחבילת הפרוטוקולים של TCP/IP אולם לצורך הבנת הניסוי יש צורך להסביר חלקים ממנו. כאמור, זהו הפרוטוקול הנפוץ ביותר כיום בשכבת ה- Network Interface , בייחוד ברשתות מקומיות .

כתובות ETHERNET

לכל נקודת Ethernet )למשל כרטיס רשת או פורט במתג( מוגדרת כתובת של 48 ביטי ם, כלומר 6 בתים. הכתובת הזו צרובה על כרטיס הרשת ואינה ניתנת לשינוי. כתובת זו נקראת כתובת MAC , והיא ייחודית בעולם .

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

אם הערך של הבית הראשון הוא זוגי, הכתובת היא כתובת פרטית, וכשהיא מופיעה ככתובת היעד, רק המחשב אליו מיועדת החבילה אמור לקרוא אותה. כאשר הערך של הבית הראשון הוא אי זוגי, מדובר בכתובת multicast . במקרה כזה יש יותר מיעד אחד לחבילה. כל נקודת רשת אמורה לדעת לאילו כתובות multicast היא אמורה להתייחס. כתובת מיוחדת נוספת היא כתובת Broadcast , אשר מורכבת מ - 48 אחדות (כלומר כל הביטים של הכתובת הם 1), ומשמעותה שההודעה מיועדת לכל מחשב שמחובר לתת-הרשת המקומית וקיבל אותה .

TCP/IP Model

מבנה חבילת ETHERNET

על מנת לא לסבך את העניינים יותר מדי, נדון כאן רק במקרה הפשוט ביותר של Ethernet , שבמקרה הוא גם הכי נפוץ .

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

שימו לב שבפרוטוקול זה גודל החבילה (MTU) מוגבל. ה - data יכול להכיל עד 1500 בתים, ומכאן נגזר שברמת ה- MAC הגודל המקסימלי הוא 1514 בתים .

הערה: כאשר נבצע את הניסוי, לא נראה את ה - Preamble וה- CRC , כי כרטיס הרשת מקלף את המידע הזה לפני שהוא מעביר את החבילה ל- driver של הכרטיס .

TCP/IP Model

INTERNET LAYER

שכבה זו אחראית על קישור בין רשתות שונות והעברת חבילות מכיוון השולח לכיוון היעד. המקבילה שלה ב- OSI היא ה- Network Layer . הפרוטוקול החשוב ביותר בשכבה זו הוא (Internet Protocol (IP

תפקידיה העיקרים של שכבת ה- Internet :

  • יצירת היררכיה של כתובות לוגיות (כתובות IP) בעזרתה מוגדרות רשתו ת
  • יצירת חבילות (Packets) - עטיפה של המידע ב- header שמסייע לחבילה לטייל בין הרשתות השונות בדרכה ליעד
  • מציאת נתיב בין שולח החבילה למקבל החבילה וניתוב החבילה בהתאם
  • שבירת החבילה לכמה חלקים (Fragmentation) על מנת לתמוך ב- Network interfaces עם ערך שונה של גודל מנה מקסימלי (MTU) .

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

שכבת ה- Internet כוללת גם את הפרוטוקולים (ARP) יAddress Resolution Protocol ו- Revers Address Resolution י(RARP) יProtocol  אולם יש כאלו שאינם רואים בפרוטוקולים אלה חלק מה- Internet Layer . אנחנו נתייחס אליהם כפרוטוקולים ברמת Internet , מכיוון שהם יושבים מעל שכבת ה- Network Interface (אם לא הבנתם נקודה זו, הניסוי עצמו יבהיר זאת כהלכה) .

מיתוג חבילות

השיטה שבה חבילות ממותגות בעולם ה- IP נקראת Packet Switching . על מנת להסביר את עקרונות השיטה , כדאי להתעכב בכמה מילים על השיטה שקדמה לה (ועדיין נהוגה בעולם הטלפוניה) הלו היא שיטת ה Circuit Switch . בשיטת ה Circuit Switch , כאשר תחנת קצה רוצה לדבר עם תחנת קצה אחרת, היא מקימה circuit , כלומר קשר בין 2 הקצוות. הקשר הזה הוא מעין קו פרטי שמיועד רק עבור השיחה הזו. לקו הזה יש רוחב פס אחיד לכל האורך שמובטח לאותה שיחה ולא משותף עם אף שיחה אחרת .

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

לדוגמא, נניח שתחנה A1 שולחת חבילה לתחנה H1 . על החבילה מסומנת H1 ככתובת היעד. החבילה מגיעה לנתב 1. נתב 1 מסתכל על כתובת היעד ומחליט בהתאם לכתובת זו להעביר את החבילה לנתב 3 (דרך רשת E). באותו האופן נתב 3 מעביר את החבילה לנתב 4 וכך הלאה. אין הקמת קשר, ואין הבטחה על רוחב הפס. לנתב 1 אין שליטה על ההחלטה של נתב 3 להעביר את החבילה דווקא לנתב 4 ולא לנתב 5 (אם כי לרוב הוא יודע מה תהיה הבחירה של נתב 3). באותה מידה, אין ודאות כי כל החבילות יעברו תמיד באותו נתיב,

TCP/IP Model

טבלאות ניתוב

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

כאשר חבילה המיועדת לרשת אחרת מגיעה לנתב, הנתב צריך לקבל החלטה מיהו היעד הבא של החבילה. על מנת לקבל החלטה כזו הוא משתמש בטבלת ניתוב. טבלת הניתוב נראית כך :

Iface Metric Next Hop Net mask Destination
eth0 10 132.68.60.1 255.255.255.0 132.68.60.0
eth1 10 132.68.55.1 255.255.255.0 132.68.55.0
eth2 10 132.68.58.1 255.255.255.0 132.68.58.0
Fa0 1 132.68.7.250 0.0.0.0 default

משמעות הטבלא :

Destination ו- Net Mask מגדירים רשת. כאשר תגיע חבילה, וכתובת היעד של החבילה שייכת לרשת הרשומה ב- Destination , Next Hop יהיה התחנה הבאה של אותה חבילה. Metric מגדיר את המשקל של הלינק ל-Next Hop.
Interface מגדיר את היציאה הפיזית שבו ישתמש הנתב כדי לשדר את החבילה ל Next Hope.

TRANSPORT LAYER

שכבה זו מקבילה לשכבות ה - Transport וה- Session במודל OSI . בשכבה זו מוגדר קשר בין 2 תחנות קצה, המשמש אפליקציה מסוימת. הפרוטוקולים הממומשים בשכבה הזו הם (Transmission Control Protocol (TCP ו- User Datagram Protocol (UDP) . 2 הפרוטוקולים יתוארו בהרחבה בהמשך .

פרוטוקול ICMP הוא פרוטוקול ניהול ובקרה שיושב גם הוא מעל פרוטוקול IP , אבל תפיסתית הוא לא נחשב חלק משכבת ה- Transport כי הוא לא מגדיר קשר קצה אל קצה .

PORT

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

החמישייה protocol, source IP, source port, destination IP, destination port מגדירים את הקשר קצה לקצה של אפליקציה (לדוגמא קשר בין דפדפן לשרת אינטרנט). המונח הטכני לחמישיה זו הוא Five Tuple .

מספרי פורטים נעים בים 0 ל- 65535 . גם כאן יש חלוקה לקטגוריות :

פורטים 0-1023 נקראים Well Known Ports והם משמשים שרתים. כל פורט מוגדר עבור פרוטוקול מסויים (למשל 80 עבור HTTP ) לפי הקצאה שמחלק ארגון IANA . אפליקציה שתופסת פורט כזה זקוקה להרשאות מיוחדות, root או Administrator בהתאם למערכת ההפעלה.

פורטים 1024-49151 נקראים Registered Ports . גם פורטים אלו שמורים לפרוטוקולים מסויימים ומוקצים ע"י IANA , אולם לא צריך הרשאות מיוחדות במחשב כדי לתפוס אותם, ועקרונית הם לא משמשים שרתים .

ניתן לראות את הרשימה המלאה של ההקצאות עבור 2 הקטגוריות כאן:
  https://www.iana.org/assignments/port-numbers

פורטים 49152 עד 65535 נקראים פורטים דינאמים, וכל אחד יכול להשתמש בהם כרצונו .

APPLICATION LAYER

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

  • DNS – פרוטוקול למציאת כתובת IP לפי שמות של שרתים (Domain Names)
  • FTP – פרוטוקול להעברת קבצים בין מחשבים
  • HTTP – פרוטוקול להעברת Hypertext מעל רשת האינטרנט .
  • IMAP – פרוטוקול לסינכרון וקבלת דואר אלקטרוני
  • POP – פרוטוקול למשיכת דואר אלקטרונ י
  • RADIUS – פרוטוקול המאפשר גישה מרחוק לחשבונות עם סיסמאות
  • SSH – פרוטוקול מאובטח לפתיחת טרמינל מרוחק במערכות יוניקס ולינוק ס
  • SMTP – פרוטוקול שליחת דואר אלקטרונ י
  • SNMP – פרוטוקול לניהול ציוד רשת ואיסוף סטטיסטיקות עבור ציוד זה .

לסיכום מודל השכבות

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

TCP/IP Layers Model

פרוטוקולים

(INTERNET PROTOCOL (IP

כאמור זהו הפרוטוקול המרכזי ברמת האינטרנט, שמטרתו לנתב חבילות מהמוצא ליעד. הפרוטוקול מתועד ב- RFC 791 .

פורמט חבילת IP

TCP/IP Layers Model

  • Version : גרסת הפרוטוקול. ב- IPv4 הערך הוא 4 .
  • (IP Header Length (IHL : גודל ה header של חבילת ה- IP ביחידות של בתי ם. בדרך כלל הגודל הוא 20 בתים וזה הערך הנפוץ בשדה הזה .
  • DSCP : מגדיר לשכבה מעל ה- IP את רמת החשיבות והדחיפות שיש לתת לחבילה .
  • Total Length : אורך החבילה הכולל, data ו- header .
  • Identification : מספר סידורי של החבילה. המספר הזה משמש את הצד המקבל לאחד חבילות שעברות Fragmentation . כל החלקים של חבילה מסויימת מקבלים את אותו מזהה .
  • Flags : שלושה ביטים המספקים מידע משלים לגבי Fragmentation.
  • Fragment Offset : המרחק בבתים של ה- data יחסית לתחילת ה- data . למשל אם חבילה נשברה ל- 3 חלקים של 1000 בתים, ה- offset בחלק האחרון יהיה 2000 .
  • Time to Live : בכל פעם שחבילה עוברת אצל נתב, המספר הזה יורד ב- 1. כך הרשת נמנעת ממצב בו חבילות נעות לנצח במעגלים .
  • Protocol - מציין מה הפרוטוקול בשכבה מעל ה- IP . הערך הזה הוא מספרי, וכל מספר מייצג פרוטוקול אחר. הקצאת המספרים נעשית ע"י IANA .
  • Header Checksum : על מנת לוודא אמינות הנתונים
  • Source Address : כתובת ה- IP של שולח החבילה .
  • Destination Address : כתובת ה- IP של היעד הסופי של החבילה .
  • Options : הרחבות אופציונאליות
כתובות IP (מתוך ויקיפדיה, עם קצת השלמות)

כתובת IP היא מספר המשמש לזיהוי ציוד רשת ותחנות קצה ברשתות TCP/IP . קיימות 2 גרסאות של כתובות, אולם אנחנו נתמקד בגרסא הישנה והנפוצה של IPv4 . כתובת זו מורכבת מ - 32 ביטים. לשם נוחות, מקובל לייצג ערך ז ה כארבעה מספרים עשרוניים, כל אח ד בין 0 ל- 255 . מספרי ם אלה נקראים לעתי ם אוקטטים, כיוו ן שגודל כ ל אחד מהם הו א 8 בי ט. לדוגמה - 192.168.0.1 הו א הייצוג הנפוץ של הכתוב ת הבינארית -

11000000 10101000 00000000 00000001

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

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

כדי שאפשר יהיה להבחי ן בי ן חל ק הרשת וחלק התחנה בכתובת ה- IP נהו ג להצמיד לכל כתוב ת "מסכה" (Subnet Mask) , שמאפשרת, באמצעו ת פעול ה לוגית פשוטה, למצו א א ת כתוב ת הרש ת ש ל כתוב ת IP מסוימת. המסכה, כמו כתוב ת ה- IP מורכבת מארבע קבוצו ת של שמונ ה סיביות. בייצוג בינאר י, עבור כ ל סיבית בכתובת ה- IP שמייצגת א ת הרשת יופיע 1, ועבור כל סיבית בכתובת ה- IP שמייצג ת את המחשב המסוים יופיע 0

כתובת מיוחדת נוספת ברשת ה- IP היא כתובת ה- Broadcast . כאשר חבילה נשלחת לכתובת זו, החבילה מיועדת להיקרא ע"י כל תחנות ה- IP הנמצאות באותה רשת. כתובת ה- broadcast עבור רשת מסויימת היא הכתובת הגבוהה ביותר עבור אותה רשת, כלומר זו שבייצוג בינארי, חלק התחנה בכתובת הוא כולו 1

למשל - בכתובת 192.168.0.17 החלק 192.168.0 מייצ ג א ת הרש ת והמספר 17 מייצג את המחשב המסוים. מסכת הרש ת של כתובת זו תהיה 255.255.255.0 , או בייצוג בינארי – 00000000 11111111 11111111 1111111 . שימו לב שהמסכה תמיד מורכבת מסדרה של " 1 " שאחריה באה סדרה של " 0". לכן נהוג גם להגדיר רשת ע"י כתובת הרשת ומספר הביטים שהם 1. במקרה הזה הייצוג הוא 192.168.0.0/24

כדי למצוא את כתובת הרשת מתוך כתוב ת IP של מחשב ברשת, יש לבצע פעולת AND בינארית בין כתובת ה- IP למסכת הרשת. בדוגמה הקודמת, התוצאה תיראה כך –

ייצוג עשרוני ייצוג בינארי
כתובת IP 192.168.0.17 00010001 00000000 10101000 11000000
Net Mask 255.255.255.0 00000000 11111111 11111111 1111111
כתובת הרשת 192.168.0.0 00000000 00000000 10101000 11000000
כתובת Broadcast 192.168.0.255 11111111 00000000 10101000 11000000
חלוקה למחלקות (CLASSES)

בעבר היה נהוג לחלק את כתובות ה -IP לחמש מחלקו ת, Class A עד Class E . זיהוי כל מחלקה נעשה ע"י הביטים הראשונים של הכתובת, לפי הטבלא הבאה:

TCP/IP Class Model

עד שנת 1993 כתובת הרשת הייתה מוגדרת לפי ה- class . למשל הכתובת 132.68.60.114 הייתה שייכת לרשת 132.68.0.0 רק משום שהיא מ- class B . בשנת 1993 הוצגה שיטת ה- CIDR שבו יש שימוש ב- net mask כפי שהוסבר בסעיף הקודם. כיום אין יותר שימוש אמיתי בחלוקה הזו של classes , מכיוון שה- CIDR החליף אותה לחלוטין .

כתובות IP מיוחדות

ישנם מספר טווחים שנקבעו לשימושים מיוחדים :

טווח כתובות שימוש כמות כתובות כוללת
0.0.0.0-0.255.255.255 לא ניתן להשתמש 16,777,216
10.0.0.0-10.255.255.255 רשתות פרטיות (כתובות לא מנותבות) 16,777,216
127.0.0.0-127.255.255.255 Loopback 16,777,216
169.254.0.0-169.254.255.255 פרוטוקול APIPA (כאשר לא נמצא שרת DHCP) 65,536
172.16.0.0-172.31.255.255 רשתות פרטיות (כתובות לא מנותבות) 1,048,576
192.0.2.0-192.0.2.255 שימוש ניסיוני 256
192.68.99.0-192.88.99.255 תעבורה בין כתובות IPv6 וכתובות IPv4 256
192.168.0.0-192.168.255.255 רשתות פרטיות (כתובות לא מנותבות) 65,536
198.18.0.0-198.19.255.255 מבחני ביצועים למכשירי רשת 131,072
224.0.0.0-239.255.255.255 Multicast 268,435,456
240.0.0.0-255.255.255.255 שמור 268,435,456

(INTERNET CONTROL MESSAGE PROTOCOL (ICMP

פרוטוקול שמגדיר הודעות לגבי שגיאות או כל מידע אחר הקשור לחבילות IP . הפרוטוקול מוגדר ב - RFC 792 . הפרוטוקול יושב מעל ה- IP ומשודר כהודעת IP . זאת על מנת שהודעות ICMP יוכלו להגיע ליעדן, גם אם היעד לא נמצא באותה רשת של שולח ההודעה .

סוגי הודעות ICMP

הרשימה המופיעה פה אינה מלאה, אבל מכילה את רוב ההודעות החשובות .

  • Destination Unreachable : כאשר נתב מחזיר הודעה כזו לשולח חבילה, סימן שהנתב לא יכול להעביר את החבילה הזו ליעדה, ולכן הוא זורק אותה. יכולות להיות לכך 2 סיבות. הראשונה שכתובת היעד לא קיימת, והשניי ה הפחות נפוצה היא שהנתב לא יודע מה הנתיב לכתובת היעד .
  • Echo Request/Reply : ההודעה שמממשת את בקשת ה- ping . Echo request מייצג את בקשת ה - ping ו- Echo reply מייצג את התשובה לבקשה
  • Time Exceeded : חבילה עברה יותר מדי נתבים וה- TTL ירד לאפס. הנתב שאצלו ה- TTL ירד לאפס זורק את החבילה המקורית ושולח למקור החבילה הודעת ICMP מסוג זה .
  • Redirect : כאשר נתב מקבל הודעה עבור יעד מס וים, ומגיע למסקנה שברשת יש נתב דרכו ההודעה תעבור בנתיב יותר קצר, הוא שולח למקור ההודעה ICMP  Redirect עם כתובת הנתב שלהבא צריך להיות בשימוש עבור אותו יעד. הנתב לא זורק את חבילה המקורית במקרה כזה אלא מנתב אותה הלאה לכיוון היעד .

(ADDRESS RESOLUTION PROTOCOL (ARP

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

בקשת ARP נשלחת כ- broadcast לכל התחנות ברשת המקומית. הבקשה מכילה את הכתובת הפיזית של שולח הבקשה, כתובת ה- IP של שולח הבקשה וכתובת ה- IP שלגביה המבקש זקוק לכתובת הפיזית. המחשב שאליו שייכת כתובת IP זו, שולח תשובה שמכילה את הכתובת הפיזית שלו .

TCP/IP ARP Model

טבלת ARP

כל תחנת קצה ברשת TCP/IP מחזיקה טבלת ARP . בטבלא הזו יש מיפוי בין כל הכתובות הפיזיות לכתובות ה- IP ברשת המקומית . כאשר תחנת קצה מבררת את הכתובת הפיזית המתאימה לכתובת IP מסויימת, היא מכניסה את התשובה לטבלת ה- ARP על מנת שבפעם הבאה שתהיה חבילה המיועדת לאותו מקום, לא תישלח בקשת ARP נוספת.

משך הזמן בו נשמרת שורה בטבלת ה- ARP משתנה ממערכת למערכת ונע בין דקות לשעות .

הנה דוגמא לטבלת ARP :

TCP/IP ARP Model

ARP SPOOFING

מכיוון שבקשת ה- ARP נשלחת בצורה של broadcast , מחשב שחדר לרשת על מנת לתקוף יכול להתחזות בתור המחשב שאליו מתכונים להגיע ע"י שליחה ARP response מזוייף, שכולל את כתובת ה- MAC של המחשב התוקף.

לדוגמא, תחנת עבודה שולחת תעבורת אימייל, ושרת האימייל נמצא מחוץ לרשת המקומית. תחנת העבודה שולחת בקשת ARP על מנת למצוא את הנתב של הרשת המקומית. המחשב התוקף עונה לבקשת ה- ARP וכך התעבורה מאותה תחנת עבודה עוברת דרכו. המחשב התוקף שומר את התעבורה אצלו ומעביר אותה הלאה לנתב האמיתי. בצורה כזו הכל מתפקד כרגיל אבל מצותתים למחשבים של אנשים ללא ידיעתם .

TCP/IP ARP Spoofing Model

(DYNAMIC HOST CONFIGURATION PROTOCOL (DHCP

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

התהליך מורכב מארבעה שלבים שנקראים DORA : Discovery, Offer, Request, Acknowledge

ברגע שמחשב מתחבר לרשת, הוא שולח הודעת DHCP Discovery לכתובות MAC Broadcast (כלומר לכל מי שמחובר לתת - הרשת). ההודעה מודיעה שהתחבר מחשב חדש לרשת, ומה כתובת ה- MAC שלו .

בתגובה, שרת DHCP משיב למחשב DHCP Offer – שמכילה את הפרטים הבאים :

  1. איזו כתובת IP השרת מציע להקצות למחשב
  2. מה כתובת ה- IP של הנתב (ראוטר, Default Gateway) בתת הרשת
  3. מהו ה- Subnet Mask של תת הרשת .
  4. מה כתובת ה- IP של שרת ה- DNS המקומי של תת-הרשת (הרחבה על DNS בהמשך).

אם המחשב מעוניין בכתובת שהוצעה לו, הוא ישלח (שוב, לכתובת Broadcast) הודעת DHCP Request והשרת יאשר את ההקצאה עם הודעת DHCP ACK . בהודעה זו נכתב למשך כמה זמן הקצאת הכתובת תקפה .

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

(USER DATAGRAM PROTOCOL (UDP

UDP הוא הפרוטוקול הפשוט יותר בשכבת ה Transport . הוא פורסם ב- RFC 768 בשנת 1980 ומאז פרסומו לראשונה לא עבר עדכונים כלל. תפקידו העיקרי הוא לספק מספר Port עבור האפליקציה לצורך התקשרות עם אפליקציה בתחנת קצה אחרת. UDP אינו מספק אמינות, כלומר אין הבטחה שחבילות תגענה ליעדן ובסדר הנכון. פרוטוקול זה מתאים למקרים בהם הקמת קשר והבטחת אמינות אינם תורמים, והסיבוכיות הכרוכה בהקמת קשר אמין רק מפריעה. דוגמא טובה לכך היא העברת קול מעל האינטרנט (VoIP בפרוטוקול RTP), מפני שבמקרה זה אם חבילה הלכה לאיבוד אין טעם לשדר אותה שוב, וממילא אם מעט חבילות כאלו הולכות לאיבוד, השומע כלל לא יבחין בכך .

פורמט ה - HEADER
(Destination Port (16bit (Source Port (16bit
(Checksum (16bit (Length (16bit
...Data

ה- Header מכיל פורט מקור, פורט יעד, אורך החבילה, לא כולל השכבות שמתחת ל- UDP וה- Checksum על כל החבילה .

(DOMAIN NAME SYSTEM (DNS

DNS הוא ספר הטלפונים של עולם האינטרנט: כאשר משתמש רוצה ליצור קשר עם שרת מסויים, אבל יש לו רק את השם של השרת (Domain Name), הוא זקוק לכתובת ה- IP של השרת. הוא מוצא את התרגום הזה באמצעות שרת DNS . מערכת ה- DNS היא מסד נתונים היררכי ומבוזר של מיפוי שמות לכתובות. בראש ההיררכיה עומדים 13 שרתי Root ידועים. ההיררכיה נראית לדוגמה כך :

TCP/IP DNS Model

מחשב הקצה (הלקוח) מכיר רק את כתובת שרת ה- DNS המקומי של הרשת שלו (מוקצה לו בעת התחברות לרשת או בקשה מפורשת). כאשר הוא מעוניין להתחבר לשרת ee.technion.ac.il , עליו לפנות לשרת ה- DNS המקומי ולבקש ממנו תרגום לכתובת IP (השאילתה מתבצעת על גבי פרוטוקול UDP , בפורט 53 אשר שמור לבקשות DNS) .

אם שרת ה- DNS המקומי לא מכיר את התרגום, הוא ייקח את הבקשה ויעביר אותה הלאה (זהו החלק הרקורסיבי של תרגום הכתובת). את בקשת התרגום הוא יפנה לשרת Root , אשר ישיב "אין לי את התשובה שלך, אבל אתה צריך לשאול את השרת שנמצא בכתובת X ". באופן זה, שרת ה- DNS המקומי "מטייל" על היררכיית שרתי ה DNS עד שהוא מגיע לשרת אשר מכיר את התרגום המבוקש. החלק הזה נקרא החלק האיטרטיבי של תרגום הכתובת. ניתן לראות את התיאור של כל התהליך בדיאגרמה הבאה :

TCP/IP DNS query Model

על מנת לקצר את התהליך, שרת ה- DNS המקומי משתמש בזיכרון ) Cache ( על מנת להשיב באופן מהיר יותר בפעם הבאה שהוא יידרש לתרגם את אותה הכתובת .

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

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

חומר רקע לניסוי עצמו

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

כרטיסי רשת

כרטיס רשת הוא כרטיס המכיל יציאות רשת ומעבד רשת (Network Processor). הכרטיס מתממשק ללוח האם באמצעות PCI (או PCIe). הכרטיס הוא התקן פריפריאלי. חלק מעיבוד המידע נעשה בכרטיס ולא על המחשב. בפרט, הטיפול בשכבה הפיזית נעשה ע"י מעבד הרשת שנמצא על כרטיס הרשת .

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

WIRESHARK

Wirehark היא התוכנה המובילה כיום לניטור תעבורת רשת. עיקר יתרונה מול המתחרות שלה שהיא Open Source וניתן להתקין אותה ללא עלות. התוכנה מחולקת ל - 2 חלקים: השכבה התחתונה שתופסת את החבילות, והשכבה העליונה שמציגה אותם. השיכבה התחתונה ממומשת ע"י ספריה שנקראת pcap .

ספרית PCAP

Pcap , קיצור של packet capture זו ספריה שכתובה בשפת c . הספריה הזו יודעת להתממשק מול ה- driver של כרטיס הרשת, ולחלץ ממנו אינפורמציה על כל מה שכרטיס הרשת שומע .

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

המימוש של pcap במערכות לינוקס נקרא libpcap ובמערכות wubdows הוא נקרא winpcap

מה PCAP שומע

כאמור, pcap מתממשק ל- driver של כרטיס הרשת. ה- driver רץ על ה- cpu והוא התחנה האחרונה של תעבורת הרשת לפני שהיא נשלחת דרך ה- PCI אל כרטיס הרשת, ובצד המקבל זוהי התחנה הראשונה של התעבורה הנכנסת.

מכיוון שהכרטיס אחראי לטפל בשכבה הפיסית, ה- pcap מראה את החבילה משכבה 2 ומעלה .

נוסף לכך, הרשתות בנויות היום )לשמחתנו( כך שלא כל מחשב שומע את כל התעבורה ברשת. אם למשל 3 מחשבים מחוברים למתג, ומחשבים 1 ו- 2 מנהלים שיחה מעל TCP , מחשב 3 לא ישמע את התעבורה של שיחה זו .

לכן, הרוב המכריע של התעבורה שה- pcap יתפוס, הינו תעבורה של המחשב עליו רץ ה- pcap , וכן חבילות broadcast ו- multicast שמופצות ע"י המתגים לכל המחשבים .

מדידת נפח תעבורה

יש 2 מונחים טיפה מבלבלים ברשתות גם בעברית וגם באנגלית, ואלו הביט (bit) והבית (Byte) .

ביט (ברבים ביטים) הינה סיבית אחת, שערכה יכול להיות 0 או 1

בית (ברבים בתים) הוא מחרוזת של 8 ביטים.

כאשר משתמשים בראשי תיבות ביט מקבל אות קטנה b ואילו בית מקבל אות גדולה B

אז מתי משתמש ים בביט ומתי בבית?

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

השימוש בבית הוא למדידת נפח מידע. למשל גודל של חב ילה ברשת, אורך של header גודל של buffer וכך הלאה. למשל, כמות המידע שעובר בקשר TCP יימדד בבתים .

ROUND TRIP TIME

תזכורת קצרה על מונח Round Trip Time : זהו הזמן שלוקח למידע להגיע מהשולח ליעד, ובחזרה מהיעד לשולח. הפרש הזמנים תמיד נמדד על אותו מחשב. זהו המחשב ששלח את החבילה וקיבל את התשובה. לדוגמא, ב- ping זהו הזמן בין שליחת חבילת ICMP Echo Request ועד שמגיעה התשובה ב - Echo Reply . ב - TCP זהו הזמן בין שליחת בית מסויים ועד שמגיע ACK עבור אותו בית .

NSLOOKUP

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

על מנת לפתוח את הכלי, יש לכתוב בטרמינל nslookup )בסביבת ווינדוס: run → nslookup (. כעת אתם אמורים לראות חלון אינטרקטיבי שבו מבצעים את השאילתות .

לאחר שנכנסנו לתוכנה, נוכל לתשאל את השרת המקומי (זה אשר מוגדר כברירת מחדל). אם נרצה לדעת מה הכתובת של ee.technion.ac.il , עלינו להריץ בטרמינל את הפקודה :

			ee.technion.ac.il
			

על מנת לתשאל שרת DNS אחר כלשהו, למשל כזה שכתובתו 213.57.2.5 , יש להריץ :

			ee.technion.ac.il 213.57.2.5
			

בתשובה נוכל לראות את כתובת שרת ה- DNS שתשאלנו, ומה התשובה שלו לבקשת התרגום .

לסיום ריצת התכנית יש ללחוץ על Ctrl+C

הכנת סביבת הניסוי במחשב שלכם

הניסוי יתנהל במכונה וירטואלית עם לינוקס. בנוסף לכך תהיו בקשר רציף עם המדריך דרך זום .

לכן לקראת הניסו י, סטודנט אחד מכל זוג סטודנטים צריך:

  • מחשב עם לפחות 8 גיגה זכרון וחיבור טוב לאינטרנ ט
  • להתקין תכנת VirtualBox על המחשב שלכם .

שימו לב: מערכת ההפעלה של המחשב היא 64 ביט. בהרבה מחשבים מערכות הפעלה כאלו עובדות רק אם נכנסו ל- BIOS ואפשרו תמיכה ב- Intel Virtualization . תוודאו שאופציה זו מאופשרת אצלכם .

לאחר שהתקנתם את VirtualBox:

  • הורידו את הקובץ מהלינק הבא:
      https://cgm.technion.ac.il/tcpexp.ova
  • הריצו את ה- VirtualBox . בצעו import , ובחרו את הקובץ ova שזה עתה הורדתם .
  • כאשר המכונה כבוייה, בחרו אותה, לחצו על - Settings->Network ובחרו באפשרו של bridged adapter . בחרו את כרטיס הרשת דרכו אתם מתחברים לאינטרנט. למשל, אם אתם מתחברים ב- wifi , בחרו wifi.

TCP/IP Virt Machines setup

בעיות אופייניות בהתקנת ה - VM

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

  • Import נכשל: אין מספיק זיכרון על הדיסק. במקרה כזה תפנו כך שיהיה לכם לפחות 10GB פנוי על הדיסק, ואחר כך בצעו restart למחשב שלכם .
  • כאשר לוחצים על settings מקבלים הודעת שגיאה בתחתית החלון וכפתור ok לא מאופשר :

  • אפשרות הוירטואליזציה ב- BIOS הוא על מצב disabled . שנו זאת ב- BIOS .
  • למחשב שלכם יש 4GB זיכרון, וכולו מוקצה למכונה הוירטואלית, שזה אסור. היכנסו ב- settings ל- system והורידו את הזיכרון של ה- VM ל- 2GB .
  • ב- Network בחרתם כרטיס רשת שלא פעיל במחשב שלכם .

כדי לוודא שהמכונה הוירטואלית רצה כהלכה, הריצו אותה .

שם המשתמש: expuser

סיסמא: corona

  • אם האופציה של view->full screen לא עובדת כהלכה, לחצו על devices->install guest additions והתקינו לפי ההוראות. אם full screen עובד (לרוב זה המצב) אפשר לדלג על חלק זה .
  • עתה נוודא שיש לכם חיבור אינטרנט מהמכונה הוירטואלית

  • פיתחו firefox וגילשו לאתר החביב עליכם כדי לוודא קישוריות אינטרנט

שאלות הכנה לחלק א'

שאלות הכנה לחלק א'

  1. איך מחשב מזהה את כתובת הרשת אליה הוא שייך , בהנחה שיש לו כתובת IP – subnet mask ?
  2. איך מחשב מזהה את כתובת ה Broadcast שלו , בהנחה שיש לו כתובת IP – subnet mask ?
  3. נניח שהמחשב שלנו בכתובת 132.68.58.136. המחשב רוצה לתקשר עם שרת בכל אחת מהכתובות המצויינות למט ה. עבור אילו כתובות המחשב שלנו יפנה ישירות לשרת, ובאילו לא, ומה יקרה אז ?
    1. 132.68.58.202 netmask 255.255.255.0
    2. 132.68.58.202 netmask 255.255.255.128
    3. 132.68.58.202 netmask 255.255.255.143
    4. 132.68.58.202 netmask 255.255.255.192
    5. 132.68.60.202 netmask 255.255.0.0
    6. 132.68.60.202 netmask 255.255.128.0
  4. נניח שמגדירים את הרשת 192.168.1.0 עם ה- Mask 255.255.255.240 . כמה תחנו ת ניתן להגדיר על הרשת הזו, ומה תהיינה הכתובות שלהן?

ציוד רשת

נכון/לא נכון והסבירו/תנו דוגמא :

  1. למחשב יש לכל היותר כתובת ETHERNET אחת
  2. למחשב יש לכל היותר כתובת IP אחת
  3. למתג לא חייבת להיות כתובת IP
  4. לנתב יש כתובת IP אחת ומספר כתובות ETHERNET , לפחות לפי מספר הפורטים שלו
  5. לנתב יש כתובת ETHERNET אחת ומספר כתובות IP , לפחות לפי מספר הפורטים שלו

מודל השכבות

  1. מדוע יעיל יותר ליישם מנגנוני אמינות בשכבת ה- transport מאשר בשכבת ה- Internet ? ציין 2 סיבות .
  2. איזו שכבה במודל ה- TCP/IP אחראית על ניתוב החבילות ?
  3. כאשר מגיעה חבילת IP למחשב, איך המחשב יודע האם זו חבילת TCP או UDP ?
  4. איזה סוג ציוד מחזיק טבלאות ניתוב עם כתובות IP ?
    1. נתב
    2. מחשב אישי
    3. מתג
    4. Firewall

ETHERNET

  1. ברשת המעבדה, הודעה של 5000 בתים תעבור ב- 4 חבילות. מה מונע מההודעה לעבור בחבילה בודדת ?
  2. איך מחשב הקולט חבילה יודע אם זו חבילת ARP או IP ?

ARP

  1. למה טבלת ARP לא תכיל כתובות שנמצאות מחוץ לרשת המקומית ?
  2. למה בקשת ARP נשלחת כ- Broadcast ?
  3. טבלת ה- ARP מתעדכנ ת רק כאשר נשלחת שאילתת ARP ישירות למחשב או כאשר מתקבלת תשובה. מחשב/נתב לא מעדכן את טבלת ה- ARP כאשר הוא קולט בקשת ARP שאינה מיועדת אליו, למרות שהיא מכילה את תרגום הכתובות של השואל. מדוע ?

DNS & NSLOOKUP

  1. מדוע החלק השני של תרגום שם דומיין לכתובת IP נעשה באופן איטרטיבי (ולא רקורסיבי) ?
  2. מהי כתובת ה- IP של אתר ה- UG ?
  3. מהי כתובת שרת ה- DNS שביצע את התרגום ?
  4. צרפו צילום מסך של השאילתה