Document Details

RapturousCherryTree

Uploaded by RapturousCherryTree

Handasaim High School

2020

עומר רוזנבוים, ברק גונן, תומר גביש, מתן זינגר, רמי עמר, שלומי בוטנרו, שלומי הוד

Tags

computer networks networking internet computer science

Summary

This textbook, "Computer Networks", version 3.2 from November 2020, is a comprehensive resource on computer networks. It is a detailed guide, covering topics from the fundamentals of internet operations to advanced topics on networking protocols. The book is written for undergraduate students.

Full Transcript

‫רשתות מחשבים‬ ‫גרסה ‪ 3.2‬נובמבר ‪2020‬‬ ‫כתיבה‬ ‫עומר רוזנבוים – כותב ראשי‬...

‫רשתות מחשבים‬ ‫גרסה ‪ 3.2‬נובמבר ‪2020‬‬ ‫כתיבה‬ ‫עומר רוזנבוים – כותב ראשי‬ ‫ברק גונן‬ ‫תומר גביש‬ ‫מתן זינגר‬ ‫רמי עמר‬ ‫שלומי בוטנרו‬ ‫שלומי הוד‬ ‫עריכה‬ ‫עומר רוזנבוים‬ ‫ברק גונן‬ ‫שלומי הוד‬ ‫אין לשכפל‪ ,‬להעתיק‪ ,‬לצלם‪ ,‬להקליט‪ ,‬לתרגם‪ ,‬לאחסן במאגר מידע‪ ,‬לשדר או לקלוט בכל דרך או‬ ‫אמצעי אלקטרוני‪ ,‬אופטי או מכני או אחר – כל חלק שהוא מהחומר שבספר זה‪.‬שימוש מסחרי מכל‬ ‫סוג שהוא בחומר הכלול בספר זה אסור בהחלט‪ ,‬אלא ברשות מפורשת בכתב ממטה הסייבר‬ ‫הצה"לי‪.‬‬ ‫© כל הזכויות על החומרים ממקורות חיצוניים ששובצו בספר זה שמורות לבעליהן‪.‬פירוט בעלי‬ ‫הזכויות – בסוף הספר‪.‬‬ ‫© תשע"ד ‪ -‬תש"פ‪.2020 - 2014 ,‬כל הזכויות שמורות למרכז לחינוך סייבר של קרן רש"י‪.‬‬ ‫הודפס בישראל‪.‬‬ ‫‪http://www.cyber.org.il‬‬ ‫‪3‬‬ ‫תוכן עניינים‬ ‫תוכן עניינים‬ ‫תוכן עניינים ‪4...................................................................................................................‬‬ ‫מבוא ‪10..........................................................................................................................‬‬ ‫קהל היעד של הספר ‪10.............................................................................................................‬‬ ‫שיטת הלימוד של הספר ‪11.........................................................................................................‬‬ ‫צעדים להמשך ‪11..................................................................................................................‬‬ ‫ידע מקדים נדרש ‪11..................................................................................................................‬‬ ‫התקנות נדרשות ‪12..................................................................................................................‬‬ ‫אייקונים ‪19.............................................................................................................................‬‬ ‫תודות ‪19................................................................................................................................‬‬ ‫תוכן עניינים מצגות ‪20........................................................................................................‬‬ ‫פייתון ‪20.............................................................................................................................‬‬ ‫רשתות ‪21...........................................................................................................................‬‬ ‫פרק ‪22.........................................................................................................................1‬‬ ‫תחילת מסע – איך עובד האינטרנט? ‪22................................................................................‬‬ ‫‪23................................................................................................ World Wide Web – WWW‬‬ ‫כתובות ‪24.......................................................................................................................... IP‬‬ ‫‪28.............................................................................................................................. GeoIP‬‬ ‫ענן האינטרנט ‪30......................................................................................................................‬‬ ‫‪34................................................................................................................................. DNS‬‬ ‫איך עובד האינטרנט – סיכום ‪36..................................................................................................‬‬ ‫פרק ‪37.........................................................................................................................2‬‬ ‫תכנות ב‪37........................................................................................................ Sockets-‬‬ ‫שרת‪-‬לקוח ‪37..........................................................................................................................‬‬ ‫אז מה זה בעצם ‪39.................................................................................................... ? Socket‬‬ ‫כתובות של ‪39............................................................................................................. Socket‬‬ ‫סיכום תכנות ב‪59....................................................................................................... Sockets-‬‬ ‫פרק ‪60.........................................................................................................................3‬‬ ‫‪ Wireshark‬ומודל חמש השכבות ‪60.....................................................................................‬‬ ‫מודל חמש השכבות ‪60..............................................................................................................‬‬ ‫כיצד ניתן לארגן את כל המידע הזה?‪61..................................................................................‬‬ ‫מה זה בעצם אומר מודל של שכבות? ‪61.................................................................................‬‬ ‫פרוטוקול – הגדרה ‪64.........................................................................................................‬‬ ‫כיצד בנויה פקטה (‪66........................................................................................... ?)Packet‬‬ ‫פירוט חמש השכבות ‪68.........................................................................................................‬‬ ‫שכבה ראשונה – השכבה הפיזית ‪68......................................................................................‬‬ ‫שכבה שנייה – שכבת הקו ‪68................................................................................................‬‬ ‫שכבה שלישית – שכבת הרשת ‪69.........................................................................................‬‬ ‫שכבה רביעית – שכבת התעבורה‪70......................................................................................‬‬ ‫שכבה חמישית – שכבת האפליקציה ‪70..................................................................................‬‬ ‫מודל השכבות ו‪72................................................................................................... Sockets-‬‬ ‫‪4‬‬ ‫למה המידע מחולק לפקטות? ‪73...........................................................................................‬‬ ‫‪74........................................................................................................................ Wireshark‬‬ ‫‪75........................................................................................................... Capture Options‬‬ ‫התחלה ועצירה של הסנפה ‪76.................................................................................................‬‬ ‫שמירה ופתיחה של קבצי הסנפה ‪77.........................................................................................‬‬ ‫מסננים (‪78.............................................................................................................. )Filters‬‬ ‫סוגי מסננים ‪78..................................................................................................................‬‬ ‫דוגמאות ‪78.......................................................................................................................‬‬ ‫שימוש ב‪ Wireshark-‬לניתוח מודל חמש השכבות ‪82......................................................................‬‬ ‫‪87.............................................................................................. Follow TCP/UDP Stream‬‬ ‫סטטיסטיקות ‪88....................................................................................................................‬‬ ‫סיכום ‪ Wireshark‬ומודל חמש השכבות ‪90....................................................................................‬‬ ‫פרק ‪91.........................................................................................................................4‬‬ ‫שכבת האפליקציה ‪91.........................................................................................................‬‬ ‫פרוטוקול ‪ – HTTP‬בקשה ותגובה ‪91...........................................................................................‬‬ ‫מהו משאב רשת? ‪92..........................................................................................................‬‬ ‫עיקרון "בקשה‪-‬תגובה״ ‪93....................................................................................................‬‬ ‫שורת הבקשה של ‪93................................................................................................... HTTP‬‬ ‫שורת התגובה של ‪93.................................................................................................. HTTP‬‬ ‫סיכום ביניים של התקשורת שראינו‪94.......................................................................................‬‬ ‫מה מסתתר בתוך הבקשה‪/‬תגובה? ‪Header‬ים ("מבוא") ב‪94............................................. HTTP-‬‬ ‫מבנה פורמלי של בקשת ‪95.......................................................................................... HTTP‬‬ ‫מבנה פורמלי של תשובת ‪96......................................................................................... HTTP‬‬ ‫תוכן (מידע – ‪ )Data‬ב‪97.............................................................................................HTTP-‬‬ ‫פרוטוקול ‪ – HTTP‬תכנות צד שרת בפייתון‪ ,‬הגשת קבצים בתגובה לבקשת ‪98......................... GET‬‬ ‫שלד קוד של תרגיל כתיבת שרת ‪101........................................................................... HTTP‬‬ ‫הוספת אייקון לדפדפן ‪102....................................................................................................‬‬ ‫כלי דיבוג – ‪102.............................................................................................. breakpoints‬‬ ‫כלי דיבוג – דפדפן כרום‪103.................................................................................................‬‬ ‫כלי דיבוג – ‪104................................................................................................ Wireshark‬‬ ‫פרוטוקול ‪ – HTTP‬תשובה "תכנותית" לבקשות ‪ ,GET‬ופרמטרים של בקשת ‪107......................GET‬‬ ‫פרוטוקול ‪ – HTTP‬בקשות ‪ POST‬ותכנות צד לקוח בפייתון (הרחבה) ‪112........................................‬‬ ‫האם ניתן להשתמש בפרמטרים של בקשת ‪ GET‬כדי להעביר את כל התמונה? ‪113........................‬‬ ‫‪ – HTTP‬סיכום קצר ‪114.........................................................................................................‬‬ ‫‪ – HTTP‬נושאים מתקדמים ותרגילי מחקר ‪116...............................................................................‬‬ ‫‪( Cache‬מטמון) ‪116..............................................................................................................‬‬ ‫‪"( Cookies‬עוגיות") ‪118.........................................................................................................‬‬ ‫פרוטוקול ‪ – DNS‬הסבר כללי ‪122...............................................................................................‬‬ ‫היררכיית שמות ‪123..............................................................................................................‬‬ ‫גלישה לאתרים שנמצאים על שרתי אחסון‪127............................................................................‬‬ ‫מחקר פרוטוקול – ‪132.................................................................................................... SMTP‬‬ ‫שכבת האפליקציה – סיכום ‪134..................................................................................................‬‬ ‫שכבת האפליקציה – צעדים להמשך‪135.......................................................................................‬‬ ‫קריאה נוספת ‪135.................................................................................................................‬‬ ‫נושאים מתקדמים בפרוטוקול ‪135............................................................................... HTTP‬‬ ‫נושאים מתקדמים בפרוטוקול ‪135................................................................................. DNS‬‬ ‫פרוטוקולים נוספים בשכבת האפליקציה ‪135............................................................................‬‬ ‫פרק ‪136.......................................................................................................................5‬‬ ‫‪136..................................................................................................................... Scapy‬‬ ‫מבוא ל‪136.................................................................................................................. Scapy-‬‬ ‫‪5‬‬ ‫תוכן עניינים‬ ‫מה למשל אפשר לעשות עם ‪136.............................................................................. ?Scapy‬‬ ‫בואו נתחיל – הרצת ‪137................................................................................................. Scapy‬‬ ‫קבלה של פקטות (או – הסנפה) ‪138............................................................................................‬‬ ‫כיצד נוכל לסנן חבילות לא מזוהות? ‪147................................................................................‬‬ ‫הסנפה – סיכום ‪148..............................................................................................................‬‬ ‫יצירת חבילות ‪148....................................................................................................................‬‬ ‫שכבות ‪150.............................................................................................................................‬‬ ‫‪152....................................................................................................................... Resolving‬‬ ‫שליחת פקטות ‪152...................................................................................................................‬‬ ‫שימוש ב‪ Scapy-‬מתוך קובץ סקריפט‪153.....................................................................................‬‬ ‫‪ – Scapy‬סיכום ‪154.................................................................................................................‬‬ ‫‪ – Scapy‬צעדים להמשך ‪154.....................................................................................................‬‬ ‫קריאה נוספת ‪154.................................................................................................................‬‬ ‫תרגיל מתקדם‪154................................................................................................................‬‬ ‫פרק ‪156.......................................................................................................................6‬‬ ‫שכבת התעבורה ‪156.........................................................................................................‬‬ ‫מה התפקיד של שכבת התעבורה? ‪156........................................................................................‬‬ ‫ריבוב אפליקציות – פורטים ‪156...............................................................................................‬‬ ‫מי מחליט על מספרי הפורטים? ‪161......................................................................................‬‬ ‫העברה אמינה של מידע ‪162...................................................................................................‬‬ ‫מיקום שכבת התעבורה במודל השכבות‪162..................................................................................‬‬ ‫מה השירותים ששכבת התעבורה מספקת לשכבה שמעליה? ‪162...................................................‬‬ ‫מה השירותים ששכבת התעבורה מקבלת מן השכבה שמתחתיה? ‪163..........................................‬‬ ‫פרוטוקולים מבוססי קישור ולא מבוססי קישור ‪163..........................................................................‬‬ ‫פרוטוקולים מבוססי קישור ‪163................................................................................................‬‬ ‫פרוטוקולים שאינם מבוססי קישור ‪164......................................................................................‬‬ ‫מתי נעדיף פרוטוקול מבוסס קישור ומתי פרוטוקול שלא מבוסס קישור? ‪165..................................‬‬ ‫מקרה מבחן‪ :‬תוכנה להעברת קבצים גדולים ‪165......................................................................‬‬ ‫מקרה מבחן‪ :‬פרוטוקול ‪165.......................................................................................... DNS‬‬ ‫מקרה מבחן‪ :‬תוכנה לשיתוף תמונות ‪166................................................................................‬‬ ‫מקרה מבחן‪166.................................................................................................... Skype :‬‬ ‫‪168..................................................................................... UDP – User Datagram Protocol‬‬ ‫מה גודל ה‪ Header-‬של חבילת ‪168............................................................................ ?UDP‬‬ ‫אילו שדות יש ב‪ Header-‬של חבילת ‪ ?UDP‬מה התפקיד של כל שדה? ‪169..................................‬‬ ‫מה מציין שדה האורך ב‪169...................................................................................... ?UDP-‬‬ ‫מה זה ‪170.................................................................................................... ?Checksum‬‬ ‫‪ Socket‬של ‪173.............................................................................................................. UDP‬‬ ‫‪ UDP‬ב‪177................................................................................................................. Scapy-‬‬ ‫‪185............................................................................ TCP – Transmission Control Protocol‬‬ ‫כיצד ניתן לוודא שהמידע מגיע אל היעד? כיצד ניתן לוודא שהוא מגיע בסדר הנכון? ‪185...................‬‬ ‫איך ‪ TCP‬משתמש ב‪188.................................................................. ?Sequence Numbers-‬‬ ‫איך ‪ TCP‬משתמש ב‪191..................................................... ?Acknowledgement Numbers-‬‬ ‫מענה ב‪ ACK-‬יחיד למספר חבילות ‪194....................................................................................‬‬ ‫הקמת קישור ב‪195...................................................................................................... TCP-‬‬ ‫חבילה ראשונה – ‪196................................................................................................. SYN‬‬ ‫חבילה שנייה – ‪197......................................................................................... SYN + ACK‬‬ ‫חבילה שלישית – ‪198................................................................................................. ACK‬‬ ‫העברת מידע על גבי קישור שנוצר ‪209......................................................................................‬‬ ‫תפקידים ושיפורים נוספים של ‪211.................................................................................... TCP‬‬ ‫רשתות מחשבים‬ ‫‪6‬‬ ‫שכבת התעבורה – סיכום ‪212.....................................................................................................‬‬ ‫שכבת התעבורה – צעדים להמשך ‪213.........................................................................................‬‬ ‫קריאה נוספת ‪213.................................................................................................................‬‬ ‫נספח א' – ‪214.................................................................................................... TCP Header‬‬ ‫פרק ‪216.......................................................................................................................7‬‬ ‫שכבת הרשת ‪216.............................................................................................................‬‬ ‫מה תפקידה של שכבת הרשת? ‪216............................................................................................‬‬ ‫אילו אתגרים עומדים בפני שכבת הרשת? ‪218............................................................................‬‬ ‫מיקום שכבת הרשת במודל השכבות ‪218......................................................................................‬‬ ‫מה השירותים ששכבת הרשת מספקת לשכבה שמעליה? ‪218.......................................................‬‬ ‫מה השירותים ששכבת הרשת מקבלת מהשכבה שמתחתיה? ‪219..................................................‬‬ ‫מסלולים ברשת ‪219.................................................................................................................‬‬ ‫מה צריכה שכבת הרשת לדעת בכדי להחליט כיצד לנתב?‪221.......................................................‬‬ ‫עשה זאת בעצמך – תכנון מסלול ניתוב ‪222.............................................................................‬‬ ‫פרוטוקול ‪223...................................................................................................................... IP‬‬ ‫כתובות ‪223..................................................................................................................... IP‬‬ ‫מה כתובת ה‪ IP-‬שלי?‪223...................................................................................................‬‬ ‫מה זו כתובת ‪224.........................................................................................................?IP‬‬ ‫כמה כתובות ‪ IP‬אפשריות קיימות? ‪225..................................................................................‬‬ ‫מהו מזהה הרשת שלי? מהו מזהה הישות? ‪228.........................................................................‬‬ ‫כתובות ‪ IP‬מיוחדות ‪231.........................................................................................................‬‬ ‫כתובות פרטיות ו‪233........................................................................................................ NAT-‬‬ ‫ניתוב ‪238...............................................................................................................................‬‬ ‫נתב (‪238............................................................................................................... )Router‬‬ ‫כיצד נתב מחליט לאן לנתב?‪239..........................................................................................‬‬ ‫מהי טבלת הניתוב שלי? ‪241...............................................................................................‬‬ ‫‪243............................................................................................................................. ICMP‬‬ ‫איך ‪ Ping‬עובד? ‪243.............................................................................................................‬‬ ‫איך ‪ Traceroute‬עובד? ‪254...................................................................................................‬‬ ‫‪261............................................................................................................................ DHCP‬‬ ‫שכבת הרשת – סיכום ‪271.........................................................................................................‬‬ ‫שכבת הרשת – צעדים להמשך ‪272.............................................................................................‬‬ ‫קריאה נוספת ‪272.................................................................................................................‬‬ ‫נספח א' – ‪274........................................................................................................ IP Header‬‬ ‫נספח ב' – ‪278................................................................................................................ IPv6‬‬ ‫כתובות ‪278................................................................................................................. IPv6‬‬ ‫‪279.................................................................................................................. IPv6 Header‬‬ ‫פרק ‪281.......................................................................................................................8‬‬ ‫שכבת הקו ‪281.................................................................................................................‬‬ ‫מה התפקיד של שכבת הקו? ‪281................................................................................................‬‬ ‫איפה ממומשת שכבת הקו? ‪282...........................................................................................‬‬ ‫פרוטוקול ‪283............................................................................................................ Ethernet‬‬ ‫מהי הכתובת שלי בשכבת הקו? ‪283.........................................................................................‬‬ ‫איך בנויה כתובת ‪287............................................................................................ ?Ethernet‬‬ ‫כתובת ‪288......................................................................................................... Broadcast‬‬ ‫מבנה מסגרת ‪289.................................................................................................. Ethernet‬‬ ‫פרוטוקול ‪294................................................................. Address Resolution Protocol – ARP‬‬ ‫מטמון (‪ )Cache‬של ‪296................................................................................................ ARP‬‬ ‫‪7‬‬ ‫תוכן עניינים‬ ‫שליחת מסגרות בשכבה שנייה באמצעות ‪300..................................................................... Scapy‬‬ ‫רכיבי רשת בשכבת הקו ובשכבה הפיזית ‪302................................................................................‬‬ ‫‪( Hub‬רכזת) ‪302..................................................................................................................‬‬ ‫‪( Switch‬מתג) ‪304...............................................................................................................‬‬ ‫כיצד ‪ Switch‬פועל?‪305......................................................................................................‬‬ ‫שכבת הקו – סיכום ‪310.............................................................................................................‬‬ ‫נספח א' – התנגשויות ‪311..........................................................................................................‬‬ ‫ערוץ משותף – הגדרה ‪311......................................................................................................‬‬ ‫מהי התנגשות? ‪312..............................................................................................................‬‬ ‫מה תפקידה של שכבת הקו בנוגע להתנגשויות? ‪312...................................................................‬‬ ‫מניעת התנגשויות ‪313...........................................................................................................‬‬ ‫שכבת הקו – צעדים להמשך ‪315.................................................................................................‬‬ ‫קריאה נוספת ‪315.................................................................................................................‬‬ ‫נספח א' – כתובות ‪ Ethernet‬של קבוצות ‪317................................................................................‬‬ ‫פרק ‪321.......................................................................................................................9‬‬ ‫רכיבי רשת‪321.................................................................................................................‬‬ ‫‪( Hub‬רכזת) ‪321.....................................................................................................................‬‬ ‫‪( Switch‬מתג)‪322...................................................................................................................‬‬ ‫‪( Router‬נתב) ‪323...................................................................................................................‬‬ ‫טבלת סיכום ‪324......................................................................................................................‬‬ ‫פרק ‪325.....................................................................................................................10‬‬ ‫השכבה הפיזית (העשרה)‪325.............................................................................................‬‬ ‫מבוא ‪325...............................................................................................................................‬‬ ‫עמודי התווך של התקשורת ‪326..................................................................................................‬‬ ‫העברת מידע באוויר ‪327........................................................................................................‬‬ ‫גלים נושאי מידע ‪329.............................................................................................................‬‬ ‫כבלי נחושת כתווך תקשורת ‪333..............................................................................................‬‬ ‫הרשת בבית‪333......................................................................................................................‬‬ ‫קו הטלפון הביתי‪ ,‬או למה צריך פילטר למודם ‪334........................................................... ?ADSL‬‬ ‫איך עובד טלפון? ‪334..........................................................................................................‬‬ ‫איך עובד מודם? ‪336..........................................................................................................‬‬ ‫אנלוגי‪ ,‬דיגיטלי ומה שביניהם ‪338..........................................................................................‬‬ ‫סיכום ביניים ‪341......................................................................................................................‬‬ ‫הרשת המשרדית ‪342...............................................................................................................‬‬ ‫משרד קטן ‪342.....................................................................................................................‬‬ ‫משרד גדול ‪345....................................................................................................................‬‬ ‫ספק תקשורת ‪347................................................................................................................‬‬ ‫השכבה הפיזית – סיכום ‪349......................................................................................................‬‬ ‫נספח א' – הרשת האלחוטית ‪350................................................................................................‬‬ ‫פרק ‪352.....................................................................................................................11‬‬ ‫איך הכל מתחבר‪ ,‬ואיך עובד האינטרנט? ‪352.........................................................................‬‬ ‫מה קורה כשאנו גולשים ל‪352................................................................................. ?Facebook-‬‬ ‫מה המחשב שלנו צריך לעשות בכדי להצליח לתקשר עם האינטרנט? ‪352...........................................‬‬ ‫איזה מידע יש למחשב שלנו על הרשת? ‪353.................................................................................‬‬ ‫איך המחשב שלנו משיג את כתובת ה‪ IP-‬ושאר פרטי הרשת שלו? ‪353...........................................‬‬ ‫איך ההודעה הגיעה אל שרת ה‪354............................................................................. ?DHCP-‬‬ ‫מה השלב הבא? ‪354............................................................................................................‬‬ ‫רשתות מחשבים‬ ‫‪8‬‬ ‫מהו שרת ה‪ DNS-‬שלנו? כיצד המחשב יודע זאת? ‪355...................................................................‬‬ ‫כיצד המחשב שלנו יודע לפנות אל שרת ה‪355................................................................. ?DNS-‬‬ ‫איך נצליח לתקשר עם הנתב? ‪356...........................................................................................‬‬ ‫איך ה‪ Switch-‬יודע להעביר את ההודעות? ‪357.............................................................................‬‬ ‫מהן הכתובות בחבילה?‪358.......................................................................................................‬‬ ‫כתובות ה‪358............................................................................................................. MAC-‬‬ ‫כתובות ה‪360................................................................................................................. IP-‬‬ ‫מהן הכתובות בתחנה הבאה? ‪360...........................................................................................‬‬ ‫כתובות ה‪362............................................................................................................. MAC-‬‬ ‫כתובות ה‪362................................................................................................................. IP-‬‬ ‫מה עושה כל נתב עם החבילה? ‪363............................................................................................‬‬ ‫כיצד מוצא המחשב את כתובת ה‪ IP-‬של ‪364...............................................................?Facebook‬‬ ‫מה השלב הבא? ‪364................................................................................................................‬‬ ‫באילו פורטים תתבצע התקשורת?‪365.........................................................................................‬‬ ‫כיצד נראית הרמת הקישור? ‪366.................................................................................................‬‬ ‫איך נראית בקשת ה‪369............................................................................................... ?HTTP-‬‬ ‫איך נראית תשובת ה‪369.............................................................................................. ?HTTP-‬‬ ‫מה קורה כאשר המחשב שלנו נמצא מאחורי ‪370................................................................. ?NAT‬‬ ‫איך הכל מתחבר‪ ,‬ואיך עובד האינטרנט – סיכום ‪373.......................................................................‬‬ ‫פרק ‪374.....................................................................................................................12‬‬ ‫תכנות ‪ Sockets‬מתקדם‪ :‬ריבוי משתמשים (הרחבה) ‪374........................................................‬‬ ‫שירות לכמה לקוחות במקביל ‪375...............................................................................................‬‬ ‫הפתרון – ‪376............................................................................................................... Select‬‬ ‫קריאה לפונקציה ‪378................................................................................................... select‬‬ ‫תיאור הפרוטוקול ‪392............................................................................................................‬‬ ‫צד הלקוח ‪392...................................................................................................................‬‬ ‫צד השרת ‪395...................................................................................................................‬‬ ‫תכנות ‪ Sockets‬מתקדם – סיכום ‪396..........................................................................................‬‬ ‫פרק ‪397.....................................................................................................................13‬‬ ‫מילון מושגים ‪397..............................................................................................................‬‬ ‫פרק ‪ – 1‬תחילת מסע – איך עובד האינטרנט? ‪397.........................................................................‬‬ ‫פרק ‪ – 2‬תכנות ב‪397................................................................................................. Sockets-‬‬ ‫פרק ‪ Wireshark – 3‬ומודל חמש השכבות ‪398..............................................................................‬‬ ‫פרק ‪ – 4‬שכבת האפליקציה ‪398.................................................................................................‬‬ ‫פרק ‪400................................................................................................................ Scapy – 5‬‬ ‫פרק ‪ – 6‬שכבת התעבורה‪400....................................................................................................‬‬ ‫פרק ‪ – 7‬שכבת הרשת ‪401........................................................................................................‬‬ ‫פרק ‪ – 8‬שכבת הקו‪403............................................................................................................‬‬ ‫פרק ‪ – 10‬השכבה הפיזית ‪403...................................................................................................‬‬ ‫פרק ‪407.....................................................................................................................14‬‬ ‫פקודות וכלים ‪407.............................................................................................................‬‬ ‫הרשימה ‪407...........................................................................................................................‬‬ ‫זכויות יוצרים – מקורות חיצוניים‪409.....................................................................................‬‬ ‫‪9‬‬ ‫תוכן עניינים‬ ‫מבוא‬ ‫רשתות תקשורת הן דבר מדהים‪.‬מאז ומעולם‪ ,‬בני אדם רצו להעביר מסרים ביניהם‪.‬בעבר הרחוק‪ ,‬בהיעדר‬ ‫אמצעים אחרים‪ ,‬התבססה התקשורת בעיקר על תקשורת מילולית ושפת גוף‪.‬על מנת להעביר מסרים‬ ‫למרחקים גדולים יותר‪ ,‬נעשה שימוש בשליחים‪.‬בתקופת המערות‪ ,‬החל האדם הקדמון לעשות שימוש בציורי‬ ‫מערות בכדי לתקשר‪.‬בשלב מאוחר יותר הופיע הכתב – מערכת סימנים מוסכמת שאפשרה העברת מסרים‬ ‫בצורה רחבה יותר‪.‬המצאת הדפוס‪ ,‬במאה ה‪ ,15-‬אפשרה להעביר ידע ומסרים לאנשים רבים ובעלות העתקה‬ ‫נמוכה יחסית‪.‬‬ ‫במאה ה‪ 19-‬החלה מתפתחת התקשורת האלקטרונית‪ ,‬המאפשרת תקשורת המונים מהירה ויעילה‪.‬כבני‬ ‫אדם‪ ,‬עברנו דרך ארוכה מאז שהתקשורת התבססה על תקשורת מילולית‪ ,‬ועד לשימוש היום יומי בגלישה‬ ‫באינטרנט‪ ,‬בדואר אלקטרוני או בתוכנות העברת מסרים כגון ‪.WhatsApp‬המהפכה התקשורתית משפיעה‬ ‫על כל תחומי החיים שלנו – על הדרך בה אנו מדברים זה עם זה‪ ,‬על הדרך בה אנו מחפשים מידע כדי ללמוד‪,‬‬ ‫על מידת ההיכרות שלנו עם העולם הסובב אותנו ואף על החלטות שאנו מקבלים בחיינו‪.‬‬ ‫התפתחות התקשורת והתפתחות המחשוב שזורים זה בזה‪.‬עולם המחשבים משתנה ומתפתח בקצב מהיר‪.‬‬ ‫בעוד המחשבים הראשונים היו מבודדים זה מזה‪ ,‬רוב מכריע של המחשבים כיום מחוברים זה לזה דרך רשת‬ ‫האינטרנט‪ ,‬שהיא למעשה רשת של תת רשתות‪.‬לכל רשת יש את המאפיינים שלה‪ :‬יש רשתות קטנות (בהן‬ ‫מחוברים למשל שני מחשבים)‪ ,‬רשתות בינוניות (כמו רשת של בית ספר‪ ,‬שיכולה לחבר כמה עשרות או מאות‬ ‫מחשבים) ורשתות גדולות (כמו רשת של חברה עם אלפי מחשבים)‪.‬יש רשתות קוויות ורשתות אלחוטיות‪,‬‬ ‫רשתות מהירות ורשתות איטיות‪.‬מטרת כל הרשתות הינה להעביר מידע בין מחשבים‪.‬‬ ‫הספר נכנס אל תוך העולם המדהים של רשתות מחשבים‪.‬נלמד כיצד עובדת התקשורת בין מחשבים‪ ,‬נכיר‬ ‫סוגים שונים של רשתות‪ ,‬נבין איך הן בנויות ואיך הכל מתחבר לעולם הווירטואלי שאנו מכירים כיום‪.‬‬ ‫קהל היעד של הספר‬ ‫הספר מיועד לשני קהלי יעד עיקריים‪:‬‬ ‫‪.1‬תלמידים ומורים הלומדים במסגרת חלופת הגנת סייבר במגמת הנדסת תוכנה‪.‬‬ ‫‪.2‬כל מי שמעוניין ללמוד את תחום רשתות מחשבים באופן עצמאי‪.‬‬ ‫‪10‬‬ ‫שיטת הלימוד של הספר‬ ‫ספר זה ככל הנראה שונה מספרי לימוד אחרים שהכרתם‪.‬הספר נועד לאפשר לימוד עצמאי‪ ,‬והוא פרקטי‬ ‫מאוד וכולל תרגול רב‪.‬רשתות מחשבים הינו נושא עצום ומורכב‪ ,‬ולא ניתן לכסות את כולו או מרביתו בספר‬ ‫אחד‪.‬הקו שהנחה אותנו בהחלטה אילו נושאים ייכללו בספר זה ואילו יישארו מחוצה לו היה מעשיות – הספר‬ ‫מתמקד באותם נושאים אשר ניתן ליישם ולתרגל בקלות יחסית‪.‬הספר כולל מעט מאוד נושאים שהם‬ ‫תיאורטיים בלבד‪ ,‬ורובו ככולו מתעסק במימושים אמיתיים וביטויים ברשת האינטרנט‪.‬כבר מהפרק השני של‬ ‫הספר‪ ,‬הלימוד ילווה בכתיבת קוד מצד הלומד‪.‬‬ ‫במהלך הלימוד בספר‪ ,‬עליכם לתפקד כלומדים פעילים – כלומר‪ ,‬לא רק לקרוא ולהבין את החומר‪ ,‬אלא גם‬ ‫לתרגל אותו‪.‬בספר משולבים תרגילים רבים‪ ,‬חלק מודרכים וחלק לביצוע עצמי‪.‬בכדי לרכוש שליטה בחומר‬ ‫הלימוד‪ ,‬יש לבצע את כל התרגילים ולוודא שאתם מבינים אותם‪.‬התרגילים המודרכים נבנו כך שהם מפורקים‬ ‫למשימות מובנות המתבססות זו על זו‪ ,‬ומניחות שהלומד מבצע בפועל את ההנחיות‪.‬אל תסתפקו בקריאת‬ ‫התרגילים המודרכים‪ ,‬והקפידו לבצע אותם שלב אחרי שלב‪.‬‬ ‫אחת ממטרות הספר היא להקנות כלים בהם תוכלו להשתמש בעצמכם‪ ,‬כדי להרחיב את אופקיכם‪ ,‬לחקור‬ ‫וללמוד באופן עצמאי‪.‬אי לכך‪ ,‬תזכו במהלך הקריאה להיחשף לתוכנות‪ ,‬כלי תכנות ודרכי חשיבה שיאפשרו‬ ‫לכם להרחיב את הידע גם מעבר למה שמופיע בספר זה‪.‬‬ ‫צעדים להמשך‬ ‫כחלק משיטת הלימוד של הספר‪ ,‬המעודדת למידה עצמאית‪ ,‬בסוף חלק מהפרקים הוספנו סעיף "צעדים‬ ‫להמשך"‪.‬סעיף זה נועד לתלמידים סקרנים המעוניינים להרחיב את הידע‪ ,‬וכולל מקורות מידע נוספים‬ ‫ותרגילים מתקדמים‪.‬‬ ‫ידע מקדים נדרש‬ ‫ספר זה מניח כי לקורא היכרות בסיסית לפחות עם השפה ‪.Python‬בהתאם לצורך‪ ,‬אתם מוזמנים להשתמש‬ ‫בספר הלימוד של שפת ‪ Python‬מאת ברק גונן‪ ,‬הזמין בכתובת‪:‬‬ ‫‪https://data.cyber.org.il/python/python_book.pdf‬‬ ‫‪11‬‬ ‫מבוא‬ ‫התקנות נדרשות‬ ‫כאמור ספר הלימוד מבוסס על שפת פייתון‪.‬ישנן התקנות רבות של פייתון‪ ,‬לכן נרצה להמליץ על סביבת‬ ‫עבודה ושימוש נכון בסביבת העבודה‪.‬גרסת הפייתון של ההתקנה היא ‪ ,3.8‬בתואם לספר הלימוד‪.‬התקנה זו‬ ‫כוללת את כל הכלים הנוספים שנצטרך להשתמש בהם במהלך הלימוד (כגון ‪.)wireshark, scapy‬‬ ‫שימו לב‪:‬‬ ‫התוכנות הן עבור מערכת ההפעלה ‪ ,Windows10‬עבור מערכות הפעלה אחרות ישנן גרסאות ספציפיות של‬ ‫התוכנות ויש להוריד אותן באופן עצמאי‪.‬יתר ההתקנה צפוי להיות דומה‪.‬‬ ‫התוכנות הן (לפי סדר ההתקנה)‪:‬‬ ‫‪.1‬פייתון‪ ,‬גרסה ‪3.8.0‬‬ ‫‪.2‬סביבת פיתוח ‪ ,PyCharm‬גרסה ‪2019.2.5‬‬ ‫‪.3‬דרייבר הסנפה מכרטיס רשת‪ Npcap ,‬גרסה ‪0.9984‬‬ ‫‪.4‬תוכנת הסנפה ‪ Wireshark‬גרסה ‪3.0.6‬‬ ‫‪.5‬מודול יצירת פקטות של פייתון‪ Scapy ,‬גרסה ‪2.4.3‬‬ ‫קובץ התקנה מרוכז נמצא בכתובת‪:‬‬ ‫‪https://data.cyber.org.il/networks/installs.zip‬‬ ‫אפשר להתקין את התוכנות בכל תיקיה‪ ,‬אך מנסיון רב שנים התקנה "מפוזרת" של התוכנות גורמת אינספור‬ ‫בעיות ללומדים‪.‬לדוגמה‪ ,‬חלק מהתוכנות לא מסוגלות לזהות תיקיות שיש בהן עברית‪.‬חלק מהתוכנות‬ ‫דורשות התאמה של משתני סביבה‪.‬אם תפעלו לפי ההוראות הבאות‪ ,‬תחסכו לעצמכם בעיות‪.‬שימו לב‬ ‫למבנה התיקיות המומלץ בסיום ההתקנות‪:‬‬ ‫התיקיה הראשית היא ‪ ,Networks‬שם נשים את כל תתי התיקיות‪.‬ישנן חמש תיקיות המיועדות להתקנות‬ ‫ותיקיה נוספת בשם ‪ Work‬המיועדת לקבצי הפייתון שלכם‪.‬‬ ‫רשתות מחשבים‬ ‫‪12‬‬ ‫א‪.‬התקנת פייתון‬ ‫הקליקו על הקובץ ‪ ,python-3.8.0.exe‬יופיע מסך ההתקנה הבא‪:‬‬ ‫בחרו באפשרות ”‪.“customize installation‬‬ ‫בחרו באפשרויות הבאות‪:‬‬ ‫ובמסך הבא בחרו את האפשרויות המסומנות‪ ,‬והזינו בתור תיקיית התקנה את ‪:c:\Networks\Python3.8‬‬ ‫‪13‬‬ ‫מבוא‬ ‫כעת בידקו שפייתון מוגדר בתוך ה‪ PATH-‬של משתני הסביבה שלכם‪.‬במסך החיפוש של ‪ windows‬הקלידו‬ ‫‪ env‬ובחרו באפשרות ‪.Edit The System Environment Variables‬הקליקו על הלחצן ‪Environment‬‬ ‫‪.Variables‬‬ ‫וודאו שבתוך המשתנה ‪ PATH‬יש את שתי הכניסות הבאות‪.‬אם הן אינן‪ ,‬הוסיפו אותן ידנית (בהנחה‬ ‫שהתקנתם את פייתון בתוך ‪)c:\networks\python3.8‬‬ ‫רשתות מחשבים‬ ‫‪14‬‬ ‫כדי לוודא שהכל עובד כשורה‪ ,‬פיתחו ‪ cmd‬והקלידו ‪.python‬צפוי שתקבלו את ההדפסה הבאה‪:‬‬ ‫ב‪PyCharm.‬‬ ‫הקליקו על קובץ ההתקנה‪ ,‬היא תתבצע מעצמה‪.‬‬ ‫עם ההפעלה‪ ,‬בחרו באפשרות ”‪ “Create new project‬ופיתחו פרוייקט בספריה ‪.c:\networks\work‬‬ ‫תצטרכו להגדיר היכן נמצא ה‪ python interpreter-‬שלכם‪ ,‬בצעו זאת כך‪:‬‬ ‫‪15‬‬ ‫מבוא‬ ‫אפשרות נוספת היא להגדיר את ה‪ Interpreter -‬בעצמכם‪ ,‬עבור כל קובץ אותו אתם מריצים‪.‬מתי נכון‬ ‫‪"Invalid Python Interpreter selected for the‬‬ ‫לעשות זאת? אם קבלתם הודעת שגיאה‬ ‫"‪.project‬ההודעה מופיעה שורות הקוד של הקובץ אותו אתם מנסים להריץ‪:‬‬ ‫הקליקו על "‪ "Configure Python Interpreter‬בצד הימני של ההודעה ותעברו למסך ההגדרות הבא‪:‬‬ ‫שנו את הערך של ה‪ Python interpreter-‬כך שיצביע על הקובץ ‪ Python.exe‬שבתיקיה‬ ‫‪ ,c:\networks\work\python3.8‬כעת הקליקו על כפתור ה‪ OK-‬והבעיה נעלמה‪.‬‬ ‫ג‪ Wireshark.‬ו‪npcap-‬‬ ‫הקליקו על תוכנת ההתקנה של ‪.Wireshark‬התוכנה תשאל אם ברצונכם להתקין על הדרך את ‪,npcap‬‬ ‫בחרו באפשרות הזו‪.‬‬ ‫הקליקו על האייקון של ‪.Wireshark‬התוכנה תגלה באופן אוטומטי את כל ממשקי הרשת שלכם‪.‬כרטיס רשת‬ ‫פעיל יראה גרף עולה ויורד‪ ,‬בהתאם לרמת הפעילות‪.‬‬ ‫רשתות מחשבים‬ ‫‪16‬‬ ‫במקרה זה‪ ,‬המחשב מחובר דרך ‪.Wi-Fi‬בחרו בממשק הפעיל והתחילו הסנפה‪.‬‬ ‫ה‪scapy.‬‬ ‫העתיקו את התוכן של התיקיה ‪ scapy-master‬מקובץ ה‪ zip-‬אל תיקיית ‪.c:\networks\scapy‬‬ ‫פיתחו ‪ cmd‬והקלידו‬ ‫‪cd c:\networks\scapy‬‬ ‫כדי להתקין הקלידו ‪python setup.py install‬‬ ‫כדי לבדוק אם ההתקנה הצליחה‪ ,‬הקלידו ‪.scapy‬תקבלו את המסך הבא‪ ,‬אין מה להיות מוטרדים מהודעות‬ ‫השגיאה‪ -‬הן שייכות למודולים שאין לנו צורך בהם‪.‬‬ ‫‪17‬‬ ‫מבוא‬ ‫כדי לוודא שה‪ scapy-‬שלכם עובד כשורה‪ ,‬הסניפו באמצעותו ‪ 2‬פקטות והציגו אחת מהן‪:‬‬ ‫זהו‪ ,‬סיימנו‪.‬מוכנים להתחיל לעבוד!‬ ‫רשתות מחשבים‬ ‫‪18‬‬ ‫אייקונים‬ ‫בספר זה אנו משתמשים באייקונים הבאים בכדי להדגיש נושאים ובכדי להקל על הקריאה‪:‬‬ ‫שאלה‬ ‫הגדרה למונח‬ ‫הדגשת נקודה חשובה‬ ‫"תרגיל מודרך"‪.‬עליכם לפתור תרגילים אלו תוך כדי קריאת ההסבר‬ ‫תרגיל לביצוע‪.‬תרגילים אלו עליכם לפתור בעצמכם‪ ,‬והפתרון בדרך כלל לא יוצג בספר‬ ‫פתרון מודרך לתרגיל אותו היה עליכם לפתור בעצמכם‬ ‫רקע היסטורי‪ ,‬או מידע העשרתי אחר‬ ‫הפניה לסרטון‬ ‫תודות‬ ‫אנשים רבים תרמו לתהליך יצירתו של ספר זה‪.‬איריס צור ברגורי ליוותה את הספר מתהליך התכנון ועד‬ ‫לשלביו הסופיים והשפיעה עליו רבות‪.‬תומר גלון מימש את צד השרת עבור תרגילים במהלך הספר‪.‬מיכל‬ ‫לשם סייעה באופן משמעותי בהבאת הספר לידי גרסה להפצה‪.‬משובים שקיבלנו על הספר לאורך הזמן‬ ‫שיפרו אותו ותרמו לו מאוד‪.‬באופן מיוחד אנו מבקשים להודות ליוסי ממו ומתן עבודי על הערותיהם הבונות‪.‬‬ ‫יוחאי אייזנרייך כתב פתרונות רבים לתרגילים הניתנים בספר‪ ,‬ובכך סייע לשפר אותם וכן סיפק פתרונות‬ ‫לדוגמה עבור תלמידים‪.‬כמו כן אנו מבקשים להודות לדניאל גולדברג‪ ,‬נעם ארז‪ ,‬ליאור גרנשטיין‪ ,‬יהודה אור‬ ‫ואנטולי פיימר על משוביהם‪.‬לכל המורים‪ ,‬התלמידים והחברים שהשפיעו וסייעו בתהליך יצירת הספר – תודה‬ ‫רבה‪.‬‬ ‫עומר רוזנבוים‪ ,‬ברק גונן‪ ,‬שלומי הוד‬ ‫‪19‬‬ ‫מבוא‬ ‫תוכן עניינים מצגות‬ ‫פייתון‬ Before we start: http://data.cyber.org.il/python/1450-3-00.pdf Intro and CMD: http://data.cyber.org.il/python/1450-3-01.pdf Pycharm: http://data.cyber.org.il/python/1450-3-02.pdf Variables, conditions and loops: http://data.cyber.org.il/python/1450-3-03.pdf Strings: http://data.cyber.org.il/python/1450-3-04.pdf Functions: http://data.cyber.org.il/python/1450-3-05.pdf Assert: http://data.cyber.org.il/python/1450-3-06.pdf Files and script parameters: http://data.cyber.org.il/python/1450-3-07.pdf Lists and tuples: http://data.cyber.org.il/python/1450-3-08.pdf Dictionaries: http://data.cyber.org.il/python/1450-3-09.pdf Object Oriented Programming: http://data.cyber.org.il/python/1450-3-10.pdf Utilities and exceptions: http://data.cyber.org.il/python/1450-3-11.pdf Regular expressions: http://data.cyber.org.il/python/1450-3-12.pdf 20 ‫רשתות‬ http://data.cyber.org.il/networks/1450-2-00.pdf :‫מבוא לשנת הלימודים‬ http://data.cyber.org.il/networks/1450-2-01.pdf :‫ – מבוא לרשתות מחשבים‬1 ‫פרק‬ http://data.cyber.org.il/networks/1450-2-02.pdf :‫ – תכנות סוקטים‬2 ‫פרק‬ http://data.cyber.org.il/networks/1450-2-03.pdf :‫א – מודל חמש השכבות‬3 ‫פרק‬ http://data.cyber.org.il/networks/1450-2-04.pdf :wireshark – ‫ב‬3 ‫פרק‬ http://data.cyber.org.il/networks/1450-2-05.pdf :HTTP ‫א – שכבת האפליקציה‬4 ‫פרק‬ http://data.cyber.org.il/networks/1450-2-06.pdf :‫ נושאים מתקדמים‬HTTP – ‫ב‬4 ‫פרק‬ http://data.cyber.org.il/networks/1450-2-07.pdf :DNS ‫ג – פרוטוקול‬4 ‫פרק‬ http://data.cyber.org.il/networks/1450-2-08.pdf :SMTP ‫ד – אבחון פרוטוקול‬4 ‫פרק‬ http://data.cyber.org.il/networks/1450-2-09.pdf :Scapy – 5 ‫פרק‬ http://data.cyber.org.il/networks/1450-2-10.pdf :‫א – שכבת התעבורה‬6 ‫פרק‬ http://data.cyber.org.il/networks/1450-2-11.pdf :‫ב–מבוא לפרוטוקולים של שכבת התעבורה‬6 ‫פרק‬ http://data.cyber.org.il/networks/1450-2-12.pdf :UDP – ‫ג‬6 ‫פרק‬ http://data.cyber.org.il/networks/1450-2-13.pdf :TCP – ‫ד‬6 ‫פרק‬ http://data.cyber.org.il/networks/1450-2-14.pdf :‫א – שכבת הרשת מבוא לניתוב‬7 ‫פרק‬ http://data.cyber.org.il/networks/1450-2-15.pdf :‫ וראוטר‬IP ‫ב – כתובות‬7 ‫פרק‬ http://data.cyber.org.il/networks/1450-2-16.pdf :ICMP ‫ג – פרוטוקול‬7 ‫פרק‬ http://data.cyber.org.il/networks/1450-2-17.pdf :DHCP ‫ד – פרוטוקול‬7 ‫פרק‬ http://data.cyber.org.il/networks/1450-2-18.pdf :‫ – שכבת הקו‬8 ‫פרק‬ http://data.cyber.org.il/networks/1450-2-19.pdf :‫ – השכבה הפיזית‬10 ‫פרק‬ http://data.cyber.org.il/networks/1450-2-20.pdf :‫ – איך הכל מתחבר‬11 ‫פרק‬ 21 ‫תוכן עניינים מצגות‬ ‫פרק ‪1‬‬ ‫תחילת מסע – איך עובד האינטרנט?‬ ‫ניתן לצפות בסרטון המלווה פרק זה בכתובת‪.http://youtu.be/ad8EOsXFuxE :‬‬ ‫ספר זה עוסק ברשתות מחשבים‪.‬מה זה בעצם אומר? איך רשת האינטרנט עובדת?‬ ‫בפרק זה נתחיל לענות על שאלות אלו באופן כללי‪ ,‬ונקבל תמונה כללית על איך עובד האינטרנט‪.‬בהמשך‬ ‫הספר‪ ,‬נרד לפרטים ונזכה לקבל תמונה הרבה יותר מעמיקה ומדויקת‪.‬על מנת להתחיל את ההסבר‪ ,‬נפתח‬ ‫בשאלה‪:‬‬ ‫מה קורה כשאנו גולשים לאתר ‪?Facebook‬‬ ‫רובנו גלשנו ל‪ ,Facebook-‬הרשת החברתית העצומה שמונה מעל למיליארד משתמשים‪.‬אך האם‬ ‫עצרנו לשאול את עצמנו – מה בעצם קורה מאחורי הקלעים כשגולשים? איך יתכן שאנו נמצאים בבית‪,‬‬ ‫מקישים בדפדפן (‪ )Browser‬את הכתובת "‪ ,"www.facebook.com‬מקישים ‪ ,Enter‬ומקבלים תמונת מצב‬ ‫של כל החברים שלנו?‬ ‫על מנת לענות על שאלה זו‪ ,‬עלינו להבין ראשית מה האתר ‪ Facebook‬צריך כדי לתפקד‪.‬‬ ‫כל אתר‪ ,‬וכך גם אתר ‪ ,Facebook‬זקוק לאחסון (‪ – )Hosting‬הכוונה למקום בו יימצאו דפי האתר ואליו יפנו‬ ‫המשתמשים‪.‬אתר ‪ Facebook‬ישמור גם את המידע על כל המשתמשים כגון‪ :‬מי חבר של מי‪ ,‬התמונות‬ ‫שהועלו לאתר‪ ,‬סטטוסים וכו'‪.‬בנוסף‪ ,‬אתר ‪ Facebook‬זקוק לעיצוב‪.‬יש לעצב לוגו‪ ,‬להחליט היכן תוצג‬ ‫רשימת החברים‪ ,‬היכן יוצגו העדכונים שלהם‪ ,‬איפה יוצגו הפרסומות ועוד‪.‬האתר זקוק גם לאימות‬ ‫(‪ – )Authentication‬עליו לזהות את המשתמש שפונה אליו‪.‬לשם כך‪ Facebook ,‬צריך לזכור את כל‬ ‫המשתמשים והסיסמאות שלהם‪ ,‬ולאפשר לכל משתמש להתחבר ולהזדהות‪.‬כלומר‪ Facebook ,‬נזקק‬ ‫לתקשורת‪.‬צריכה להיות דרך שתאפשר לאדם לתקשר עם האתר של ‪ ,Facebook‬בין אם מהמחשב שלו‬ ‫בישראל‪ ,‬ובין אם מהסמארטפון שלו כשהוא נמצא בטיול בחו"ל‪.‬‬ ‫ספר זה יתמקד בתקשורת שבין רכיבים אלקטרוניים שונים ודרך העברת המידע ביניהם‪.‬בפרק הנוכחי‪ ,‬נתאר‬ ‫באופן כללי מה קורה מהרגע שאנו כותבים "‪ "www.facebook.com‬בדפדפן ומקישים ‪ ,Enter‬ועד שמופיע‬ ‫דף הבית של ‪ Facebook‬על המסך‪.‬‬ ‫‪World Wide Web – WWW‬‬ ‫כשאנו אומרים "אינטרנט"‪ ,‬אנו מתכוונים בדרך כלל ל‪.)World Wide Web( WWW-‬זהו אוסף עמודי‬ ‫האינטרנט אליהם אנו גולשים בדפדפן‪.‬משמעות המילה ‪ Web‬היא רשת‪.‬עמודי האינטרנט מקושרים אחד‬ ‫לשני כמו רשת של קורי עכביש המקושרים זה לזה‪.‬עמודי האינטרנט מפוזרים בכל רחבי העולם – ‪World‬‬ ‫‪ – Wide‬בעוד אתר אחד נמצא בחיפה‪ ,‬שני יכול להיות בטוקיו ושלישי בניו‪-‬יורק‪.‬העמודים השונים מקושרים‬ ‫ביניהם באמצעות לינקים‪.‬‬ ‫על מנת שהדפדפן יוכל להציג את העמוד הראשי של ‪ ,Facebook‬עליו לדעת כיצד העמוד נראה‪.‬הכוונה היא‬ ‫לדעת איזה טקסט קיים בעמוד‪ ,‬היכן כל חלק מהעמוד ממוקם‪ ,‬באיזה גופן הטקסט כתוב ובאיזה גודל‪ ,‬האם‬ ‫צריך להציג תמונות על המסך‪ ,‬אילו תמונות ועוד‪.‬את כל המידע הזה‪ ,‬הדפדפן משיג מאתר ‪ Facebook‬עצמו‪.‬‬ ‫בכדי ש‪ Facebook-‬ישלח לדפדפן את המידע‪ ,‬על הדפדפן להודיע שהוא מעוניין בו‪.‬כלומר‪ ,‬הדפדפן צריך‬ ‫לשלוח הודעת בקשה (‪ )Request‬אל ‪ ,Facebook‬ובה להגיד‪" :‬שלח לי את המידע הנדרש כדי להציג את‬ ‫העמוד הראשי של האתר ‪."www.facebook.com‬כאשר ‪ Facebook‬מקבל את הבקשה‪ ,‬הוא שולח תגובה‬ ‫(‪ )Response‬שמכילה את המידע הדרוש‪.‬‬ ‫האתר של ‪ Facebook‬מקבל בקשה ושולח תגובה‪.‬כלומר‪ ,‬הוא מספק שירות לדפדפן‪.‬כלומר‪ ,‬האתר של‬ ‫‪ Facebook‬הינו שרת (‪ ,)Server‬והדפדפן הינו לקוח (‪.)Client‬באופן כללי‪ ,‬כאשר גולשים ב‪ ,WWW-‬ישנם‬ ‫לקוחות (דפדפנים) ששולחים בקשות אל השרתים (אתרי האינטרנט)‪ ,‬והשרתים מחזירים תגובות ללקוחות‪.‬‬ ‫אותו מידע שמגיע בתגובות‪ ,‬משמש את הדפדפנים בכדי להציג על המסך את אתרי האינטרנט למשתמשים‪.‬‬ ‫‪23‬‬ ‫פרק ‪ :1‬תחילת מסע – איך עובד האינטרנט?‬ ‫על מנת לראות את המידע שהשרת שלח ללקוח (או לפחות חלק ממנו)‪,‬‬ ‫ניתן ללחוץ על הכפתור הימני של העכבר באזור ריק באתר האינטרנט‪,‬‬ ‫ולבחור באפשרות "‪( "View page source‬בעברית‪" :‬הצג מקור")‪:‬‬ ‫בחלון שייפתח יוצג טקסט שמכיל את המידע ששלח השרת כתגובה‬ ‫לבקשת הלקוח (הטקסט שנמצא באתר‪ ,‬איפה כל דבר נמצא‪ ,‬אילו תמונות‬ ‫נמצאות וכו')‪.‬בשלב זה לא נתעמק במה אנחנו רואים בדיוק‪.‬עם זאת‪ ,‬נסו‬ ‫לזהות בעצמכם חלקים מעמוד האינטרנט – האם אתם יכולים לזהות‬ ‫טקסט שמוצג לכם בדפדפן?‬ ‫היכנסו אל האתר ‪.https://www.themarker.com‬הקליקו עם הכפתור הימני של העכבר‪ ,‬ובחרו‬ ‫באופציה ‪.View page source‬מצאו בחלון שייפתח את הכותרת הראשית שמופיעה בעמוד של‬ ‫‪.TheMarker‬‬ ‫כתובות ‪IP‬‬ ‫על מנת שנוכל לשלוח ולקבל הודעות באינטרנט‪ ,‬עלינו לדעת לאן לשלוח את הבקשות ועל השרת לדעת להיכן‬ ‫לשלוח את התגובות‪.‬כאשר אנו שולחים מכתב בדואר‪ ,‬אנו מציינים על המעטפה את כתובת היעד (נמען) ואת‬ ‫כתובת המקור (מוען)‪.‬באופן דומה‪ ,‬גם כאשר נשלח מידע ברחבי האינטרנט‪ ,‬יש צורך בכתובות מתאימות שיזהו‬ ‫את השולח ואת היעד של ההודעה‪.‬למשל‪ ,‬בדוגמה לעיל‪ ,‬נרצה לדעת מה הכתובת של המחשב ששלח את‬ ‫הבקשה (כתובת המקור)‪ ,‬ומה הכתובת של ‪( Facebook‬כתובת היעד)‪.‬באינטרנט‪ ,‬כתובות אלו נקראות‬ ‫כתובות ‪.)IP Addresses( IP‬‬ ‫על ‪ IP‬בכלל וכתובות ‪ IP‬בפרט‪ ,‬נלמד בהרחבה בפרק שכבת הרשת‪.‬בשלב זה רק נבין כיצד כתובות אלו‬ ‫נראות‪.‬כשם שלכתובות דואר יש מבנה קבוע‪ ,‬שכולל את שם הנמען (למשל‪ :‬משה כהן)‪ ,‬רחוב ומספר בית‬ ‫(הרצל ‪ ,)1‬עיר (ירושלים) ומיקוד (‪ ,)1234567‬כך גם לכתובות ‪ IP‬יש מבנה קבוע‪.‬כתובות ‪ IP‬מורכבות‬ ‫מארבעה בתים (‪.)bytes‬כל בית יכול לקבל ערך בין ‪ 0‬ל‪ ,255-‬ונהוג להפריד את הבתים בנקודה‪.‬מכאן ש‪-‬‬ ‫כתובת ‪ IP‬יכולה להיות ‪ ,255.255.255.255 ,0.0.0.0‬והטווח שביניהן‪ ,‬למשל ‪ 1.2.3.4‬או ‪.10.42.2.3‬‬ ‫רשתות מחשבים‬ ‫‪24‬‬ ‫אם נחזור לדוגמה של הדפדפן‪ ,‬הרי שהודעת הבקשה שהדפדפן שולח לאתר ‪ Facebook‬מכילה בכתובת‬ ‫המקור את כתובת ה‪ IP-‬של המחשב ממנו מתבצעת הגלישה‪ ,‬ובכתובת היעד את כתובת ה‪ IP-‬של האתר‬ ‫‪.Facebook‬כאשר נשלחת הודעת תגובה‪ ,‬היא נשלחת מ‪ Facebook-‬לדפדפן‪ ,‬ולכן כתובת המקור תכיל את‬ ‫כתובת ה‪ IP-‬של האתר ‪ ,Facebook‬בעוד כתובת היעד תכיל את כתובת ה‪ IP-‬של המחשב ממנו מתבצעת‬ ‫הגלישה‪.‬‬ ‫גלו את כתובת ה‪ IP-‬שלכם! נבצע זאת בשתי שיטות‪.‬‬ ‫א‪.‬היכנסו אל האתר ‪.http://www.whatismyip.com‬‬ ‫ב‪.‬את שיטה ב' נלמד לאחר ביצוע התרגיל המודרך‬ ‫תרגיל מודרך – מציאת כתובת ה‪ IP-‬של אתר אינטרנט מסוים‬ ‫נאמר ונרצה לגלות את כתובת ה‪ IP-‬של ‪ ,Facebook‬או של ‪.Google‬איך נוכל לעשות זאת?‬ ‫דרך אחת לגלות את כתובת ה‪ IP-‬של אתר אינטרנט היא להשתמש בכלי ‪.ping‬לצורך כך‪ ,‬הריצו את שורת‬ ‫הפקודה (‪ ,)Command Line‬בה נשתמש רבות לאורך הספר‪.‬לחצו על צירוף המקשים (‪ )WinKey+R‬בכדי‬ ‫להגיע לשורת ההפעלה‪ Winkey.‬הינו המקש במקלדת שנמצא בין המקש ‪ Ctrl‬למקש ‪ Alt‬ומופיע עליו הלוגו‬ ‫של מערכת הפעלה ‪:Windows‬‬ ‫לחלופין‪ ,‬תוכלו לגשת אל ‪( Start‬התחל) ולבחור באופציה ‪( Run‬הפעל)‪.‬הקישו בה את האותיות ‪ cmd‬ולחצו‬ ‫על ‪:OK‬‬ ‫‪25‬‬ ‫פרק ‪ :1‬תחילת מסע – איך עובד האינטרנט?‬ ‫לחלופין‪ ,‬תוכלו להקיש על מקש ה‪ ,WinKey-‬לכתוב ‪cmd‬‬ ‫ולבחור בו כאשר הוא יוצג למסך‪:‬‬ ‫בשלב זה צפוי להיפתח חלון ה‪ cmd-‬ובו שורת הפקודה‪:‬‬ ‫כעת‪ ,‬הקלידה את הפקודה הבאה‪:‬‬ ‫‪ping www.facebook.com‬‬ ‫והקישו ‪.Enter‬על המסך יודפסו נתונים שונים‪.‬בין השאר‪ ,‬תוכלו למצוא את כתובת ה‪ IP-‬של ‪:Facebook‬‬ ‫רשתות מחשבים‬ ‫‪26‬‬ ‫‪1‬‬ ‫בדוגמה זו‪ ,‬כתובת ה‪ IP-‬הינה ‪.31.13.72.65‬‬ ‫כעת‪ ,‬נסו בעצמכם – מה היא כתובת ה‪ IP-‬של ‪?Google‬‬ ‫הכלי ‪ ping‬לא נועד בכדי למצוא כתובות ‪ IP‬של אתרים‪.‬הוא נועד בכדי לבדוק האם מחשב בעל כתובת ‪IP‬‬ ‫מסוימת מחובר לרשת‪ ,‬ולמדוד כמה זמן לוקח להודעה להישלח אל אותו מחשב‪ ,‬ואז לחזור אליי‪.‬על מנת‬ ‫לעשות זאת‪ ,‬הכלי ‪ ping‬שולח בקשת הד (כמו לצעוק במערה כדי לגלות כמה זמן לוקח להד לחזור אלינו)‪.‬‬ ‫כאשר מחשב היעד מקבל את הבקשה הזו‪ ,‬הוא משיב מיד בתשובת הד‪:‬‬ ‫כך ניתן לבדוק האם המחשב בכתובת ה‪ IP-‬המסוימת קיים‪ ,‬ולדעת כמה מהיר החיבור בינינו לבין אותו מחשב‬ ‫מרוחק‪.‬בהמשך הספר‪ ,‬בפרק שכבת הרשת‪ ,‬נלמד לעומק איך הכלי ‪ ping‬עובד – ואף תממשו אותו‬ ‫בעצמכם!‬ ‫‪ 1‬מסיבות שלא נפרט כעת‪ ,‬כתובת ה‪ IP-‬עשויה להשתנות‪.‬לכן‪ ,‬ייתכן שכשתריצו את הפקודה במחשב שלכם‪ ,‬תהיה ל‪-‬‬ ‫‪ Facebook‬כתובת ‪ IP‬שונה‪.‬‬ ‫‪27‬‬ ‫פרק ‪ :1‬תחילת מסע – איך עובד האינטרנט?‬ ‫גלו את כתובת ה‪ IP-‬שלכם! נבצע זאת בשתי שיטות‪.‬‬ ‫א‪.‬היכנסו אל האתר ‪.http://www.whatismyip.com‬‬ ‫ב‪.‬בתוך ‪ ,cmd‬אותו למדנו כרגע לפתוח‪ ,‬כיתבו ‪ ipconfig‬וליחצו ‪.enter‬תופיע לפניכם רשימת כל‬ ‫ממשקי הרשת שלכם‪.‬נצטרך לזהות מהו החיבור הפעיל שיש לכם‪ ,‬מכיוון שישנם ממשקי רשת רבים‬ ‫אך רק אחד פעיל‪.‬אתם מחוברים או באמצעות חיבור שנקרא ‪( Ethernet Adapter‬אם ישנו כבל‬ ‫רשת שמחובר למחשב שלכם) או באמצעות חיבור שנקרא ‪.Wireless LAN Adapter‬רק לאחד‬ ‫הממשקים הללו יש ערך בשדה ה‪.Default Gateway -‬זהו הממשק הפעיל שלכם‪.‬הערך שרשום‬ ‫בשדה ה‪ "IPv4 Address"-‬הוא כתובת ה‪ IP-‬שלכם‪.‬לדוגמה (מודגש בצהוב)‪:‬‬ ‫כפי שהנכם רואים‪ ,‬שתי השיטות מראות כתובות ‪ IP‬שונות‪.‬מדוע? נבין זאת כאשר נלמד מהו ‪.NAT‬בקיצור‬ ‫רב‪ -‬הכתובת שמצאנו בשיטה ב היא כתובת ‪ IP‬פרטית ואילו בשיטה א מצאנו את כתובת ה‪ IP-‬החיצונית שבה‬ ‫משתמשת ספקית האינטרנט שלנו‪.‬שתי הכתובות זהות רק אם רכשתם מספקית האינטרנט כתובת ‪IP‬‬ ‫חיצונית‪.‬כאמור‪ ,‬בשלב זה רק שימו לב להבדלים‪ ,‬בהמשך נדון בכך בפירוט‪.‬‬ ‫‪GeoIP‬‬ ‫עד כה דיברנו על שרתים‪ ,‬לקוחות וכתובות‪.‬כאשר גולשים לאתר אינטרנט מסוים‪ ,‬הודעת הבקשה צריכה‬ ‫להגיע בסופו של דבר אל השרת שיטפל בה‪.‬אותו שרת נמצא במקום כלשהו בעולם‪.‬האם ניתן לגלות היכן‬ ‫הוא נמצא?‬ ‫ישנם מאגרי נתונים הכוללים מידע על המיקום הגיאוגרפי של כתובות ‪.IP‬מכאן שבהינתן כתובת ‪ ,IP‬ניתן‬ ‫לדעת באיזו מדינה ובאיזו עיר היא נמצאת‪.‬מאגרים אלו לא רשמיים ולא מדויקים‪ ,‬אך הם נותנים מענה נכון‬ ‫ברוב המקרים‪.‬בגלל האופן שבו בנוי האינטרנט‪ ,‬לא ניתן לייצר מאגר רשמי של מיפוי בין כתובת ‪ IP‬למקום‬ ‫גיאוגרפי‪ ,‬אבל על כך נלמד בהמשך הספר‪.‬‬ ‫רשתות מחשבים‬ ‫‪28‬‬ ‫אתר לדוגמה שמאפשר למפות בין כתובת ‪ IP‬למיקום הגיאוגרפי שלה‪ ,‬הוא ‪.http://www.geoiptool.com‬‬ ‫נוכל להשתמש באתר זה כדי לגלות‪ ,‬למשל‪ ,‬את המיקום של ‪:Google‬‬ ‫נסו זאת בעצמכם‪ :‬מיצאו את המיקום הגאוגרפי של האתרים הבאים (כל אחד מהם נמצא‬ ‫במדינה אחרת)‪:‬‬ ‫‬ ‫‪www.yahoo.com‬‬ ‫‬ ‫‪www.bbc.com‬‬ ‫‬ ‫‪www.newtoholland.nl‬‬ ‫‬ ‫‪www.yahoo.co.jp‬‬ ‫‬ ‫‪www.southafrica.co.za‬‬ ‫‬ ‫‪www.webawards.com.au‬‬ ‫כאמור‪ ,‬המיפוי בין כתובת ‪ IP‬למיקום גיאוגרפי אינו מדויק‪.‬הכתבה הבאה ממחישה מדוע במקרים מסוימים זו‬ ‫עלולה להיות בעיה קשה‪ :‬נניח שפושע מבצע פשע‪ ,‬ורשויות החוק מגלות את כתובת ה‪ IP-‬שלו ומשתמשות‬ ‫בה על מנת לאתר את המיקום הפיזי שלו‪.‬אם המיפוי אינו מדויק‪ ,‬יש אפשרות שכתובת ה‪ IP-‬של הפושע‬ ‫תמוקם ליד ביתו של אדם תמים‪.‬במקרה זה‪ ,‬רשויות החוק עלולות לפשוט על האזרח התמים‪ ,‬אשר אמנם‬ ‫‪29‬‬ ‫פרק ‪ :1‬תחילת מסע – איך עובד האינטרנט?‬ ‫יוכל להסביר שחלה טעות‪ ,‬אך עדיין יסבול מהטרדה‪ :‬דמיינו שהמשטרה פושטת על הבית שלכם עם צו חיפוש‪,‬‬ ‫רק משום שחלה טעות באיתור מיקום כתובת ‪ IP‬של פושע‪.‬‬ ‫‪http://fusion.net/story/287592/internet-mapping-glitch-kansas-farm/‬‬ ‫צו חיפוש משטרתי‪ ,‬בחשד לגניבה‪ ,‬שניתן עקב מיקום ‪ IP‬שגוי (מתוך הכתבה)‬ ‫ענן האינטרנט‬ ‫אם בדקתם מה המיקום הגיאוגרפי של ‪ ,Google‬גיליתם שהוא נמצא בקליפורניה שבארצות הברית‪.‬איך‬ ‫קורה שהודעת הבקשה מהלקוח מגיעה עד לשרת שבארצות הברית‪ ,‬והודעת התגובה חוזרת בחזרה?‬ ‫ההודעות עוברות מרחק של חצי כדור הארץ הלוך ושוב! אם היינו צריכים לממן טיסה כה ארוכה עבור כל‬ ‫הודעה שנשלחת‪ ,‬השימוש באינטרנט היה עשוי להיות יקר מדי גם עבור ג'ף בזוס‪.2‬מעבר לכך‪ ,‬לא הגיוני‬ ‫שהמחשב שלנו יהיה מחובר בכבל הישר אל השרת של ‪.Google‬אם כך‪ ,‬כיצד המידע מצליח להגיע אל‬ ‫‪ Google‬שבארצות הברית?‬ ‫האינטרנט הוא למעשה אוסף של הרבה רכיבים שמחוברים זה לזה‪.‬הודעה שנשלחת בין שני מחשבים‬ ‫המחוברים לרשת האינטרנט‪ ,‬עוברת בדרך בין הרבה רכיבים שמחוברים זה לזה באופן ישיר‪.‬כך כל רכיב‬ ‫מעביר את ההודעה הלאה אל הרכיב הבא‪ ,‬עד שהיא מגיעה אל היעד‪.‬העברה של הודעה בין רכיב אחד‬ ‫לרכיב אחר המחוברים ישירות נקראת קפיצה (‪.)Hop‬‬ ‫‪ 2‬מייסד חברת ‪ Amazon‬והאיש העשיר ביותר בעולם‪ ,‬נכון לזמן עדכון ספר זה‪.‬‬ ‫רשתות מחשבים‬ ‫‪30‬‬ ‫מה הם בדיוק הרכיבים האלו? איך הם עובדים? על שאלות אלו נענה בהרחבה בהמשך הספר‪.‬שימו לב שעל‬ ‫רכיבים אלו מוטלת משימה מורכבת‪ :‬עליהם למצוא את הדרך הנכונה להגיע מהמקור (מחשב א' שנמצא‬ ‫בישראל) אל היעד (מחשב ב' שנמצא בארצות הברית)‪.‬כל אותם רכיבים משתמשים בכתובות ה‪ IP-‬של‬ ‫ההודעה בכדי לדעת לאן היא צריכה להגיע‪.‬‬ ‫היות שהאינטרנט הינה רשת גדולה ומורכבת‪ ,‬לעיתים משתמשים בעברית במונח ענן האינטרנט כדי לתאר‬ ‫אותה‪.‬ענן האינטרנט מקבל מידע מצד אחד (למשל‪ ,‬מחשב של אדם בישראל)‪ ,‬ומעביר אותו עד לצד השני‬ ‫(למשל‪ ,‬השרת של ‪ Google‬בארצות הברית)‪.‬‬ ‫תרגיל מודרך – מציאת הדרך בה עוברת הודעה‬ ‫האם נוכל לגלות את המסלול שההודעה עוברת? אילו רכיבים מעבירים אותה בדרך בין המקור אל‬ ‫היעד?‬ ‫הכלי ‪( tracert‬קיצור של ‪ – traceroute‬מעקב אחר מסלול) מאפשר לנו לעשות זאת‪.‬לשם כך‪ ,‬הריצו שוב‬ ‫את שורת הפקודה (‪ )Command Line‬אותה פגשנו קודם לכן‪:‬‬ ‫‪31‬‬ ‫פרק ‪ :1‬תחילת מסע – איך עובד האינטרנט?‬ ‫הקלידו את הפקודה הבאה‪:‬‬ ‫‪tracert -d www.google.com‬‬ ‫‪3‬‬ ‫קיבלנו רשימה של כתובות ה‪ IP-‬של הרכיבים שדרכם עברה ההודעה ששלחנו אל ‪.Google‬‬ ‫כפי שאתם רואים‪ ,‬חלק מההנתיב אינו ידוע‪.‬מבלי להכנס לאופן בו עובד ‪ ,Tracert‬שנלמד עליו כאשר נלמד על‬ ‫פרוטוקול ‪ ,IP‬חלק מרכיבי הרשת לא סיפקו לנו מידע שמאפשר לדעת מה כתובת ה‪ IP-‬שלהם‪.‬עם זאת‪,‬‬ ‫הצלחנו למצוא חלקים מהנתיב ועל הדרך לגלות את כמות ה‪Hop-‬ים בין המחשב שלנו לבין ‪( Google‬במקרה‬ ‫זה‪Hop 11 -‬ים)‪.‬‬ ‫‪ tracert‬מודיע שהוא לא ימשיך לעקוב אחרי המסלול של ההודעה אם המסלול ארוך יותר מ‪ 30-‬קפיצות‬ ‫(‪.)hops‬המרחק בין מקור ליעד נמדד לעיתים על ידי מספר הקפיצות ביניהם (כלומר‪ ,‬כמות הרכיבים‬ ‫שההודעה עברה בדרך מהמקור ליעד)‪.‬‬ ‫כמו כן‪ ,‬הכלי ‪ tracert‬מציג מדידות של זמן ב‪( MS-‬מילי שניות) שלקח להגיע מהמקור אל כל רכיב בדרך‬ ‫ובחזרה ממנו‪.‬עבור כל אחד מהרכיבים‪ ,‬מוצגות שלוש מדידות כדי להגביר את האמינות של המדידה‪.‬‬ ‫ההבדלים בין משך הזמן שלוקח להגיע לכל רכיב‪ ,‬יכולים להעיד על המרחק הגאוגרפי בין הרכיבים השונים‪.‬‬ ‫‪ 3‬בגלל הדרך בה עובד האינטרנט‪ ,‬הדרך הזו נכונה עבור הודעה מסוימת אך עשויה להשתנות עבור הודעה אחרת‪.‬על‬ ‫כך נעמיק בהמשך הספר‪.‬‬ ‫רשתות מחשבים‬ ‫‪32‬‬ ‫למשל‪ ,‬אם נראה לפתע הפרש גדול מאוד בין זמנים‪ ,‬נוכל לשער שעברנו יבשת‪.‬עבור הפרשים קטנים‬ ‫במיוחד‪ ,‬כנראה שהרכיבים סמוכים יחסית זה לזה‪.‬‬ ‫נסו בעצמכם להריץ את הכלי ‪ tracert‬בכדי לגלות את המסלול שהודעה עוברת מהמחשב שלכם‬ ‫אל ‪.Facebook‬‬ ‫בהמשך הספר‪ ,‬נלמד להבין איך הכלי ‪ tracert‬פועל מאחורי הקלעים‪ ,‬וגם תבנו כלי כזה בעצמכם!‬ ‫‪33‬‬ ‫פרק ‪ :1‬תחילת מסע – איך עובד האינטרנט?‬ ‫‪DNS‬‬ ‫קודם לכן‪ ,‬דיברנו על כתובות ‪ ,IP‬ואמרנו שאלו הכתובות בעזרתן הודעות נשלחות באינטרנט‪.‬עם זאת‪ ,‬בתור‬ ‫משתמשים‪ ,‬כמעט ולא נתקלנו בכתובות ‪.IP‬על מנת לזהות שרתים באינטרנט‪ ,‬השתמשנו בעיקר בכתובות‬ ‫מהצורה "‪."www.facebook.com‬כתובות אלו נקראות שמות דומיין (‪ ,)Domain Name‬או שמות מתחם‪.‬‬ ‫הסיבה העיקרית לכך שמעדיפים להשתמש בשמות דומיין‪ ,‬היא שלבני אדם קל יותר לזכור אותם מאשר‬ ‫כתובות ‪.IP‬‬ ‫הדבר דומה לדרך בה אנו שומרים מספרי טלפון‪ :‬כאשר אנו מתקשרים לאדם‪ ,‬בדרך כלל נעדיף שהטלפון‬ ‫יזכור עבורנו את המספר שלו‪ ,‬וכך נעדיף לחייג אל "משה כהן" מאשר לזכור את המספר ‪.054-1234567‬עם‬ ‫זאת‪ ,‬כשם שהטלפון צריך בסופו של דבר להשתמש במספר בכדי להתקשר למשה‪ ,‬כך גם המחשב צריך‬ ‫לדעת את כתובת ה‪ IP-‬של מחשב היעד בכדי לפנות אליו‪.‬לשם כך‪ ,‬יש צורך בדרך לתרגם בין השניים‪ :‬בין‬ ‫השם "משה כהן" למספר ‪ ,054-1234567‬או בעולם האינטרנט‪ :‬בין שם הדומיין "‪"www.facebook.com‬‬ ‫לכתובת ה‪ IP-‬הרלוונטית‪ ,‬למשל ‪.31.13.72.65‬‬ ‫באינטרנט‪ ,‬הדרך לתרגם שמות דומיין לכתובות ‪ IP‬היא באמצעות המערכת ‪Domain Name ( DNS‬‬ ‫‪.)System‬ההמרה הזו‪ ,‬בין שמות דומיין אל כתובות ‪ ,IP‬מתרחשת בכל פעם שאנו מציינים שם דומיין – בין‬ ‫אם כשאנו גולשים לאתר בדפדפן‪ ,‬ובין אם כשאנו משתמשים בכלים כמו ‪ ping‬או ‪.tracert‬המחשב מבין‬ ‫בשלב ראשון מה היא כתובת ה‪ IP-‬של היעד‪ ,‬ורק לאחר מכן שולח אליו את ההודעה‪.‬כך למשל‪ ,‬כאשר אנו‬ ‫גולשים אל ‪ ,Facebook‬המ

Use Quizgecko on...
Browser
Browser