قرارداد پیکربندی پویای میزبان

تاریخچه

DHCP برای اولین بار در اکتبر سال ۱۹۹۳ به عنوان یک پروتکل (در RFC 1531)معرفی شد. در آن زمان DHCP به منزلهٔ گسترش پروتکل Bootstrap Protocol یا (BOOTP) در نظر گرفته می‌شد. ایده تغییر و گسترش پروتکل BOOTP این بود که این پروتکل نیازمند یک دخالت دستی برای اضافه کردن اطلاعات هر کاربر بود. همچنین این پروتکل مکانیزمی را برای استفاده دوباره از نشانی‌های IP را که استفاده نمی‌شوند ارائه نمی‌داد. این به منزله این بود که برای اتصال به اینترنت یک فرایند دستی نیاز بود.
پروتکل BOOTP خودش نیز برای اولین بار در RFC951 تعریف گردید و به عنوان جایگزینی برای پروتکل RARP در نظر گفته شد. دلیل عمده جایگزینی BOOTP با RARP این بود که پروتکل RARP در لایه پیوند داده‌ای data link layer قرار داشت. این امر پیاده‌سازی و اجرا را بر روی پلتفرم‌های سرور مشکل می‌ساخت و نیازمند این بود که آن سرور در هر لایه‌ای از شبکه پاسخگو باشد. BOOTP نوآوری بدیعی را با نام relay agent معرفی کرد. طبق آن ارسال پاکت داده‌ای BOOTP در شبکه با مسیریابی استاندارد IP محیا شده بود و بنابراین سرور BOOTP مرکزی می‌توانست به سرویس گیرنده‌ها (کاربران) با تعداد زیادی IP Subnet سرویس ارائه دهد.

عملی بودن

پروتکل DHCP (پروتکل پیکربندی پویای میزبان) روشی برای اداره کردن جایگزینیِ پارامتر شبکه، در یک سرور DHCP مستقل، یا گروهی از چنین سرورهایی است که به شیوه‌ای مقاوم در برابر اشکال چیده می‌شوند و با DHCP تکمیل شده‌اند؛ حتی در شبکه‌ای با چند ماشین سیستم DHCP مفید می‌باشد، زیرا یک ماشین توسط شبکه‌ای محلی و با کمی تلاش قابل افزودن می‌باشد.
حتی در سرورهایی که نشانی‌ها یشان به ندرت تغییر می‌کند، DHCP برای قرار دادن نشانی‌های آن‌ها توصیه می‌شود بنابراین اگر لازم باشد سرورها دوباره نشانی‌گذاری شوند (آراِف سی۲۰۷۱)، تغییرات باید در کمترین جاهای ممکن صورت گیرند. برای دستگاه‌هایی چون مسیر یاب‌ها و دیوارهای آتش نباید DHCP را بکار بریم، عاقلانه اینست که سرورهای TFTP و SSH را در دستگاهی مشابه که DHCP را اجرا می‌کند قرار دهیم تا مدیریت دوباره متمرکز شود.
این پروتکل برای تخصیص مستقیم نشانی‌ها در سرورها و سیستم‌های رومیزی مفید می‌باشد و نیز بواسطه یک PPPپروکسی (پروتکل نقطه به نقطه) برای شماره‌گیری و میزبان‌های پهن باند در صورت درخواست و نیز
برای خروجی‌ها (برگردان آدرس شبکه) و مسیریاب‌ها کاربرد دارد.DHCP معمولاً برای زیر ساخت (خدمات بنیادین) مانند مسیریاب‌های غیر حاشیه‌ای و سرورهای DNS مناسب نمی‌باشند.
هدف DHCP پیکره بندی خودکار نشانی IP یک کامپیوتر، بدون مدیر شبکه می‌باشد.
آی پی آدرس‌ها معمولاً از طیف وسیعی از آدرس‌های اختصاص داده شده که در پایگاه داده سرور ذخیره شده‌اند، تشکیل شده‌اند و به کامپیوتری که درخواست یک آی پی جدید می‌کند، اختصاص داده می‌شود. یک آی پی آدرس، برای یک بازه زمانی به یک کامپیوتر اختصاص داده می‌شود، و پس از آن کامپیوتر باید آی پی آدرس جدیدی را از سرور دریافت کند. ممکن است کامپیوتر درخواست تمدید مهلت، یا همان افزایش زمان برای استفاده از آی پی را به سرور بفرستد و سرور درخواست افزایش زمان را رد کرده و کامپیوتر را مجبور کند تا آی پی جدیدی در فاصله‌ای که سپری شده درخواست کند.

غیرفنی

