עודכן לפני חודש
כבר ראיתם את זה: המחשב הנייד שלכם מציג פתאום את 169.254.x.x ככתובת ה-IP שלו, ושום דבר לא עובד. כתובת זו אומרת שהמכשיר שלכם לא הצליח להגיע לשרת DHCP, אז הוא הקצה לעצמו כתובת חירום — כתובת link-local.
כתובות link-local מבטיחות שמכשירים תמיד יוכלו לתקשר בקטע הרשת המקומי שלהם, גם כשכל השאר נכשל.
הכתובת שאף פעם לא עוזבת את הבית
כתובת link-local תקפה רק לתקשורת בקטע רשת אחד — הרשת הפיזית או הלוגית שאליה המכשיר מחובר ישירות. כתובות אלו מאפשרות למכשירים לתקשר מבלי לדרוש נתב, שרת DHCP, או הגדרה ידנית.
המאפיין המגדיר: כתובות link-local אינן ניתנות לניתוב מעצם טבען. נתבים חייבים להשליך כל מנה עם כתובת מקור או יעד מסוג link-local. ההגבלה הזו אינה חסרון — זוהי בדיוק הנקודה.
IPv4: הגיבוי שמסמן תקלה
ב-IPv4, בלוק הכתובות 169.254.0.0/16 שמור לכתובות link-local. אתם מכירים אותו יותר בשם APIPA (Automatic Private IP Addressing) — הטווח שאליו המכשיר שלכם נסוג כשה-DHCP נכשל.
התהליך:
- המכשיר בוחר באקראי כתובת מ-169.254.1.0 עד 169.254.254.255
- שולח מנת ARP לבדוק אם מכשיר אחר משתמש בה
- אם מישהו עונה, בוחר כתובת חדשה ומנסה שוב
- לאחר שהכתובת ייחודית, מגדיר את עצמו עם אותה כתובת ומסכת רשת 255.255.0.0
APIPA מספקת רק כתובת IP ומסכת רשת — ללא שער ברירת מחדל, ללא שרתי DNS. מכשירים יכולים לתקשר אחד עם השני באותו קטע, אך לא מעבר לכך.
ראיית 169.254.x.x אומרת שמשהו השתבש: שרת ה-DHCP לא נגיש, מוגדר שגוי, או אזל לו המקום. זה שימושי לרשתות מבודדות ולבדיקות, אבל בסביבת ייצור זה מסמן כשל.
האמת שלא אומרים בקול: כתובות link-local ב-IPv4 קיימות כי DHCP לפעמים נכשל. הן מצנח חירום, לא חלק מהעיצוב המקורי.
IPv6: כשהגיבוי הפך ליסוד
IPv6 הפך את הסדר לגמרי. בלוק הכתובות fe80::/10 שמור לכתובות link-local, אבל בניגוד ל-IPv4, כתובות אלו אינן גיבוי — הן חובה.
כל ממשק עם IPv6 חייב לקבל כתובת link-local, גם כאשר מוקצות כתובות גלובליות. זה לא אופציונלי. היא נוצרת אוטומטית ברגע שמופעל IPv6 על ממשק, לפני כל הגדרה אחרת.
התפתחות הפרטיות
במקור, כתובות link-local של IPv6 נגזרו מכתובות MAC באמצעות EUI-64 — אלגנטי ודטרמיניסטי, אבל המשמעות הייתה שניתן לעקוב אחרי המכשיר שלכם בין רשתות. בקפה, בספרייה, בשדה תעופה — כל רשת ראתה את אותו מזהה חומרה המוטבע בכתובת שלכם.
מערכות מודרניות נטשו את EUI-64 לטובת חלופות שמשמרות פרטיות:
- Privacy Extensions (RFC 4941): מזהים שנוצרים באקראי ומשתנים מעת לעת
- Stable Privacy Addresses (RFC 7217): יציבים באותה רשת, שונים בכל רשת חדשה
- Opaque Identifiers (RFC 8064): לא חושפים דבר על החומרה הבסיסית
השינוי: מכתובות שחושפות את החומרה שלכם לכתובות שמגנות על הפרטיות שלכם.
מדוע IPv6 הפך כתובות link-local לחובה
כתובות link-local חיוניות לפרוטוקול גילוי השכנים של IPv6 (NDP), שמאחד את מה ש-IPv4 פיזר על פני מספר פרוטוקולים — ARP, גילוי נתבים ב-ICMP, הפניות ICMP — למערכת אחידה.
גילוי נתבים: כשמארח מצטרף לרשת, הוא שולח Router Solicitation לכתובת ה-multicast של link-local לנתבים. הנתבים עונים מכתובת ה-link-local שלהם עם Router Advertisements, המאפשרים למארחים להגדיר כתובות גלובליות אוטומטית.
גילוי שכנים: מכשירים מאתרים כתובות של שכנים ומאמתים נגישות באמצעות הודעות הנשלחות מכתובות link-local.
איתור כתובות כפולות: לפני השימוש בכל כתובת IPv6 — אפילו כתובות גלובליות — מכשירים מאמתים ייחודיות באמצעות כתובת ה-link-local שלהם.
שער ברירת מחדל: ברשתות IPv6, שער ברירת המחדל של מארח הוא תמיד כתובת ה-link-local של הנתב, לעולם לא כתובת גלובלית. זה מבטיח שתקשורת עם השער נשארת יציבה גם כשהתחיליות הגלובליות משתנות בעת מספור מחדש של הרשת.
כתובות link-local הן היסוד שעליו כל השאר נבנה.
הפער הפילוסופי
| היבט | IPv4 (169.254.0.0/16) | IPv6 (fe80::/10) |
|---|---|---|
| תפקיד | גיבוי כשה-DHCP נכשל | רכיב חובה |
| נוכחות | רק כש-DHCP אינו זמין | תמיד נוכח |
| משמעות | משהו שבור | תקין וצפוי |
| שימוש בפרוטוקול | תקשורת מקומית מוגבלת | חיוני ל-NDP, גילוי נתבים |
| שער ברירת מחדל | לא נתמך | תמיד בשימוש |
ההבחנה הזו קריטית לפתרון בעיות. כתובת link-local ב-IPv4 מסמנת שמשהו שבור. כתובת link-local ב-IPv6 תקינה לחלוטין.
יישומים מעשיים
רשתות ללא הגדרה ידנית: מכשירים מגלים ומתקשרים ללא הגדרה ידנית או תשתית. חיוני לרשתות אד-הוק ולאתחול ראשוני.
ניהול רשת: התחברות ישירה למכשירים לצורך הגדרה ופתרון בעיות, גם כשאין להם כתובות ניתנות לניתוב גלובלי.
גבול אבטחה טבעי: כתובות link-local לעולם לא עוזבות את הקטע. תעבורת הניהול נשארת כלואה בתחומו מעצם עיצובה.
תקשורת מקומית עמידה: מכשירים באותו קטע תמיד יכולים לתקשר דרך כתובות link-local, ללא קשר למצב ה-DHCP או לקישוריות הגלובלית.
המשפט שצריך להישאר
ב-IPv4, כתובות link-local הן הרשת שמודה בכישלון. ב-IPv6, הן היסוד שעליו כל השאר נבנה.
שאלות נפוצות על כתובות link-local
מדוע המחשב שלי מציג כתובת 169.254.x.x?
המכשיר שלכם לא הצליח להגיע לשרת DHCP כדי לקבל כתובת IP תקינה. זהו APIPA — גיבוי אוטומטי שמאפשר לכם לתקשר עם מכשירים אחרים בקטע הרשת המקומי שלכם, אך לא מעבר לכך. בדקו את כבל הרשת, חיבור ה-Wi-Fi, או האם שרת ה-DHCP פועל.
האם ניתן לנתב תעבורה באמצעות כתובות link-local?
לא. נתבים חייבים להשליך מנות עם כתובות מקור או יעד מסוג link-local מעצם עיצובם. ההגבלה הזו מכוונת — תעבורת link-local נשארת מקומית. אם אתם צריכים לתקשר מעבר לקטע שלכם, אתם זקוקים לכתובות הניתנות לניתוב.
מדוע ממשק ה-IPv6 שלי מציג גם fe80:: וגם כתובת גלובלית?
זה תקין וצפוי. כל ממשק IPv6 חייב לקבל כתובת link-local (fe80::/10) לפעולות פרוטוקול כמו גילוי שכנים ותקשורת עם נתבים. כתובות גלובליות הן להגעה לאינטרנט הרחב. שתיהן משרתות מטרות שונות ומתקיימות יחד מעצם עיצובן.
האם קיום כתובות link-local מהווה סיכון אבטחה?
כתובות link-local למעשה מספקות יתרון אבטחה — הן כלואות בקטע המקומי שלכם ולעולם לא ניתן להגיע אליהן מבחוץ. עם זאת, שיטת EUI-64 המקורית ליצירת כתובות link-local של IPv6 אכן חשפה כתובות MAC, מה שאפשר מעקב אחר מכשירים. מערכות מודרניות משתמשות בשיטות שמשמרות פרטיות המבטלות את הדאגה הזו.
מקורות
האם דף זה היה מועיל?