מערכות הפעלה ( אביב 2009) חגית עטיה © 1 אפליקציות שרת - לקוח  פרדיגמת שרת לקוח  מושג ה socket  מבנה שרת - לקוח  קצת יותר על רשתות.

Slides:



Advertisements
Similar presentations
Object Oriented 33 MCSD DORON AMIR
Advertisements

מבוא למדעי המחשב לתעשייה וניהול
1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
Intro To Secure Comm. Exercise 7. Solution (review of last lesson) Assuming  CEO1:  CEO2: Use both transport mode and tunnel mode IPSec.
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 תהליכים - דייאט : חוטים  מוטיבציה  חוטי משתמש וחוטי מערכת  תמיכת מערכת ההפעלה  דוגמאות.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 מערכות קבצים מבוזרות  מבוא  מבנה כללי  דוגמה : Network file system  דוגמה : Google file system.
הגנה במערכות מתוכנתות חורף תשס"ד הרצאה 7 Firewalls ספרות : Chapman, Zwicki. Building Internet Firewalls. O’Reilly, Cheswick, Bellovin. Firewalls.
הגנה במערכות מתוכנתות חורף תשס"ד הרצאה 6 מבוא לרשתות מודל TCP/IP איומים על רשתות.
מערכות הפעלה ( אביב 2008) חגית עטיה © 1 מערכות קבצים מבוזרות  מבוא : שקיפות ושמירת מצב.  דוגמה : Network File System.
מנגנון תקשורת ב-Linux סכמת שרת לקוח: client/server
תרגול 8.5 – מודל השכבות, מבוא ל-TCP/IP
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 פסיקות  סוגי פסיקות  איך מערכת ההפעלה מטפלת בפסיקות  דוגמא : קלט בעזרת פסיקות.
מכון ויצמן למדע - שמוליק מתוך 8 חישוב מקבילי ומבוזר מה זה יחידה חמישית במדעי המחשב... n ענף מתקדם במדעי המחשב העוסק במערכות ממוחשבות מרובות ישויות.
מערכות הפעלה ( אביב 2008) חגית עטיה © 1 טיפול בקיפאון  בעיית הקיפאון  הימנעות מקיפאון  זיהוי קיפאון באמצעות מציאת מעגלים  אלגוריתם הבנקאי להתחמקות.
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 מערכות קבצים מבוזרות  מבוא : שקיפות ושמירת מצב.  דוגמה : Network File System.
RSS אוקטובר RSS – Really Simple Syndication תקן שמשמש להפצת תכנים ברשת – חדשות והודעות למעקב אחר עדכונים חדשים מוזן ב- XML - Extensible Markup Language.
שאלות חזרה לבחינה. שאלה דיסקים אופטיים מסוג WORM (write-once-read-many) משמשים חברות לצורך איחסון כמויות גדולות של מידע באופן קבוע ומבלי שניתן לשנותו.
מה החומר למבחן ? כל החומר שנלמד בהרצאות ובתרגולים. לגבי backtracking: לא תידרשו לממש אלגוריתם, אך כן להבין או להשלים מימוש נתון. אחת משאלות המבחן מבוססת.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 מערכות הפעלה קורס מס '
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 תהליכים - דייאט : חוטים  מוטיבציה  חוטי משתמש וחוטי מערכת  תמיכת מערכת ההפעלה  דוגמאות.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 תהליכים - דייאט : חוטים  מוטיבציה  חוטי משתמש וחוטי מערכת  תמיכת מערכת ההפעלה  דוגמאות ושימושים.
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
Intro To Secure Comm. Exercise 6. Problem A vendor wishes to incorporate the following:  Upon any login/change the vendor updates the cookie Cookie(SessionTime||{Item||Price})
Tutorial 8 Socket Programming
CCN CCN Central Control Network Final presentation Winter & Spring 2002/03 Student : Kormas Tal Guide : Gerber Alex.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 וירטואליזציה.
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה מרץ אלן אזאגורי (מרצה אחראי) ארז חדד.
טיפול בקיפאון בעיית הקיפאון הימנעות מקיפאון
אלגוריתמים מבוזרים אלגוריתם המבוצע על ידי קבוצת מעבדים אוטונומיים המחוברים ביניהם (ברשת). המעבדים מתקשרים ע"י העברת הודעות (ז.מ.) ברשתות מחשבים:  שכבה.
מערכות הפעלה ( אביב 2009) חגית עטיה ©1 מערכת קבצים log-structured  ה log הוא העותק היחיד של הנתונים  כאשר משנים בלוק (data, header) פשוט כותבים את הבלוק.
תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
תהליכים - דייאט : חוטים  מוטיבציה  חוטי משתמש וחוטי מערכת  תמיכת מערכת ההפעלה  דוגמאות.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 טיפול בקיפאון  בעיית הקיפאון  הימנעות מקיפאון  זיהוי קיפאון באמצעות מציאת מעגלים  אלגוריתם להתחמקות מקיפאון.
הגנה במערכות מתוכנתות תרגול 12 – אבטחה ברמת ה-IP – IPsec הערה: שקפים אלה אינם מהווים תחליף לחומר התרגולים המפורסם באתר הקורס, ומשמשים כעזר הוראה בלבד.
מרץ 2002אלן אזאגורי ©1 חוטים Threads. מרץ 2002 אלן אזאגורי ©2עמוד נושאים הגדרות –חוטים –חוטים לעומת תהליכים תמיכת מערכת ההפעלה בחוטים דוגמאות –Mach –Windows.
פרוטוקולי תקשורת חזרה כללית. מודל 7 השכבות Layer 1 – physical layer זוהי השכבה הפיסית, ומגדירה את האיפיונים הפיסיים והחשמליים של הרשת. בשכבה זאת רצים.
עקרון ההכלה וההדחה.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 סיכום הקורס.
מבוא למדעי המחשב תרגול 3 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
A. Frank File Organization Hardware Size Parameters.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #3 Internet Control Message Protocol (ICMP)
רשת האינטרנט ויישומיה האינטרנט היא הרשת הגדולה ביותר בעולם המקשרת בין מחשבים ואנשים המפעילים אותם במדינות רבות בעולם. ב העריכו שהאינטרנט מקשרת קרוב.
Safari On-line books. מה זה ספארי ספארי זו ספריה וירטואלית בנושא מחשבים היא כוללת יותר מ כותרים כל הספרים הם בטקסט מלא ניתן לחפש ספר בנושא מסוים.
Text to speech In Mobile Phones איתי לוי. הקדמה שימוש בהודעות טקסט על המכשירים הסלולארים היא דרך תקשורת מאוד פופולארית בימינו אשר משתמשים בה למטרות רבות,
מערכות הפעלה ( אביב 2008) חגית עטיה © 1 מערכת הקבצים  מבוא : מטרות מערכת קבצים  מנשק המשתמש : פעולות על קבצים, ארגון קבצים, הגנה  תכונות של דיסקים.
I NTRODUCTION OF S OCKET P ROGRAMMING L.Aseel AlTurki King Saud University.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
תכנות אסינכרוני, תקשורת ופיתוח אפליקציות ל- Windows 8.1 ואפליקציות ל- Windows Phone 8 Control (Part II)
שיאון שחוריMilOSS-il מוטיבציה  python זה קל ו C זה מהיר. למה לא לשלב?  יש כבר קוד קיים ב C. אנחנו רוצים להשתמש בו, ולבסס מעליו קוד חדש ב python.
2003B Q5 Suppliers(sid, sname, city) Select sid from suppliers where city=‘jerusalem’ or sname like ‘%Smith’ Select sid from suppliers where city=‘jerusalem’
1 Spring Semester 2008, Dept. of Computer Science, Technion Internet Networking recitation #7 Socket Programming.
מבוא לתקשורת נתונים מודל 7 השכבות Protocol‏ (TCP/IP)
תקשורת מחשבים "מודל OSI" Open System Interconnection reference model
MPLS Core Router מנחה: ד"ר ניסים צורי סטודנטיות: מיטל שבתאי אסנת קוטלר
תקשורת ומחשוב תרגול 1 IP, Classes and Masks.
מהלך שיעור מבנה ותפקיד מודל ה – OSI פרוטוקול TCP/IP ומודל DoD
תרגול 10 – חומות אש – Firewalls
פרוקטוז, C6H12O6 , חד-סוכר מיוחד
תקשורת ומחשוב תרגול סוקטים.
תהליכים-דייאט: חוטים מוטיבציה חוטי משתמש וחוטי מערכת
עבודה מול שרת המצגות – Win XP
רשתות תקשורת מחשבים 1 תרגול 1- מבוא
Shell Scripts בסביבת UNIX
מודל OSI (מודל 7 השכבות).
פרק 3 - תהליכים.
Presentation transcript:

