1 / 35

הגנה במערכות מתוכנתות

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

kobe
Télécharger la présentation

הגנה במערכות מתוכנתות

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. הגנה במערכות מתוכנתות תרגול 5.5 – מודל השכבות, מבוא ל-TCP/IP הערה: שקפים אלה אינם מהווים תחליף לחומר התרגולים המפורסם באתר הקורס, ומשמשים כעזר הוראה בלבד.

  2. מבוא לרשתות מחשבים • מודל השכבות • מבנה חבילות • פרוטוקול שכבת הרשת – IP • פרוטוקולי שכבת התובלה – TCP ו-UDP • מעבר חבילות באינטרנט • מודל השרת לקוח הגנה במערכות מתוכנתות - תרגול 5.5

  3. Network A gateway Network B רשת מקומית (LAN) אוסף מחשבים אשר מחוברים על ערוץ תקשורת משותף. Gateways מאפשרים העברת הודעות בין הרשתות הגנה במערכות מתוכנתות - תרגול 5.5

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

  5. מודל השכבות של TCP/IP • מכיל ארבע שכבות • כל שכבה אחראית לביצוע תתי משימות מוגדרות • כל שכבה במחשב אחד מנהלת דיאלוג מול השכבה המקבילה במחשב השני הגנה במערכות מתוכנתות - תרגול 5.5

  6. השכבה הפיסית – Network Access Layer • תפקיד: העברת החבילה בתוך הרשת המקומית • אמצעי: עפ"י כתובת פיסית שייחודית לכל מחשב • כתובת MAC (Media Access Control) – צרובה בכרטיס הרשת • הפרוטוקול תלוי בסוג הרשת • Ethernet • Token Ring • Wireless • וכו' הגנה במערכות מתוכנתות - תרגול 5.5

  7. שכבת הרשת – Network Layer • תפקיד: ניתוב חבילות בין מחשבים באינטרנט • ממחשב מקור למחשב יעד, ייתכן ברשתות שונות (דרך gateways) • בנוסף אחראית על פיצול חבילות גדולות, בהתאם למגבלות הפיסיקאליות של הרשת • אמצעי: עפ"י כתובת לוגית שייחודית לכל מחשב • כתובת IP • מגבלות • unreliable – אין טיפול בשכפול או אובדן חבילות • connectionless – כל חבילה מטופלת בפני עצמה הגנה במערכות מתוכנתות - תרגול 5.5

  8. שכבת התובלה – Transport Layer • תפקיד: תקשורת בין תהליכים • ניתוב חבילות המתקבלות במחשב היעד אל התהליך הנכון • אמצעי: עפ"י כתובת לוגית שייחודית לכל תהליך • לכל תהליך מוקצה מספר port • שני פרוטוקולים בסיסיים • TCP– מספק שירות connection-oriented ו-reliable • UDP – מספר שירות connectionless ו-unreliable הגנה במערכות מתוכנתות - תרגול 5.5

  9. שכבת האפליקציה – Application Layer • תפקיד: תקשורת בין שתי אפליקציות ללא תלות במימוש • למשל • http • telnet • ftp • וכו' הגנה במערכות מתוכנתות - תרגול 5.5

  10. מבנה חבילות • בשליחת הודעה, כל שכבה מוסיפה header • ה-header מטופל ומוסר ע"י השכבה המקבילה ביעד הגנה במערכות מתוכנתות - תרגול 5.5

  11. 32 bits IP Address Network Address Host Address פרוטוקול שכבת הרשת – Internet Protocol • ייעוד עיקרי: ניתוב חבילות בין מחשבים ברשתות שונות • מטפל בחבילות גדולות – fragmentation • מוודא שהחבילה לא השתבשה בדרך • אמצעי: שימוש בכתובת IP • חלוקה בין כתובת רשת וכתובת מחשב אינה קבועה • הניתוב ברשת מסתמך על כתובת הרשת • כתיב נהוג: 132.68.1.11 הגנה במערכות מתוכנתות - תרגול 5.5

  12. 32 bits Ver H.Len ToS Total Length Identification Flags Fragment Offset Time to Live Protocol Header Checksum Header Source Address Destination Address Options Padding Data (upper layers) IP Packet מבנה IP Header הגנה במערכות מתוכנתות - תרגול 5.5

  13. פרוטוקולי שכבת התובלה – TCP ו-UDP • תפקיד: תקשורת בין תהליכים • שיחה בין תהליכים נקראת session • מוגדרות שתי סדרות של port-ים • אחת עבור TCP, ואחת עבור UDP • כל אפליקציה עובדת מעל פורט מסוים • מספרי הפורטים של האפליקציות במקור וביעד יופיעו כחלק מה-header הגנה במערכות מתוכנתות - תרגול 5.5

  14. פרוטוקול TCP (Transport Control Protocol) • תכונות: • Connection-oriented • reliable • הקשר מאותחל בלחיצת יד משולשת (3-way handshake) • הקשר נסגר על ידי לחיצת יד • לכל חבילה מצורפים מספר סידורי ומספר משוב • מספר סידורי מאפשר מעקב אחר אובדן ושכפול חבילות • מספר המשוב מיידע מה החבילה הבאה שהצד השני מצפה לה הגנה במערכות מתוכנתות - תרגול 5.5

  15. 3-way handshake SYN SYN, ACK ACK אתחול קשר ב-TCP • נעשה על-ידי קביעת ערכי דגלים מסוימים ב-header • Syn (synchronize) • Ack (Acknowledgement) • בכל ההודעות לאחר לחיצת היד • Syn כבוי • ACK דלוק הגנה במערכות מתוכנתות - תרגול 5.5

  16. 32 bits Header Source Port Destination Port Sequence Number Acknowledgement Number H. Len Reserved Flags Window Checksum Urgent Pointer Options Padding Data (upper layers) TCP Packet מבנה TCP Header הגנה במערכות מתוכנתות - תרגול 5.5

  17. 32 bits Source Port Destination Port Length Checksum Data (upper layers) UDP Packet Header מבנה UDP Header הגנה במערכות מתוכנתות - תרגול 5.5

  18. Network C GW AB GW BC Network A Network B y x מעבר חבילות באינטרנט • המחשב x, השייך לרשת A, מעוניין לתקשר עם מחשב y, השייך לרשת C. • אינן חיבור ישיר בין הרשתות, אך שתיהן מחוברות לרשת B. הגנה במערכות מתוכנתות - תרגול 5.5

  19. Network C GW AB GW BC Network A Network B y x מעבר חבילות באינטרנט • אפליקציה ax מכינה חבילה עבור ay, ומעבירה את החבילה לשכבת התובלה host x Application ax Data Transport Layer הגנה במערכות מתוכנתות - תרגול 5.5

  20. Network C GW AB GW BC Network A Network B y x מעבר חבילות באינטרנט • שכבת התובלה מוסיפה TCP/UDP Header לחבילה, ומעבירה את החבילה לשכבת הרשת host x Application ax Transport Layer TCP/UDP Header Data IP Layer הגנה במערכות מתוכנתות - תרגול 5.5

  21. Network C GW AB GW BC Network A Network B y x מעבר חבילות באינטרנט • שכבת הרשת מוסיפה IP Header לחבילה, ומזהה שאת החבילות צריך להעביר דרך הנתב AB, ולכן מעבירה לשכבה הפיסית בקשה להעביר את החבילה לנתב AB. host x Application ax Transport Layer IP Layer Net. Access Layer IP Header TCP/UDP Header Data הגנה במערכות מתוכנתות - תרגול 5.5

  22. Network A x Network C GW AB GW BC Network B y מעבר חבילות באינטרנט • השכבה הפיסית מוסיפה MAC Header. כתובת היעד היא כתובתו הפיסית של הנתב AB. החבילה משודרת בערוץ המשותף. host x Application ax Transport Layer IP Layer Net. Access Layer MAC Header IP Header TCP/UDP Header Data physical Line הגנה במערכות מתוכנתות - תרגול 5.5

  23. Network A x Network C GW AB GW BC Network B y מעבר חבילות באינטרנט • השכבה הפיסית של הנתב AB מזהה שהחבילה מיועדת אליה. ה-MAC Header מוסר, והחבילה מועברת לשכבת הרשת. host x gateway AB IP Layer Net. Access Layer MAC Header IP Header TCP/UDP Header Data physical Line הגנה במערכות מתוכנתות - תרגול 5.5

  24. Network A x Network C GW AB GW BC Network B y מעבר חבילות באינטרנט • שכבת הרשת של הנתב AB מזהה שהחבילה מיועדת ל-y, ובהתאם לטבלאות הניתוב מעבירה לשכבה הפיסית בקשה להעביר את החבילה לנתב BC. host x gateway AB IP Layer Net. Access Layer IP Header TCP/UDP Header Data physical Line הגנה במערכות מתוכנתות - תרגול 5.5

  25. Network A x Network C GW AB GW BC Network B y מעבר חבילות באינטרנט • השכבה הפיסית מוסיפה MAC Header. כתובת היעד היא כתובתו הפיסית של הנתב BC. החבילה משודרת בערוץ המשותף. host x gateway AB IP Layer Net. Access Layer MAC Header IP Header TCP/UDP Header Data physical Line physical Line הגנה במערכות מתוכנתות - תרגול 5.5

  26. Network A x Network C GW AB GW BC Network B y מעבר חבילות באינטרנט • השכבה הפיסית של הנתב BC מזהה שהחבילה מיועדת אליה. ה-MAC Header מוסר, והחבילה מועברת לשכבת הרשת. Gateway AB gateway BC IP Layer Net. Access Layer MAC Header IP Header TCP/UDP Header Data physical Line הגנה במערכות מתוכנתות - תרגול 5.5

  27. Network A x Network C GW AB GW BC Network B y מעבר חבילות באינטרנט • שכבת הרשת של הנתב BC מזהה שהחבילה מיועדת ל-y, שעל-פי טבלאות הניתוב נמצא ברשת המקומית, ומעבירה לשכבה הפיסית בקשה להעביר את החבילה ל-y. host x gateway BC IP Layer Net. Access Layer IP Header TCP/UDP Header Data physical Line הגנה במערכות מתוכנתות - תרגול 5.5

  28. Network A x Network C GW AB GW BC Network B y מעבר חבילות באינטרנט • השכבה הפיסית מוסיפה MAC Header. כתובת היעד היא כתובתו הפיסית של המחשב y. החבילה משודרת בערוץ המשותף. host x gateway BC IP Layer Net. Access Layer MAC Header IP Header TCP/UDP Header Data physical Line physical Line הגנה במערכות מתוכנתות - תרגול 5.5

  29. Network A x Network C GW AB GW BC Network B y מעבר חבילות באינטרנט • השכבה הפיסית של מחשב y מזהה שהחבילה מיועדת אליה. ה-MAC Header מוסר, והחבילה מועברת לשכבת הרשת. Gateway BC host y IP Layer Net. Access Layer MAC Header IP Header TCP/UDP Header Data physical Line הגנה במערכות מתוכנתות - תרגול 5.5

  30. Network A x Network C GW AB GW BC Network B y מעבר חבילות באינטרנט • שכבת הרשת של מחשב y מזהה שהחבילה מיועדת אליה. ה-IP Header מוסר, והחבילה מועברת לשכבת התובלה. host x host y Transport Layer IP Layer Net. Access Layer IP Header TCP/UDP Header Data physical Line הגנה במערכות מתוכנתות - תרגול 5.5

  31. Network A x Network C GW AB GW BC Network B y מעבר חבילות באינטרנט • שכבת התובלה מזהה על פי פורט היעד כי החבילה מיועדת אל האפליקציה ay, מסירה את ה-TCP/UDP Header, ומעבירה לאפליקציה את החבילה. host x host y Application ay Transport Layer IP Layer Net. Access Layer TCP/UDP Header Data physical Line הגנה במערכות מתוכנתות - תרגול 5.5

  32. Network A x Network C GW AB GW BC Network B y מעבר חבילות באינטרנט • ay מקבלת את החבילה, ומבצעת את העיבוד הנדרש. host x host y Application ay Transport Layer Data IP Layer Net. Access Layer physical Line הגנה במערכות מתוכנתות - תרגול 5.5

  33. host x gateway AB gateway BC host y Application ax Application ay Transport Layer Transport Layer IP Layer IP Layer IP Layer IP Layer Network Access Layer Network Access Layer Network Access Layer Network Access Layer physical line physical line physical line סיכום – מעבר חבילות באינטרנט הגנה במערכות מתוכנתות - תרגול 5.5

  34. מודל שרת לקוח • מודל תקשורת נפוץ לתקשורת בין תהליכים • השרת ממתין לפניות של תהליכי לקוח • הלקוח יוזם (מאתחל) session עם השרת • לאיזה פורט צריך לשלוח את החבילות? • מספרי פורטים עד 1023 שמורים לשרתים • http – 80, telnet – 23, ... • מספרי פורטים גדולים מ-1023 מיועדים לשימוש לקוחות • בדרך כלל מוקצים דינמית ע"י מערכת ההפעלה הגנה במערכות מתוכנתות - תרגול 5.5

  35. מקביליות במודל שרת לקוח • האפליקציה מקבלת את כל ההודעות שנשלחו לפורט x. איך תבדיל בין הודעות שנשלחו מתהליכים שונים? • הפתרון: מנגנון של sockets • לכל קשר של האפליקציה עושים שימוש ב-socket נפרד • מוגדר ע"י החמישיה(TCP/UDP,Src. IP, Dst. IP, Src. Port, Dst. Port) • ניתן להבדיל בין אפליקציות לקוח שונות על פי כתובת ה-IP השונה • בין אפליקציות לקוח הרצות על אותו מחשב, ניתן להבדיל על פי מספרי הפורטים השונים הגנה במערכות מתוכנתות - תרגול 5.5

More Related