מבוא ל- DHCP

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

DHCP (בעברית: פרוטוקול הגדרת מארחים דינמי):

DHCP, או בשמו המלא Dynamic Host Configuration Protocol, הוא פרוטוקול תקשורת המשמש להקצאה דינמית של כתובות IP למחשבים ברשת מקומית (LAN).
מנהל הרשת מגדיר לשרת ה- DHCP תחום כתובות וכל מחשב ברשת מוגדר לבקש את כתובת ה- IP שלו מהשרת ברגע שהוא מתחבר לרשת.
הכתובת מוקצית למחשב לזמן מוגבל, בסופו אם המחשב לא יבקש לחדש את הכתובת שניתנה לו הכתובת תחזור למאגר כתובות ה- IP הזמינות והשרת ייתן אותה למחשב הבא שירצה להתחבר לרשת.
(מתוך ויקיפדיה)

למה צריך DHCP:

בואו נתחיל בזה שלא חייב להשתמש ב- DHCP, ניתן להגדיר רשת גם בלעדיו, היא תעבוד והכל יהיה בסדר.
אז למה כן להשתמש ב- DHCP? בואו נדמיין מצב מסויים, רשת מסויימת, הרשת בסניף הקרוב של חברת הפלאפון שלכם.
נגיד שבאותו סניף יש 20 מחשבים, חלקם לשימוש אנשי המכירות, חלקם לשימוש אנשי התמיכה, חלקם בכלל בתוך המעבדה, אבל בסופו של דבר כולם שייכים לאותה רשת.
לכם, בתור מנהלי הרשת, יש 2 אופציות:
האופציה הראשונה: לעבור בין כל המחשבים, 20 מחשבים אמרנו, להגדיר להם כתובת IP, שרתי Subnet mask ,DNS, שער ברירת מחדל וכו'.
להגדיר בכולם את אותם הפרטים (פרט לכתובת ה- IP) – הרי אמרנו שהם שייכים לאותה רשת.
האופציה השנייה: להגדיר את כל הפרטים הללו במקום אחד, בשרת ה- DHCP.
כל מחשב שירצה לקבל את הפרטים הללו, שהם חיוניים עבור התקשורת שלו ברשת, יפנה לשרת הזה ויבקש ממנו אותם.

מה יותר פשוט? מה יותר נוח? במה תבחרו? אני מניח שברוב המקרים באופציה השנייה – בשרת DHCP.

איך מגדירים שרת DHCP:

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

הגדרת שרת DHCP

הסבר קצר על כל הגדרה:
DHCP Pool Name – השם של המאגר (לא קריטי).
DHCP Pool Network – כתובת הרשת.
Subnet mask – ה- subnet mask של הרשת.
Starting IP – כתובת ה- IP הראשונה בטווח הכתובות שהשרת יחלק.
Ending IP – כתובת ה- IP האחרונה בטווח הכתובות שהשרת יחלק.
Lease Length – זמן ההשאלה, כמה זמן כתובת שהוקצתה עבור מחשב מסויים צריכה להישמר עבורו.
DHCP Options – כל הפרטים שכבר הזכרנו (שרתי DNS, שרתי WINS, שער ברירת מחדל וכו').

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

איך זה עובד:

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

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

הפעולה השנייה – אותה מבצע השרת – היא DHCP Lease Offer.
שרת ה- DHCP מקבל את ההודעה ששלח המחשב, שומר בצד כתובת IP עבורו (עדיין לא מקצה לו אותה),
ועונה לו: "שלום לך, אני שרת DHCP, אני יכול להקצות עבורך את הכתובת 1.2.3.4 ולספק לך את שאר הפרטים שאתה צריך, מעוניין?".

הפעולה השלישית – אותה מבצע המחשב – היא DHCP Request.
המחשב מקבל את ההודעה שהחזיר לו השרת, הוא ממש שמח שהוא מצא שרת DHCP,
ועונה לו: "כן, אשמח לקבל את הכתובת הזאת ואת שאר הפרטים, תוכל בבקשה לתת לי אותם?".

הפעולה הרביעית – אותה מבצע השרת – היא DHCP Lease Acknowledgement.
השרת מקבל את ההודעה שהחזיר לו המחשב, הוא מסיר את הכתובת ששמר מרשימת הכתובת הפנויות, מקצה אותה עבור המחשב,
ועונה לו: "כמובן, הנה הכתובת ושאר הפרטים שביקשת, אני מקווה שתהנה ברשת ושיהיה לך יום טוב".

בסיום התהליך הזה, מקבל המחשב את הפרטים שהוא ביקש והוא שייך לרשת באופן רשמי.

יתרונות וחסרונות בעבודה עם שרת DHCP:

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