قرارداد پیکربندی پویای میزبان
پروتکل پیکربندی پویای میزبان ، پروتکلی است که توسط دستگاه‌های شبکه‌ای بکار می‌رود تا پارامترهای مختلف را که برای عملکرد برنامه‌های منابع گیر در IP (پروتکل اینترنت) ضروری می‌باشند، بدست آورد. با بکارگیری این پروتکل، حجم کار مدیریت سیستم به شدت کاهش می‌یابد و دستگاه‌ها می‌توانند با حداقل تنظیمات یا بدون تنظیمات دستی به شبکه افزوده شوند.
DHCP برای اولین بار در اکتبر سال ۱۹۹۳ به عنوان یک پروتکل (در RFC 1531)معرفی شد. در آن زمان DHCP به منزلهٔ گسترش پروتکل یا (BOOTP) در نظر گرفته می‌شد. ایده تغییر و گسترش پروتکل BOOTP این بود که این پروتکل نیازمند یک دخالت دستی برای اضافه کردن اطلاعات هر کاربر بود. همچنین این پروتکل مکانیزمی را برای استفاده دوباره از نشانی‌های IP را که استفاده نمی‌شوند ارائه نمی‌داد. این به منزله این بود که برای اتصال به اینترنت یک فرایند دستی نیاز بود. پروتکل BOOTP خودش نیز برای اولین بار در RFC951 تعریف گردید و به عنوان جایگزینی برای پروتکل در نظر گفته شد. دلیل عمده جایگزینی BOOTP با RARP این بود که پروتکل RARP در لایه پیوند داده‌ای قرار داشت. این امر پیاده‌سازی و اجرا را بر روی پلتفرم‌های سرور مشکل می‌ساخت و نیازمند این بود که آن سرور در هر لایه‌ای از شبکه پاسخگو باشد. BOOTP نوآوری بدیعی را با نام "relay agent" معرفی کرد. طبق آن ارسال پاکت داده‌ای BOOTP در شبکه با مسیریابی استاندارد IP محیا شده بود و بنابراین سرور BOOTP مرکزی می‌توانست به سرویس گیرنده‌ها (کاربران) با تعداد زیادی IP Subnet سرویس ارائه دهد.
پروتکل DHCP (پروتکل پیکربندی پویای میزبان) روشی برای اداره کردن جایگزینیِ پارامتر شبکه، در یک سرور DHCP مستقل، یا گروهی از چنین سرورهایی است که به شیوه‌ای مقاوم در برابر اشکال چیده می‌شوند و با DHCP تکمیل شده‌اند؛ حتی در شبکه‌ای با چند ماشین سیستم DHCP مفید می‌باشد، زیرا یک ماشین توسط شبکه‌ای محلی و با کمی تلاش قابل افزودن می‌باشد.
حتی در سرورهایی که نشانی‌ها یشان به ندرت تغییر می‌کند، DHCP برای قرار دادن نشانی‌های آن‌ها توصیه می‌شود بنابراین اگر لازم باشد سرورها دوباره نشانی‌گذاری شوند (آراِف سی۲۰۷۱)، تغییرات باید در کمترین جاهای ممکن صورت گیرند. برای دستگاه‌هایی چون مسیر یاب‌ها و دیوارهای آتش نباید DHCP را بکار بریم، عاقلانه اینست که سرورهای TFTP و SSH را در دستگاهی مشابه که DHCP را اجرا می‌کند قرار دهیم تا مدیریت دوباره متمرکز شود.
این پروتکل برای تخصیص مستقیم نشانی‌ها در سرورها و سیستم‌های رومیزی مفید می‌باشد و نیز بواسطه یک PPPپروکسی (پروتکل نقطه به نقطه) برای شماره‌گیری و میزبان‌های پهن باند در صورت درخواست و نیز برای خروجی‌ها (برگردان آدرس شبکه) و مسیریاب‌ها کاربرد دارد.DHCP معمولاً برای زیر ساخت (خدمات بنیادین) مانند مسیریاب‌های غیر حاشیه‌ای و سرورهای DNS مناسب نمی‌باشند.
هدف DHCP پیکره بندی خودکار نشانی IP یک کامپیوتر، بدون مدیر شبکه می‌باشد. آی پی آدرس‌ها معمولاً از طیف وسیعی از آدرس‌های اختصاص داده شده که در پایگاه داده سرور ذخیره شده‌اند، تشکیل شده‌اند و به کامپیوتری که درخواست یک آی پی جدید می‌کند، اختصاص داده می‌شود. یک آی پی آدرس، برای یک بازه زمانی به یک کامپیوتر اختصاص داده می‌شود، و پس از آن کامپیوتر باید آی پی آدرس جدیدی را از سرور دریافت کند. ممکن است کامپیوتر درخواست تمدید مهلت، یا همان افزایش زمان برای استفاده از آی پی را به سرور بفرستد و سرور درخواست افزایش زمان را رد کرده و کامپیوتر را مجبور کند تا آی پی جدیدی در فاصله‌ای که سپری شده درخواست کند.
DHCP به کامپیوترها (کاربران) اجازه می‌دهد تا تنظیمات را در مدل کاربر - سرور از سرور دریافت کند.DHCP در شبکه‌های مدرن بسیار رایج است؛ و در و استفاده می‌شود. در شبکه‌های خانگی، ارائه دهنده خدمات اینترنت ممکن است، یک آی پی آدرس خارجی منحصربه فردرابه یک مسیر یاب Router یا مودم اختصاص دهد و این آی پی آدرس برای ارتباطات اینترنتی استفاده شود. همچنین ممکن است روتر خانگی (یا مودم) از DHCP به منظور تأمین یک آی پی آدرس قابل استفاده برای دستگاه‌های متصل شده به شبکه خانگی استفاده کند تا به این وسایل اجازه ارتباط با اینترنت را بدهد. آی پی آدرس‌های جهانی منحصر به فردی که توسط ارائه دهنده خدمات اینترنت (ISP) اختصاص داده می‌شوند با آی پی آدرس‌هایی که به وسایل جهت اتصال به روتر خانگی داده می‌شود متفاوت‌اند. این مهم به دلیل در نظر گرفتن برای حمایت از است.
DHCP تخصیص پارامترهای شبکه را به وسیله یک یا چندین سرور DHCP، به صورت اتوماتیک تبدیل می‌کند. حتی در شبکه‌های کوچک نیز DHCP مفید است، چرا که افزودن ماشین‌های جدید به شبکه را آسان می‌کند. هنگامی که یک کاربر با پیکره بندی DHCP (یک کامپیوتر یا هر شبکه آگاه دیگر) به یک شبکه متصل می‌شود، کاربر یک پرسش را جهت اطلاعات لازم به سرور DHCP می‌فرستد. سرور DHCP یک حجم عظیم از آی پی آدرس‌ها و اطلاعات راجع به پارامترهای پیکره بندی کاربر مانند , ، ، سرورهای دیگر مانند و غیره مدیریت می‌شود. در دریافت یک درخواست معتبر، سرور یک آی پی آدرس، یک اجاره نامه (مدت زمانی که تخصیص معتبر است) و دیگر پارامترهای پیکره بندی آی پی مانند و را به کامپیوتر اختصاص می‌دهد. پرس و جو معمولاً بلافاصله پس از آغاز می‌شود و باید تا قبل از این که کاربر بتواند ارتباطات مبتنی بر با میزبانان دیگر را آغاز کند، کامل می‌شود. به این ترتیب، کامپیوترهای زیادی دیگری می‌توانند در مدت چند دقیقه از همان آی پی آدرس از یکدیگر استفاده کنند. از آنجا که پروتکل DHCP باید به درستی و حتی بیشتر از کاربران DHCP که پیکره بندی شده‌اند کار کند، سرور DHCP و کاربر DHCP معمولاً باید به یک متصل شوند. در شبکه‌های بزرگتر این عملی نیست. در چنین شبکه‌هایی، هر یک از لینک‌های شبکه شامل یک یا چند عامل تقویت‌کننده DHCP می‌باشند. این عوامل تقویت‌کننده، پیام‌ها را از کاربران DHCP دریافت نموده و آنهارا به سرورهای DHCP انتقال می‌دهد. سرورهای DHCP، پاسخ را به این تقویت‌کننده‌ها می‌فرستند و سپس این تقویت‌کننده‌ها پاسخ را به کاربران DHCP، بر روی لینک شبکه‌های محلی می‌فرستند. بسته به نوع پیاده‌سازی، سرور DHCP برای تخصیص آی پی آدرس، یکی از سه روش زیر را خواهد داشت:
"تخصیص پویا :" محدوده خاصی از آی پی آدرس‌ها را به DHCP اختصاص می‌دهد، و هر کامپیوتر کاربر که بر روی شبکه داخلی (LAN) پیکره بندی شده‌است درخواست یک آی پی آدرس را از DHCP در زمان مقدار دهی اولیه ارسال می‌کند. فرایند درخواست و اعطا با استفاده از مفهوم اجاره نامه در یک دوره زمانی خاص قابل کنترل است، که سرور DHCP اجازه تمدید (وپس از آن تخصیص دوباره) آی پی آدرس‌هایی را که هم‌اکنون تمدید نکرده‌است را می‌دهد.
"تخصیص خودکار :" سرور DHCP به‌طور دائم یک آی پی آدرس آزاد که توسط ادمین شبکه تعیین شده‌است را به کاربری که درخواست‌کننده می‌باشد، تخصیص می‌دهد. این همانند تخصیص پویاست، اما سرور DHCP یک جدول از تخصیص قبلی آی پی را نگه می‌دارد به‌طوری‌که می‌تواند به یک کاربر آی پی آدرسی را اختصاص دهد که قبلاً آن را داشته‌است.
"تخصیص ثابت :"سرور DHCP آی پی آدرس‌هایی مبتنی بر جدول جفت " / " اختصاص می‌دهد که این تخصیص دستی است (شاید توسط ). فقط به کاربران با مک آدرسی که در لیست این جدول قرار دارند آی پی آدرس تخصیص داده خواهد شد. این ویژگی که توسط همه سرورهای DHCP پشتیبانی نمی‌گردد به‌طور وسیعی با نام تخصیص ثابت DHCP خوانده می‌شود.
عملکرد DHCP به چهار قسمت پایه تقسیم می‌گردد
این چهار مرحله به صورت خلاصه با عنوان "DORA" شناخته می‌شوند که هر یک از حرف‌ها، سرحرف مراحل بالا می‌باشد.
هر سرویس گیرنده (کاربر) برای شناسایی سرورهای DHCP موجود اقدام به فرستادن پیامی در زیر شبکه خود می‌کند. مدیرهای شبکه می‌توانند مسیریاب محلی را به گونه ایی پیکربندی کنند که بتواند بسته داده‌ای DHCP را به یک سرور DHCP دیگر که در زیر شبکه متفاوتی وجود دارد، بفرستد. این مهم باعث ایجاد بسته داده با پروتکل UDP می‌شود که آدرس مقصد ارسالی آن ۲۵۵٫۲۵۵٫۲۵۵٫۲۵۵ یا آدرس مشخص ارسال زیر شبکه می‌باشد. کاربر (سرویس گیرنده) DHCP همچنین می‌تواند آخرین آی پی آدرس شناخته شده خود را درخواست بدهد. اگر سرویس گیرنده همچنان به شبکه متصل باشد در این صورت آی پی آدرس معتبر می‌باشد و سرور ممکن است که درخواست را بپذیرد. در غیر اینصورت، این امر بستگی به این دارد که سرور به عنوان یک مرجع معتبر باشد. یک سرور به عنوان یک مرجع معتبر درخواست فوق را نمی‌پذیرد و سرویس گیرنده را مجبور می‌کند تا برای درخواست آی پی جدید عمل کند. یک سرور به عنوان یک مرجع غیرمعتبر به سادگی درخواست را نمی‌پذیرد و آن را به مثابهٔ یک درخواست پیاده‌سازی از دست رفته تلقی می‌کند؛ و از سرویس گیرنده می‌خواهد درخواست را لغو و یک آی پی آدرس جدید درخواست کند.
زمانی که یک سرور DHCP یک درخواست را از سرویس گیرنده (کاربر) دریافت می‌کند، یک آی پی آدرس را برای سرویس گیرنده رزرو می‌کند و آن را با نام DHCP Offer برای کاربر می‌فرستد. این پیام شامل: MAC آدرس (آدرس فیزیکی دستگاه) کاربر؛ آی پی آدرسی پیشنهادی توسط سرور؛ Subnet Mask آی پی؛ زمان تخصیص آی پی (lease Duration) و آی پی آدرس سروری می‌باشد که پیشنهاد را داده‌است.
سرویس گیرنده با یک درخواست به مرحله پیشین پاسخ می‌گوید. یک کاربر می‌تواند پیشنهادهای‌های مختلفی از سرورهای متفاوت دریافت کند. اما فقط می‌تواند یکی از پیشنهادها را بپذیرد. بر اساس تنظیمات شناسایی سرور در درخواست و فرستادن پیام‌ها "(identification option)"، سرورها مطلع می‌شوند که پیشنهاد کدام یک پذیرفته شده‌است. هنگامی که سرورهای DHCP دیگر این پیام را دریافت می‌کنند، آن‌ها پیشنهادهای دیگر را، که ممکن است به کاربر فرستاده باشند، باز پس می‌گیرند و آن‌ها را در مجموعه آی پی‌های در دسترس قرار می‌دهند.
هنگامی که سرور DHCP، پیام درخواست DHCP را دریافت می‌کند، مراحل پیکربندی به فاز پایانی می‌رسد. مرحله تصدیق شامل فرستادن یک بسته داده‌ای (DHCP Pack) به کاربر می‌باشد. این داده بسته‌ای شامل: زمان تخصیص آی پی یا هرگونه اطلاعات پیکربندی که ممکن بوده‌است که سرویس گیرنده درخواست کرده باشد، می‌باشد. در این مرحله فرایند پیکربندی آی پی کامل شده‌است.
پیغام‌های DHCP در دیتا گرام‌های UDP حمل می‌شوند و در سمت سرویس دهنده از شماره پورت ۶۷ و در سمت سرویس گیرنده از پورت ۶۸ استفاده می‌کند. پروتکل‌هایی که در ارتباط با DHCP کار می‌کنند شامل IP, BOOTP , UDP, TCP, RARP می‌باشند. در جدول زیر ساختار پروتکل DHCP را مشاهده می‌نمایید.یک مثال عینی برای استفاده از این پروتکل در شبکه‌های LAN می‌باشد. در این مورد، یک سرور DHCP در رهیاب (Router) قرار دارد، و بقیه سرویس گیرنده‌ها از قبیل: کامپیوترهای شخصی، موبایل‌های هوشمند یا پرینترها در شبکه LAN با نام میزبان (Host) شناخته می‌شوند. مسیر یاب نیز خود به عنوان یک سرویس گیرنده در نظر گرفته می‌شود که اطلاعات پیکر بندی خود را مستقیماً از سرویس دهنده‌های اینترنت (ISP)ها دریافت می‌کند.
پروتکل پیکر بندی پویای میزبان (DHCP) نشانه‌های آی پی، پوشش‌های زیر شبکه، default gateway (دروازه پیش‌فرض یا ورودگاه قراردادی) و دیگر پارامترهای آی پی شبکه را به صورت خودکار تخصیص می‌دهد. وقتی یک برنامه منابع گر با ترکیب DHCP به یک شبکه متصل شود، (خواه یک کامپیوتر باشد یا هر وسیله مرتبط با شبکه)، برنامه منابع گیر DHCP آن یک سئوال سرتاسری ارسال می‌کند و از سرور DHCPاطلاعات ضروری را در خواست می‌کند. سرور DHCP مجموعه‌ای از اطلاعات و آدرس‌های آی پی را در مورد پارامترهای پیکر بندی منابع گیر مانند دروازه پیش فرض، نام قلمرو، سرورهای DNS و سرورهای دیگر همچون سرورهای زمانی و غیره را مدیریت می‌کند. بر اساس دریافت یک درخواست معتبر این سرور به کامپیوتر یک نشانی آی پی و یک مدت اجاره (طول زمانی‌که تخصیص در آن اعتبار دارد) و دیگر پارامترهای پیکر بندی TCP/IP مانند پوشش زیر شبکه و ورود گاه قراردادی اختصاص خواهد داد. این پرس و جو نوعاً سریعاً پس از راه اندازی آغاز می‌شود و باید پیش از آنکه برنامه منابع گیر بتواند ارتباط مبتنی بر آی پی را با دیگر میزبان‌ها شروع کند تکمیل شود.
DHCP سه حالت برای تخصیص نشانی‌های آی پی فراهم می‌کند.
حالت شناخته شده، پویا (دینامیک) می‌باشد که در آن برای برنامه خدمات دیگر یک اجاره نامه روی نشانیIP برای یک دوره زمانی فراهم می‌آورد. منوط به ثبات شبکه این اجاره نامه می‌تواند از چند ساعت (شبکه بی‌سیم در یک فرودگاه) تا چند ماه (برای رومیزی‌ها در یک آزمایشگاه سیم بندی شده) وجود داشته باشد. به هر حال پیش از اینکه اجاره نامه منتفی شود، DHCP می‌تواند در خواست تمدید اجاره نامه را روی نشانی آی پی موجود بدهد.
یک برنامه منابع گیر با کار کرد مناسب سازوکار تمدید را برای حفظ همان نشانی IP در سر تا سر اتصا لش به یک شبکه مستقل بکار می‌برد، در غیر اینصورت ممکن است دچار از دست دادن اجاره نامه‌اش (مدت اجاره) در حین اتصال شود، بنابراین در حالیکه مجدداً برای نشانی IP اصلی یا جدیدش با سرور مذاکره می‌کند اتصال به شبکه دچار اختلال و اشکال شود.
دو حالت دیگر برای تخصیص نشانی‌های IP خودکار (اتوماتیک) و دستی می‌باشند، که در حالت خودکار نشانی به‌طور دائم جایگزین منابع گیر می‌شود و در حالت دستی نشانی توسط منابع گیر انتخاب می‌شود و پیام‌های پروتکل DHCP برای مطلع کردن سرور نسبت به جایگزینی نشانی، مورد استفاده قرار می‌گیرند. روش‌های دستی و خودکار به‌طور کلی زمانی‌که کنترل دقیق تری روی نشانی IP مورد نیاز باشد بکار می‌روند (عموماً از نوع نصب دیواره آتش محکم با استقامت)، اگرچه عموماً یک دیواره آتش امکان دسترسی به گستره‌ای از نشانی‌های IP را می‌دهد که می‌تواند به صورت پویایی توسط سرور DHCP جایگزین شوند.
به جهت متعارف‌سازی آن قبل از امنیت اینترنت این تبدیل به یک مسئله شده پروتکل DHCP مبنا اقدام‌های لازم امنیتی را در بر نمی‌گیرد و به‌طور بالقوه آن را در معرض دو نوع حمله قرار می‌دهد. غیرمجاز می‌تواند به در خواست‌های خدمات گیر پاسخ دهد و مقادیر پیکر بندی شبکه منابع گیر را ارسال می‌کند که برای هواپیما ربا مفید می‌باشند. به عنوان مثال، یک هکر می‌تواند سرور DHCP را ترکیب بندی نماید تا خدمات دیگر را برای یک سرور DNS که مختل شده‌است پیکر بندی نماید.
همچنین با ارسال انبوه سرور DHCP با در خواست‌هایی به منظور نشانی‌های IP این برای مهاجم امکان‌پذیر می‌باشد تا مجموعه وسیعی از آدرس‌های IP تخلیه نموده و فعالیت عادی شبکه را مختل سازد.
برای مبارزه با این تهدیدات RFC ۳۱۱۸ (تصدیق پیام‌های DHCP)اطلاعات تأیید را در پیام‌های DHCP ارائه کرد که منابع گیرها و سرورها را قادر ساخت تا اطلاعات ارسالی از منابع غیر معتبر را نپذیرند. اگر چه حمایت از این پروتکل گسترده می‌باشد اما تعداد زیادی از خدمات گیران و خدمات دهندگان هنوز به‌طور کامل از تأیید حمایت نمی‌کنند و سرورها را مجبور نمی‌کنند تا از خدمات گیر انی پشتیبانی کنند که از این ویژگی حمایت نمی‌کنند. در نتیجه دیگر اقدامات امنیتی معمولاً در مورد سرور DHCP صورت می‌گیرند تا تضمین شود که تنها خدمات گیران و خدمات دهندگان مورد تأیید به شبکه دسترسی پیدا می‌کنند.
در صورت امکان، نشانی‌های اختصاص یافته DHCP بایستی به‌طور پویا به یک سرور DNS ایمن متصل شوند تا امکان عیب‌یابی آن‌ها توسط نام وجود داشته باشد به جای اینکه توسط نشانی بالقوه نا معلوم عیب‌یابی شوند.
اتصال مؤثر DHCP-DNS به پرونده‌ای از نشانی‌های MAC یا اسامی محلی نیاز دارد که به DNS ارسال خواهند شد و به‌طور منحصر به فردی میزبان‌های فیزیکی را مشخص می‌کند. نشانی‌های IP سرورهای DNS از یک سرور DHCP.
سرور DHCP اطمینان می‌دهد که تمام نشانی‌های IP تک و منحصر به فرد می‌باشند به عنوان مثال هیچ نشانی IP به یک خدمات گیر ثانویه اختصاص داده نمی‌شود در حالیکه تخصیص خدمات گیر اولیه معتبر می‌باشد. بنا بر این مدیریت جمعی نشانی IP توسط سرور صورت می‌گیرد نه به وسیلهٔ مدیر شبکه.
منوط به بکارگیری، سرور DHCP سه نوع روش در تقسیم کردن (اختصاص دادن) نشانی‌های IP دارد: جفت‌های نشانی IP توسط مدیر سرور به صورت دستی پر می‌شوند. فقط به خدمات گیران با یک نشانی MAC که در این جدول فهرست شده‌اند یک نشانی IP اختصاص می‌یابد.
دیوارهای آتش معمولاً باید ترافیک DHCP را آشکارا ممکن سازند. خصوصیات پروتکل سرور – خدمات گیر DHCP چندین مورد را توضیح می‌دهد زمانی‌که بسته‌ها باید نشانی مبدأ ۰۰۰۰۰۰۰۰*۰ یا نشانی مقصد ۰*FFFFFFFF را در اختیار داشته باشند. قوانین سیاستی ضد تلاش عمدی و دیوارهای آتش در بر گیرنده و محکم غالباً چنین بسته‌هایی را متوقف می‌سازند.
برای مجاز دانستن DHCP، مدیران شبکه لازم است که چند نوع بسته اطلاعاتی را از طریق دیوار آتش سرور جانبی ممکن سازند.
تمام بسته‌های DHCP به عنوان دیتا گرام‌های UDP منتقل می‌شوند، تمام بسته‌های ارسالی خدمات گیر درگاه منبع ۶۸ و درگاه مقصد ۶۷ دارند، تمام بسته‌های ارسالی خدمات دهنده درگاه منبع ۶۷ و درگاه مقصد ۶۸ دارند.
به عنوان مثال یک دیوار آتش سرور جانبی باید انواع پاکتها که در ذیل آمده را فراهم کند: وقتیکه DHCP-IP هر آدرسی را که روی یک سرور DHCP ترکیب بندی می‌شود را نشان می‌دهد و مجموعه DHCP نشان دهنده مجموعه‌ای است که از آن سرور DHCP نشان‌هایی را به خدمات گیران اختصاص می‌دهد.
برای دادن ایده‌ای از چگونگی ظاهر تولید در پیکر بندی، قوانین زیر برای سرور جانبی دیوار آتش IP امکان تردد DHCP را فراهم می‌آورند. DHCPd روی میانجی R۱۰ عمل می‌کند و نشانی‌ها را از ۱۹۲٫۱۶۸٫۰۰۱۲۴ تخصیص می‌دهد.
Wikipedia contributors, "Dynamic Host Configuration Protocol," Wikipedia, The Free Encyclopedia, http://en.wikipedia.org/w/index.php?title=Dynamic_Host_Configuration_Protocol&oldid=191116665 (accessed February ۱۳، ۲۰۰۸).