DHCP به کامپیوترها (کاربران) اجازه می‌دهد تا تنظیمات را در مدل کاربر - سرور client-server model از سرور دریافت کند.DHCP در شبکه‌های مدرن بسیار رایج است؛ و در شبکه‌های خانگی و شبکه‌های دانشگاهی استفاده می‌شود. در شبکه‌های خانگی، ارائه دهنده خدمات اینترنت ISP ممکن است، یک آی پی آدرس خارجی منحصربه فردرابه یک مسیر یاب Router یا مودم اختصاص دهد و این آی پی آدرس برای ارتباطات اینترنتی استفاده شود. همچنین ممکن است روتر خانگی (یا مودم) از DHCP به منظور تأمین یک آی پی آدرس قابل استفاده برای دستگاه‌های متصل شده به شبکه خانگی استفاده کند تا به این وسایل اجازه ارتباط با اینترنت را بدهد. آی پی آدرس‌های جهانی منحصر به فردی که توسط ارائه دهنده خدمات اینترنت (ISP) اختصاص داده می‌شوند با آی پی آدرس‌هایی که به وسایل جهت اتصال به روتر خانگی داده می‌شود متفاوت‌اند. این مهم به دلیل در نظر گرفتن طرح IPv4 برای حمایت از IPv4 آدرس‌هااست.

فنی

DHCP تخصیص پارامترهای شبکه را به وسیله یک یا چندین سرور DHCP، به صورت اتوماتیک تبدیل می‌کند. حتی در شبکه‌های کوچک نیز DHCP مفید است، چرا که افزودن ماشین‌های جدید به شبکه را آسان می‌کند.
هنگامی که یک کاربر با پیکره بندی DHCP (یک کامپیوتر یا هر شبکه آگاه دیگر) به یک شبکه متصل می‌شود، کاربر یک پرسش را جهت درخواست اطلاعات لازم به سرور DHCP می‌فرستد. سرور DHCP یک حجم عظیم از آی پی آدرس‌ها و اطلاعات راجع به پارامترهای پیکره بندی کاربر مانند محل عبور پیش‌فرض (Default Gateway) , نام دامنه، نام سرور، سرورهای دیگر مانند سرویس دهنده زمان و غیره مدیریت می‌شود. در دریافت یک درخواست معتبر، سرور یک آی پی آدرس، یک اجاره نامه (مدت زمانی که تخصیص معتبر است) و دیگر پارامترهای پیکره بندی آی پی مانند subnet mask ومحل عبور پیش‌فرض (Default Gateway) را به کامپیوتر اختصاص می‌دهد. پرس و جو معمولاً بلافاصله پس از راه اندازی آغاز می‌شود و باید تا قبل از این که کاربر بتواند ارتباطات مبتنی بر آی پی با میزبانان دیگر را آغاز کند، کامل می‌شود. به این ترتیب، کامپیوترهای زیادی دیگری می‌توانند در مدت چند دقیقه از همان آی پی آدرس از یکدیگر استفاده کنند.
از آنجا که پروتکل DHCP باید به درستی و حتی بیشتر از کاربران DHCP که پیکره بندی شده‌اند کار کند، سرور DHCP و کاربر DHCP معمولاً باید به یک لینک شبکه متصل شوند. در شبکه‌های بزرگتر این عملی نیست. در چنین شبکه‌هایی، هر یک از لینک‌های شبکه شامل یک یا چند عامل تقویت‌کننده DHCP می‌باشند. این عوامل تقویت‌کننده، پیام‌ها را از کاربران DHCP دریافت نموده و آنهارا به سرورهای DHCP انتقال می‌دهد. سرورهای DHCP، پاسخ را به این تقویت‌کننده‌ها می‌فرستند و سپس این تقویت‌کننده‌ها پاسخ را به کاربران DHCP، بر روی لینک شبکه‌های محلی می‌فرستند.
بسته به نوع پیاده‌سازی، سرور DHCP برای تخصیص آی پی آدرس، یکی از سه روش زیر را خواهد داشت:
تخصیص پویا : مدیر شبکه محدوده خاصی از آی پی آدرس‌ها را به DHCP اختصاص می‌دهد، و هر کامپیوتر کاربر که بر روی شبکه داخلی (LAN) پیکره بندی شده‌است درخواست یک آی پی آدرس را از سرور DHCP در زمان مقدار دهی اولیه ارسال می‌کند. فرایند درخواست و اعطا با استفاده از مفهوم اجاره نامه در یک دوره زمانی خاص قابل کنترل است، که سرور DHCP اجازه تمدید (وپس از آن تخصیص دوباره) آی پی آدرس‌هایی را که هم‌اکنون تمدید نکرده‌است را می‌دهد.
تخصیص خودکار : سرور DHCP به‌طور دائم یک آی پی آدرس آزاد که توسط ادمین شبکه تعیین شده‌است را به کاربری که درخواست‌کننده می‌باشد، تخصیص می‌دهد. این همانند تخصیص پویاست، اما سرور DHCP یک جدول از تخصیص قبلی آی پی را نگه می‌دارد به‌طوری‌که می‌تواند به یک کاربر آی پی آدرسی را اختصاص دهد که قبلاً آن را داشته‌است.
تخصیص ثابت :سرور DHCP آی پی آدرس‌هایی مبتنی بر جدول جفت " مک آدرس / آی پی آدرس " اختصاص می‌دهد که این تخصیص دستی است (شاید توسط مدیر شبکه). فقط به کاربران با مک آدرسی که در لیست این جدول قرار دارند آی پی آدرس تخصیص داده خواهد شد. این ویژگی که توسط همه سرورهای DHCP پشتیبانی نمی‌گردد به‌طور وسیعی با نام تخصیص ثابت DHCP خوانده می‌شود.