מערכות הפעלה ( אביב 2009) חגית עטיה © 1 אפליקציות שרת - לקוח  פרדיגמת שרת לקוח  מושג ה socket  מבנה שרת - לקוח  קצת יותר על רשתות

מערכות הפעלה ( אביב 2009) חגית עטיה ©2 רשת תקשורת Internet שרת

מערכות הפעלה ( אביב 2009) חגית עטיה ©3 לקוחות ושרתים  לקוח רץ על מחשב קצה מבקש שרות Web browser  שרת רץ על מחשב קצה מספק שרות Web server GET /index.html “Site under construction”

מערכות הפעלה ( אביב 2009) חגית עטיה ©4 Client-Server Communication  הלקוח " מזדמן " יוזם בקשה כשמעוניין לא מתקשר עם לקוחות אחרים צריך לדעת את כתובת השרת  השרת תמיד עובד מקבל בקשות מהרבה לקוחות לא יוזם את הקשר עם הלקוחות צריך כתובת קבועה וידועה

מערכות הפעלה ( אביב 2009) חגית עטיה ©5 מהו socket?  ממשק תכנות (API) ליצירת תוכנות רשת  שליחת הודעה מתהליך אחד לתהליך במחשב אחר צריכה לעבור את הרשת  ההודעה נשלחת ומתקבלת דרך socket מעין " דלת " המובילה מתוך ואל הבית socket User process Operating System Operating System

