שיעור 25 לאוקטובר ו-1 לנובמבר

Post date: Nov 11, 2012 9:40:48 AM

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

הבסיס של כל תהליך תקשורתי מבוסס על עיקרון של שלושה רכיבים פעילים בתהליך התקשורת: השולח של המסר(sender), המקבל של מסר (receiver) והערוץ (channel) שדרכו המסר מועבר בדרך מהשולח למקבל.

בתקשורת הנתונים לשולח קוראים מקור (Source), למקבל קוראים יעד (Destination) ולערוץ - ערוץ (Channel).

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

לחוקים אלה בעולם של תקשורת הנתונים קוראים פרוטוקולים (Protocols).

פרוטוקולים - אוסף של כללים (חוקים), אשר מגדירים ומסדירים את צורת העבודה (העברת נתונים) בין המשתמשים ברשת.

הפרוטוקולים עוסקים בהגדרת כללים של גודל ומבנה ההודעה, קידוד, כמיסה (אנקפסולציה) של ההודעה, תזמון ודרך שליחה של ההודעה.

פרוטוקולים: מבנה של ההודעה (Message Formatting)

כאשר הודעה נשלחת מנמען למען היא חייבת להיות בעלת מבנה מסויים. מבנה של כל הודעה חייב לכלול בנוסף למסר גם את הכתובת של המען והנמען והודעה על תחילת המסר ועל סיומו.

תהליך של הוספת פרטים מזהים של השולח והמקבל ופרטים מזהים נוספים נקרא אנקפסולציה (כמיסה) Encapsulation. במהלך תהליך של אנקפסולציה, מתווספים אל התוכן של המסר שדות מזהים והופכים את ההודעה לחבילת מידע FRAME. מה שיעבור בין שני המחשבים ברשת זה חבילת מידע (או מספר חבילות מידע) וכאשר הן יגיעו למען, יורדו מהחבילה הפרטים המזהים של השולח והמקבל ופרטים מזהים נוספים לרמה של מסר בלבד. לתהליך של הורדה (הוסרה) של הפרטים המזהים קוראים דה-אנקפסולציה De-Encapsulation.

פרוטוקולים: גודל של ההודעה Message Size

פרוטוקולים אלה מגדירים את הגודל המירבי של ההודעה שניתן להעבירה במנת נתונים (frame) אחת. בנוסף פרוטוקולים אלה קובעים את הגודל של השדות המזהים. במידה וההודעה המועברת גדולה מדיי היא תחולקנה למספר הודעות (כאשר לכל אחת יוצמד מספר סידורי) ותועבר במספר מנות נתונים (פריימים) בין המחשבים. במידה והגודל של ההודעה יחרוג מהגודל המותר הדבר יגרום לאובדן של ההודעה או לחלופין לקריסת הרשת.

פרטוקולים: תזמון הודעה Message Timing

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

Access Method (מנגנון בקרת גישה) - מנגנון זה קובע מתי יהיו זמני הגישה של המשתמשים השונים ברשת או במילים אחרות מתי משתמש יכול לשלוח הודעה למחשב אחר. במידה ושני מחשבים ישדרו בו זמנית תתרחש התנגשות (Collision) בין ההודעות והן לא יגיעו ליעדן. (מנגנון CSMA/CD (השייך לפרוטוקולים של בקרת הגישה) יודע לזהות את ההתנגשויות האלה ברשת ולהורות למחשבים על שליחה חוזרת של מנות נתונים בזמנים מופרדים).

Flow Control (מנגנון שליטת זרימה) - מנגנון זה קובע את כמות הנתונים שיכולים לעבור בפעם אחת ומהירות העברתן. במידה והמקבל של ההודעה והשולח לא יהיו מתוזמנים אחד עם השני הדבר יגרום לבעיות בתהליך העברת הנתונים ואף בכישלונם. מנגנון זה מוודא (ובמידת הצורך משנה) שגם הנמען וגם המען "מדברים" באותה מהירות ושכמות הנתונים שמועברת בכל מנת נתונים "מתאימה" לשני המשתמשים.

Response Timeout (מנגנון זמן תגובה מירבי) - מנגנון זה קובע זמן המתנה מירבי לתגובה של המארח ומהם הפעולות שתתבצענה במידה והזמן אזל (שליחה חוזרת של ההודעה או הפסקת פעולה תקשורת).

פרוטוקולים: תבנית (דפוס) ההודעה Message Pattern

אנשים לעתים רוצים לדבר עם חבר "אחד על אחד", אך לעתים עם מספר חברים בו זמנית או אל הקהל הרחב. בהתאם לאופי (דפוס) של השיחה כך גם הפניה ודרך העברה של ההודעה משתנים: לפעמים אנו נפנה בצורה של את/ה, לעתים אתם/ן לפעמים נפנה לקהל הרחב: כולכן/ם.

מחשבים אשר פונים למחשבים אחרים אינם משתמשים במילות פניה, אלה בתבניות שונות של ההודעה:

Unicast - תבנית הודעה אשר בשדה היעד מצויינת כתובת אחת בלבד (שיחה אחד על אחד)

Multicast - תבנית הודעה אשר שדה כתובות היעד כולל מספר כתובות להודעה (שיחה עם החברה)

Broadcast - תבנית הודעה אשר כתובת היעד מוגדרת כרשת כולה (שיחה מהבמה לכל הקהל)