پروتکل DHCP و مکانیزم کاری آن به همراه ویدئو

DHCP چیست

پروتکل DHCP چیست؟

پروتکل پیکربندی میزبان پویا یا پروتکل DHCP یک پروتکل مدیریت شبکه است که برای خودکارسازی مراحل پیکربندی دستگاه ها در شبکه های IP استفاده می شود، و به آن ها این امکان را می دهد تا از خدمات شبکه مانند DNS ،NTP و هرگونه پروتکل ارتباطی مبتنی بر UDP یا TCP استفاده کنند. یک سرور DHCP به طور خودکار آدرس IP و سایر اطلاعات را به هر میزبان (Host) در شبکه اختصاص می دهد تا بتوانند با نقاط پایانی دیگر (endpoints) به طور موثر ارتباط برقرار کنند.

علاوه بر آدرس آی پی، DHCP همچنین Subnet Mask ،default gateway ،DNS و سایر پارامترهای پیکربندی مربوط را اختصاص می دهد. RFC 2131 و 2132، DHCP را به عنوان نیروی مهندسی اینترنت (IETF) تعریف می کند. پروتکل DHCP استانداردی بر اساس پروتکل BOOTP است.

توانایی شبکه کردن سریع و آسان دستگاه ها بسیار مهم است و اگرچه چندین دهه است که وجود دارد، DHCP یک روش اساسی برای اطمینان از اینکه دستگاه ها می توانند به شبکه ها بپیوندند و به درستی پیکربندی شوند، می باشد. پروتکل DHCP تا حد زیادی خطاهایی را که هنگام اختصاص آدرس IP به صورت دستی ایجاد می شود، کاهش می دهد و می تواند با محدود کردن مدت زمانی که یک دستگاه می تواند آدرس IP فردی را حفظ کند، آدرس های IP را گسترش دهد.

 


 

بیشتر بخوانید: DNS چیست؟

 


جهت آشنایی بیشتر با پروتکل DHCP ویدئو زیر را مشاهده نمایید:

 

تفاوت بین DHCP و BOOTP:

همانطور که در بالا گفته شد پروتکل DHCP به عنوان نسخه بهبود یافته پروتکل BOOTP شروع به کار کرد. این دو پروتکل در چند خصیصه مانند هم فعالیت می کنند، مثلا هر دو در مد Client/server کار می کنند و همچنین هر دو از شماره پورت های 67 و 68 استفاده می نمایند.

چهار پارامتر اساسی که BOOTP به مشتری تقدیم می نماید عبارتند از:

  • IP Address
  • Gateway Address
  • Subnet mask
  • DNS server Address

البته پروتکل BOOTP به صورت پویا آدرس IP را به مشتری اختصاص نمی دهد. هنگامیکه مشتری درخواست یک آدرس IP می نماید، سرویس دهنده BOOTP به دنبال یک جدول از پیش تعریف شده که داخل آن آدرس های MAC با IP برای مشتری های جفت شده است، می گردد. اگر ورودی با یکی از اطلاعات جدول تطبیق داشت، آدرس IP نظیر را به مشتری تخصیص می دهد. یعنی binding بین آدرس MAC و آدرس IP، قبلاً در سرویس دهنده BOOTP پیکربندی شده باشد و این در مقایسه با پروتکل DHCP دارای تفاوت نسبتاً زیادی می باشد و به هر حال پروتکل DHCP نسخه بهبود یافته و رفع عیب شده پروتکل BOOTP می باشد.

 

DHCP مدیریت آدرس IP را ساده می کند:

دلیل اصلی مورد نیاز پروتکل DHCP ساده سازی مدیریت آدرس های IP در شبکه ها است. هیچ دو میزبان نمی توانند آدرس IP یکسانی داشته باشند و پیکربندی دستی آنها احتمالاً منجر به خطا می شود. حتی در شبکه های کوچک، تعیین آدرس های IP به صورت دستی می تواند گیج کننده باشد، به ویژه در دستگاه های تلفن همراه که به طور غیر دائمی به آدرس IP نیاز دارند. خودکارسازی این فرآیند زندگی را برای کاربران و سرپرست شبکه آسانتر می کند.

 

اجزای DHCP:

هنگام کار با DHCP ، درک همه اجزا مهم است. در زیر لیستی از آنها و کارهایی که انجام می دهند آورده شده است:

 

ـ Server DHCP: دستگاهی شبکه ای که سرویس DCHP را اجرا می کند و آدرس های IP و اطلاعات پیکربندی مربوطه را در خود نگه می دارد که معمولاً سرور یا روتر است، اما می تواند هر چیزی باشد که به عنوان میزبان عمل می کند ، مانند دستگاه SD-WAN.

 

