Upload
kobe
View
49
Download
1
Embed Size (px)
DESCRIPTION
הגנה במערכות מתוכנתות. תרגול 5.5 – מודל השכבות, מבוא ל- TCP/IP. הערה: שקפים אלה אינם מהווים תחליף לחומר התרגולים המפורסם באתר הקורס, ומשמשים כעזר הוראה בלבד. מבוא לרשתות מחשבים. מודל השכבות מבנה חבילות פרוטוקול שכבת הרשת – IP פרוטוקולי שכבת התובלה – TCP ו- UDP מעבר חבילות באינטרנט - PowerPoint PPT Presentation
Citation preview
הגנה במערכות מתוכנתות
– מודל השכבות, מבוא 5.5תרגול TCP/IPל-
הערה:
שקפים אלה אינם מהווים תחליף לחומר התרגולים המפורסם באתר הקורס, ומשמשים כעזר הוראה
בלבד.
5.5הגנה במערכות מתוכנתות - תרגול 2(c) 2007אריק פרידמן
מבוא לרשתות מחשבים
מודל השכבותמבנה חבילות
– פרוטוקול שכבת הרשתIP – פרוטוקולי שכבת התובלהTCP-ו UDPמעבר חבילות באינטרנטמודל השרת לקוח
5.5הגנה במערכות מתוכנתות - תרגול 3(c) 2007אריק פרידמן
)LANרשת מקומית (
Network B
Network A
gateway
אוסף מחשבים אשר
מחוברים על ערוץ תקשורת
משותף.
Gateways מאפשרים העברת
הודעות בין הרשתות
5.5הגנה במערכות מתוכנתות - תרגול 4(c) 2007אריק פרידמן
העברת הודעות בין שני מחשבים באינטרנט
משלוח הודעות הוא משימה מורכבת, שניתן לחלקלמספר תתי-משימות:
העברת החבילה בתוך רשתות מקומיות1.
ניתוב החבילה באינטרנט, כלומר בין רשתות שונות2.
העברת החבילה במחשב היעד לתהליך אליו היא מיועדת3.:מגבלות וכשלים עימם צריך להתמודד
הגבלה על גודל חבילות1.
סדר חבילות אינו נשמר2.
שיבוש, אובדן או שיכפול של חבילות3.דרך ההתמודדות: עבודה במודל של שכבות
כל שכבה אחראית על תת משימה אחת
5.5הגנה במערכות מתוכנתות - תרגול 5(c) 2007אריק פרידמן
TCP/IPמודל השכבות של מכיל ארבע שכבות
כל שכבה אחראית לביצוע תתי משימות מוגדרות כל שכבה במחשב אחד מנהלת דיאלוג מול השכבה
המקבילה במחשב השני
Application Layer–שכבת
האפליקציה
Transport Layer–שכבת התובלה
Network Layer–שכבת הרשת
Network Access Layer
השכבה הפיזית–
5.5הגנה במערכות מתוכנתות - תרגול 6(c) 2007אריק פרידמן
Network Access Layerהשכבה הפיסית –
תפקיד: העברת החבילה בתוך הרשת המקומית אמצעי: עפ"י כתובת פיסית שייחודית לכל מחשב
כתובתMAC (Media Access Control) צרובה בכרטיס – הרשת
הפרוטוקול תלוי בסוג הרשתEthernetToken RingWireless'וכו
5.5הגנה במערכות מתוכנתות - תרגול 7(c) 2007אריק פרידמן
Network Layerשכבת הרשת –
תפקיד: ניתוב חבילות בין מחשבים באינטרנט ממחשב מקור למחשב יעד, ייתכן ברשתות שונות (דרך
gateways( בנוסף אחראית על פיצול חבילות גדולות, בהתאם
למגבלות הפיסיקאליות של הרשת אמצעי: עפ"י כתובת לוגית שייחודית לכל מחשב
כתובתIPמגבלות
unreliableאין טיפול בשכפול או אובדן חבילות – connectionlessכל חבילה מטופלת בפני עצמה –
5.5הגנה במערכות מתוכנתות - תרגול 8(c) 2007אריק פרידמן
Transport Layerשכבת התובלה –
תפקיד: תקשורת בין תהליכים ניתוב חבילות המתקבלות במחשב
היעד אל התהליך הנכון אמצעי: עפ"י כתובת לוגית שייחודית לכל תהליך
לכל תהליך מוקצה מספרportשני פרוטוקולים בסיסיים
TCP מספק שירות –connection-oriented-ו reliableUDP מספר שירות – connectionless-ו unreliable
5.5הגנה במערכות מתוכנתות - תרגול 9(c) 2007אריק פרידמן
Application Layerשכבת האפליקציה –
תפקיד: תקשורת בין שתי אפליקציות ללא תלותבמימוש
למשלhttptelnet ftp'וכו
5.5הגנה במערכות מתוכנתות - תרגול 10(c) 2007אריק פרידמן
מבנה חבילות בשליחת הודעה, כל שכבה מוסיפהheader-הheaderמטופל ומוסר ע"י השכבה המקבילה ביעד
LayerPacket Sturcture
Application Layer
Application Data
Transport LayerTCP/UDP
HeaderApplication
Data
Network LayerIP
HeaderTCP/UDP
HeaderApplication
Data
Network Access Layer
MAC HeaderIP
HeaderTCP/UDP
HeaderApplication
Data
5.5הגנה במערכות מתוכנתות - תרגול 11(c) 2007אריק פרידמן
Internetפרוטוקול שכבת הרשת – Protocol
ייעוד עיקרי: ניתוב חבילות בין מחשבים ברשתות שונות – מטפל בחבילות גדולותfragmentationמוודא שהחבילה לא השתבשה בדרך
אמצעי: שימוש בכתובתIP
חלוקה בין כתובת רשת וכתובת מחשב אינה קבועההניתוב ברשת מסתמך על כתובת הרשת :132.68.1.11כתיב נהוג
IP Address
32 bits
Network Address Host Address
5.5הגנה במערכות מתוכנתות - תרגול 12(c) 2007אריק פרידמן
IP Headerמבנה 32 bits
IP Packet
Destination Address
Identification
Ver H.Len ToS Total Length
Flags Fragment Offset
Source Address
Time to Live Protocol Header Checksum
Options Padding
Data (upper layers)
Header
5.5הגנה במערכות מתוכנתות - תרגול 13(c) 2007אריק פרידמן
UDP ו-TCPפרוטוקולי שכבת התובלה –
תפקיד: תקשורת בין תהליכים שיחה בין תהליכים נקראתsession
מוגדרות שתי סדרות שלportים- אחת עבורTCP ואחת עבור ,UDP
כל אפליקציה עובדת מעל פורט מסוים מספרי הפורטים של האפליקציות במקור וביעד
headerיופיעו כחלק מה-
5.5הגנה במערכות מתוכנתות - תרגול 14(c) 2007אריק פרידמן
TCP (Transport Control Protocol)פרוטוקול
:תכונותConnection-orientedreliable
) 3הקשר מאותחל בלחיצת יד משולשת-way handshake(
הקשר נסגר על ידי לחיצת ידלכל חבילה מצורפים מספר סידורי ומספר משוב
מספר סידורי מאפשר מעקב אחר אובדן ושכפול חבילותמספר המשוב מיידע מה החבילה הבאה שהצד השני מצפה לה
5.5הגנה במערכות מתוכנתות - תרגול 15(c) 2007אריק פרידמן
TCPאתחול קשר ב-
נעשה על-ידי קביעת ערכיheaderדגלים מסוימים ב-
Syn (synchronize)Ack (Acknowledgement)
בכל ההודעות לאחר לחיצתהיד
Synכבוי ACKדלוק
ACK
SYN, ACK
SYN
3-way handshake
5.5הגנה במערכות מתוכנתות - תרגול 16(c) 2007אריק פרידמן
TCP Headerמבנה 32 bits
TCP Packet
Window
Sequence Number
Acknowledgement Number
Source Port Destination Port
Urgent PointerChecksum
H. Len Reserved Flags
Options
Data (upper layers)
Padding
Header
5.5הגנה במערכות מתוכנתות - תרגול 17(c) 2007אריק פרידמן
UDP Header מבנה
UDP Packet
32 bits
Data (upper layers)
Source Port Destination Port
ChecksumLength
Header
5.5הגנה במערכות מתוכנתות - תרגול 18(c) 2007אריק פרידמן
מעבר חבילות באינטרנט
GW BCGW AB
Network A
x
Network B Network C
y
המחשבx השייך לרשת ,A מעוניין לתקשר עם מחשב ,y השייך לרשת ,C.
אינן חיבור ישיר בין הרשתות, אך שתיהן מחוברות לרשתB.
5.5הגנה במערכות מתוכנתות - תרגול 19(c) 2007אריק פרידמן
מעבר חבילות באינטרנט
GW BCGW AB
Network A
x
Network B Network C
y
אפליקציהax מכינה חבילה , ומעבירה את ayעבור
החבילה לשכבת התובלה
host x
Application ax
Transport LayerData
5.5הגנה במערכות מתוכנתות - תרגול 20(c) 2007אריק פרידמן
מעבר חבילות באינטרנט
GW BCGW AB
Network A
x
Network B Network C
y
שכבת התובלה מוסיפהTCP/UDP Header
לחבילה, ומעבירה את החבילה לשכבת הרשת
host x
Application ax
Transport Layer
IP LayerData
TCP/UDP Header
5.5הגנה במערכות מתוכנתות - תרגול 21(c) 2007אריק פרידמן
מעבר חבילות באינטרנט
GW BCGW AB
Network A
x
Network B Network C
y
שכבת הרשת מוסיפהIP Header לחבילה, ומזהה שאת החבילות
, ולכן ABצריך להעביר דרך הנתב מעבירה לשכבה הפיסית בקשה
.ABלהעביר את החבילה לנתב
host x
Application ax
Transport Layer
IP Layer
DataTCP/UDP
Header
Net. Access Layer IP Header
5.5הגנה במערכות מתוכנתות - תרגול 22(c) 2007אריק פרידמן
מעבר חבילות באינטרנט
GW BCGW AB
Network A
x
Network B Network C
y
השכבה הפיסית מוסיפהMAC Header כתובת היעד היא כתובתו .
. החבילה ABהפיסית של הנתב משודרת בערוץ המשותף.
host x
Application ax
Transport Layer
IP Layer
DataTCP/UDP
Header
Net. Access LayerIP
HeaderMAC
Headerphysical Line
5.5הגנה במערכות מתוכנתות - תרגול 23(c) 2007אריק פרידמן
מעבר חבילות באינטרנט
GW BCGW AB
Network A
x
Network B Network C
y
השכבה הפיסית של הנתבAB מזהה שהחבילה מיועדת אליה.
מוסר, והחבילה MAC Headerה-מועברת לשכבת הרשת.
host x
IP Layer
DataTCP/UDP
Header
Net. Access LayerIP
Headerphysical Line
gateway AB
MAC Header
5.5הגנה במערכות מתוכנתות - תרגול 24(c) 2007אריק פרידמן
מעבר חבילות באינטרנט
GW BCGW AB
Network A
x
Network B Network C
y
שכבת הרשת של הנתבAB , yמזהה שהחבילה מיועדת ל-ובהתאם לטבלאות הניתוב
מעבירה לשכבה הפיסית בקשה .BCלהעביר את החבילה לנתב
host x
IP Layer
DataTCP/UDP
Header
Net. Access LayerIP
Headerphysical Line
gateway AB
5.5הגנה במערכות מתוכנתות - תרגול 25(c) 2007אריק פרידמן
מעבר חבילות באינטרנט
GW BCGW AB
Network A
x
Network B Network C
y
השכבה הפיסית מוסיפהMAC Header כתובת היעד היא כתובתו .
. החבילה BCהפיסית של הנתב משודרת בערוץ המשותף.
host x
IP Layer
DataTCP/UDP
Header
Net. Access LayerIP
Headerphysical Line
gateway AB
MAC Header
physical Line
5.5הגנה במערכות מתוכנתות - תרגול 26(c) 2007אריק פרידמן
מעבר חבילות באינטרנט
GW BCGW AB
Network A
x
Network B Network C
y
השכבה הפיסית של הנתבBC מזהה שהחבילה מיועדת אליה.
מוסר, והחבילה MAC Headerה-מועברת לשכבת הרשת.
Gateway AB
IP Layer
DataTCP/UDP
Header
Net. Access LayerIP
Headerphysical Line
gateway BC
MAC Header
5.5הגנה במערכות מתוכנתות - תרגול 27(c) 2007אריק פרידמן
מעבר חבילות באינטרנט
GW BCGW AB
Network A
x
Network B Network C
y
שכבת הרשת של הנתבBC מזהה , שעל-פי yשהחבילה מיועדת ל-
טבלאות הניתוב נמצא ברשת המקומית, ומעבירה לשכבה הפיסית
.yבקשה להעביר את החבילה ל-
host x
IP Layer
DataTCP/UDP
Header
Net. Access LayerIP
Headerphysical Line
gateway BC
5.5הגנה במערכות מתוכנתות - תרגול 28(c) 2007אריק פרידמן
מעבר חבילות באינטרנט
GW BCGW AB
Network A
x
Network B Network C
y
השכבה הפיסית מוסיפהMAC Header כתובת היעד היא כתובתו .
. החבילה yהפיסית של המחשב משודרת בערוץ המשותף.
host x
IP Layer
DataTCP/UDP
Header
Net. Access LayerIP
Headerphysical Line
gateway BC
MAC Header
physical Line
5.5הגנה במערכות מתוכנתות - תרגול 29(c) 2007אריק פרידמן
מעבר חבילות באינטרנט
GW BCGW AB
Network A
x
Network B Network C
y
השכבה הפיסית של מחשבy מזהה שהחבילה מיועדת אליה.
מוסר, והחבילה MAC Headerה-מועברת לשכבת הרשת.
Gateway BC
IP Layer
DataTCP/UDP
Header
Net. Access LayerIP
Headerphysical Line
host y
MAC Header
5.5הגנה במערכות מתוכנתות - תרגול 30(c) 2007אריק פרידמן
מעבר חבילות באינטרנט
GW BCGW AB
Network A
x
Network B Network C
y
שכבת הרשת של מחשבy מזהה IPשהחבילה מיועדת אליה. ה-
Header מוסר, והחבילה מועברת לשכבת התובלה.
host x
IP Layer
DataTCP/UDP
Header
Net. Access LayerIP
Headerphysical Line
host y
Transport Layer
5.5הגנה במערכות מתוכנתות - תרגול 31(c) 2007אריק פרידמן
מעבר חבילות באינטרנט
GW BCGW AB
Network A
x
Network B Network C
y
שכבת התובלה מזהה על פי פורטהיעד כי החבילה מיועדת אל
, מסירה את ayהאפליקציה , ומעבירה TCP/UDP Headerה-
לאפליקציה את החבילה.
host x
IP Layer
DataTCP/UDP
Header
Net. Access Layer
physical Line
host y
Transport Layer
Application ay
5.5הגנה במערכות מתוכנתות - תרגול 32(c) 2007אריק פרידמן
מעבר חבילות באינטרנט
GW BCGW AB
Network A
x
Network B Network C
y
ay מקבלת את החבילה, ומבצעת את העיבוד הנדרש.
host x
IP Layer Data
Net. Access Layer
physical Line
host y
Transport Layer
Application ay
5.5הגנה במערכות מתוכנתות - תרגול 33(c) 2007אריק פרידמן
סיכום – מעבר חבילות באינטרנט
physical line physical line physical line
Application ax
TransportLayer
IPLayer
Network AccessLayer
host x
IPLayer
Network AccessLayer
gateway AB
IPLayer
Network AccessLayer
gateway BC
IPLayer
Network AccessLayer
Application ay
TransportLayer
host y
5.5הגנה במערכות מתוכנתות - תרגול 34(c) 2007אריק פרידמן
מודל שרת לקוח
מודל תקשורת נפוץ לתקשורת בין תהליכיםהשרת ממתין לפניות של תהליכי לקוח (מאתחל) הלקוח יוזםsessionעם השרת
?לאיזה פורט צריך לשלוח את החבילות שמורים לשרתים1023מספרי פורטים עד
http – 80, telnet – 23... ,-מיועדים לשימוש 1023מספרי פורטים גדולים מ
לקוחותבדרך כלל מוקצים דינמית ע"י מערכת ההפעלה
5.5הגנה במערכות מתוכנתות - תרגול 35(c) 2007אריק פרידמן
מקביליות במודל שרת לקוח
האפליקציה מקבלת את כל ההודעות שנשלחו לפורטx?איך תבדיל בין הודעות שנשלחו מתהליכים שונים .
הפתרון: מנגנון שלsockets-לכל קשר של האפליקציה עושים שימוש בsocketנפרד מוגדר ע"י החמישיה
)TCP/UDP,Src. IP, Dst. IP, Src. Port, Dst. Port(-ניתן להבדיל בין אפליקציות לקוח שונות על פי כתובת הIPהשונה בין אפליקציות לקוח הרצות על אותו מחשב, ניתן להבדיל על פי
מספרי הפורטים השונים