1. ספרייה
  2. כתובות IP
  3. הקצאת כתובות

עודכן לפני חודש

אתה פותח את המחשב הנייד שלך בבית קפה. תוך שניות, אתה מחובר לאינטרנט.

אבל יש פרדוקס בלב מה שקרה זה עתה.

המחשב הנייד שלך צריך כתובת IP כדי לתקשר ברשת. כדי לבקש כתובת IP, הוא כבר חייב להיות מסוגל לתקשר. אי אפשר לדבר בלי כתובת, ואי אפשר לקבל כתובת בלי לדבר.

זהו פרדוקס האתחול. DHCP — פרוטוקול תצורת המארח הדינמי — הוא הפתרון שלנו לכך.

פרדוקס האתחול

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

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

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

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

תהליך DORA

DHCP פועל דרך ארבעה שלבים: Discovery, Offer, Request ו-Acknowledgment — ראשי התיבות יוצרים את השם DORA.

1. Discovery: "האם מישהו שם?"

כאשר התקן מתחבר לראשונה, הוא שולח הודעת DHCP Discover — שידור הנצרח לכל הרשת המקומית. ההתקן משתמש בכתובת MAC ‏FF:FF:FF:FF:FF:FF בשכבה 2 ובכתובת IP ‏255.255.255.255 בשכבה 3.

ההתקן אומר: "אני קיים, אבל אין לי כתובת. האם מישהו יכול לעזור לי?"

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

2. Offer: "הנה מה שאני יכול להציע לך"

שרתי DHCP ברשת מקבלים את הודעת ה-Discover ומגיבים עם DHCP Offer: "שמעתי אותך. הנה כתובת IP שתוכל להשתמש בה, בתוספת כל מה שתצטרך."

ההצעה מכילה:

  • כתובת IP פנויה ממאגר השרת
  • מסכת רשת המגדירה את גבולות הרשת
  • משך חכירה — כמה זמן הכתובת שייכת לך
  • כתובת ה-IP של השרת עצמו
  • תצורה נוספת: שער ברירת מחדל, שרתי DNS, שם הדומיין

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

3. Request: "אני בוחר בך"

הלקוח בוחן את כל ההצעות ובוחר אחת — בדרך כלל הראשונה שהגיעה. לאחר מכן הוא משדר DHCP Request לכל הרשת: "אני מקבל את ההצעה משרת X לכתובת IP Y."

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

הבקשה עדיין מגיעה מכתובת IP מקור 0.0.0.0. הלקוח מבקש רשות להשתמש בכתובת, לא תובע בעלות.

4. Acknowledgment: "היא שלך"

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

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

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

מעבר לכתובות IP

DHCP מספק הרבה יותר מכתובת IP. הוא מספק תצורה אטומית — כל מה שהתקן צריך בעסקה אחת:

מסכת רשת: מגדירה את גבולות הרשת. מסכה של 255.255.255.0 (או /24) אומרת שהאוקטטים השלושה הראשונים מזהים את הרשת; האחרון מזהה מארחים בודדים.

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

שרתי DNS: כתובות של שרתים שמתרגמים שמות כמו connected.app לכתובות IP. בלי DNS, היית צריך לשנן כתובות IP לכל אתר.

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

שרתי NTP: שרתי זמן לסינכרון — חיוניים לאישורי אבטחה, ניהול יומנים ומערכות מבוזרות.

החלופה — הגדרה ידנית של כל פרמטר בכל התקן — היא סיוט בכל רשת שחורגת ממספר קטן של מכונות.

היכן גרים שרתי DHCP

נתבי בית: ברוב רשתות הבית, הנתב שלך הוא שרת ה-DHCP. זו הסיבה שאתה יכול לחבר טלפון חדש ל-Wi-Fi שלך ולגשת מיד לאינטרנט — הנתב הגדיר הכל אוטומטית.

שרתי ארגון: בסביבות גדולות, שרתי DHCP ייעודיים מטפלים באלפי התקנים עם יתירות כשל, ניהול יומנים מפורט ואינטגרציה עם Active Directory.

תשתית ענן: ב-AWS, ב-Azure או ב-Google Cloud, הפלטפורמה עצמה מספקת DHCP. כאשר אתה מפעיל מכונה וירטואלית, היא מקבלת אוטומטית תצורה משירותי ה-DHCP של ספק הענן.

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

מ-BOOTP ל-DHCP

DHCP התפתח מפרוטוקול האתחול (BOOTP), שהוגדר ב-1985. BOOTP הכניס סוכני ממסר לתצורה מרכזית, אבל השתמש בהקצאה סטטית: כל התקן תמיד קיבל את אותה כתובת IP בהתאם לכתובת ה-MAC שלו, שהוגדרה ידנית במסד הנתונים של השרת. ללא מאגרים דינמיים. ללא מושג חכירה.

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

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