ـ DHCP Client: نقطه پایانی است که اطلاعات پیکربندی را از سرور DHCP دریافت می کند. این می تواند یک کامپیوتر، دستگاه تلفن همراه ، آی پی فون یا هر چیز دیگری باشد که به اتصال به شبکه نیاز دارد. اکثر آنها پیکربندی شده اند تا اطلاعات DHCP را به طور پیش فرض دریافت کنند.

 

ـ IP address pool: طیف وسیعی از آدرس هایی که برای سرویس گیرندگان DHCP در دسترس است. آدرس ها معمولاً به صورت متوالی از پایین به بالاترین تقسیم می شوند.

 

ـ Subnet: شبکه های IP را می توان به بخشهایی تقسیم کرد که تحت Subnet ها شناخته می شوند. زیر Subnet ها به مدیریت شبکه ها کمک می کنند.

 

ـ Lease: مدت زمانی است که یک DHCP Client اطلاعات آدرس IP را در اختیار دارد. وقتی قرارداد منقضی می شود، کلاینت باید آن را تمدید کند.

 

ـ DHCP Relay: روتر یا میزبانی که پیامهای کلاینت را که در شبکه پخش می شود، گوش می دهد و سپس آنها را به Server DHCP ارسال می کند. سپس سرور پاسخ ها را به DHCP Relay ارسال می کند و آنها را به سرویس گیرنده منتقل می کند. از ان می توان برای متمرکز کردن سرورهای DHCP به جای داشتن یک سرور در هر Subnet استفاده کرد.

 

ساختار پروتکل DHCP:

پروتکل DHCP

هر بسته 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 به صورت کلی 4 مرحله را طی می کند تا آدرس IP و پارامتر ها یا Option های مربوطه را به کلاینت اختصاص دهد که این 4 مرحله به فرآیند DORA معروف می باشد DORA اختصار یافته کلمات زیر است :

Discovery:

پیام Discover یا کشف اولین پیام در فرآیند DORA است که برای یافتن سرور DHCPدر شبکه استفاده می شود.

Offer:

هنگامی که سرور درخواست Discover را دریافت می کند، با درخواست DHCP Offer به سرویس گیرنده پاسخ می دهد. این پاسخ شامل اطلاعات مربوط به آدرس IP و مدت زمان اجاره (lease) است که میزبان می تواند از آن استفاده کند.

Request:

میزبان بسته Offer (پیشنهاد) را دریافت می کند و سپس با یک پیام Request پاسخ می دهد. این پیام به سرور می گوید که کلاینت، آماده پذیرش آدرس IP ای است که سرور پیشنهاد کرده است.

Acknowledgement:

سرور درخواست را از میزبان دریافت می کند. این پیام، پاسخی به پیام DHCP Request به میزبان است.این درخواست، تأیید DHCP را به میزبان ارسال می کند. که شامل آدرس IP و Subnet mask شبکه ای است که سرور برای میزبان مجاز کرده است. این آدرس IP توسط سرور به هیچ میزبان دیگری ارائه نمی شود.

 


 

بیشتر بخوانید: بررسی روند Dora درDHCP

 


 

نحوه ی پیکربندی داده ها توسط Server DHCP و مقادیر کلیدی آن:

پروتکل DHCP

جریان اصلی این است که یک سرور DHCP داده های پیکربندی را بر اساس سیاست ادمین شبکه، به یک کلاینت که درخواست IP کرده است ارسال می کند. پارامترهای رایج شبکه (که گاهی اوقات به عنوان ” DHCP Options ” نیز نامیده می شوند) شامل subnet mask، DNS ، Host name و Domain name است.

از آنجا که کلاینت درخواست کننده هنگام پیوستن به شبکه آدرس IP ندارد، درخواست را پخش (broadcast) می کند. بنابراین پروتکل در مراحل اولیه ارتباطات IP استفاده می شود. اگر از چنین پروتکل پویایی برای دریافت آدرس IP استفاده نشود ، کلاینت باید از آدرس IP از پیش تعیین شده ای استفاده کند که عموماً “آدرس IP استاتیک” نامیده می شود، که بصورت دستی پیکربندی شده است.

 

سرویس DHCP سه مقدار کلیدی را به ارمغان می آورد:

1) وظایف عملیات کاهش می یابد: مدیر شبکه دیگر نیازی به پیکربندی دستی هر کلاینت قبل از استفاده از شبکه ندارد.

2) برنامه آدرس دهی IP بهینه شده است: آدرس هایی که دیگر استفاده نمی شوند آزاد می شوند.

3) قابلیت جابجایی کاربر به راحتی مدیریت می شود: هنگام تغییر اکسس پوینت شبکه، مدیر نیازی به پیکربندی مجدد کلاینت ندارد.

 

مدیریت DHCP Lease Time:

