بروتوكول الإعداد الديناميكي للمضيف

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 فيكونا شبكة واحدة ، أي أنه يتم تعيين العناوين للأجهزة من أي من الشبكتين.


الشكل التالي يوضح بيانات البروتوكول في كل مرحلة

DHCPDISCOVER
UDP Src=0.0.0.0 sPort=68
Dest=255.255.255.255 dPort=67
OPHTYPEHLENHOPS
0x010x010x060x00
XID
0x3903F326
SECSFLAGS
0x00000x0000
CIADDR
0x00000000
YIADDR
0x00000000
SIADDR
0x00000000
GIADDR
0x00000000
CHADDR
0x00053C04
0x8D590000
0x00000000
0x00000000
192 octets of 0's. BOOTP legacy
Magic Cookie
0x63825363
DHCP Options
DHCP option 53: DHCP Discover
DHCP option 50: 192.168.1.100 requested
DHCP option 55: Parameter Request List:

Request Subnet Mask (1), Router (3), Domain Name (15),

Domain Name Server (6)
DHCPOFFER
UDP Src=192.168.1.1 sPort=67
Dest=255.255.255.255 dPort=68
OPHTYPEHLENHOPS
0x020x010x060x00
XID
0x3903F326
SECSFLAGS
0x00000x0000
CIADDR
0x00000000
YIADDR
0xC0A80164
SIADDR
0xC0A80101
GIADDR
0x00000000
CHADDR
0x00053C04
0x8D590000
0x00000000
0x00000000
192 octets of 0's. BOOTP legacy
Magic Cookie
0x63825363
DHCP Options
DHCP option 53: DHCP Offer
DHCP option 1: 255.255.255.0 subnet mask
DHCP option 3: 192.168.1.1 router
DHCP option 51: 86400s (1 day) IP lease time
DHCP option 54: 192.168.1.1 DHCP server
DHCP option 6: DNS servers 9.7.10.15, 9.7.10.16, 9.7.10.18
DHCPREQUEST
UDP Src=0.0.0.0 sPort=68
Dest=255.255.255.255 dPort=67
OPHTYPEHLENHOPS
0x010x010x060x00
XID
0x3903F326
SECSFLAGS
0x00000x0000
CIADDR
0x00000000
YIADDR
0xC0A80164
SIADDR
0xC0A80101
GIADDR
0x00000000
CHADDR
0x00053C04
0x8D590000
0x00000000
0x00000000
192 octets of 0's. BOOTP legacy
Magic Cookie
0x63825363
DHCP Options
DHCP option 53: DHCP Request
DHCP option 50: 192.168.1.100 requested
DHCP option 54: 192.168.1.1 DHCP server.
DHCPACK
UDP Src=192.168.1.1 sPort=67
Dest=255.255.255.255 dPort=68
OPHTYPEHLENHOPS
0x020x010x060x00
XID
0x3903F326
SECSFLAGS
0x00000x0000
CIADDR (Client IP Address)
0x00000000
YIADDR (Your IP Address)
0xC0A80164
SIADDR (Server IP Address)
0xC0A80101
GIADDR (Gateway IP Address switched by relay)
0x00000000
CHADDR (Client Hardware Address)
0x00053C04
0x8D590000
0x00000000
0x00000000
192 octets of 0's. BOOTP legacy
Magic Cookie
0x63825363
DHCP Options
DHCP option 53: DHCP ACK
DHCP option 1: 255.255.255.0 subnet mask
DHCP option 3: 192.168.1.1 router
DHCP option 51: 86400s (1 day) IP lease time
DHCP option 54: 192.168.1.1 DHCP server
DHCP option 6: DNS servers 9.7.10.15, 9.7.10.16, 9.7.10.18

تجديد عنوان IP

يقوم الحاسب كل فترة زمنية (مثلاً نصف مدة التأجير) بإعادة طلب استئجار عنوانه نفسه وذلك بإرسال رسالة DHCPREQUEST مباشرة إلى المخدم الذي تمت عملية التأجير منه فإذا كان المخدم ما زال موجوداً على الشبكة فإنه يرسل له رسالة DHCPACK تدل على تجديده لعملية الإيجار كما يزوده أيضاً بمعلومات الإعداد الأخرى. عندما لا ينجح الزبون بتجديد عقد الإيجار فإنه يرسل رسالة DHCPDISCOVER باستخدام broadcast لإعادة عملية الإيجار من البداية.

انظر أيضا


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

المصادر

وصلات خارجية

  • 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.