بروتوكول الإعداد الديناميكي للمضيف
DHCP إختصار لـ (Dynamic Host Configuration Protocol)وهوخدمة وبروتوكول يعملان معاً لتعيين عناوينIP وإعدادات تكوين TCP/IP الأخرى تلقائيا" إلى الحواسب في الشبكة، وذلك للتخلص من محدوديات ضبط TCP/IP وإدارة عناوين ال IP يدويًا. كل الحواسب على الشبكة يجب حتى تكون فهم بعنوان IP، يتم إسناد هذه العناوين إلى الحواسب إما يدوياً(وهذه تتطلب وقتاً) أوبإعداد مخدم DHCP ليقوم هوبإسناد هذه العناوين آليًاً إلى الحواسب.
نظرة تاريخية عن ال DHCP
كانت بدايات خدمة ال dhcp عام 1993 وقد عهدت في ذلك الوقت باسم bootstrap protocol وكانت تعمل وفق rfc 1531 stander وفي عام 1997 ظهرت النسخة التالية من هذه الخدمة والتي عهدت باسم dhcp من اجل internet protocol v4(ipv4)networkوقد عمل وفق rfc 2131 stander وقد اتى التطوير اللاحق من اجل التوافق مع ipv6 protocol والتي عملت وفق Rfc 3315 stander
كيفية عمل DHCP
إن عملية إسناد عنوان إلى حاسب على الشبكة تنقسم إلى أربعة مراحل :
DHCP Discover
وفيها يقوم الحاسب على الشبكة بطلب بالبحث عن مخدم DHCP ويسأل بشكل رئيسي عن عنوان IP وSubnet Mask(قد يزوده المخدم بمعلومات أخرى إضافية).
DHCP Offer
يقوم مخدم DHCPبعرض الإعدادات على الحاسب الطالب.
DHCP Request
يقوم الحاسب بقبول عنوان IP المقدم.
DHCP ACK
يقوم فيها المخدم بالتأكيد على قبول الحاسب لعنوان IP المعروض ليتم حجزه وعدم عرضه على حاسب آخر.
متى يحدث تعيين الإعدادت للأجهزة المضيفة، وكيف؟ عند بدء تشغيل الجهاز المضيف أوعند تشغيل بروتوكول الTCP/IP فإن الجهاز يتصل باجهاز الرئيسي ويطلب منه الIP فيقوم الخادم بإعطاء ال-IP وباقي الإعدادت للجهاز المضيف الزبون
ما هي هذه الإعدادات؟ هناك نوعان من الإعدادت التي يقوم هذا: النوع الأول: الإعدادت الإجبارية وهي ال-IP وال-Subnet Mask النوع الثاني: الإعددات الإختيارية وهي عنوان ال-DNS server وعنوان ال-WINS server وعنوان المخرج الإفتراضي (Default gateway).
كيفية طلب الإعدادات من السيرفر؟ عند بدء تشغيل الجهاز يقوم بإرسال رسالة طلب (Request) من السيرفر للحصول على IP، عندما يستقبل السيرفر هذه الرسالة فإنه يقوم بإرسال رسالة عرض (Offer) للجهاز يعرض عليه IP معين فيرسل له الجهاز رسالة تفهمه بانه قبل العرض (Accept) فيقوم السيرفر بدوره بإرسال رسالة إعلام بأنه قد سجل ال-IP له (Aknowledgment). وتسمى هذه العملية بعملية التأجير Lease.
طريقة العمل
يبدأ عملاء DHCP (وهي الحواسب في الشبكة التي تتطلب عناوين IP) الاتصال بالمخدمات عند بداية تشغيلها. يقوم الحاسب العميل بتوليد رسائل DHCPDISCOVER ويرسلها Broadcast.
وعندما يتلقى مخدم ال DHCP رسالة DHCPDISCOVER يقوم بتوليد رسالة DHCPOFFER تحتوي على عنوان IP ومدة إيجار هذا العنوان وعنوان IP الخاص بالمخدم الذي أوفد العرض وعنوان MAC للمخدم المرسل ويقوم بإرسالها Broadcast، لأن المخدم لا يعهد عنوان IP للحاسب المرسل (لأنه لا يملك عنوان IP أصلاً).
بعد فترة محدودة يتوقف العميل عن البث ويقبل أحد عناوين IP المقدمة، ولكي يشير إلى قبوله يقوم بتوليد رسالة DHCPREQUEST تحتوي على عنوان المخدم الذي قبل منه عرضه بالإضافة إلى عنوان IP الذي قد وافق عليه، ولأن العميل حتى الآن لم يتم تعيين عنوان IPله فإنه يرسل رسالة DHCPREQUEST Broadcast ليبّلغ المخدم بأن العميل Client قد قبل عرضه، كما يبّلغ المخدمات الأخرى على الشبكة بأن العميل قد رفض ما قدموه إليه.
عندما يتلقى المخدم رسالة DHCPREQUEST فإنه يخزن العنوان IP المقدّم والإعدادات الأخرى في قاعدة بياناته باستعمال هجريبة من العنوان الفيزيائي للعميل MAC Address والعنوان IP المقدّم، ولإنهاء هذه المحادثة عند هذا الحد يقوم المخدم بإرسال رسالة DHCPACK إلى العميل للإقرار باكتمال العملية، ويتم تثبيت هذا العنوان في حاسب العميل وفي قاعدة بيانات المخدم.
وفي النهاية ينّفذ العميل اختبار ترجمة العناوين ARP ليضمن عدم وجود جهاز آخر على الشبكة يستعمل عنوان IP المعين له، إذا لم يتلّق جوابًا عن رسالة ARP تكون معاملة DHCP قد انتهت ويدخل العميل إلى ما يسمى حالة مربوطة Bound • إذا كان المخدم لا يستطيع إكمال تعيين عنوان ال IP للعميل لسبب ما(كأنقد يكون عين العنوان IP المقدم من قبل إلى حاسب آخر مثلاً) فسيقوم المخدم بإرسال رسالة DHCPNACK إلى العميل وتبدأ العميلة بأكملها من جديد.
، إذا كان السيرفر معطل، ماذا يحدث ؟ يتم تعيين IP من المدى {169.254.255.255 - 169.254.0.0
لماذا وضعت بين قوسين (في الوضع الطبيعي)، ما المقصود؟ لأنه يمكن لسبب ما(تم تعيين مدة الإيجار لوقت لا محدود مثلا) حتى لا يقوم الزبون بطلب تجديد الإيجار بشكل أوتوماتيكي، وعندها يجب التجديد يدويا باستعمال الأمر: ipconfig /renew
هل تعني حتى هذه الخدمة تغنينا عن تعيين العناوين بشكل يدوي؟ نظريا نعم ولكن هناك بعض الأجهزة التي يجب حتى نعطيها IP بشكل يدوي حتى تعمل باقي الشبكة مثل السيرفر الرئيسي وال-DHCP وال-DNS والراوترز...الخ.
Superscope هوتعبير عن 2 scope أوأكثر تم دمجهما ليكونا شبكة واحدة فمثلا يمكن حتى ندمج الشبكتين 192.168.15.0 والشبكة 192.168.4.0 فيكونا شبكة واحدة ، أي أنه يتم تعيين العناوين للأجهزة من أي من الشبكتين.
الشكل التالي يوضح بيانات البروتوكول في جميع فترة
|
|
|
|
تجديد عنوان IP
يقوم الحاسب جميع فترة زمنية (مثلاً نصف مدة التأجير) بإعادة طلب استئجار عنوانه نفسه وذلك بإرسال رسالة DHCPREQUEST مباشرة إلى المخدم الذي تمت عملية التأجير منه فإذا كان المخدم ما زال موجوداً على الشبكة فإنه يرسل له رسالة DHCPACK تدل على تجديده لعملية الإيجار كما يزوده أيضاً بمعلومات الإعداد الأخرى. عندما لا ينجح الزبون بتجديد عقد الإيجار فإنه يرسل رسالة DHCPDISCOVER باستخدام broadcast لإعادة عملية الإيجار من البداية.
انظر أيضا
- DHCP snooping
- IP address, especially Static and dynamic IP addresses
- OMAPI — The API used by ISC Bind
- Peg DHCP RFC 2322
- Preboot Execution Environment (PXE)
- Reverse Address Resolution Protocol (RARP)
- Rogue DHCP
- udhcpc — light version for embedded systems
- Web Proxy Autodiscovery Protocol (WPAD)
- Zeroconf — Zero Configuration Networking
- UDP Helper Address — a tool for routing DHCP requests across subnet boundaries
المصادر
وصلات خارجية
- RFC 2131 - Dynamic Host Configuration Protocol
- RFC 2132 - DHCP Options and BOOTP Vendor Extensions
- DHCP RFC - Dynamic Host Configuration Protocol RFCs (IETF)
- RFC 4242 - Information Refresh Time Option for Dynamic Host Configuration Protocol for IPv6
- DHCP Sequence Diagram - This sequence diagram covers several scenarios of DHCP operation.
- RFC 3046, Recommended Operation for Switches Running Relay Agent and Option 82 describes how DHCP option 82 works
- RFC 3942 - Reclassifying Dynamic Host Configuration Protocol Version Four (DHCPv4) Options
- RFC 4361 - Node-specific Client Identifiers for Dynamic Host Configuration Protocol Version Four (DHCPv4)
- DHCP Protocol Messages - A good description of the individual DHCP protocol messages.
- ISC DHCP - Internet Services Consortium's open source DHCP implementation.