מערכות הפעלה ( אביב 2009) חגית עטיה ©6 זיהוי התהליך המקבל  התהליך השולח צריך לזהות את התהליך המקבל שם או כתובת של מחשב הקצה מזהה של התהליך המקבל  זיהוי מחשב הקצה באופן ייחודי על - ידי כתובת IP (Internet Protocol) בת 32 ביטים  זיהוי התהליך המקבל מחשב הקצה מריץ הרבה תהליכים זיהוי התהליך על - ידי port number בן 16 ביטים  מושג של רשת התקשורת ולא של מערכת ההפעלה

מערכות הפעלה ( אביב 2009) חגית עטיה ©7 זיהוי תהליך על - ידי פורט Web server (port 80) Client host Server host Echo server (port 7) Service request for :80 (i.e., the Web server) OS Client Service request for :7 (i.e., the echo server) Client

מערכות הפעלה ( אביב 2009) חגית עטיה ©8 באיזה פורט להשתמש ?  לאפליקציות פופולאריות יש מספר פורט ידוע למשל 80 לשרת web, 25 לשרת mail רשימה ב  פורטים ידועים ופורטים זמניים לשרת יש מספר פורט ידוע ( למשל 80)  בין 0 ל הקליינט מתקשר דרך מספר פורט זמני  בין 1024 ל 65535

מערכות הפעלה ( אביב 2009) חגית עטיה ©9 ממשק ה -socket במערכות Unix  הוצג לראשונה ב Berkeley Unix נתמך בכל מערכות ההפעלה הפופולאריות מאפשר העברה חלקה של אפליקציות  דומה לממשק לקובץ קבלת מידע היא כמו קריאה מקובץ שליחת מידע היא כמו כתיבה לקובץ הקובץ וה - socket מיוצגים על - ידי integer descriptor  קריאות מערכת ההפעלה : Client: create, connect, write, read, close Server: create, bind, listen, accept, read, write, close

