1.7 פתרון
פתרון מפורט לפרויקט: חיבור ארבעת שכבות התקשורת¶
התקשורת בין מחשבים מתבצעת בעזרת מודל OSI, שבו המידע עובר דרך מספר שכבות, כאשר כל שכבה אחראית על חלק אחר בתהליך. בפרויקט זה נתמקד בחיבור ארבעת השכבות הבסיסיות של מודל OSI – השכבה הפיזית, שכבת הקו, שכבת הרשת, ושכבת התעבורה – ונסביר כיצד כל אחת מהן משתלבת בתהליך התקשורת בין מחשבים.
1. השכבה הפיזית (Physical Layer)¶
השכבה הפיזית היא השכבה הראשונה במודל OSI. מטרת השכבה הפיזית היא לאפשר את העברת המידע פיזית בין מחשבים. היא אחראית להמיר את הנתונים הדיגיטליים לאותות פיזיים, ולהעביר את האותות הללו דרך אמצעי התקשורת, כגון כבלים (לדוגמה: Ethernet, Fiber Optic) או חיבור אלחוטי (כגון Wi-Fi).
תפקיד השכבה הפיזית:
- המרת מידע לאותות פיזיים: השכבה הפיזית לוקחת את המידע הדיגיטלי שמתקבל משכבת הקו וממירה אותו לאותות חשמליים, אוריים או אלקטרומגנטיים (תלוי בסוג אמצעי התקשורת).
- העברת אותות פיזיים: השכבה הפיזית אחראית על העברת האותות המומרות דרך המדיום, אם זה כבל פיזי או גל אלקטרומגנטי.
- זיהוי וטעויות: כאשר יש בעיות בזיהוי האותות או בהעברה, השכבה הפיזית יכולה לדווח על שגיאות, אך אין לה כל מנגנון לתקן אותן.
דוגמה:
- בהעברת מידע בין מחשב לשרת באמצעות Ethernet, השכבה הפיזית אחראית להמיר את נתוני ה-IP וה-Data Link לאותות חשמליים שמועברים דרך כבל הרשת.
2. שכבת הקו (Data Link Layer)¶
שכבת הקו אחראית על קישור בין שני מחשבים או יותר דרך אמצעי התקשורת הפיזי. היא בודקת את הקישור הפיזי ומוודאת שהנתונים יגיעו בצורה נכונה מהמחשב השולח אל המחשב המקבל.
תפקיד השכבה:
- בקרת שגיאות: שכבת הקו מבצעת בקרת שגיאות על המידע שנשלח בשכבה הפיזית. היא משתמשת בטכניקות כמו CRC (Cyclic Redundancy Check) כדי לוודא שהמידע לא השתנה במהלך ההעברה.
- מניעת התנגשויות: בפרוטוקול Ethernet, לדוגמה, השכבה הפיזית עלולה לאפשר התנגשויות בין המידע שנשלח, ושכבת הקו אחראית לניהול התנגשויות ולוודא שהנתונים מגיעים בצורה תקינה.
- זיהוי כתובת: השכבה משתמשת בכתובת MAC (Media Access Control) כדי לזהות את המחשב השולח והמקבל.
3. שכבת הרשת (Network Layer)¶
שכבת הרשת אחראית על ניתוב המידע בין מחשבים על גבי הרשת. היא מציעה את המנגנונים שמאפשרים לזהות את המחשב שאליו המידע מיועד (דרך כתובת IP) ולנווט את המידע על גבי הרשת כך שיגיע ליעד הנכון.
תפקיד השכבה:
- תכנון הנתיב: השכבה אחראית על החלטה היכן יועברו הנתונים על הרשת. היא משתמשת בטבלאות ניתוב ומבצעת את החישוב של הנתיב הטוב ביותר להעביר את המידע.
- כתובת IP: כל מחשב מקבל כתובת IP שהיא ייחודית לו, ומשתמש בה על מנת לשלוח ולקבל נתונים ברחבי הרשת.
- פיסת נתונים: כאשר המידע עובר בין מחשבים שונים על הרשת, השכבה פוסקת את הנתונים לפיסות שנקראות פאקטות (Packets), ומוודאת שהן יגיעו בשלום ליעדן.
4. שכבת התעבורה (Transport Layer)¶
שכבת התעבורה אחראית על יצירת תקשורת יציבה, אמינה ויעילה בין מחשבים. השכבה מבטיחה שהנתונים יגיעו בצורה נכונה ויממשו את הדרישות של היישום.
תפקיד השכבה:
- הבטחת שלמות המידע: אם המידע לא הגיע בשלמותו או בשגיאה, השכבה אחראית על בקשה לשליחה מחדש של הנתונים.
- פיצול מחדש: אם המידע גדול מדי, השכבה מחלקת אותו לחלקים קטנים שמועברים בנפרד ומורכבים מחדש בתהליך הקבלה.
- תיאום שידור: שכבת התעבורה מאפשרת לנהל את זמן השידור כדי למנוע מצבים של עומס יתר על הרשת.
פרוטוקולים בשכבת התעבורה:
- פרוטוקול TCP (Transmission Control Protocol): פרוטוקול חיבורי שמבטיח שמידע יגיע בצורה נכונה ומסודרת. הוא מבצע בדיקות שגיאה ושליחה מחדש במקרה של שגיאה.
- פרוטוקול UDP (User Datagram Protocol): פרוטוקול שאינו מבצע חיבור לפני השידור, ולכן מהיר יותר, אך אין לו מנגנונים להבטחת אמינות.
5. חיבור השכבות¶
כעת, נבצע את החיבור בין כל השכבות. כל שכבה בתהליך אחראית על חלק מסוים בהעברת המידע, אך כולן משתלבות יחד כדי להבטיח שהמידע יגיע בשלמותו ובמהירות ליעדו.
- השכבה הפיזית יוצרת את הקשר הפיזי בין המחשבים, ומבצעת את ההעברה של האותות הפיזיים.
- שכבת הקו בודקת שהמידע מועבר בצורה תקינה דרך הקו הפיזי ומוודאת שהנתונים לא סבלו משגיאות.
- שכבת הרשת אחראית על ניתוב המידע כך שיגיע ליעדו הנכון, תוך שימוש בכתובת IP ובחירת הנתיב הנכון.
- שכבת התעבורה אחראית על יציבות ההעברה, תיקון שגיאות אם ישנן, והבטחת שהנתונים יגיעו בצורה שלמה ומסודרת.
6. דוגמה מעשית¶
דמיינו מצב שבו משתמש שולח בקשה לאתר אינטרנט שנמצא על פורט מסויים מאחורי IP מסויים. הבקשה עובר דרך השכבות באופן הבא:
- שכבת התעבורה (TCP): מפרקת את הבקשה למנות.
- שכבת הרשת (IP): קובעת את הנתיב בעזרת כתובת ה-IP.
- שכבת הקו: מבטיחה שהנתונים יעברו בצורה תקינה בכל אחת מהתחנות בדרך.
- השכבה הפיזית: שולחת את הנתונים לאותות חשמליים או אלקטרומגנטיים אל השרת.
סיכום: במהלך תהליך העברת המידע, כל שכבה אחראית לתפקיד מסוים ומבצעת את המשימה שלה, מה שמבטיח שהנתונים יגיעו בצורה תקינה ובזמן.