לדלג לתוכן

פרוטוקול אתרנט מוסבר - השכבה ששולחת מידע בין שני מכשירים שיושבים ממש אחד ליד השני

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

אתרנט חי בשכבה 2, לא בשכבה 3

במודל ה-OSI, אתרנט שייך לשכבת קישור הנתונים (Data Link), שכבה 2, בעוד IP שייך לשכבת הרשת, שכבה 3. ההבדל הזה קריטי - IP אחראי על ניתוב מידע דרך רשתות שונות, ממקור רחוק ליעד רחוק. אתרנט אחראי רק על הקפיצה הבודדת הבאה - להעביר מידע בין שני מכשירים שמחוברים ישירות לאותו קטע רשת פיזי או לוגי, בין אם זה כבל, ובין אם זה WiFi.

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

כתובת MAC - הזהות שאתרנט משתמש בה

בעוד IP מזהה מכשיר ברשת לוגית, אתרנט משתמש בזיהוי אחר לגמרי - כתובת MAC, מספר בן שישה בתים שכתוב בדרך כלל בפורמט הקסדצימלי כמו 3C:5A:B4:2E:11:9F. כתובת MAC נצרבת בכרטיס הרשת עצמו במפעל, וברוב המקרים היא ייחודית לכל כרטיס רשת שקיים בעולם.

ההבדל המעשי - כתובת IP יכולה להשתנות, למשל כשמתחברים לרשת אחרת. כתובת MAC נשארת צמודה לחומרה הפיזית, בלי קשר לאיזו רשת המכשיר מחובר אליה כרגע.

איך נראית חבילת מידע ברמת אתרנט - Frame

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

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

איך מתג רשת יודע לאן לשלוח כל פריים

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

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

התנגשויות ומה עשה להן CSMA/CD בעבר

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

למה חשוב להכיר את השכבה הזאת

הבנה של אתרנט מסבירה תופעות שנראות מסתוריות בלי ההקשר - למה כלי כמו ARP צריך בכלל לתרגם כתובת IP לכתובת MAC לפני שאפשר לשלוח משהו, למה שינוי כרטיס רשת יכול לפעמים לבלבל מכשירים אחרים ברשת המקומית, ואיך VLAN, שכבר הכרתם, בעצם מתייג פריימים ברמת אתרנט כדי להפריד רשתות לוגיות.

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

יש לכם שאלה על כתובות MAC או איך מתג לומד את הרשת? שאלו בדיסקורד.

הצטרפו לקהילה בדיסקורד

לסיכום

אתרנט הוא השכבה הצנועה שאף אחד לא חושב עליה, אבל שאחראית על כל קפיצה בודדת שמידע עושה ברשת המקומית. כתובות MAC מזהות חומרה, פריימים עוטפים חבילות IP לכל קפיצה, ומתגים לומדים לבד לאן לשלוח כל דבר. בלי השכבה הזאת, שום כתובת IP לא הייתה מגיעה לשום מקום.