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

‫תקשורת מחשבים על רגל אחת‬
ARTHUR KIYANOVSKI 2015 ARTHURK(AT)CS.TECHNION.AC.IL
‫‪t2‬‬
‫‪My computer‬‬
‫מה קורה כשאתם מתחברים ל‪ t2‬מהמחשב האישי שלכם?‬
‫אז קודם כל התמונה לא כל כך פשוטה‪...‬‬
‫‪ARTHUR KIYANOVSKI 2015 ARTHURK(AT)CS.TECHNION.AC.IL‬‬
t2
My computer
‫ ויכול‬routers, switches ‫ הוא עובר דרך‬,‫החיבור אינו ישיר‬
.t2‫להיות שיש יותר מדרך אחת להגיע מהמחשב שלכם ל‬
ARTHUR KIYANOVSKI 2015 ARTHURK(AT)CS.TECHNION.AC.IL
‫‪t2‬‬
‫‪My computer‬‬
‫המידע מחולק לחבילות (‪ )packet‬וכל חבילה יכולה לעבור‬
‫במסלול אחר כתלות בעומס על הרשת במסלולים השונים‬
‫‪ARTHUR KIYANOVSKI 2015 ARTHURK(AT)CS.TECHNION.AC.IL‬‬
‫‪t2‬‬
‫‪My computer‬‬
‫סביר מאד ש‪ t2‬מנהל תקשורת לא רק מולכם אלא גם מול‬
‫מחשבים אחרים‪ .‬כנראה שגם המחשב שלכם מנהל‬
‫תקשורת עם מחשבים אחרים‪ .‬לכן כדי שמחשב שמקבל‬
‫חבילה ידע מה לעשות איתה‪ ,‬צריך להיות לה מזהה חד‬
‫ערכי שיספר לו "מאין היא באה ולאן היא הולכת" למזהה‬
‫חד ערכי של "שיחה" בין זוג מחשבים קוראים ‪.socket‬‬
‫‪ARTHUR KIYANOVSKI 2015 ARTHURK(AT)CS.TECHNION.AC.IL‬‬
SOCKET<>
My computer
.socket‫נבנה את החלקים השונים של ה‬
ARTHUR KIYANOVSKI 2015 ARTHURK(AT)CS.TECHNION.AC.IL
t2
‫‪t2‬‬
‫>‪SOCKET<srcIP, destIP‬‬
‫‪My computer‬‬
‫‪IP 123.1.23.15‬‬
‫‪IP 132.68.1.134‬‬
‫כדי שהמחשבים בדרך ידעו לאן החבילה צריכה להגיע‬
‫צריכה להיות כתובת לכל מחשב‪ .‬לכתובת זו קוראים‬
‫כתובת ‪ .IP‬כלומר ה‪ socket‬צריך להכיל את כתובת המקור‬
‫וכתובת היעד (כמו כתובת מגורים)‪.‬‬
‫‪ARTHUR KIYANOVSKI 2015 ARTHURK(AT)CS.TECHNION.AC.IL‬‬
‫‪t2‬‬
‫>‪SOCKET<srcIP, destIP, srcPort, destPort‬‬
‫‪My computer‬‬
‫‪Port X‬‬
‫‪ssh connection‬‬
‫‪Port a‬‬
‫‪Port Y‬‬
‫‪telnet connection‬‬
‫‪Port b‬‬
‫‪IP 123.1.23.15‬‬
‫‪IP 132.68.1.134‬‬
‫אבל מה אם יש יותר מחיבור אחד בין המחשב שלכם ל‪?t2‬‬
‫לדוגמא פתחתם ‪ 2‬חלונות שונים והתחברתם ב‪ ssh‬ל‪t2‬‬
‫באחד מהם וב‪ telnet‬בחלון האחר‬
‫בשביל זה הומצאו פורטים‪ .‬פורט הוא מספר בין ‪0 -65535‬‬
‫שמייצר "למי מיועדת החבילה בתוך המחשב"‪( .‬כמו מספר‬
‫תיבת דואר)‬
‫‪ARTHUR KIYANOVSKI 2015 ARTHURK(AT)CS.TECHNION.AC.IL‬‬
SOCKET<srcIP, destIP, srcPort, destPort>
t2
My computer
Port a
IP 123.1.23.15
Port b
ssh connection 1
Port X
ssh connection 2
IP 132.68.1.134
‫ שיחות על אותו הפורט באחד‬2 ‫שימו לב שאין בעיה לנהל‬
‫ הדוגמא למעלה‬.socket‫הצדדים – המפתח הוא כל ה‬
.‫חוקית‬
ARTHUR KIYANOVSKI 2015 ARTHURK(AT)CS.TECHNION.AC.IL
SOCKET<srcIP, destIP, srcPort, destPort, Protocol>
t2
My computer
Port a
IP 123.1.23.15
Port b
ssh connection 1
Port X
ssh connection 2
IP 132.68.1.134
.‫ הוא הפרוטוקול‬socket‫המרכיב האחרון של ה‬
,‫פרוטוקול הוא ה"שיטה" שבה שולחים את ההודעות‬
.UDP ,TCP :‫דוגמאות לפרוטוקולים כאלה‬
ARTHUR KIYANOVSKI 2015 ARTHURK(AT)CS.TECHNION.AC.IL
‫‪t2‬‬
‫‪My computer‬‬
‫‪IP 123.1.23.15‬‬
‫‪IP 132.68.1.134‬‬
‫מקובל לחלק את מודל התקשורת לשכבות‪ ,‬לכל שכבה‬
‫תפקיד אחר‪ ,‬כל שכבה מוסיפה לחבילה את המידע שלה‪.‬‬
‫אנחנו נדבר רק על כמה מהשכבות העיקריות בפרוטוקול‬
‫‪ TCP/IP‬על ידי הדגמה של יצירה של חבילה לשליחה‬
‫ופירוק חבילה בקבלה‪.‬‬
‫‪ARTHUR KIYANOVSKI 2015 ARTHURK(AT)CS.TECHNION.AC.IL‬‬
t2
My computer
TCP/IP Packet
data
IP 123.1.23.15
socket
Application
IP 132.68.1.134
‫ האפליקציה‬.‫השכבה הראשונה היא שכבת האפליקציה‬
‫ במידע הנדרש ומעבירה את המידע‬socket‫ממלאת את ה‬
.‫שהיא רוצה להעביר למחשב היעד‬
ARTHUR KIYANOVSKI 2015 ARTHURK(AT)CS.TECHNION.AC.IL
t2
My computer
TCP/IP Packet
data
IP 123.1.23.15
socket
Application
TCP (packet
number…)
Transport
IP 132.68.1.134
‫השכבה הבאה שמקבלת את החבילה היא שכבת‬
– ‫ שכבה זו אחראית על החיבור התקין‬.Transport‫ה‬
‫ ושלא יאבדו חבילות‬,‫לדוגמא שהחבילות יגיעו בסדר הנכון‬
.)TCP ‫בדרך (במקרה של‬
ARTHUR KIYANOVSKI 2015 ARTHURK(AT)CS.TECHNION.AC.IL
t2
My computer
TCP/IP Packet
data
IP 123.1.23.15
socket
Application
TCP (packet
number…)
IP (Routing
Data)
Transport
Network
IP 132.68.1.134
‫השכבה הבאה שמקבלת את החבילה היא שכבת‬
‫ כדי לנתב את‬IP ‫ המשתמשת בפרוטוקול‬Network‫ה‬
.‫ של היעד‬IP ‫ של המקור אל כתובת‬IP ‫החבילות מכתובת‬
ARTHUR KIYANOVSKI 2015 ARTHURK(AT)CS.TECHNION.AC.IL
t2
My computer
TCP/IP Packet
data
IP 123.1.23.15
socket
Application
TCP (packet IP (Routing
Data)
number…)
Transport
Network
Error
Checking
DataLink
IP 132.68.1.134
‫ שאחראית על‬DataLink‫השכבה האחרונה היא שכבת ה‬
– ‫העברת החבילה בין מחשב אחד לבא בתור בשרשרת‬
.‫כולל בדיקת שגיאות שידור תוכן החבילה‬
ARTHUR KIYANOVSKI 2015 ARTHURK(AT)CS.TECHNION.AC.IL