اطلاعات آدرس IP تعیین شده توسط پروتکل DHCP فقط برای مدت محدودی معتبر است و به عنوان Lease DHCP شناخته می شود. مدت اعتبار را DHCP Lease Time می نامند. هنگامی که قرارداد اجاره منقضی می شود، کلاینت دیگر نمی تواند از آدرس IP استفاده کند و مجبور است تمام ارتباطات خود را با شبکه IP متوقف کند مگر اینکه درخواست ” rent” را از طریق چرخه تمدید اجاره DHCP تمدید کند.

برای جلوگیری از تأثیرات عدم دسترسی سرور DHCP در پایان مدت اجاره، کلاینت به طور کلی شروع به تمدید اجاره خود در نیمه راه دوره می کند. این فرایند تجدید تخصیص آدرس IP قوی به دستگاه ها را تضمین می کند. هر دستگاهی که هنگام ورود به شبکه آدرس IPv4 را بخواهد و پاسخی دریافت نکند از automatic private internet protocol addressing (APIPA) برای انتخاب آدرس استفاده می کند. این آدرس ها در محدوده شبکه /16169.254.0.0 هستند.

 

در چه سناریو هایی از DHCP استفاده می شود:

چهار سناریوی کلیدی استفاده از پروتکل DHCP وجود دارد:

  1. اتصال اولیه به کلاینت: کلاینت از سرور DHCP آدرس IP و سایر پارامترها را برای دسترسی به خدمات شبکه درخواست می کند.
  2. IP Usage Extension: سرویس گیرنده با سرور DHCP ارتباط برقرار می کند تا استفاده از آدرس IP فعلی خود را ادامه دهد
  3. اتصال به کلاینت بعد از ریستارت: کلاینت با سرور DHCP ارتباط برقرار می کند تا تأیید شود که می تواند از همان آدرس IP قبل از ریستارت استفاده کند.
  4. قطع ارتباط با کلاینت: سرویس گیرنده از سرور DHCP درخواست می کند آدرس IP خود را آزاد کند.

 

مزایای سرورهای DHCP:

علاوه بر مدیریت ساده، استفاده از سرور DHCP مزایای دیگر را فراهم می کند. این شامل:

1ـ پیکربندی دقیق IP: پارامترهای پیکربندی آدرس IP باید دقیق باشد و خطاهای تایپوگرافی معمولا برای رفع مشکل بسیار دشوار است و استفاده از سرور DHCP این خطر را به حداقل می رساند.

2ـ کاهش IP address conflict: هر دستگاه متصل باید یک آدرس IP داشته باشد. با این حال، هر آدرس فقط می تواند یک بار استفاده شود و یک آدرس تکراری منجر به یک درگیری شود که در آن یک یا هر دو دستگاه را نمی توان متصل کرد. این اتفاق زمانی می افتد که آدرس ها به صورت دستی تعیین می شوند، به ویژه هنگامی که تعداد زیادی از endpoint ها وجود دارد که فقط به صورت دوره ای، مانند دستگاه های تلفن همراه متصل می شوند. استفاده از پروتکل DHCP تضمین می کند که هر آدرس تنها یک بار استفاده می شود.

3ـ اتوماسیون مدیریت آدرس IP: بدون DHCP، مدیران شبکه باید به صورت دستی به سیستم ها IP اختصاص داده و لغو کنند. پیگیری مداوم این که کدام دستگاه دارای چه آدرس IP ای است سخت و مشکل ساز است. DHCP اجازه می دهد تا این کار به طور خودکار و متمرکز انجام شود به طوری که متخصصان شبکه می توانند تمام سیستم ها را از یک مکان واحد مدیریت کنند.

4ـ مدیریت تغییرات کارآمد: استفاده از پروتکل DHCP باعث می شود که آدرس ها، اسکوپ ها یا نقاط پایانی را تغییر دهید. به عنوان مثال، یک سازمان ممکن است بخواهد طرح آدرس IP خود را از یک محدوده به محدوده دیگر تغییر دهد. سرور DHCP با اطلاعات جدید پیکربندی شده و اطلاعات به نقطه های جدید ارسال می شود. به طور مشابه، اگر یک دستگاه شبکه ارتقا یافته و جایگزین شود، هیچ پیکربندی شبکه مجددی مورد نیاز نیست.

5ـ پیکربندی متمرکز و خودکار TCP/IP.

6ـ توانایی تعریف پیکربندی TCP/IP از یک مکان مرکزی.

7ـ امکان اختصاص طیف وسیعی از مقادیر پیکربندی TCP/IP با استفاده از گزینه های DHCP.

 

آشنایی با برخی اصطلاحات پروتکل DHCP:

در موضوع DHCP دو اصلاح فنی DHCP Scope و DHCP Option وجود دارد.

ـ DHCP Scope:

برای اینکه یک DHCP سرور بتواند به کلاینت، IP اختصاص دهد ابتدا باید برای DHCP server مشخص کنید که IP ها از چه رنجی باید به کلاینت ها اختصاص پیدا کند. به این محدوده آدرس DHCP Scope می گویند.

