35
תתתת תתתתתתת תתתתתתתת תתתתת5.5 – תתתת תתתתתת,- תתתת תTCP/IP תתתת: תתתתת תתת תתתת תתתתתת תתתתת תתתתת תתתתתתתת תתתתתתת תתתת תתתתת, תתתתתתת תתתת תתתתת תתתת.

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

  • Upload
    kobe

  • View
    49

  • Download
    1

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: הגנה במערכות מתוכנתות

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

– מודל השכבות, מבוא 5.5תרגול TCP/IPל-

הערה:

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

בלבד.

Page 2: הגנה במערכות מתוכנתות

5.5הגנה במערכות מתוכנתות - תרגול 2(c) 2007אריק פרידמן

מבוא לרשתות מחשבים

מודל השכבותמבנה חבילות

– פרוטוקול שכבת הרשתIP – פרוטוקולי שכבת התובלהTCP-ו UDPמעבר חבילות באינטרנטמודל השרת לקוח

Page 3: הגנה במערכות מתוכנתות

5.5הגנה במערכות מתוכנתות - תרגול 3(c) 2007אריק פרידמן

)LANרשת מקומית (

Network B

Network A

gateway

אוסף מחשבים אשר

מחוברים על ערוץ תקשורת

משותף.

Gateways מאפשרים העברת

הודעות בין הרשתות

Page 4: הגנה במערכות מתוכנתות

5.5הגנה במערכות מתוכנתות - תרגול 4(c) 2007אריק פרידמן

העברת הודעות בין שני מחשבים באינטרנט

משלוח הודעות הוא משימה מורכבת, שניתן לחלקלמספר תתי-משימות:

העברת החבילה בתוך רשתות מקומיות1.

ניתוב החבילה באינטרנט, כלומר בין רשתות שונות2.

העברת החבילה במחשב היעד לתהליך אליו היא מיועדת3.:מגבלות וכשלים עימם צריך להתמודד

הגבלה על גודל חבילות1.

סדר חבילות אינו נשמר2.

שיבוש, אובדן או שיכפול של חבילות3.דרך ההתמודדות: עבודה במודל של שכבות

כל שכבה אחראית על תת משימה אחת

Page 5: הגנה במערכות מתוכנתות

5.5הגנה במערכות מתוכנתות - תרגול 5(c) 2007אריק פרידמן

TCP/IPמודל השכבות של מכיל ארבע שכבות

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

המקבילה במחשב השני

Application Layer–שכבת

האפליקציה

Transport Layer–שכבת התובלה

Network Layer–שכבת הרשת

Network Access Layer

השכבה הפיזית–

Page 6: הגנה במערכות מתוכנתות

5.5הגנה במערכות מתוכנתות - תרגול 6(c) 2007אריק פרידמן

Network Access Layerהשכבה הפיסית –

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

כתובתMAC (Media Access Control) צרובה בכרטיס – הרשת

הפרוטוקול תלוי בסוג הרשתEthernetToken RingWireless'וכו

Page 7: הגנה במערכות מתוכנתות

5.5הגנה במערכות מתוכנתות - תרגול 7(c) 2007אריק פרידמן

Network Layerשכבת הרשת –

תפקיד: ניתוב חבילות בין מחשבים באינטרנט ממחשב מקור למחשב יעד, ייתכן ברשתות שונות (דרך

gateways( בנוסף אחראית על פיצול חבילות גדולות, בהתאם

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

כתובתIPמגבלות

unreliableאין טיפול בשכפול או אובדן חבילות – connectionlessכל חבילה מטופלת בפני עצמה –

Page 8: הגנה במערכות מתוכנתות

5.5הגנה במערכות מתוכנתות - תרגול 8(c) 2007אריק פרידמן

Transport Layerשכבת התובלה –

תפקיד: תקשורת בין תהליכים ניתוב חבילות המתקבלות במחשב

היעד אל התהליך הנכון אמצעי: עפ"י כתובת לוגית שייחודית לכל תהליך

לכל תהליך מוקצה מספרportשני פרוטוקולים בסיסיים

TCP מספק שירות –connection-oriented-ו reliableUDP מספר שירות – connectionless-ו unreliable

Page 9: הגנה במערכות מתוכנתות

5.5הגנה במערכות מתוכנתות - תרגול 9(c) 2007אריק פרידמן

Application Layerשכבת האפליקציה –

תפקיד: תקשורת בין שתי אפליקציות ללא תלותבמימוש

למשלhttptelnet ftp'וכו

Page 10: הגנה במערכות מתוכנתות

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

Page 11: הגנה במערכות מתוכנתות

5.5הגנה במערכות מתוכנתות - תרגול 11(c) 2007אריק פרידמן

Internetפרוטוקול שכבת הרשת – Protocol

ייעוד עיקרי: ניתוב חבילות בין מחשבים ברשתות שונות – מטפל בחבילות גדולותfragmentationמוודא שהחבילה לא השתבשה בדרך

אמצעי: שימוש בכתובתIP

חלוקה בין כתובת רשת וכתובת מחשב אינה קבועההניתוב ברשת מסתמך על כתובת הרשת :132.68.1.11כתיב נהוג

IP Address

32 bits

Network Address Host Address

Page 12: הגנה במערכות מתוכנתות

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

Page 13: הגנה במערכות מתוכנתות

5.5הגנה במערכות מתוכנתות - תרגול 13(c) 2007אריק פרידמן

UDP ו-TCPפרוטוקולי שכבת התובלה –

תפקיד: תקשורת בין תהליכים שיחה בין תהליכים נקראתsession

מוגדרות שתי סדרות שלportים- אחת עבורTCP ואחת עבור ,UDP

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

headerיופיעו כחלק מה-

Page 14: הגנה במערכות מתוכנתות

5.5הגנה במערכות מתוכנתות - תרגול 14(c) 2007אריק פרידמן

TCP (Transport Control Protocol)פרוטוקול

:תכונותConnection-orientedreliable

) 3הקשר מאותחל בלחיצת יד משולשת-way handshake(

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

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

Page 15: הגנה במערכות מתוכנתות

5.5הגנה במערכות מתוכנתות - תרגול 15(c) 2007אריק פרידמן

TCPאתחול קשר ב-

נעשה על-ידי קביעת ערכיheaderדגלים מסוימים ב-

Syn (synchronize)Ack (Acknowledgement)

בכל ההודעות לאחר לחיצתהיד

Synכבוי ACKדלוק

ACK

SYN, ACK

SYN

3-way handshake

Page 16: הגנה במערכות מתוכנתות

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

Page 17: הגנה במערכות מתוכנתות

5.5הגנה במערכות מתוכנתות - תרגול 17(c) 2007אריק פרידמן

UDP Header מבנה

UDP Packet

32 bits

Data (upper layers)

Source Port Destination Port

ChecksumLength

Header

Page 18: הגנה במערכות מתוכנתות

5.5הגנה במערכות מתוכנתות - תרגול 18(c) 2007אריק פרידמן

מעבר חבילות באינטרנט

GW BCGW AB

Network A

x

Network B Network C

y

המחשבx השייך לרשת ,A מעוניין לתקשר עם מחשב ,y השייך לרשת ,C.

אינן חיבור ישיר בין הרשתות, אך שתיהן מחוברות לרשתB.

Page 19: הגנה במערכות מתוכנתות

5.5הגנה במערכות מתוכנתות - תרגול 19(c) 2007אריק פרידמן

מעבר חבילות באינטרנט

GW BCGW AB

Network A

x

Network B Network C

y

אפליקציהax מכינה חבילה , ומעבירה את ayעבור

החבילה לשכבת התובלה

host x

Application ax

Transport LayerData

Page 20: הגנה במערכות מתוכנתות

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

Page 21: הגנה במערכות מתוכנתות

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

Page 22: הגנה במערכות מתוכנתות

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

Page 23: הגנה במערכות מתוכנתות

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

Page 24: הגנה במערכות מתוכנתות

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

Page 25: הגנה במערכות מתוכנתות

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

Page 26: הגנה במערכות מתוכנתות

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

Page 27: הגנה במערכות מתוכנתות

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

Page 28: הגנה במערכות מתוכנתות

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

Page 29: הגנה במערכות מתוכנתות

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

Page 30: הגנה במערכות מתוכנתות

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

Page 31: הגנה במערכות מתוכנתות

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

Page 32: הגנה במערכות מתוכנתות

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

Page 33: הגנה במערכות מתוכנתות

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

Page 34: הגנה במערכות מתוכנתות

5.5הגנה במערכות מתוכנתות - תרגול 34(c) 2007אריק פרידמן

מודל שרת לקוח

מודל תקשורת נפוץ לתקשורת בין תהליכיםהשרת ממתין לפניות של תהליכי לקוח (מאתחל) הלקוח יוזםsessionעם השרת

?לאיזה פורט צריך לשלוח את החבילות שמורים לשרתים1023מספרי פורטים עד

http – 80, telnet – 23... ,-מיועדים לשימוש 1023מספרי פורטים גדולים מ

לקוחותבדרך כלל מוקצים דינמית ע"י מערכת ההפעלה

Page 35: הגנה במערכות מתוכנתות

5.5הגנה במערכות מתוכנתות - תרגול 35(c) 2007אריק פרידמן

מקביליות במודל שרת לקוח

האפליקציה מקבלת את כל ההודעות שנשלחו לפורטx?איך תבדיל בין הודעות שנשלחו מתהליכים שונים .

הפתרון: מנגנון שלsockets-לכל קשר של האפליקציה עושים שימוש בsocketנפרד מוגדר ע"י החמישיה

)TCP/UDP,Src. IP, Dst. IP, Src. Port, Dst. Port(-ניתן להבדיל בין אפליקציות לקוח שונות על פי כתובת הIPהשונה בין אפליקציות לקוח הרצות על אותו מחשב, ניתן להבדיל על פי

מספרי הפורטים השונים