מערכות הפעלה ( אביב 2009) חגית עטיה ©10 חלוקת העבודה  זיהוי יחיד של התקשורת בין שני מחשבי קצה שתי כתובות IP ושני מספרי פורט סוג פרוטוקול התקשורת (TCP או UDP) הרשת : מעבירה את ההודעה למחשב היעד על סמך כתובת ה -IP מערכת ההפעלה : מעבירה את המידע ל -socket על סמך הפרוטוקול ומספר הפורט האפליקציה : קוראת מידע מה -socket ומטפלת בו

מערכות הפעלה ( אביב 2009) חגית עטיה ©11 מבנה טיפוסי של קליינט  הכנה להתקשרות : יצירת socket socket(…) מציאת כתובת השרת ומספר הפורט ( בד " כ קבוע ) אתחול התקשורת לשרת connect(sockfd, serv_addr, …)  החלפת מידע עם השרת כתוב מידע ל socket קרא מידע מה socket טפל במידע ( למשל, הצג דף hml)  סגור את ה socket close(sockfd)

מערכות הפעלה ( אביב 2009) חגית עטיה ©12 שרתים אינם קליינטים  פאסיביים : מוכנים לתקשורת אבל לא מתחילים עד ששומעים מהלקוח  שומעים מכמה לקוחות צריך לאפשר תור של לקוחות מחכים, אם מספר לקוחות מתחילים התקשרות בו - זמנית  יצירת socket לכל לקוח כאשר מקבלים בקשה מלקוח חדש, יוצרים עבורו socket חדש ( ובלעדי )

מערכות הפעלה ( אביב 2009) חגית עטיה ©13 מבנה טיפוסי של שרת  הכנה להתקשרות : יצירת socket socket(…) קשר כתובת עצמית ומספר פורט עם ה - socket bind(sockfd, my_addr, …)

מערכות הפעלה ( אביב 2009) חגית עטיה ©14 מבנה טיפוסי של שרת : הקשבה  המתן לשמוע מלקוח (passive open) ציין כמה לקוחות ממתינים מותרים listen(sockfd, num)  קבל בקשת התקשרות מלקוח ויצור socket יעודי accept(sockfd, addr, addrlen)  החלפת מידע עם הלקוח על ה - socket החדש קרא מידע מה socket טפל בבקשה ( למשל, הבא קובץ hml) כתוב מידע ל socket סגור את ה - socket  חזור להמתנה

מערכות הפעלה ( אביב 2009) חגית עטיה ©15 טיפול בבקשות  טיפול סדרתי בבקשות אינו יעיל כל שאר הקליינטים צריכים להמתין  כדאי שהשרת יטפל בכמה בקשות קליינטים בו - זמנית (time-sharing) קצת עבודה על בקשה אחת, ועבור לבקשה אחרת  פירוק למשימות קטנות, כמו מציאת קובץ... או יצירת תהליך חדש לטיפול בכל בקשה או שימוש במאגר חוטים ( כמו שראינו בהתחלת הקורס )

מערכות הפעלה ( אביב 2009) חגית עטיה ©16 מימוש של שרת - לקוח : control flow Client side sd=socket() connect(sd, dst) write(sd, …) read(sd, …) close(sd) Server side sd=socket() bind(sd, port) listen(sd,…) new_sd=accept(sd) read(new_sd, …) write(new_sd, …) close(new_sd) מחבר את ה sd שלו לפורט מסוים מגדיר את אורך התור מקבל בקשה אחת קריאה חוסמת שלח בקשה שלח תשובה יצירת קשר רצוי לתת לחוט נפרד לטפל בבקשה

מערכות הפעלה ( אביב 2009) חגית עטיה ©17 מתחת ל socket: מודל השכבות  פרוטוקולי תקשורת מאפשרים העברת נתונים ברשת, ופועלים בשכבות שונות, כשלכל שכבה תפקיד משלה.  אוסף פרוטוקולי התקשורת הנפוץ ביותר נקרא TCP/IP מכיל 4 שכבות אפליקציות המשתמשות ברשת Application (telnet, ftp …) תקשורת בין תהליכים ( ולא מחשבים )Transport (TCP, UDP) ניתוב חבילות בין תחנות ( לא שכנות )Internet (IP) העברת חבילה בין תחנות שכנות Data Link

מערכות הפעלה ( אביב 2009) חגית עטיה ©18 תקשורת בשכבות Data Link Internet Transport Application Data Link Internet Application Transport SourceDestination כל שכבה מקבלת שירותים מהשכבה שמתחתיה מספקת שירותים לשכבה שמעליה ו " מדברת " עם השכבה המקבילה במחשב השני

מערכות הפעלה ( אביב 2009) חגית עטיה ©19 קצת יותר מדויק כל שכבה מקבלת שירותים מהשכבה שמתחתיה מספקת שירותים לשכבה שמעליה ו " מדברת " עם השכבה המקבילה במחשב השני, או במחשבי ביניים Data Link Internet Application Transport Destination Data Link Internet Data Link Internet Data Link Internet Transport Application Source

מערכות הפעלה ( אביב 2009) חגית עטיה ©20 שכבת הקו :Data Link  מעבירה חבילה מהתחנה לתחנה שכנה באותה רשת  מטפלת בכל הפרטים הקשורים בחומרה ובממשק עם הרשת הפיסית.  הפרוטוקול שונה מרשת לרשת ותלוי בחומרה של הרשת הפיסית.  נקרא גם MAC (Medium Access control)

מערכות הפעלה ( אביב 2009) חגית עטיה ©21 שכבת Internet : פרוטוקול IP  אחראית על ניתוב חבילות מתחנת המקור לתחנת היעד.  הפרוטוקול בשכבה זו נקרא - Internet Protocol IP.  מנתב חבילות בין רשתות שונות, באמצעות gateways. תחנות מיוחדות שמחוברות לכמה רשתות מעבירות חבילות בין הרשתות  הפרוטוקול לא מבטיח שחבילה תגיע אל יעדה, אלא רק מחליט איך לנתב כל חבילה.  כל חבילה מנותבת בנפרד, ללא קשר לחבילות אחרות ( הפרוטוקול הוא connectionless)

מערכות הפעלה ( אביב 2009) חגית עטיה ©22 כתובות IP  מספר יחודי המזהה כל ממשק תקשורת שמחובר לרשת. למחשב אחד יכולים להיות מספר כתובות IP, לדוגמה, אם יש לו כמה כרטיסי רשת  גודל של כתובת IP הוא 32 סיביות.  מקובל לייצג כתובת IP ע “ י 4 מספרים עשרוניים לדוגמה :  הניתוב מתבסס על כתובת IP של החבילה ועל טבלאות ניתוב מיוחדות (routing tables), הקיימות בכל router router הינו מחשב שדרכו עוברות חבילות שלא מיועדות למחשב עצמו. ל – router יהיו בד " כ מספר ממשקי תקשורת. ניתן לגלות כמה ממשקי תקשורת יש למחשב ומה כתובות ה -IP שלהם באמצעות הפקודה ifconfig בתוך shell של Linux

מערכות הפעלה ( אביב 2009) חגית עטיה ©23 שכבת Transport: UDP / TCP  מאפשרת תקשורת בין תהליכים ( שכבת IP מאפשרת תקשורת בין מחשבים )  TCP (Transport Connection Protocol) יוצר session בין שני תהליכים, ומבטיח : סדר : החבילות יגיעו ליעדן בסדר שבו נשלחו אמינות : כל החבילות יגיעו ליעדן ( חבילה שהולכת לאיבוד משודרת מחדש )  UDP (User Datagram Protocol): מעביר הודעה בודדת בין שני תהליכים, מבלי להבטיח סדר או אמינות

מערכות הפעלה ( אביב 2009) חגית עטיה ©24 שכבת האפליקציה  מכילה פרוטוקולים של אפליקציות כגון : telnet, ftp, http ואחרות.  אפליקציות אלה משתמשות בפרוטוקולי transport לתקשורת עם מחשבים מרוחקים.