מודל ה-OSI מוסבר בפשטות - שבע השכבות שכל אחד שואל עליהן¶
בפעם הראשונה ששמעתי על מודל ה-OSI חשבתי שזה עוד רשימה משעממת בשביל מבחן שאשכח יומיים אחריו. טעיתי. ה-OSI הוא בעצם המפה הכי שימושית שיש לכם כשמשהו ברשת נשבר, ואחרי שתבינו אותה באמת, כל בעיית רשת תתחיל להרגיש הרבה פחות מסתורית.
בואו נעשה את זה בלי שינון, עם דוגמה שתישאר לכם בראש.
למה בכלל צריך מודל¶
תארו לעצמכם שאתם שולחים מכתב לחבר בחו"ל. אתם לא שולחים דף עם משפט וזהו. אתם כותבים את המכתב, שמים אותו במעטפה, כותבים כתובת, המעטפה עוברת דרך דואר מקומי, מגיעה למיון ארצי, עולה על טיסה, יורדת בארץ היעד, ועוברת עוד כמה תחנות עד שהיא מגיעה ליד הנמען. כל תחנה בדרך עושה עבודה שונה, ולא אכפת לה מה כתוב במכתב עצמו - היא רק דואגת שהחבילה תעבור הלאה נכון.
בדיוק ככה עובד תקשורת ברשת. כשאתם שולחים הודעה במחשב, היא לא "עפה" ישר ליעד. היא עוברת שבעה שלבים, כל שלב עושה עבודה מוגדרת, עוטף את המידע קצת יותר, ומעביר הלאה. מודל ה-OSI הוא פשוט התיאור המסודר של השלבים האלה.
שבע השכבות, מלמעלה למטה¶
מודל ה-OSI, ראשי תיבות של Open Systems Interconnection, מחלק את כל התקשורת לשבע שכבות. הנה הן, בלי בלבול:
- שכבת האפליקציה - Application. זו השכבה שאתם רואים בפועל. הדפדפן, אפליקציית הווטסאפ, תוכנת המייל. כאן "נולד" המידע שאתם רוצים לשלוח.
- שכבת ההצגה - Presentation. אחראית על הפורמט - הצפנה, דחיסה, המרת קידודים. היא דואגת שהצד השני יוכל לקרוא את המידע כמו שצריך.
- שכבת השיחה - Session. פותחת, מנהלת וסוגרת "שיחה" בין שני הצדדים, כמו לוודא ששני הצדדים עדיין מדברים באותה שיחה ולא מתבלבלים בין כמה שיחות במקביל.
- שכבת התעבורה - Transport. כאן קורה הקסם של אמינות. השכבה הזאת מחליטה אם המידע צריך להגיע בוודאות ובסדר הנכון (TCP) או שמהירות חשובה יותר מאמינות (UDP).
- שכבת הרשת - Network. אחראית על הניתוב - איך לוקחים חבילת מידע מנקודה א' לנקודה ב', דרך כל הראוטרים שבדרך. כאן חיה כתובת ה-IP.
- שכבת קישור הנתונים - Data Link. דואגת להעברת המידע בין שני מכשירים שמחוברים ישירות זה לזה באותו קטע רשת, וכאן חיה כתובת ה-MAC.
- השכבה הפיזית - Physical. הכבלים, האותות החשמליים, גלי הרדיו של WiFi. פשוט הביטים שרצים בפועל.
למה זה בכלל חשוב לכם¶
יש לזה שתי תשובות, אחת אקדמית ואחת מעשית, ומעניינת אותי בעיקר השנייה.
מבחינה מעשית, ברגע שמשהו ברשת לא עובד, המודל הזה הוא כלי האבחון הכי טוב שיש. "אין לי אינטרנט" זו לא בעיה - זו תוצאה. השאלה האמיתית היא באיזו שכבה זה נשבר. הכבל מחובר (שכבה 1)? המחשב מקבל כתובת IP (שכבה 3)? ה-DNS עובד (שכבה 7, בערך)? כשאתם חושבים בשכבות, אתם מפסיקים לנחש באקראי ומתחילים לבדוק בצורה שיטתית.
מבחינה מקצועית, כל תחום ברשתות, מאבטחת מידע ועד פיתוח, נשען על השפה הזאת. כשמישהו אומר "זו התקפה בשכבה 7" או "יש לנו בעיית ניתוב בשכבה 3", אתם צריכים להבין בדיוק על מה מדובר כדי לתקשר עם אנשי מקצוע אחרים.
שכבה שאתם באמת נתקלים בה כל יום¶
רוב הזמן, כשאתם עובדים עם רשת, אתם נוגעים בעיקר בשכבות 3, 4 ו-7. שכבה 3 זה כתובות ה-IP שמנתבות אתכם ברשת. שכבה 4 זה TCP ו-UDP שקובעים איך המידע שלכם עובר. ושכבה 7 זה הפרוטוקולים שאתם משתמשים בהם בפועל, כמו HTTP כשאתם גולשים או SSH כשאתם מתחברים לשרת מרוחק. השכבות שביניהן קורות "מאחורי הקלעים" ורוב האנשים אף פעם לא צריכים לגעת בהן ישירות, אבל להבין שהן קיימות עוזר לכם להבין את התמונה המלאה.
איך באמת לומדים את זה, ולא רק לשנן¶
הבעיה עם רוב ההסברים על OSI היא שהם נשארים ברמת ההגדרות. אתם יכולים לדעת בעל פה מה השם של כל שכבה ועדיין לא להבין למה יש לכם בעיית רשת. הדרך האמיתית ללמוד את זה היא לראות תעבורה אמיתית עוברת דרך השכבות, לפתוח כלי כמו Wireshark ולראות בעיניים איך חבילה בונה את עצמה שכבה אחרי שכבה.
בדיוק ככה אנחנו מלמדים את זה בקורס הרשתות שלנו - לא שינון, אלא הבנה מעשית עם תרגול אמיתי על כל שכבה ושכבה, מהכבל הפיזי ועד לפרוטוקולי האפליקציה.
קורס הרשתות המלא נמצא כאן, חינם ובעברית, ובנוי כדי לקחת אתכם מאפס עד להבנה מלאה של איך אינטרנט בכלל עובד.
ואם אתם נתקעים באמצע, אל תישארו לבד עם זה.
לסיכום¶
מודל ה-OSI הוא לא רשימה לשינון, הוא מפת חשיבה. ברגע שתפנימו את שבע השכבות, לא רק שתבינו למה הדפדפן שלכם לא עובד, אלא תתחילו לחשוב על רשתות כמו אנשי מקצוע - בשכבות, בצורה מסודרת, ובלי בלבול.