DHCP ב-IPv6

IPv6 אתגר את הדומיננטיות של DHCP עם חלופה ללא שרת.

SLAAC: תצורה עצמאית ללא שרת

עם SLAAC (תצורת כתובת אוטומטית חסרת מצב), התקנים מגדירים כתובות IPv6 משלהם ללא שרת DHCP כלשהו. נתבים משדרים את קידומת הרשת; התקנים משלבים אותה עם המזהה שלהם ליצירת כתובת מלאה.

אין שרת לניהול. אין מאגר כתובות שעלול להתרוקן. אין מעקב חכירות.

אך SLAAC במקורו לא יכול היה להעביר כתובות שרת DNS. בעוד שהרחבות מאוחרות פתרו זאת, התמיכה משתנה בין מערכות הפעלה.

DHCPv6

DHCPv6 מביא את המודל המוכר ל-IPv6: הקצאת כתובות מרכזית עם ניהול יומנים מפורט, בתוספת DNS, NTP ותצורת דומיין.

המציאות ההיברידית

רוב רשתות IPv6 כיום משתמשות בשניהם: SLAAC לכתובות, DHCPv6 ל-DNS ותצורות אחרות.

יש כאן סיבוך: Android בכוונה אינו תומך ב-DHCPv6 להקצאת כתובות — רק ב-SLAAC. עמדה פילוסופית זו פירושה שרשתות עם DHCPv6 בלבד אינן עובדות עם התקני Android. מיליארדי טלפונים אילצו את עולם הרשתות להסתגל.

מדוע DHCP חשוב

DHCP הוא תשתית בלתי נראית. אתה שם לב אליה רק כשהיא מתקלקלת — כאשר אתה רואה 169.254.x.x (הכתובת שהוקצתה עצמאית, שמשמעותה "אני מנותק מהרשת") במקום IP תקין.

כאשר ההתקן שלך מתחבר מיידית ל-Wi-Fi חדש והכל עובד, DHCP הוא הסיבה. כאשר המחשב הנייד שלך עובר מהבית למשרד ללא הגדרה מחדש ידנית, DHCP הוא הסיבה.

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

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

זהות אינה מולדת. היא נרכשת במשא ומתן, מוענקת דרך הכרה. DHCP הבין זאת לפני שרוב המערכות אפילו הכירו בבעיה.

נקודות מפתח

  • DHCP פותר את פרדוקס האתחול — אתה צריך כתובת כדי לתקשר, אבל צריך לתקשר כדי לקבל כתובת — דרך הודעות שידור שאינן מחייבות את השולח להחזיק בזהות ברשת
  • תהליך DORA (Discovery, Offer, Request, Acknowledgment) הוא משא ומתן בן ארבעה שלבים המטפל בהקצאת כתובות ובזיהוי התנגשויות
  • DHCP מספק תצורה אטומית: כתובת IP, מסכת רשת, שער, שרתי DNS, זמני חכירה ועוד — בעסקה אחת
  • שרתי DHCP נעים מנתבי בית ועד שרתי ארגון ייעודיים ותשתית ענן, עם סוכני ממסר המאפשרים פעולה מעבר לגבולות רשת
  • IPv6 הכניס את SLAAC כחלופה ללא שרת, אבל רוב הרשתות משתמשות בפתרון היברידי: SLAAC לכתובות, DHCPv6 ל-DNS ותצורות אחרות
  • עיצוב הפרוטוקול כה חזק עד שנשאר בעיקרו ללא שינוי כמעט שלושה עשורים, תוך שירות מיליארדי התקנים

שאלות נפוצות על DHCP

מה קורה אם שרת DHCP לא מגיב?

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

האם שני התקנים יכולים לקבל אותה כתובת IP מ-DHCP?

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

מדוע חכירות DHCP פגות?

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

האם אוכל לשריין IP ספציפי לתקן?

כן. רוב שרתי DHCP תומכים ב"הזמנות" המקשרות IP ספציפי לכתובת MAC של התקן. ההתקן עדיין עובר את תהליך DORA, אבל תמיד מקבל את אותה כתובת. זה נותן לך את הנוחות של DHCP עם הצפיות של הקצאה סטטית — שימושי למדפסות, שרתים, או כל התקן שאתה צריך לאתר בצורה אמינה.

מה ההבדל בין DHCP להקצאת IP סטטי?

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

מקורות

האם דף זה היה מועיל?

😔
🤨
😃