DHCP Discovery (اکتشاف DHCP)

هر سرویس گیرنده (کاربر) برای شناسایی سرورهای DHCP موجود اقدام به فرستادن پیامی در زیر شبکه خود می‌کند. مدیرهای شبکه می‌توانند مسیریاب محلی را به گونه ایی پیکربندی کنند که بتواند بسته داده‌ای DHCP را به یک سرور DHCP دیگر که در زیر شبکه متفاوتی وجود دارد، بفرستد.
این مهم باعث ایجاد بسته داده با پروتکل UDP می‌شود که آدرس مقصد ارسالی آن ۲۵۵٫۲۵۵٫۲۵۵٫۲۵۵ یا آدرس مشخص ارسال زیر شبکه می‌باشد.
کاربر (سرویس گیرنده) DHCP همچنین می‌تواند آخرین آی پی آدرس شناخته شده خود را درخواست بدهد. اگر سرویس گیرنده همچنان به شبکه متصل باشد در این صورت آی پی آدرس معتبر می‌باشد و سرور ممکن است که درخواست را بپذیرد. در غیر اینصورت، این امر بستگی به این دارد که سرور به عنوان یک مرجع معتبر باشد. یک سرور به عنوان یک مرجع معتبر درخواست فوق را نمی‌پذیرد و سرویس گیرنده را مجبور می‌کند تا برای درخواست آی پی جدید عمل کند. یک سرور به عنوان یک مرجع غیرمعتبر به سادگی درخواست را نمی‌پذیرد و آن را به مثابهٔ یک درخواست پیاده‌سازی از دست رفته تلقی می‌کند؛ و از سرویس گیرنده می‌خواهد درخواست را لغو و یک آی پی آدرس جدید درخواست کند.

DHCP Offer (پیشنهاد DHCP)

زمانی که یک سرور DHCP یک درخواست را از سرویس گیرنده (کاربر) دریافت می‌کند، یک آی پی آدرس را برای سرویس گیرنده رزرو می‌کند و آن را با نام DHCP Offer برای کاربر می‌فرستد. این پیام شامل: MAC آدرس (آدرس فیزیکی دستگاه) کاربر؛ آی پی آدرسی پیشنهادی توسط سرور؛ Subnet Mask آی پی؛ زمان تخصیص آی پی (lease Duration) و آی پی آدرس سروری می‌باشد که پیشنهاد را داده‌است.

DHCP Request (درخواست DHCP)

سرویس گیرنده با یک درخواست به مرحله پیشین پاسخ می‌گوید. یک کاربر می‌تواند پیشنهادهای‌های مختلفی از سرورهای متفاوت دریافت کند. اما فقط می‌تواند یکی از پیشنهادها را بپذیرد.
بر اساس تنظیمات شناسایی سرور در درخواست و فرستادن پیام‌ها (identification option)، سرورها مطلع می‌شوند که پیشنهاد کدام یک پذیرفته شده‌است. هنگامی که سرورهای DHCP دیگر این پیام را دریافت می‌کنند، آن‌ها پیشنهادهای دیگر را، که ممکن است به کاربر فرستاده باشند، باز پس می‌گیرند و آن‌ها را در مجموعه آی پی‌های در دسترس قرار می‌دهند.

DHCP Acknowledgement (تصدیق DHCP)

هنگامی که سرور DHCP، پیام درخواست DHCP را دریافت می‌کند، مراحل پیکربندی به فاز پایانی می‌رسد. مرحله تصدیق شامل فرستادن یک بسته داده‌ای (DHCP Pack) به کاربر می‌باشد. این داده بسته‌ای شامل: زمان تخصیص آی پی یا هرگونه اطلاعات پیکربندی که ممکن بوده‌است که سرویس گیرنده درخواست کرده باشد، می‌باشد. در این مرحله فرایند پیکربندی آی پی کامل شده‌است.

مثال

یک مثال عینی برای استفاده از این پروتکل در شبکه‌های 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 جایگزین شوند.

نمونه‌ای در دیوار آتش IPFW

برای دادن ایده‌ای از چگونگی ظاهر تولید در پیکر بندی، قوانین زیر برای سرور جانبی دیوار آتش IP امکان تردد DHCP را فراهم می‌آورند.
DHCPd روی میانجی R۱۰ عمل می‌کند و نشانی‌ها را از ۱۹۲٫۱۶۸٫۰۰۱۲۴ تخصیص می‌دهد.