DHCP چیست؟ | + کاربرد و طرز کار به زبان ساده
در این نوشته از مجله فرادرس با «پروتکل پیکربندی پویای میزبان» (Dynamic Host Configuration Protocol | DHCP) آشنا میشویم. DHCP یک پروتکل مدیریت شبکه است که به منظور تخصیص پویای آدرس IP به یک تجهیز یا نود (Node) شبکه مورد استفاده قرار میگیرد. این پروتکل که به لحاظ سابقه، نسخهای به روز شده از پروتکل Bootstrap در سال 1985 میلادی به حساب میآید تخصیص IP به تجهیزات شبکه را اتوماتیک و متمرکز کرده و ادمین شبکه را از پیکربندی دستی تجهیزات جهت تخصیص IP بینیاز میکند. سرویس DHCP میتواند در شبکههای کوچک محلی (یک شبکه LAN) یا شبکه شرکتهای بزرگ (مثلا یک شبکه WAN) به کار گرفته شود. همچنین نسخههای مختلف DHCP برای شبکههای مبتنی بر آدرسهای IPv4 و IPv6 موجود هستند. در ادامه بیشتر به این موضوع میپردازیم که نحوه کار DHCP چیست و استفاده از آن چه مزایایی را به همراه دارد.
DHCP چگونه کار می کند؟
DHCP پروتکلی است که آدرسهای IP و همچنین اطلاعات پیکربندی TCP/IP را به کلاینتهای شبکه تخصیص میدهد. اطلاعات مذکور شامل «اطلاعات Subnet Mask»، «آدرس آیپی Default Gateway» و آدرس سیستم نام دامنه (Domain Name System | DNS) میشود.
DHCP پروتکلی مبتنی بر معماری کلاینت-سرور است که در آن سرورها مخزنی (Pool) از آدرسهای IP یکتا را مدیریت کرده و برخی پارامترهای مربوط به پیکربندی را برای کلاینتها ارسال میکنند. جزئیات این فرایند به این شرح است که ابتدا کلاینتهای کانفیگ شده با DHCP پیامی (DHCP discover) را به صورت پخش همگانی (broadcast) برای سرورهای DHCP میفرستند تا سرورها IP و اطلاعات لازم جهت پیکربندی شبکه را به کلاینتها ارسال کنند. پیام کلاینتها بلافاصله بعد از راهاندازی و روشن شدن آنها ارسال میشود. سپس سرور DHCP پاسخ به این پیام کلاینتها (DHCP offer) را با ارسال IP و اطلاعات مربوطه که قبلا از طرف ادمین شبکه مشخص شده است میفرستد.
همراه با آدرس IP، دوره زمانی که این آدرس IP طی آن دوره معتبر است هم فرستاده میشود. به این دوره زمانی، زمان اجاره یا «Lease» گفته میشود. مجددا کلاینت یک بسته درخواست (DHCP request) به سرور ارسال کرده و اعلام میکند که قصد استفاده از آدرس پیشنهاد شده از طرف سرور را دارد. در انتها سرور بسته تأیید درخواست (DHCP Ack) را به سوی کلاینت ارسال کرده و از این طریق تأیید میکند که آدرس مورد نظر برای مدت زمان تعیین شده اجاره داده شده است.
چنانچه جابجایی درون شبکه داشته باشیم و موقعیت یکی از تجهیزات در شبکه عوض شود باز هم نیازی به دخالت ادمین شبکه جهت تخصیص IP جدید به آن تجهیز نبوده و DHCP خود به طور اتوماتیک، IP معتبر جدیدی را به آن تجهیز تخصیص میدهد. سرور DHCP با استفاده از آدرس مک (Media Access Control | MAC) موقعیت جدید تجهیز را تشخیص داده و از پیکربندی نامناسب تجهیزات با IP-های تکراری جلوگیری میکند.
ویژگی های DHCP چیست؟
DHCP در لایه اپلیکیشن از مدل «اتصال سامانههای باز» (Open Systems Interconnection | OSI) کار میکند. پیشتر در مجله فرادرس راجع به این مدل و سایر مدلهای شبکههای کامپیوتری صحبت کردهایم.
سرویس DHCP میتواند فقط محدود به یک شبکه LAN باشد. در واقع یک سرور DHCP برای هر شبکه LAN کافی است. مگر آن که دو سرور داشته باشیم که یکی سرور اصلی بوده و دیگری به صورت پشتیبان عمل کرده و در صورت از کار افتادن سرور اول عمل کند. اما در مورد شبکههای بزرگتر که ممکن است یک شبکه WAN گسترده در چندین مکان جغرافیایی مختلف باشد، بسته به ارتباطات بین نقاط و تعداد کلاینتها در هر ناحیه، چندین سرور DHCP میتوانند وجود داشته باشند تا عملیات تخصیص و توزیع IP-ها را بر عهده بگیرند. در این حالت وقتی که یک سرور DHCP میخواهد برای subnet های مختلف بر روی شبکه آدرس مناسب را فراهم کند نیاز به سرویس DHCP relay خواهد بود. در اینجا Relay agent وظیفه ارسال پیام درخواست بین کلاینتها و سرورها را برعهده میگیرد.
DHCP یک پروتکل امن یا پروتکلی قابل ردیابی نیست. DHCP هیچ گونه مکانیسم داخلی جهت توانمند کردن سرورها و کلاینتها در راستای شناسایی همدیگر ندارد. بنابراین سرورها و کلاینتها هر دو آسیبپذیر بوده و ممکن است مورد حمله واقع شوند. مثلا ممکن است که هر کلاینت غیر مرتبط با شبکه مورد نظر بتواند به سرور متصل شده و آدرسهای IP قابل ارائه از طرف سرور را اشغال کند.
همچنین موضوع DHCP lease-های دینامیک در برابر DHCP lease-های استاتیک از ویژگیهای دیگری است که لازم است مورد اشاره قرار گیرد. در حالت دینامیک، کلاینت صاحب آدرس IP اختصاص داده شده به آن نیست. بلکه آن را برای یک دوره زمانی مشخص اجاره کرده است و پس از پایان این دوره بایستی با سرور ارتباط برقرار کرده و درخواست IP جدید بدهد. تجهیزات بدون سیم معمولا در اتصال به شبکه از این نوع IP دینامیک استفاده میکنند. اما برای تجهیزات استاتیک مثل سرورهای وب و سوئیچها آدرسهای IP دائمی اختصاص داده میشود. به عبارت دیگر DHCP lease برای این تجهیزات از نوع استاتیک است.
اجزای سرویس DHCP چیست؟
DHCP از چندین جزء مختلف همچون سرور، کلاینت و رله تشکیل شده است. اجزای دیگری مثل مخزن آدرسهای IP، زمان lease و پروتکل ارتباطات DHCP نیز هستند.
- سرور DHCP: به طور معمول، یک سرور DHCP یک روتر یا ابزاری از شبکه است که سرویس DHCP بر روی آن اجرا شده است. سرور DHCP خود یک فایل کانفیگ دارد که به کمک آن آدرسهای IP و اطلاعات کلاینتها را در خود نگه میدارد.
- کلاینت DHCP: کلاینت تجهیزی مثل یک کامپیوتر یا یک تلفن موبایل است که به شبکهای متصل شده و با سرور DHCP در ارتباط است.
- رله DHCP: رله DHCP پیامهای درخواست بین کلاینتها و سرورها را مدیریت میکند و معمولا از آن در شبکههای بزرگ استفاده میشود.
کاربردهای DHCP چیست؟
کاربرد اصلی DHCP تخصیص و توزیع آدرسهای IP درون یک شبکه به همراه پیکربندی مناسب subnet mask ،default gateway و اطلاعات سرور DNS بر روی تجهیزات شبکه است.
این روزها سازندگان تجهیزات الکترونیکی و لوازم خانگی به دنبال آن هستند که این وسایل جزئی از شبکه اینترنت اشیاء (Internet of Things | IOT) باشند. استفاده از DHCP روشی مناسب برای اتصال این تجهیزات به اینترنت است. تخصیص IP و ارسال اطلاعات مهم پیکربندی به وسایلی همچون یخچال، ماشین آبپاش چمنها و ... از طرف سرور DHCP قابل انجام است.
مزایا و معایب DHCP چیست؟
در بخش پایانی این نوشته از مجله فرادرس به تشریح مزایا و معایب سرویس DHCP میپردازیم.
DHCP کار ادمین شبکه در اضافه کردن و یا جابجایی عضوی در شبکه را آسانتر میکند. شبکه مورد اشاره میتواند یک شبکه LAN و یا شبکه WAN باشد. با استفاده از DHCP کار تخصیص IP با سرعت بالایی انجام شده و امکان مدیریت متمرکز شبکه فراهم میشود. همچنین با امکان استفاده مجدد از برخی از IP-ها، تعداد کل IP-های مورد نیاز برای شبکه کاهش مییابد. نکته مثبت دیگر آن است که امکان به روز کردن پیکربندی فضای آدرسها بر روی سرور DHCP وجود دارد؛ بدون آن که نیازی به پیکربندی مجدد کلاینتها باشد. DHCP به خصوص برای تلفنهای موبایل که معمولا به شبکههای گوناگون متصل میشوند قابلیت بسیار مفیدی به شمار میرود.
اما چنان که پیشتر گفتیم DHCP پروتکلی امن نبوده و ممکن است که افرادی غیرمرتبط با کلاینتهای DHCP به سرور متصل شده و در کار آن اختلال ایجاد کنند. همچنین اگر سرور DHCP سیستم بکاپ نداشته باشد ممکن است که در صورت مشکل پیدا کردن، کل شبکه با اختلال روبرو شود. به طور کلی، در غیاب سرور DHCP دسترسی کلاینتها به شبکه قطع میشود. بنابراین لازم است که سرور بکاپ هم در نظر گرفته شود.
یکی از حملات رایج به سرویس DHCP حملهای است که با نام حمله مرد میانی (Man in the Middle | MitM) شناخته میشود. در این حمله یک مهاجم گفتگوی بین دو هدف را استراق سمع میکند. حمله دیگری که ممکن است به یک سرور DHCP صورت بگیرد از نوع حملاتی است که با هدف تخریب حافظه سرور DHCP انجام میشوند.
سرانجام باید به این نکته نیز اشاره شود که گرچه DHCP با اختصاص اتوماتیک IP-ها از امکان ایجاد تداخل در IP-های شبکه جلوگیری میکند؛ اما گاهی ممکن است که خطایی در عملکرد این پروتکل ایجاد شده و تداخل IP رخ دهد. در این حالت معمولا خود پروتکل حین کار میتواند این مشکل را برطرف کند.