آشنایی با Dynamic Host Configuration Protocol
پروتکل تنظیمات هاست پویا Dynamic Host Configuration Protocol، که به اختصار DHCP نامیده می شود، یک پروتکل کلاینت/سروری است که امکان پیکربندی پویای تنظیمات IP، شامل: آدرس، Subnet Mask، Default Gateway و … را فراهم می کند. پیاده سازی این پروتکل این امکان را فراهم می کند تا هاست ها تنظیمات مربوط به IP را به صورت پویا از یک DHCP server دریافت نمایند.
کاربرد و دلایل استفاده از DHCP
در شبکه های مبتنی بر TCP/IP، هر تجهیز برای دسترسی به شبکه و منابع آن، نیازمند یک آدرس یکتا (Unique IP Address) می باشد. بدون وجود سرور DHCP، برای هر کامپیوتر/تجهیز جدید و یا انتقال یافته از یک شبکه ی دیگر، به پیکربندی تنظیمات IP Address به صورت دستی نیاز خواهد بود. با راه اندازی سرور DHCP، تمامی این پروسه به صورت خودکار و از طریق یک مدیریت مرکزی انجام می گیرد.
با اعمال پیکربندی های لازم، سرور DHCP یک مخزن از آدرس ها را تولید می کند. با دریافت درخواست از کلاینت ها، سرور IP آدرس های موجود در مخزن را برای مدت معلوم (قابل تنظیم) در اختیار کلاینت هایی که پروتکل DHCP برایشان فعال شده است قرار می دهد.
مراحل تخصیص IP
یک DHCP Client برای دریافت یک آدرس IP جدید، تمدید زمان IP فعلی و … یک ارتباط را با DHCP Server آغاز میکند. این ارتباط شامل تبادل مجموعه ای از پیام های DHCP بین DHCP Client و DHCP Server می باشد.
شکل زیر مروری کلی بر پیام های رد و بدل شده بین کلاینت و سروری دارد که هر دو در یک Subnet قرار دارند:

- در اولین مرحله، کلاینت برای دریافت تنظیمات مربوط به IP و برای شناسایی DHCP Server، اقدام به ارسال یک بسته با عنوان DHCPDiscovery در کل Subnet خود می کند.
- پس از دریافت درخواست DHCPDiscover توسط DHCP سرور، سرور یک آدرس مناسب را تعیین و برای کلاینت یک بسته پیشنهادی (DHCPOffer) با همان اطلاعات آدرس و سایر گزینه های احتمالی (Router, DNS, …) ارسال می کند. در این مرحله اگر هیچ DHCP سروری به درخواست کلاینت پاسخ نگوید، کلاینت درخواست DHCPDiscover خود را در بازه های زمانی مختلف (0، 4، 8، 16 و 32 ثانیه + یک عدد تصادفی بین 1 و 1- (ارسال می کند. اگر با گذشت یک دقیقه پاسخی از DHCP Server دریافت نشود، یکی از شرایط زیر اتفاق می افتد:
- اگر کلاینت از قابلیت Automatic Private IP Addressing (APIPA) استفاده نماید، کلاینت خود اقدام به پیکربندی آدرس IP برای کارت شبکه خود می نماید.
- اگر کلاینت از قابلیت تنظیم آدرس APIPA پشتیبانی نکند و یا امکان تنظیم خودکار غیرفعال باشد، تخصیص IP با شکست مواجه می شود.
باید توجه داشت در هریک از دو حالت بالا، کلاینت در پس زمینه هر 5 دقیقه و در بازه های زمانی (0، 4، 8، 16 و 32 ثانیه) اقدام به ارسال بسته های DHCPDiscover می نماید و این روند تا زمانی که یک پیام DHCPOffer از سرور دریافت نماید ادامه خواهد داشت.
- در مرحله بعدی کلاینت با ارسال بسته DHCPRequest موافقت خود را برای استفاده از آدرس پیشنهاد شده، به سرور اعلام می کند.
- در پایان، سرور بسته ی تصدیق (DHCPAck) را به کلاینت ارسال می کند تا اعلام کند که آن آدرس برای مدت موقت به او تخصیص داده شده است. در شرایط خاص اگر سرور اقدام به ارسال پیام عدم تصدیق Negative acknowledgment (DHCPNack) نماید، کلاینت می بایست کل پروسه درخواست IP را از ابتدا آغاز نماید.
از آنجا که مراحل تخصیص IP به صورت پویا (برای مدت محدود و به صورت موقت) و نه به صورت ثابت (دائمی) انجام می گیرد، آدرس هایی که برای مدت مشخص (قابل تنظیم) غیرفعال بوده اند به مخزن آدرس ها برمی گردند و امکان تخصیص مجدد آنها فراهم می شود.
یک DHCP Server اطلاعات پیکربندی را در یک پایگاه داده ذخیره می کند. این اطلاعات شامل موارد ذیل است:
- پارامترهای تنظیمات معتبر TCP/IP برای تمامی کلاینت های شیکه
- نگهداری IP آدرس های معتبر در یک مخزن برای تخصیص به کلاینت ها، همچنین نگهداری IP های مستثنی که نمی بایست به صورت پویا تخصیص یابند.
- ذخیره IP های رزرو شده برای کلاینت های خاص: با استفاده از این قابلیت می توان اطمینان داشت سرور DHCP همواره یک IP ثابت را به کلاینت موردنظرمان تخصیص می دهد.
- مدت زمان تخصیص IP: پس از سپری شدن این زمان، لازم است تا کلاینت مجددا درخواستی مبنی بر تخصیص IP ارسال کند.
یک کلاینت با قابلیت دریافت پیکربندی از DHCP، طی فرآیند درخواست IP، تنظیمات زیر را دریافت می کند:
- IP آدرس معتبر برای Subnet شبکه ای که به آن متصل است.
- تنظیمات اختیاری: سایر پارامترهایی که یک DHCP Server پیکربندی شده است تا این تنظیمات را به کلاینت ها تخصیص دهد. این پارامترها شامل مواردی چون: روتر (Default Gateway)، DNS Server، DNS Domain Name میشود.

مزایای راه اندازی DHCP Server
- پیکربندی معتبر آدرس IP
با استفاده از سرور DHCP خطاهای ناشی از تنظیمات دستی آدرس IP (اشتباه نوشتاری، استفاده از یک IP آدرس برای بیش از یک کلاینت، …) کاهش می یابد.
- کاهش هزینه های مدیریت شبکه
DHCP قابلیت هایی دارد که سبب کاهش وظایف مدیریت شبکه می شود:
- تنظیمات TCP/IP به صورت مدیریت متمرکز و خودکار
- قابلیت تخصیص مجموعه ای از پارامترهای مختص TCP/IP با استفاده از گزینه های DHCP
- مدیریت کافی و مناسب بر تغییرات آدرس IP کلاینت ها: برای درک بهتر این مورد، جا به جایی کلاینت بین Subnet های مختلف در شبکه های وایرلس را در نظر بگیرید.