DHCP چیست ؟ DHCO سرور چیست ؟ معماری DHCP
DHCP سرور چیست و چگونه کار میکند؟
DHCP یک پروتکل مدیریت شبکه است که به هر دستگاه یا وسیلهای در شبکه یک IP اختصاص میدهد تا بهوسیله IP بتواند در شبکه با دیگران ارتباط برقرار نماید. DHCP این تنظیمات را بهصورت اتوماتیک و بهطور مرکزی مدیریت میکند و نیازی نیست که مدیران شبکه بهصورت دستی آدرسهای IP را به تمام دستگاهها اختصاص دهند. DHCP را میتوان در شبکههای محلی کوچک و همچنین شبکههای بزرگ سازمانی پیاده سازی کرد.
DHCP (پروتکل پیکربندیهاست بهصورت پویا)
هنگامیکه دستگاهی در شبکه جابهجا میشود DHCP بهصورت خودکار آی پی جدیدی به آن اختصاص میدهد. بدان معناست که دیگر نیازی نیست هر دستگاه را بهصورت مجزا پیکربندی کرده و یا بهمحض جابهجایی دستگاه بهصورت دستی به آن IP اختصاص دهند. ورژن های مختلفی از DHCP سازگار با IP4 و IP6 وجود دارد.
DHCP چیست؟
DHCP مخفف Dynamic Host Configuration Protocol و به معنای “پروتکل کانفیگ هاست پویا (داینامیک)” است. این پروتکل قادر است سرور را فعال کند تا به طور خودکار به کامپیوتری که در محدوده اعداد مشخصشده برای کانفیگ شبکه است ،Ip address اختصاص دهد. علاوه بر این، DHCP یک وظیفه مهم دیگر نیز دارد: مدیریت پیکربندی شبکه برای subnet mask ،default Gateway و همچنین. سرویس DNS .
معماری پروتکل DHCP
برای درک بهتر جدول بالا، توضیحات زیر لازم است:
- OpCode: نمایانگر نوع کد (درخواست یا پاسخ)
- Hardware Type: نمایانگر نوع آدرس سختافزاری موجود در Client Hardware Address
- Hardware Length نمایانگر طول آدرس سختافزاری موجود در Client Hardware Address
- Hops نمایانگر تعداد روترهای در مسیر بین کلاینت و سرور
- Transaction ID شناسه یکتا
- Seconds Elapsed بازه زمانی سپریشده از تخصیص آی پی
- Flags نمایانگر فلگ یا پرچمهای بسته
- Client IP Address نمایانگر آدرس آی پی کلاینت
- Your IP Address نمایانگر آیپی فعلی کلاینت را مشخص میکند
- Server IP Address نمایانگر آدرس آی پی سرور بعدی
- Gateway IP Address آدرس آی پی Gateway (در صورت نیاز)
- Client Hardware Address نمایانگر آدرس سختافزاری کلاینت
- Server Host Name نمایانگر نام سرور DHCP
- Boot File حاوی Boot File برای کلاینتهای درخواستکننده این فایل
- Option یک فیلدی اختیاری شامل موارد دیگری مانند NTP سرور.
وظایف DHCP
DHCP آی پی آدرس را زمانی که سیستم استارت میشود، اختصاص میدهد. فرآیند اختصاص آی پی به سیستم به صورت زیر است :
- ابتدا کاربر با استفاده از DHCP client اقدام به روشن کردن کامپیوتر مینماید.
- سپس کامپیوتر client یک درخواست پخش (broadcast request ) که discover یا DHCPDISCOVER نامیده میشود، ارسال میکند تا DHCP سروری را برای جواب پیدا کند.
- آنگاه روتر ، پکت DISCOVER را مستقیما به DHCP سرور صحیح متصل میکند.
- بعد از آن سرور بستههای discover را دریافت میکند. البته بر اساس در دسترسبودن و مجوزهای استفاده، سرور یک آدرس مناسب را تعیین میکند تا آن را به مشتری client بدهد. بعد از آن به طور موقت، سرور آن آدرس را برای مشتری رزرو میکند و برای او یک بسته پیشنهادی با همان اطلاعات آدرس ارسال میکند. سرور همچنین اقدام به کانفیگکردن DNS سرورها، WINS سرورها ، NTP سرورها و دیگر سرویس ها مینماید.
- حالا مشتری یک بسته درخواست ارسال میکند که به سرور اعلام کند قصد استفاده از آدرس مذکور را دارد.
- در انتها ، سرور بسته ACK ( مخفف Acknowledge به معنای تصدیق ، وصول) را ارسال کرده تا به مشتری اعلام کند آن آدرس برای مدت محدودی به او اصطلاحا اجاره داده شده است.
زمانی که کامپیوتر از IP استاتیک استفاده میکند، به این معناست که کامپیوتر به صورت Manually برای گرفتن IP مشخص کانفیگ شده است. البته یکی از مشکلاتی که در تخصیص IP های استاتیک وجود دارد که باعث ایجاد خطای کاربر یا عدم توجه به جزئیات میشود، وقتی که 2 کامپیوتر با یک آی پی آدرس کانفیگ میشوند که در نهایت باعث ایجاد تداخل و از بین رفتن منابع میشود.
بنابراین استفاده از DHCP که IP آدرس داینامیک اختصاص دهد، این تداخلها را کاهش می دهد.
شیوه عملکرد DHCP چگونه است؟
DHCP در لایه اپلیکیشن پروتکل TCP/IP کار میکند تا بهصورت خودکار IP را به کلاینت ها اختصاص دهد و اطلاعات پیکربندی TCP/IP را روی کلاینتها اعمال نماید. DHCP نهتنها اختصاص دهندهی آیپی آدرس است، بلکه مدیریت پیکربندی شبکه برای subnet mask ،default Gateway و سرویس DNS نیز بر عهدهی این پروتکل است.
DHCP یک پروتکل کلاینت-سرور است که در این سرور مجموعهای از IP آدرسهای منحصربهفرد و همچنین اطلاعات مربوط به پارامترهای کلاینتها وجود دارد، و هر بار یک IP آدرس را از میان Address Pool اختصاص میدهد. کلاینت های فعالشده DHCP هر زمان که به یک شبکه متصل شوند، یک درخواست به سرور DHCP ارسال میکنند.
کلاینتهایی که توسط DHCP پیکربندیشدهاند، یک درخواست broadcast برای سرور DHCP ارسال میکنند و اطلاعات پیکربندی شبکهای را که به آن متصل هستند درخواست میکنند. یک کلاینت بهصورت معمول بلافاصله بعد از بوت شدن یک درخواست broadcast برای دریافت این اطلاعات ارسال میکند. سرور DHCP با ارائه اطلاعات پیکربندی IP که قبلاً توسط یک مدیر شبکه مشخصشده است، به درخواست کلاینت پاسخ میدهد. این اطلاعات شامل یک آی پی آدرس مشخص است که برای مدت معینی اختصاص دادهشده و lease نامیده میشود. بعد از پایان این مدت کلاینت مجدداً درخواست خود را ارسال میکند و ممکن است DHCP آی پی دیگری را اختصاص دهد. این امر بستگی به سیاستهایی دارد که توسط مدیران مشخصشده است.
سرور DHCP اطلاعات تمام آی پی آدرسهای اختصاص دادهشده به کلاینتها را نگهداری میکند. اگر دستگاهی در شبکه جابهجا شود سرور DHCP با توجه به MAC آدرس آن را شناسایی میکند و مانع از تخصیص یک آی پی یکسان به چندین دستگاه میشود.
DHCP یک پروتکل مسیریابی نیست، یک پروتکل امن هم محسوب نمیشود. DHCP پروتکلی برای شبکههای محلی LAN به شمار میرود. این بدان معناست که یک سرور DHCP برای هر شبکه کافی است. میتوان از 2 سرور برای failover استفاده کرد. سازمانهای بزرگتر ممکن است دارای یک شبکه گسترده WAN باشند که در مکانهای مختلفی مستقرشده است. با توجه به نوع ارتباط بین مراکز مختلف و تعداد کلاینتهای در هر مرکز، راهاندازی DHCP های چندگانه میتواند برای مدیریت نیازها راه حلی مناسب باشد. اگر مدیران شبکه تصمیم دارند از یک DHCP سرور برای آدرسدهی به چندین شبکه مختلف استفاده نمایند باید سرویس رله DHCP را بر روی روترهایی که درخواستهای ارسالی به DHCP از روی آنها عبور میکند فعال نمایند. این سرویس درخواستهای بین DHCP سرور و کلاینتهایی که در شبکههای مختلف قرار دارند را رله میکند.
DHCP فاقد هرگونه مکانیزم داخلی است که سرور و کلاینت بتوانند هویت یکدیگر را تائید نمایند درنتیجه هر دوی آنها در برابر سیستمهای نفوذی و حملهها آسیبپذیر هستند (یک کامپیوتر میتواند تظاهر کند که هر یک از این دو سیستم است).
مقایسه DHCP استاتیک و پویا
با DHCP پویا، آی پی اختصاصیافته در انحصار کلاینت نیست و اصطلاحاً برای مدت معینی در اجاره کلاینت است. هرگاه یک کلاینت با آی پی آدرس پویا روشن میشود باید برای درخواست آی پی یک درخواست به DHCP ارسال کند. دستگاههای بیسیم نمونهای از دستگاههایی هستند که هنگام اتصال به شبکه آی پی پویا دریافت میکنند.
دستگاههایی که به آنها آیپیهای استاتیک اختصاص میدهند بهصورت دائمی مالک آن آیپیها محسوب میشوند. این شیوه تخصیص آی پی معمولاً برای دستگاههایی مانند سوییچها و وب سرورها مورداستفاده قرار میگیرد.
تحت یک پیکربندی پویای DHCP ممکن است کلاینت برای انجام یک سری از فعالیتهای خاص نیاز داشته باشد که از شبکه قطع شود و مجدداً با آی پی دیگری به شبکه وصل شود. مدتزمان lease با توجه به میزان دسترسی به اینترنت در قسمتهای مختلف شبکه ممکن است متفاوت باشد. زمانی که این مدتزمان به پایان میرسد اگر دستگاهها هنوز آنلاین باشند مجدداً، درخواست تمدید آن را میکنند. ممکن است DHCP بهجای اختصاص همان آی پی به آنها، آی پی آدرس جدیدی را به آنها تخصیص دهد.
چرخه تخصیص IP در DHCP پویا به شرح زیر است:
- از طریق پروسه درخواست از DHCP سرور، یک IP به کلاینت اختصاص داده میشود.
- اگر یک کلاینت یک آی پی lease در اختیار داشته باشد باید برای تخصیص مجدد IP بعد از ریست کردن دستگاه یک درخواست جدید به DHCP ارسال کند.
- اگر سیستم پیش از اینکه مدتزمان تخصیص از میان برود به شبکه برگردد یا در شبکه بماند، آیپی آن تغییر نمیکند.
- در غیر این صورت IP جدیدی به دستگاه اختصاص داده میشود.
- هر دستگاه در شبکه میتواند درخواست تجدید تخصیص DHCP کند
- اگر یک کلاینت به یک شبکه دیگر منتقل شود، آدرس IP پویای آن از بین میرود و باید یک IP آدرس جدید از سرور DHCP شبکه جدید درخواست کند.
-
تاریخچه DHCP
DHCP برای اولین بار در سال ۱۹۹۳ توسط سازمان IETF معرفی شد. DHCP یک پروتکل بهبود یافته از پروتکل مدیریت IP قدیمیتر به نام BOOTP محسوب میشود.DHCP بهمراتب پیشرفتهتر است و سرور DHCP میتواند به درخواستهای کلاینتهای BOOTP در موجود در شبکه در صورت نیاز پاسخ دهد. استفاده کردن از یک سرور مرکزی BPPTP برای تخصیص IP به کلاینتهایی که در شبکههای مختلف قرار دارند، درواقع بدان معناست که BOOTP بهعنوان یک عامل رله عمل میکند و اجازه میدهد که بستههای BOOTP در سراسر شبکه عبور کنند. بااینحال BOOTP برای انجام تنظیمات هر کلاینت احتیاج به یک فرآیند دستی داشت و فرآیندی مکانیزه برای تخصیص مجدد آیپیهایی که دیگر در حال استفاده نیستند وجود نداشت. امروزه سرویس DHCP به خوبی این نیازها را مدیریت میکند.
هر سیستم برای اتصال به شبکه نیازمند یک IP آدرس درست است؛ DHCP این کار را برای سیستم انجام میدهد.
مزایا و معایب استفاده از DHCP
شاید تنها نقطه ضعف برجسته استفاده از DHCP، همان تداخل IP است. همچنین یافتن یک سرور مناسب و نگهداری از آن برای DHCP آسان نیست. اما در عوض ویژگیهای مثبت استفاده از این پروتکل بسیار زیاد است که از مهمترین آنها میتوان به موارد زیر اشاره کرد:
- ادمین نیاز به این که برای هر کلاینت شبکه را به صورت دستی کانفینگ کند، ندارد.
- در ارائه IP به کلاینتها بهینهسازی صورت گرفته و IPهای جدید آزادشده به صورت اتوماتیک در اختیار کلاینتها قرار میگیرد.
- مدیریت کاربران و افزودن کلاینتهای جدید به شبکه تسهیل مییابد.
- در صورت تغییر access Point شبکه، نیاز به پیکربندی دستی مجدد کلاینت توسط ادمین نیست
DHCP، یک پروتکل حیاتی
با توضیحاتی که در مقاله ذکر شد، میتوان گفت که پروتکل DHCP یکی از پروتکلهای حیاتی در شبکه است که در فرآیند اتصال سیستم به شبکه نقش کلیدی ایفا میکند. از این رو توجه به این پروتکل و آشنایی با روند فعالیت آن میتواند درک کاربر را از شبکه و پیچیدگیهایش بالا ببرد.
دیدگاهتان را بنویسید