برای هر شبکه تنها می توان یک DHCP Scope  تعریف کرد. اما DHCP server شبکه به این شرط که به چند نتورک متفاوت متصل باشد می تواند چندین Scope متفاوت داشته باشد. زمانیکه پروتکل DHCP سرور به چند Scope خدمات می دهد حتما بیش از یک کارت شبکه روی این کامپیوتر قرار دارد که با هر کدام از آن ها به یک Network متصل است.

درتنظیمات هر DHCP server برای هر کارت شبکه حتما باید IP Static تنظیم شده باشد و این IP نیز باید از محدوده ای انتخاب بشود که DHCP server می خواهد از همان کارت شبکه به آن شبکه IP Address ارائه دهد. در نظر داشته باشید که به تعداد کارت های شبکه می توانید Scope داشته باشید و IP Range تعریف کنید.

ـ DHCP option:

پروتکل DHCP علاوه بر اختصاص IP قادر است تنظیمات دیگری را بر روی کلاینت ها اعمال کند. که عبارتند از :

ـ DNS Suffix 015
ـ DNS Server 006
ـ Default Gateway
ـ Wins Server
ـ Route r 003
ـ Domain Name
ـ Lease 051
ـ Renewal Time Value
ـ ReBinding  Time Value
ـ PXE Client

 


 

بیشتر بخوانید: Port Security چیست و چه کاربردی دارد؟


 

خطرات امنیتی پروتکل DHCP:

پروتکل DHCP نیاز به احراز هویت ندارد، بنابراین هر کلاینت می تواند به سرعت به یک شبکه بپیوندد. از این رو، تعدادی از خطرات امنیتی را باز می کند، از جمله سرورهای غیرمجاز که اطلاعات غیرمجاز را به کلاینت ها منتقل می کنند و آدرس IP به کلاینت های غیر مجاز یا مخرب داده می شود.

از آنجا که کلاینت هیچ راهی برای تأیید صحت یک سرور DHCP ندارد، می توان از آن برای ارائه اطلاعات شبکه نادرست استفاده کرد. این امر می تواند حملات denial-of-service attacks یا man-in-the-middle attacks را باعث شود که در آن یک سرور جعلی اطلاعاتی را که می تواند برای اهداف مخرب مورد استفاده قرار گیرد، منتشر می کند.

و به دلیل اینکه سرور DHCP هیچ راهی برای تأیید اعتبار مشتری ندارد، اطلاعات آدرس IP را به هر دستگاهی که درخواست می دهد، تحویل می دهد. یک هکر می تواند یک کلاینت را پیکربندی کند تا مداخلات خود را به طور مداوم تغییر دهد و به سرعت تمام آدرس های IP موجود در دامنه را از بین ببرد و مانع از دسترسی های شرکت از دسترسی به شبکه شود.

مشخصات DHCP برخی از این مسائل را حل می کند. یک گزینه اطلاعات مربوط به Relay وجود دارد که مهندسان را قادر می سازد پیام های DHCP را به عنوان آنها به شبکه متصل کنند. این برچسب را می توان برای کنترل دسترسی به شبکه استفاده کرد. همچنین یک تأییدیه برای تأیید اعتبار پیام های DHCP وجود دارد، اما مدیریت کلیدی می تواند پیچیده شود و تصویب شده است. استفاده از احراز هویت 802.1X، در غیر این صورت به عنوان کنترل دسترسی به شبکه (NAC) شناخته می شود، می تواند برای محافظت از DHCP استفاده شود.

 

بروز تداخل IP با DHCP:

شاید برای شما هم این سوال پیش بیاید که با وجود اینکه وظیفه خود پروتکل DHCP اختصاص IP می باشد، چگونه مشکل تداخل IP رخ می دهند. اما خوب متاسفانه این مشکل ایجاد می شود که دلیل آن خطا در سرور DHCP می باشد.

البته خود سرور DHCP گاها خود می ‌تواند خود این مشکل را برطرف نماید. در بیشتر مواقع در صورت مشاهده تداخل IP روی سیستم خود، آن ‌را نادیده بگیرید تا مشکل به خودی خود مرتفع شود. اگر مشکل حل نشد لازم است روتر را restart کنید. حتی اگر با این کار هم مشکل تداخل حل نشد، احتمالا مشکل بزرگتری در شبکه شما وجود دارد.

 


 

بیشتر بخوانید: مشکل تداخل آدرس IP

 


 

شما می توانید کلیه تجهیزات شبکه مورد نیاز خود را از بزرگترین فروشگاه اینترنتی تجهیزات شبکه با بهترین قیمت و کیفیت همراه با گارانتی معتبر خریداری نمایید.
محصول با موفقیت به سبد خرید اضافه شد.