بروتوكول تهيئة المضيف الآلية

بروتوكول تهيئة المضيف الآلية (بالإنجليزية: Dynamic Host configuration Protocol اختصارًا DHCP)‏ هو بروتوكول تطبيق[1] يعمل بحسب نموذج طلب الخدمة،[3] لإنجاز عملية التهيئة الآلية لمضيفي الإصدار الرابع من بروتوكول الإنترنت بعناوين الشبكة ومحددات التهيئة الأخرى. يُعرّف البروتوكول ثلاث أنواع للمضيفين في الشبكة، وهم: أولًا المُخدّم، وهو المضيف الذي يُقدّم خدمة التهيئة الذاتية [English]، وثانيًا العميل وهو المضيف الذي يحصل على خدمة التهيئة الآلية، وثالثًا الوكيل، وهو مضيف يلعب دور وسيط بين المُخدّم والعميل إذا كانا في شبكتين مُختلفتين.

بروتوكول تهيئة المضيف الآلية
ترويسة البروتوكول

اختصار DHCP
الوظيفة التهيئة الآلية لمضيفي الإصدار الرابع من بروتوكول الإنترنت
تاريخ التطوير 1993م
مبني على بروتوكول التمهيد [English] (BOOTP)
طبقة نموذج OSI تطبيق[1]
منافذ 67، 68[2]
وثيقة طلب التعليقات RFC RFC 2131

ابتدأ تطوير البروتوكول في العام 1993م، تحت إشراف مجموعة مهندسي شبكة الإنترنت، ثمّ وضع المعيار بشكله النهائي في العام 1997م، كوثيقة طلب تعليقات تحمل الرقم (RFC 2131).[4] يلعب البروتوكول دور مستودع مُحددات التهيئة في الشبكة، ويقوم بعملية التحصيص الآلي لفضاء عناوين [English] الإصدار الرابع من بروتوكول الإنترنت ويقدّم خدمة التهيئة الآلية للمضيفين في الشبكة. طوّر إصدار خاص من البروتوكول لدعم مضيفي الإصدار السادس من بروتوكول الإنترنت، وسمي بروتوكول التهيئة الآلية لمضيفي الإصدار السادس من بروتوكول الإنترنت.[5]

إن بروتوكول تهيئة المضيف الآلية واسع الانتشار على مستوى العالم ومدعوم في أنظمة التشغيل الأكثر شعبيّة مثل جنو/لينكس[6] وويندوز[7] وأندرويد[8] وماكنتوش.[9]

نظرة عامة

 
المصطلحات الخاصة بطوبولوجيا الشبكة في بروتوكول التهيئة الآليّة للمُضيفين.

بروتوكول التهيئة الآليّة للمضيفين هو بروتوكول تطبيق[1] يعمل بحسب نموذج طلب الخدمة،[3] يقوم بتزويد مُضيفي الإصدار الرابع من بروتوكول الإنترنت بمُحددات التهيئة، التي تشمل عناوين بروتوكول الإنترنت، وهو يقدّم بذلك خدمة التهيئة الذاتية [English] للمُضيفين سواء كانوا محليين أو بعيدين.[4] يُعرّف البروتوكول أيضًا آليّة لتحصيص فضاء عناوين الإصدار الرابع من بروتوكول الإنترنت إلى حصص مُحددة يُمكن منحها للمُضيفين. بحسب نموذج الاتصال المعياري، يعمل البروتوكول في طبقة التطبيق، ويعتمد على بروتوكول حزم بيانات المستخدم كبروتوكول نقل، ويستخدم رقمي المنفذ (67) و (68) المُخصصين بالأصل بروتوكول التمهيد [English].[2]

صُمم البروتوكول ليعمل بحسب نموذج طلب الخدمة، أي أنّه يُقسّم المضيفين في الشبكة إلى مُخدّمات وعملاء، أمّا العميل فهو مضيف في الشبكة يستخدم بروتوكول تهيئة المضيف الآلية للحصول على معلومات التهيئة، بما فيها عنوان بروتوكول الإنترنت، وأمّا المُخدّم فهو مُضيف في الشبكة يُقدّم محددات التهيئة لمن يطلبها من العملاء باستخدام بروتوكول التهيئة الآليّة للمضيفين.[10] لا يتم اختيار المُخدمات بشكل عشوائي من بين المُضيفين، بل يجب أن يتم تحديدها بشكلٍ واضح وصريح من قبل مشرفي الشبكة، وتزويدها بفضاء عناوين بروتوكول الإنترنت والمُحددات المستعملة.[11]

يدعم البروتوكول ثلاث أنواع من آليات التحصيص لفضاء بروتوكول الإنترنت،[12] الأول هو التحصيص الذاتي، وفيه يقوم البروتوكول بمنح العميل الذي طلب الخدمة عنوان بروتوكول إنترنت دائم. والثاني هو التحصيص الآلي، وفيه يقوم البروتوكول بمنح عنوان بروتوكول الإنترنت للمضيف الذي يطلب الخدمة لفترة زمنيّة مُحددة، أمّا الثالث فهو التحصيص اليدوي،(1) وفيه يقوم مُدير الشبكة أو المشرف على النظام بتحديد حصة مضيف ما يدويًّا، ويتمّ حفظ ذلك في المُخدّم، وتقتصر مهمة البروتوكول على نقل تلك الحصة إلى المُضيف عندما يطلب الحصول على خدمة التهيئة الآليّة. يمكن أن تُستخدم الأشكال الثلاثة من التحصيص معاً في نفس الشبكة،[13] وعندها تُحدد سياسات الشبكة هذه الاستخدامات.

إنّ التهيئة الآلية هي خيار للأنظمة التي تدعم عناوين الإصدار الرابع من بروتوكول الإنترنت، فالمُضيف يحصل على عنوان بروتوكول الإنترنت إمّا عن طريق التهيئة الآليّة أو عن طريق التهيئة الثابتة، التي تتطلب تدخلًا مباشرًا من مدير الشبكة أو مُشرف المضيف.[14] لاحقًا، أُضيفت التهيئة الذاتيّة كخيار ثالث في مُضيفي الإصدار السادس من بروتوكول الإنترنت.(2)[15] لقد صُمم بروتوكول التهيئة الآليّة للمضيفين بطريقة تسمح للعملاء بالحصول على معلومات التهيئة بشكلٍ آليّ بدون تدخل من قبل مدير الشبكة أو المشرف عليها، أي أنه لا يوجد معلومات محددة أو محددات خاصة يجب أن يمتلكها العميل ليتمكن من الحصول على خدمة التهيئة الآلية، ويكفي أن يكون العميل مُتصلًا مع الشبكة ويدعم المُتطلبات اللازمة لاستضافة بروتوكول الإنترنت عندما يلجأ إلى خيار التهيئة الآليّة.

يدعم مُخدم البروتوكول العملاء الموجودين في شبكته المحليّة وفي شبكات بعيدة،[4] فأمّا العملاء الموجودين في شبكة المخدم المحليّة، فيحصلون على خدمة التهيئة الآلية من خلال تبادل رسائل البروتوكول مع المخدم بشكل مباشر. في حين يعتمد العملاء الموجودون في شبكة بعيدة على وكيل البروتوكول (بالإنجليزية: Relay Agent)‏ من أجل نقل رسائل البروتوكول عبر الشبكة المتباعدة بين العملاء والمخدم، والوكيل هو مضيف إنترنت، أو مُوجّه يقوم بلعب دور الوسيط بين وكلاء لبروتوكول التهيئة الآليّة موجودين في شبكة الوكيل المحليّة، ومُخدّم بعيد للبروتوكول.[16] تتطلب عملية إعداد الوكيل إضافة معلومات التهيئة بشكلٍ يدوي فيه.[17]

إنّ خدمة التهيئة الآلية هي خدمة اختياريّة، ويمكن أن يتواجد مُضيفو بروتوكول إنترنت مع إعدادات مُهيّئة يدويًّا في الشبكة التي يعمل مُخدم التهيئة الآليّة فيها، ولكن ذلك يتطلب وجود إدارة مسبقة لفضاء العناوين،[18] بحيث تكون العناوين المُهيّئة بشكلٍ يدويّ في المُضيفين خارج مجال التحصيص الآليّ للبروتوكول، لضمان عدم استخدام نفس العنوان أكثر من مرة.[19] على أي حال، يضمن البروتوكول عدم استخدام أي عنوان من فضاء العناوين المُستعمل في عملية التحصيص أكثر من مرة واحدة،[20] كما يشمل على آليّات لتتبع معلومات التهيئة والعناوين المُستخدمة وربطها بالمضيفين الذين حصلوا عليها، بحيث يمكن أن يحصلوا عليها مرة أخرى بشكل مطابق عند طلب الخدمة مجددًا، ويشمل ذلك حالات إعادة إقلاع المضيفين أو المخدم نفسه.

تأثّر بروتوكول تهيئة المضيف الآلية ببروتوكول التمهيد،[21] إن رسائل بروتوكول التهيئة مُتوافقة من حيث البنية مع رسائل بروتوكول التمهيد، ويسمح ذلك بالتشغيل المشترك للبروتوكولين معًا في نفس الشبكة، بحيث يدعم مُخدّم بروتوكول التهيئة الآليّة وكلاء بروتوكول التمهيد وعملائه، أضاف بروتوكول التهيئة الآلية ميزتين لم تكونا موجودتين في بروتوكول التمهيد، الأولى هي منح عميل ما إمكانية لاستخدام عنوان بروتوكول إنترنت لفترة محدودة زمنيًّا بشكل آليّ، ثُمّ تحريره مُتيحًا بذلك إمكانيّة استخدام نفس العنوان مجددًا مع عميل آخر، والثانيّة هي منح العميل ميزة طلب المُحددات الخاصّة ببروتوكول الإنترنت أو بالخدمات التي تدعمها الشبكة والتي يحتاجها العميل للقيام بوظائفه بصورة سليمة.[22]

إنّ استعمال بروتوكول تهيئة المضيف الآلية واسع الانتشار، هو مدعوم في أنظمة التشغيل الأكثر استعمالًا في العالم مثل أندرويد[8] وويندوز[7] وماكنتوش[9] ولينوكس[6] وسيسكو[23] ومايكروتك.[24]

نبذة تاريخية

 
جزء من الصفحة الأولى من وثيقة طلب التعليقات (RFC 1541) الخاصة بمعيار بروتوكول تهيئة المضيف الآلية (DHCP)، تحتوي الصورة على مقدمة صغيرة، مختصر بمحتوى المعيار، بالإضافة لذكر تاريخ الإصدار واسم المؤلف.

جاء تطوّير بروتوكول التهيئة الآليّة للمضيفين ليكون نتيجة لمجموعة من الأعمال التي طوّرت بشكل منفصل، وكانت في جوهرها تهدف إلى إنجاز أجزاء مُختلفة من عملية التهيئة الذاتية [English] للمُضيفين بأقل تدخّل ممكن يدوي ممكن، دون أن وجود إطار جامع يوحد كل هذه الجهود، فوصفت وثيقة طلب التعليقات (RFC 951)[25] لبروتوكول التمهيد [English] في العام 1985م، وكان هدفه الأساسي تمكين المُضيف الذي لا يملك قرصاً صلباً من اكتشاف عنوان بروتوكول الإنترنت الخاص به، وعنوان مُخدّم تخزين الملفّات واسم الملف الذي يحتوي على نظام التشغيل لنقله إلى الذاكرة والإقلاع منه، على أن يتم كل ذلك بشكل آليّ.

بالتوازي مع ذلك، تمّ تطوير بروتوكولات أخرى تنجز بعض أجزاء عملية التهيئة الآلية أثناء قيامها بعملها، مثل بروتوكول نقل الملفات البسيط، الموصُوف قي الوثيقة (RFC 1350)،[26] الذي يقدم آليّة لنقل الملفات، وأيضاً بروتوكول دقة العناوين[27] الذي يسمح للمضيف باكتشاف العناوين الفيزيائية لمضيفين آخرين في الشبكة، وأيضاً بروتوكول رسائل التحكم في الإنترنت، الموصوف بالوثيقة (RFC 792)[28] والذي يسمح للمضيف عبر أحد خياراته باكتشاف عنوان المُوجّه المُتصل مع الشبكة المحلية.

أخيراً، وضعت وثيقتا طلب التعليقات (RFC 1122)[29] و (RFC 1123)[30] قائمة بمُتطلبات المضيف، شملت محددات التهيئة التي يحتاج إليها كل مضيف ليتمكن من الاتصال بشكل سليم مع الشبكة، كما اقترحتا آليّة لإقلاع المُضيف الذي لا يملك قرصاً صلباً. كانت الوثيقة (RFC 1531)[31] التي صدرت في شهر أكتوبر من العام 1993م، أول وثيقة مُخصصة لبروتوكول التهيئة الآليّة للمضيفين، ثُم أجريت عليها بعض التعديلات لتنتج الوثيقة (RFC 1541) التي صدرت في الشهر نفسه تحت عنوان «بروتوكول التهئية الآلية للمضيفين». لاحقاً في العام 1997م، صدرت الوثيقة (RFC 2131)[4] التي حملت الاسم نفسه، وتضمّنت مجموعة من التحديثات والإضافات، وهي المعيار الرسمي المُعتمد للبروتوكول اليوم، وقد كتب رالف دورمز (بالإنجليزية: Ralph Droms)‏ من جامعة بوكنل الوثائق المعيارية الثلاثة السابقة، أمّا الوثيقة (RFC 2132) فتضم قائمة بالخيارات التي يمكن للبروتوكول أن يُستعملها.[32]

لاحقاً في العام 2003م، أُصدر المعيار الخاص ببروتوكول التهيئة الآلية لمُضيفي الإصدار السادس من بروتوكول الإنترنت في وثيقة طلب التعلقيات (RFC 3315) وهو يُعرف اليوم بالاختصار DHCPv6.[5]

محددات البروتوكول

خدمات البروتوكول

يقدم البروتوكول خدمة التهيئة الذاتية [English] لمُضيفي الإصدار الرابع من بروتوكول الإنترنت، ولتحقيق ذلك يقوم البروتوكول بدعم خدمتين إضافيتين أيضاً، الأولى هي مستودع تخزين لمُحددات التهيئة الخاصّة بالمضيفين، والثانية هي قيامه بالتحصيص الآلي لفضاء عناوين [English] بروتوكول الإنترنت.

مستودع المُحددات

إنّ الخدمة الأولى التي يقدمها بروتوكول تهيئة المضيف الآلية هي توفير مخزن دائم لمُحددات الشبكة الخاصة بالعملاء، لتحقيق ذلك، يقوم البروتوكول ببناء قاعدة بيانات تضم المحددات الخاصة بكل عميل،[3] ويكون مفتاح قاعدة البيانات الفريد هو مُعرّف مُميز لكل عميل، ويقابل هذا المفتاح المُحددات الخاصّة به، وقد يكون المفتاح الخاص بالعميل مزيجاً من المُعرّف الخاص به ومن عنوان الشبكة التي تضم عنوان بروتوكول الإنترنت الممنوح له، أو قد يضمّ عنوان العميل الفيزيائي،[33] أو مزيجاً من عنوان بروتوكول الإنترنت واسم العميل،[34] أو أي قيمة أخرى تُعرّف العميل بشكل فريد.

بشكل افتراضي، يقوم البروتوكول في العميل ببناء مُعرّف فريد اعتماداً على مُعرّف الشبكة المأخوذ من عنوان بروتوكول الإنترنت الذي يستضيفه العميل، أو من عنوان العميل الفيزيائي،[35] بعد ذلك، يقوم العميل بإرسال المُعرّف الذي ولّده إلى المُخدّم عبر خيار خاص هو خيار مُعرّف العميل الذي يحمل الخيار رقم الرمز (61)، وذلك ليعتمده كمعرّف مُميز للعميل،[36] يُمكن للعميل الذي يملك بنداً في قاعدة البيانات أن يطلب الحصول على معلومات التهيئة الخاصة به من المستودع باستخدام بروتوكول تهيئة المضيف الآلية، أو أن يستجوب المُخدم من أجل الحصول على قيمة أحد المحددات، لتحقيق ذلك، يقوم العميل ببناء رسالة طلب مناسبة، ويردّ المُخدّم على العميل برسالة ردّ تحتوي المحددات المطلوبة.[37]

التحصيص الآلي لفضاء عناوين بروتوكول الإنترنت

يُقدّم بروتوكول تهيئة المضيف الآلية أيضاً خدمة التحصيص الآليّ لفضاء العناوين المُستعمل في الشبكة، نتيجة لذلك، يُمكن للعملاء أن يحصلوا على عنوان بروتوكول إنترنت من فضاء عناوين المُخدّم ويستخدموه بشكل مؤقت أو دائم.[38] إن آلية التحصيص بسيطة، وهي تبدأ من العميل نفسه الذي يطلب الحصول على عنوان بروتوكول إنترنت من فضاء العناوين، ويقوم مُخدّم البروتوكول، أو مجموعة المخدّمات، بتقديم عنوان للعميل، وضمان عدم عرضه لأي عميل آخر في الشبكة خلال فترة استخدامه من العميل الذي طلب الاستخدام.

لتحقيق التحصيص الآلي، يعتمد البروتوكول على مفهوم مدة الاستخدام (بالإنجليزية: Lease)‏،[39] وهي الفترة الزمنية التي يكون عنوان بروتوكول إنترنت ما فيها من حصة عميل محدد، يحق للعميل في خلال هذه المدة استخدام العنوان. يمكن للعميل أن يُمدد مدة الاستخدام، من خلال طلب يقدمه للمُخدم،[40] كما يُمكن أن ينهي استعماله للحصة، ويحرر العنوان. بالإضافة لذلك، يمكن للعميل أن يطلب مدة استخدام لا نهائية، ولكن يبقى القرار النهائي في منح إمكانية التحصيص الدائم بيد المُخدّم.

التهيئة الآلية

التهيئة الآلية (بالإنجليزية: Dynamic Configuration)‏ هي تزويد المُضيفين بالمحددات اللازمة لأداء الوظائف والمهمات الخاصّة بهم عبر الشبكة بشكلٍ تلقائي بدون تدخل مباشر من مشرفي الشبكة،[41] وهي الوظيفة الرئيسية لبروتوكول التهيئة الآلية للمُضيفين، ومنها حصل على اسمه. وتعتمد التهيئة الآليّة على مستودع المُحددات وهو قاعدة بيانات موجودة في مُخدّم البروتوكول وعلى آلية تحصيص فضاء العناوين [English] وذلك لتزويد المضيفين بمُحددات التهيئة.[42]

تشمل المُحددات التي يتم تزويد المضيفين بها آلياً عنوان بروتوكول الإنترنت وقناع الشبكة وعنوان المُوجّه في الشبكة المحليّة، والذي يسمّى أحيانا بالمخرج الافتراضي، وعنوان مُخدم نظام أسماء النطاقات وغيرها من عناوين المُخدّمات المختلفة، بالإضافة إلى عدد من المُحددات التي تساعد المُضيف على إنجاز وظائف أخرى قائمة المسارات الثابتة المستعملة في عملية التوجيه أو وحدة النقل الأعظمية الضروريّة لإنجاز عملية تقطيع البيانات.[43]

مُحددات العميل

جدول بمُحددات التهيئة الخاصة بالعميل كما وردت في المعيار الأصلي (لا تشمل التوسيعات)
اسم المُحدد النوع وثيقة طلب التعليقات
مُحددات طبقة النقل، على مستوى المُضيف
زمن الحياة عدد صحيح [29]
مُؤقّت الحفاظ على الفاعليّة عدد صحيح [29]
حجم بيانات الحفاظ على الفاعليّة بولياني [29]
مُحددات طبقة الإنترنت، على مستوى المُضيف
العمل كموجّه بولياني [29]
التوجيه بحسب المصدر غير المحلي بولياني [29]
مرشحات سياسة التوجيه بحسب المصدر غير المحلي قائمة [29]
حجم إعادة التجميع الأعظمي عدد صحيح [29]
زمن الحياة الافتراضي [a] عدد صحيح [29]
مؤقت زمن استخدام وحدة النقل الأعظمية للمسار [b] عدد صحيح [44]
جدول مجموعة وحدات النقل الأعظمية قائمة [44]
مُحددات طبقة الإنترنت، على مستوى المُنفذ
عنوان بروتوكول الإنترنت عنوان [29]
قناع الشبكة الجزئية عنوان [29]
وحدة النقل الأعظمية [c] عدد صحيح [29]
وحدة النقل الأعظمية لكل الشبكات الجزئية عدد صحيح [29]
نمط عنوان البث العام عنوان [29]
القيام باكتشاف القناع بولياني [29]
العمل كمزود بالأقنعة بولياني [29]
القيام باكتشاف المُوجّه بولياني [45]
عنوان التماس المُوجّه عنوان [45]
المخارج الافتراضية قائمة [29]
المسارات الثابتة قائمة [44][45]
مُحددات طبقة الربط، على مستوى المُضيف
دعم اللواحق بولياني [29]
مؤقت ذاكرة المخصصة لبروتوكول دقة العناوين عدد صحيح [29]
تغليف الإيثرنت بحسب وثائق طلب التعليق [46] و [47] [29]
الملاحظات
  1. ^ ويقابلها باللغة الإنكليزية الاختصار: TTL
  2. ^ ويقابلها باللغة الإنكليزية الاختصار: PMTU
  3. ^ ويقابلها باللغة الإنكليزية الاختصار: MTU

يعتمد نجاح خدمة التهيئة الآلية على قيام المُخدّم بتزويد العملاء بقيم المُحددات الخاصّة بتهيئة المُضيف، وعنوان الشبكة أحد هذه المحددات منها. تُعرّف التهيئة الآليّة الابتدائيّة بأنها تزويد المضيف بمُحددات التهيئة اللازمة للقيام بالوظائف الأساسية مثل الاتصال مع الشبكة، لا يتطلب نجاح العملية تزويد العميل بقيم كل المُحددات، ولكن يكفي مجموعة مُحددة منها، تشمل عنواناً للمُضيف وقناعاً الشبكة، وعنوان مخرج افتراضي واحد على الأقل، وعنوان مُخدم أسماء نطاقات واحد على الأقل.[48] ويستطيع العميل أن يطلب قيمة محددات معينة، سواء أثناء عملية التهيئة الابتدائية أو بعدها.

هناك آليتان تستخدمان لتقليل عدد المُحددات المُرسلة من المُخدّم إلى العميل، الأولى هي اعتماد القيمة الافتراضية، وبحسب هذه الآليّة فإنّ العميل يطلب قيمة مُحدد واحد أو أكثر برسالة الطلب، ويقوم المُخدّم بتزويده فقط بالمُحددات التي تغاير قيمتها القيمة الافترضية، أما تلك التي تكون قيمتها مُطابقة للقيمة الافتراضية فلا يقوم المخدم بوضعها في رسالة التأكيد، نتيجة لذلك، فإنّ العميل يعتمد القيم الافتراضية للمحددات التي طلبها من المُخدّم لم تّذكر في رسالة التأكيد، وقد حددت القيم الافتراضية في وثائق طلب التعليقات الخاصة بمتطلبات المضيف. أمّا الآليّة الثانية فهي قيام العميل بتحديد قائمة من المُحددات في رسائل الاسكتشاف والطلب، وعندها يكتفي المُخدّم بتزويده بالمحددات الموجودة في تلك القائمة فقط.

يضيف العميل خيار «قائمة المُحددات المطلوبة» إلى رسالة الطلب أو الاسكتشاف، ويتضمّن هذا الخيار قائمة بالُمحددات المطلوبة، بالإضافة لذلك قد يقترح العميل على المُخدّم قيماً مُعينة لبعض المحددات، باستخدام خيارات خاصة مثل خيار «عنوان بروتوكول الإنترنت المطلوب» أو خيار «مدة استخدام عنوان بروتوكول الإنترنت»،[49] ولكن يبقى المُخدّم هو صاحب القرار النهائي في اختيار استخدام القيم المُقترحة من عدمه، كما يقوم العميل أيضاً باستخدام خيار «الحجم الأعظمي لرسالة بروتوكول التهيئة الآلية» لإبلاغ المُخدّم بأقصى حجم ممكن لرسائل البروتوكول.[50]

تُقسم محددات العميل بحسب طبقات نموذج الإنترنت إلى ثلاث أقسام،[32] هي مُحددات خاصة بطبقة النقل، ومحددات خاصة بطبقة الإنترنت ومُحددات خاصة بطبقة الربط. إنّ المُحددات الخاصة بطبقة النقل تختص ببروتوكول التحكم بالنقل، أمّا مُحددات طبقة الإنترنت، فهي تقسم إلى مجموعتين بحسب مجال عمل المُحدد، فإمّا أن يكون عمله على مستوى المُضيف كاملاً، أو على مستوى أحد منافذه، وهي الحالة التي يملك فيها المضيف أكثر من منفذ. أخيراً، تعمل محددات العمل الخاصة بطبقة الربط على مستوى المنفذ.

تمثيل الزمن

عند استخدام البروتوكول، يمكن للعميل أن يطلب استخدام أحد عناوين الشبكة لفترة زمنية، قد تكون مُحددة أو مفتوحة،[51] لذلك فإنّ هناك حاجة لتمثيل الزمن ضمن رسائل البروتوكول، وتزداد المشكلة صعوبة في حالة كون المخدم والعميل غير متزامنين، حيث تصبح الأزمنة المستخدمة نسبية. على كل الأحوال، يتمّ تمثيل الزمن في رسائل البروتوكول بواحدة الثانية، وفي حالة عدم التزامن يُنسب التوقيت إلى ساعة العميل الداخلية.[4]

يتم تمثيل الزمن باستخدام خانات بطول (32) بدون إشارة،[4] ما يعني مجال واسع يمكن تمثيل زمن يصل حتى مئة عام فيه، وهي مدة أكبر بكثير من أي قيمة قد يطلبها العميل، أمّا القيمة الواحديّة، والتي تُقابل بنظام العد الست عشري القيمة: FFFFFFFF)16) فهي تُمثّل اللانهاية، وتُستخدم لطلب مدة استخدام مفتوحة.[52]

في حال عدم وجود تزامن بين ساعة المخدّم وساعة العميل، تفترض آليّة العمل السابقة أن الساعتين الداخليّتين للعميل والمخدم مستقرتان بالنسبة لبعضهما البعض، أي أنهما يقيسان مرور الزمن بنفس الطريقة وبدون أي إزاحة، وإذا لم يتحقق ذلك، فإن المُخدّم الذي من عميلاً ما عنوان بروتوكول إنترنت، قد يُعيد استخدامه بسبب انتهاء مدة الاستخدام ويمنحه لعميل آخر، في الوقت الذي ما يزال العميل العنوان قيد الاستخدام من قبل العميل الأول، ما قد يُسبب تعارضاً في العناوين في الشبكة،[4] لحل هذه المشكلة، يُمكن للمُخدّم أن يُخبر العميل بمدة استخدام أقصر من المدة الفعليّة التي يُخزّنها قي قاعدة بياناته.[53]

مؤقتات البروتوكول

 
دورة حياة عميل بروتوكول تهيئة المضيف الآلية عند تجديد مدة استخدام العنوان.

يستخدم بروتوكول التهيئة الآليّة للمضيفين ثلاث مؤقتات زمنية هي المؤقت (T1) والمؤقت (T2) ومؤقت مدة الاستخدام، والهدف من استعمالها هو تحديد الأزمنة التي ينتظرها العميل في كل حالة عند طلب تجديد مدة استخدام العنوان. يحصل العميل على قيمة المؤقتات من رسالة التأكيد الإيجابي التي يستقبلها كرد على رسالة الطلب. تكون القيم الزمنية نسبية، ويقوم العميل بنسبها إلى ساعته الداخلية، لذلك ليس هناك حاجة للتزامن بين العميل والمُخدّم.[4]

تحدد قيمة المؤقتات متى تحصل الانتقالات بين الحالات الداخلية للعميل، إنّ نفاذ القيمة الزمنية لأي منها يسبب الانتقال من الحالة الحالية إلى حالة أخرى لاحقة بالشكل التالي:[54]

  • المؤقت (T1): يحدد الزمن الذي يقضيه العميل في حالة الالتزام، يُشغّل العميل المؤقت عند الدخول في حالة الالتزام، وعند نفاذ قيمته يجب أن ينتقل العميل إلى حالة إعادة التجديد (RENEWING).[55] عند الدخول في حالة إعادة التجديد يقوم العميل بطلب تجديد مدة استخدام العنوان من المُخدّم الذي سبق ومنحه إياه. تكون قيمة المؤقت (T1) أقل من زمن استخدام العنوان، وبشكلٍ افتراضي تبلغ قيمتها نصف قيمة مدة الاستخدام.[56]
  • المؤقت (T2): يحدد الزمن الذي يقضيه العميل في حالة إعادة التجديد في حال لم تصل أي رسالة تأكيد من المخدّم حول إعادة تجديد مدة الاستخدام، يُشغّل العميل المؤقت عند الدخول في حالة الالتزام، وعند نفاذ المؤقت يجب أن ينتقل العميل إلى حالة إعادة الالتزام (REBINDING)، وفيها يقوم العميل بإعادة إرسال رسالة الطلب لكن بشكل بث عام لتصل إلى أي مُخدّم للبرتوكول.[55] يجب أن تكون قيمة المؤقت (T2) أكبر من قيمة المؤقت (T1)، بحيث يُتاح للعميل فرصة طلب تجديد مدة الاستخدام من مُخدمات أخرى للبروتوكول، بشكلٍ افتراضي تبلغ قيمة هذا المؤقت (87.5)% أو سبعة أثمان قيمة مدة الاستخدام.[56]
  • مدة الاستخدام: تحدد الزمن الي يمكن للعميل فيه أن يستضيف عنواناً مُحدداً،[57] ويمكن أن تكون لانهائيّة، بمعنى أن العنوان قد مُنح بشكلٍ دائم للعميل، أمّا بخلاف ذلك، فإن العميل يُشغّل مُؤقّت لمدة الاستخدام عندما يدخل العميل في حالة الالتزام، وإذا نفذ المؤقت، فإنّ العميل، الذي سيكون عندها في حالة إعادة الالتزام حتماً، لأن قيمة المؤقتين (T1) و (T2) أقل دائماً من مدة الاستخدام، ينتقل إلى الحالة البدائية ويبدأ عملية التهيئة الآلية من البداية.[58]

رسائل البروتوكول

يتبادل عميل البروتوكول ومُخدّمه مجموعة من الرسائل التي تُسمّى رسائل البروتوكول، وقد يكون التبادل مُباشراً إذا كان العميل والمُخدّم في نفس الشبكة المحليّة، أو عبر وكيل إذا كان العميل في شبكة محليّة مُختلفة عن شبكة المُخدّم.[59] إذا كان المُخدم على معرفة بعنوان العميل، فإنّه يقوم بإرسال الرسائل بشكل بثّ فريدِ الوجهة، أمّا في الحالة التي يطلب فيها العميل الحصول على عنوان بروتوكول الإنترنت فإن المُخدّم يرسل رسائل بث عام إلى العميل، لانه لم يستضيف عنوان بعدُ. في حالة وجود وكيل، تكون الرسائل المتبادلة بين المُخدّم والوكيل رسائل بث فريد الوجهة دائماً، لأن كلاهما يستضيف عنواناً صريحاً،[60] أمّا الرسائل المُرسلة من العميل إلى المخدّم، مُباشرةً أو عبر وكيل، فإنّ نمط توجيهها (بث فريد أو عام) يعتمد على طبيعة الرسالة نفسها وعلى حالة العميل.[61]

بحسب المعيار الأصلي للبروتوكول،[4] يرسل العميل خمسة أنواع من الرسائل نحو المُخدّم هي رسالة الاستكشاف ورسالة الطلب ورسالة الرفض ورسالة تحرير العنوان ورسالة الإعلام، أمّا المُخدّم فيُرسل ثلاث رسائل هي رسالة العرض ورسالة التأكيد السلبي ورسالة التأكيد الإيجابي. لكل رسالة وظيفة محددة، ولكنها جميعاً تشترك بنفس البنية، وتختلف بقيمة الحقول أو بعدد ونوع الخيارات المُستعملة.

لاحقاً، تمّ توسيع عمل البروتوكول وأضيفت 10 رسائل أخرى للقيام بمهمات محددة، وليصبح عدد رسائل البروتوكول الكلية (18) رسالة.[62]

رسائل بروتوكول تهيئة المضيف الآلية بحسب المعيار الأصلي للبروتوكول (رسائل التوسيعات غير مشمولة).
اسم الرسالة باللغة العربية اسم الرسالة باللغة الإنكليزية اتجاه الحركة الاستخدام
رسالة الاستكشاف DHCPDISCOVER من العميل نحو المُخدّم ترسل من قبل العملاء لتحديد مُخدّمات البروتوكول المُتاحة.[49]
رسالة العرض DHCPOFFER من المخدم نحو العميل رد على رسالة الاستكشاف، تحتوي على عرض يقدمه المُخدم للعميل يضم مجموعة من معلومات التهيئة.[63]
رسالة الطلب DHCPREQUEST من العميل نحو المخدم وتستخدم في:[63]
  • رد على رسالة عرض سابقة، يتم من خلالها طلب المُحددات المعروضة من مُخدّم محدد في رسالة عرض سابقة، إرسال هذه الرسالة يعني رفض العروض المُقدّمة من مخدّمات أخرى، في حال وجودها.
  • تأكيد الاستمرار في استخدام عنوان ممنوح مُسبقاً، بعد إعادة إقلاع العميل مثلاً..
  • طلب تمديد مدة استخدام عنوان ممنوح مُسبقاً مازال قيد الاستخدام.
  • طلب إعادة استخدام عنوان ممنوح مُسبقاً وانتهت مدة استخدامه.
رسالة التأكيد الإيجابي DHCPACK من المخدم نحو العميل ردّ على رسالة الطلب، تحتوي على معلومات التهيئة وتتضمن عنوان الشبكة الذي تمّ تخصيصه للعميل، أو حصة العميل من فضاء العناوين.[63] يلتزم المُخدّم، أو مجموعة المخدمات، التي تشغّل البروتوكول بضمان عدم منح العنوان إلى أي عميل آخر خلال زمن تحدده مدة الاستخدام.
رسالة التأكيد السلبي DHCPNAK من المخدم نحو العميل ردّ على رسالة الطلب، وهي إشعار من المُخدّم إلى العميل بأنّ عنوان بروتوكول الإنترنت الذي وضعه العميل في رسالة طلب سابقة غير مناسب، مثلاً قام العميل بتغيير شبكته ولكنّه مازال يستخدم عنوان بروتوكول الإنترنت القديم خاصته.[64]
رسالة الرفض DHCPDECLINE من العميل نحو المُخدّم وهي إشعار من العميل إلى المُخدّم، تهدف إلى إعلامه بأنّ عنوان الشبكة الذي تم تخصيصه للعميل هو قيد الاستخدام مسبقاً.[65]
رسالة تحرير العنوان DHCPRELEASE من العميل نحو المُخدّم وهي رسالة إشعار من العميل إلى المُخدّم، تُعلمُه بأنّ العنوان أصبح حُرّاً للاستخدام من قبل المُخدّم قبل انتهاء مدة الاستخدام، لا يجب على العميل استخدام العنوان مُجدداً بعد إرسال هذه الرسالة.[66]
رسالة الإعلام DHCPINFORM من العميل نحو المُخدّم تُستخدم لطلب مُحددات تهيئة محليّة من المُخدّم، والمقصود بكلمة محليّة أنّها خاصّة بالعميل نفسه. يجب أن يستضيف العميل عنوان بروتوكول إنترنت بشكلٍ مُسبق ليتمكن من استخدام هذه الرسالة، لا تستخدم هذه الرسالة لطلب عنوان منح بروتوكول إنترنت ولا لتجديد مدة استخدام عنوان ممنوح مسبقاً.[67]

تكون رسائل الاستكشاف والطلب والإعلام التي يُرسلها العميل رسائل بث عام، إلا إذا كان العميل يعرف عنوان المُخدّم، فإنّه يُرسلها عندها كرسائل فريدة الوجهة.[68] يرسل العميل رسالة تحرير العنوان بشكل رسالة فريدة الوجهة دائماً، ويكون عنوانها هو عنوان المُخدّم الذي منح العميل العنوان.[69] أمّا رسالة الرفض، فهي رسالة بث عام دائماً.[70]

إعادة الإرسال وشرط الانتظار

إعادة الإرسال هي قيام العميل بإرسال رسالة من رسائل البروتوكول مرة أخرى إلى المُخدّم بسبب عدم وصول الرسالة السابقة إليه أو عدم وصول الرد عليها. لا يقوم المُخدّم بإعادة الإرسال أبداً فهي وظيفة من وظائف العميل، وهي محكومة دائماً بشرط الانتظار، وهو آليّة يُحدد من خلالها العميل متى يتوجب عليه إعادة إرسال الرسالة مرة أخرى. لا يوجد شرط انتظار صارم محدد، ويترك للعميل اختياره، لكنه يجب أن يأخذ بعين الاعتبار الزمن اللازم لانتقال الرسالة من العميل إلى المُخدّم وبالعكس، كما يستحسن أن تكون فترات الانتظار متزايدة بشكل أسيّ مع قيمة محددة لا يتم تجاوزها، على أن لا يتجاوز عدد مرات إعادة الإرسال (4) مرات ضمن إطار زمني في هو في حدود الدقيقة واحدة.[71] إذا لم يتحقق شرط الانتظار، قد يقوم العميل بضبط المُحددات إلى القيم الافتراضية، أو استخدام آلية أخرى مدعومة في نظام التشغيل مثل العنونة الآلية الخاصة لبروتوكول الإنترنت (APIPA).[72][73]

على سبيل المثال، إذا كان الإيثرنت بمُعدّل نقل هو (10) ميغابت في الثانية هو بروتوكول الربط المُستعمل، فإنّ شرط انتظار مناسب قبل إعادة الإرسال لأول مرة يمكن أن يكون انتظار وصول الرد لفترة تزيد عن (4) ثواني بعد الإرسال، وتتضاعف هذه القيمة لتصبح (8) ثواني ينتظرها العميل لوصول الرد على إعادة الإرسال الأولى، فإن لم يصل الرد أيضاً، يُرسل العميل رسالة إعادة الإرسال الثانية، وتصبح مدة الانتظار (16) ثانية، ثُمّ (32) وأخيراً (64)، فإذا لم يصل الردّ لا يقوم العميل بإعادة المحاولة بعدها، ويضبط قيم المحددات إلى القيم الافتراضية.[4]

خوارزمية العمل

 
عمل بروتوكول تهيئة المضيف الآلية بحسب نموذج طلب الخدمة، بالإضافة لطريقة حركة البيانات بين العناصر المُكوّنة لطوبولوجيا الشبكة بحسب البروتوكول.

يعمل بروتوكول تهيئة المضيف الآلية بحسب نموذج طلب الخدمة،[3] أي أن عمل البروتوكول يكون مقسوماً بين المُخدّمات التي تقدّم الخدمة، والعملاء الذين يحصلون عليها، إذا كان العميل والمخدّم في نفس الشبكة المحليّة، فإن ّالتواصل بينهما يكون مُباشراً، أمّا إذا كانا في شبكتين مُختلفتين، فلابد من استعمال الوكيل، وهو مُضيف في شبكة العميل المحليّة، يلعب دور صلة الوصل بين العميل المحلي والمُخدّم البعيد.[59]

يحصل التواصل بين الأطراف التي تشغل البروتوكول من خلال تبادل رسائل البروتوكول، تُرسل هذه الرسائل بين المُخدّم والوكيل بشكل رسائل فريدة الوجهة دوماً، وذلك لأنّ الطرفين يستضيفان عناوين بروتوكول إنترنت معروفة بشكلٍ صريح،[60] أمّا الرسائل المُتبادلة بين المُخدّم والعميل أو بين الوكيل والعميل فقد تكون رسائل فريدة الوجهة أو قد تكون رسائل بث عام، بحسب المعلومات المُتوفرة للعميل وطبيعة الرسالة.[61]

في العميل

 
المخطط التدفقي لعمل بروتوكول تهيئة المضيف الآلية في عميل البروتوكول، تمّ إهمال عمل المؤقتين (T1) و (T2) عند تجديد مدة استخدام العنوان كما تفترض هذه الخوارزمية أن مدة الاستخدام ليست لا نهائية، وذلك لتبسيط آلية العمل.

يستخدم العميل بروتوكول التهيئة الآلية لطلب عنوان بروتوكول الإنترنت أو لتجديد مدّة استخدام عنوان ممنُوح مُسبقاً أو لطلب محُددات تهيئة مُعيّنة،[74] من المُستحسن أن يقوم العميل بالتحقق من أن قيم مُحدداته الحاليّة مُتوافقة مع قيم المُحددات في مُخدّم بروتوكول التهئية الآليّة عند حصول أي تغيير في الشبكة المحليّة، ويضاف إلى ذلك حالة إعادة إقلاع المُضيف أو انقطاع اتصاله مع الشبكة لفترة وجيزة. أمّا إذا فقد العميل اتصاله مع المُخدّم لسبب ما، وكان قد حصل مُسبقاً على عنوان مع مدّة استخدام مُحددة، فبإمكانه استخدام العنوان حتى نفاذ مؤقت مدة الاستخدام، فإنّ استمر عجز عن التواصل مع المخدم، فلا يجب عندها أن يقوم العميل باستخدام العنوان بعد ذلك.[75]

يبدأ البروتوكول العمل في العميل من خلال التحقق من استضافة العميل لعنوان من الإصدار الرابع من بروتوكول الإنترنت، وبعد ذلك يتحقق من امتلاكه لعنوان مُخدّم تهيئة آليّة واحد على الأقل، في حال عدم تحقق أي من الشرطين السابقين، فإنّ البروتوكول يبدأ عملية التهيئة الابتدائية، أمّا في حال تحققها، فإنّ البروتوكول يتحقق من حاجة العميل لأي مُحددات تهيئة إضافيّة.[4]

تشمل عملية التهيئة الابتدائية البحث عن مُخدّم لبروتوكول التهيئة الآليّة، من خلال قيام العميل بإرسال رسالة الاستكشاف وانتظار رسائل العرض من المُخدمات المحليّة أو البعيدة، وبعد تجميع رسائل العرض، يقوم العميل باختيار إحداها،[76] ويُرسل رسالة طلب إلى المُخدّم الذي أرسلها، قد تتضمن اقتراحاً لاستخدام أحد العناوين.[77] يُطبّق العميل شرط الانتظار الخاص بعملية إعادة الإرسال في مرحلة الانتظار، سواء بعد إرسال رسالة الاستكشاف أو الطلب.[78]

تصل رسالة الرد إلى العميل من المُخدّم، فإذا كانت تأكيداّ إيجابياً، اعتُمد العنوان واستخدمت المُحددات الواردة في الرسالة، وإن كانت تأكيداً سلبياً يتمّ إطلاق عملية التهيئة الابتدائية مُجدداً من بدايتها. بعد ذلك يقوم العميل بالتحقق من فرادة العنوان على الشبكة، فإذا كان فريداً، ثُبّت استعماله لحين انتهاء مدة الاستخدام، وإن لم يكن فريداً، فإن العميل يرسل رسالة رفض إلى المُخدم ويعيد إطلاق عملية التهيئة الابتدائية من جديد.[79]

يمكن للعميل بعدها أن يستعمل البروتوكول لطلب مُحددات تهيئة مُعينة عن طريق إرسال رسالة إعلام إلى المُخدّم، كما يتابع المؤقتات الخاصة بمدة الاستخدام من أجل طلب تجديدها قبل نفاذ مدة الاستخدام، وذلك من خلال إرسال رسالة طلب إلى المُخدّم بذلك.[80] أخيراً، قد يرغب العميل بالتخلي عن العنوان قبل انتهاء مدة استخدامه، وعندها يجب أن يقوم بإرسال رسالة تحرير العنوان إلى المُخدّم،[66] ولا يجب أن يقوم العميل باستخدام العنوان الذي قام بتحريره بعد ذلك.

في الوكيل

 
مسار حركة البيانات عند استخدام بروتوكول تهيئة المضيف الآلية في شبكة متباعدة، حيث يظهر دور الوكيل الذي يلعب دور الوساطة بين المُخدّم والعميل.

بشكل افتراضي، لا تسمح المُوجّهات لرسائل البث العام بمغادرة حدود نطاق البث العام، وبالتالي لا يمكن لعملاء بروتوكول التهيئة الآلية أن يحصلوا على خدمة التهيئة الآلية إلا إذا كانوا ضمن نطاق البث العام للمُخدّم نفسه، وعندها ستكون الخدمة محصورة بعملاء البروتوكول المحليين فقط. لحل هذه المشكلة يتمّ تهيئة مُضيف ما، غالباً ما يكون منفذاً لمُوجّه متصل مع الشبكة البعيدة، ليلعب دور وكيل البروتوكول تلك الشبكة.[59]

المهمة الأساسية للوكيل هو تحويل رسائل البث العام التي يرسلها العميل وتكون ذات نطاق انتشار محلي، إلى رسائل فريدة الوجهة، وجهتها هي مُخدّم بروتوكول تهيئة المضيف الآلية، وتحويل رسائل الردود الفريدة التي يُرسلها المُخدّم إلى رسائل بث عام، لتنتشر في الشبكة المحلية وتصل إلى العملاء، وبقيام الوكيل بعملية التوجيه هذه فإنّه يؤمّن صلة وصل بين المُخدّم والعملاء البعيدين.[10]

في معيار البروتوكول الأصلي، لا يوّلد الوكيل أي رسائل للبروتوكول ولا يضيف أو يعدل في ترويسته، ويكتفي فقط بتوجيع الرسائل بين المُخدّم والعملاء. لاحقاً، تم تعريف خيار معلومات وكيل البرتوكول التي تسمح للوكيل بإضافة خيار إلى الرسائل الواردة من العملاء، بهدف تزويد المُخدّم بمعلومات تساعده على اختيار السياسات المناسبة لمنح العنوان أو تحديد قيم المُحددات المطلوبة.[81]

في المُخدّم

 
نافذة إعداد مُخدّم بروتوكول التهيئة الآلية في أحد أنظمة تشغيل ويندوز، يمكن تبين الحقول الخاصة بمجال العناوين وبعض الخيارات الأساسية مثل عنوان الموجه وقناع الشبكة وغيرها.

ليعمل البروتوكول بشكلٍ صحيح، يجب أن تتمّ تهيئة كل مُخدّم بشكلٍ مُسبق بمجال واحد على الأقل من فضاء عناوين بروتوكول الإنترنت،[82] لكي يُستعمل بعملية التحصيص الآلي، بالإضافة لتزويده بقيمة مُحددات التهيئة. يجب أن يملك المُخدّم عنوان صريحاً، وأن يكون مُتصلاً مع الشبكة. يحتفظ كل مُخدّم بقاعدة بيانات تحتوي على العناوين الممنوحة ومدة الاستخدام لكل منها، ومتعلقات العميل، لذلك يوصف بروتوكول التهيئة الآليّة بأنه مُحتفظ بالحالة (بالإنجليزية: Stateful)‏.[83]

إنّ عمل مُخدم بروتوكول تهيئة المضيف الآلية تفاعلي، أي أنّه يتجاوب مع حدث سابق دائماً، ويكون هذا الحدث هو استقبال رسالة قادمة من أحد العُملاء، ثُمّ يتحدد عمل المُخدّم بحسب نوع الرسالة التي استقبلها والتي قد تكون:

  • رسالة استكشاف: يقوم المُخدّم بالرد عليها بإرسال رسالة عرض. في البداية يجب على المُخدّم أن يحدد الشبكة التي سيقوم بمنح العنوان منها، ويعتمد بذلك على مصدر رسالة الاستكشاف، فإذا كانت قادمة من عميل محلي، يقوم المُخدم بعرض عنوان من الشبكة المحلية، وإن كانت قادمة من وكيل في شبكة بعيدة، يقوم المُخدّم بعرض عنوان من شبكة الوكيل البعيدة، وتظل مسألة تحديد العنوان ومدة استخدامه أمراً خاصّاً بكل مُخدّم.[49]
  • رسالة طلب: سبق وقام أحد عملاء البروتوكول بإرسالها في إحدى الحالات التالية:[63]
    • عميل استقبل رسالة عرض من أحد المُخدمات، وقام بالرد عليها برسالة الطلب، ويجب أن تحتوي رسالة الطلب عندها على خيار مُعرّف المُخدّم.
    • عميل يريد التحقق من صلاحية مدة استخدام عنوانه أو قيمة المُحددات، مثلاً، أنجز عملية إقلاع للتو.
    • عميل يريد تمديد مدة استخدام عنوان بروتوكول الإنترنت.
يقوم المخدّم بدراسة الطلب بحسب السياسات الخاصّة به، ثُمّ يُحدد فيما إذا كان سيوافق عليها، ويردّ حينها برسالة تأكيد إيجابي تحتوي معلومات التهيئة المطلوبة، أو برسالة تأكيد سلبي كنتيجة لرفضه رسالة الطلب السابقة.
  • رسالة رفض: وهي تعني أن العنوان الذي تمّ منحه في رسالة تأكيد إيجابي سابقة هو قيد الاستخدام من قبل مُضيف آخر في الشبكة،[65] ويجب على المُخدّم أن يُحرر سجل العميل من العنوان، دون أن يعيد إضافته إلى مجال العناوين المُعدّ للتحصيص.[4]
  • رسالة تحرير العنوان : عند استقبال هذه الرسالة من العميل، يقوم المُخدّم بوسم العنوان الذي تمّ تحريره بوسم غير ممنوح، ويضيفه مُجدداً إلى مجال العناوين ليقوم بمنحه مجدداّ،[66] يقوم المُخدّم أيضاً بالاحتفاظ بنسخة من العنوان في سجلات العميل في قاعدة البيانات.[4]
  • رسالة إعلام: ويحب على المُخدّم الرد عليها بإرسال رسالة تأكيد إيجابي إلى مصدر هذه الرسالة بشكل مباشر، يحتوي الرد على المُحددات التي طلبها العميل،[49] لا يحب أن تُستخدم رسالة الرد في هذه الحالة لتزويد العميل بعنوان بروتوكول إنترنت أو لتجديد مدة الاستخدام، فرسالة الإعلام تستخدم حصراً لطلب قيمة محددات التهيئة ما خلا عنوان بروتوكول الإنترنت.[4]

آلية العمل

ترويسة البروتوكول

بنية الترويسة

 
ترويسة بروتوكول تهيئة المضيف الآلية.
 
حقل الأعلام في ترويسة بروتوكول تهيئة المضيف الآلية. في كل عميل، يجب أن تكون طبقة الإنترنت قادرة على تمرير رزمة البيانات إلى طبقة الربط، واستقبال الإطار منها وتمرير الرزمة المُغلّفة فيه إلى طبقة النقل، وذلك حتى قبل أن يتمّ تهيئة عنوان بروتوكول الإنترنت في هذه الطبقة، وقد لا تدعم طبقة الإنترنت في العميل ذلك، لذا يُستخدم بت البث العام ضمن حقل الأعلام لحل هذه المشكلة، ويتم استعمال هذا العلم في بروتوكول تهيئة المضيف الآلية بشكل مشابه لطريقة استعماله في بروتوكول التمهيد (BOOTP).[84]

تتكون ترويسة بروتوكول التهيئة الآليّة للمضيفين من 15 حقلاً، 14 منها ثابتة الطول، وحقل واحد مُتغيّر الطول هو حقل الخيارات. قد يضم ّالحقل حقولاً فرعية، مثل حقل الاعلام الذي يضمّ علم البث العام، أو حقل الخيارات الذي يضمّ مجموعة من الخيارات التي يكون لكل منها بُنية خاصة، تُستعمل نفس الترويسة في كل رسائل البروتوكول دون أي تغيير في بُنيتها أو عدد وترتيب حقولها.[85]

فيما يلي، الحقول التي تكون ترويسة البروتوكول بحسب ترتيب ورودها في الترويسة،[86] وقد ذكر بجانب كل حقل الاسم الإنكليزي كما ورد في المعيار الأصلي للبروتوكول:[4]

  • حقل ترميز العملية (op): طوله (1) بايت، ويحدد نوع الرسالة، القيمة (1) تعني أن الرسالة هي رسالة طلب، والقيمة (2) تعني أن الرسالة هي رسالة رد، من الأمثلة على رسالة الطلب وأيضاً رسالة التأكيد الإيجابي.
  • حقل نوع العنوان الفيزيائي (htype): طوله (1) بايت، ويحدد نوع العنوان الفيزيائي بحسب معيار الطبقة ربط البيانات المستخدم، مثلاً يأخذ القيمة (1) من أجل الإيثرنت، والقيمة (15) من أجل بروتوكول تبديل الأطر، والقيمة (17) من أجل بروتوكول التحكم في ربط البيانات عالي المستوى [English] وغيرها.[87]
  • حقل طول العنوان الفيزيائي (hlen): طوله (1) بايت، ويحتوي على طول العنوان الفيزيائي مُقدراً بالبايت، فمثلاً يأخذ القيمة (6) من أجل عنوان التحكم بالنفاذ للوسط الخاص بالإيثرنت.
  • حقل عدد القفزات (hops): طوله (1) بايت، بستعمل في حال وجود وكيل فقط، ويحتوي على عدد القفزات [English] التي تفصل الوكيل عن المخدّم، يقوم عملاء البروتوكول بوضع القيمة (0) في هذا الحقل وتجاهله.
  • حقل مُعرّف العميل (xid): طوله (4) بايت، وهو مُعرّف رقمي يقوم العميل بتوليده بحيث يميز العميل بشكل فريد، يمكن أن يحتوي المعرّف على أجزاء من العنوان الفيزيائي للعميل، أو على اسم العميل في نظام أسماء النطاقات أو على جزء منه. يُساعد هذا المُعرّف على تمييز العميل بشكلٍ فريد خلال عملية تبادل الرسائل مع المُخدّم من أجل الحصول على خدمة التهيئة الآلية، يجب على العميل أن يستهدم نفس المُعرّف في كل الرسائل التي يستهدمها لتتمكن مخدّمات البروتوكول من تمييزه بشكل صحيح.
  • حقل زمن البدء (secs): طوله (2) بايت، يتمّ ملؤه من قبل العملاء فقط، يحتوي على الزمن المُنقضي منذ بدء عملية طلب الخدمة مقدراً بالثواني.
  • حقل الأعلام (flags): طوله (2) بايت، ويحتوي على علم واحد هو البث العام، وهو البت الأول في هذا الحقل، يقوم العميل برفع هذا العلم إذا كان غير قادراً على استقبال رسائل البروتوكول قبل حصوله على عنوان بروتوكول إنترنت، ويضبط قيمته إلى الصفر بعكس ذلك. البتات الأخرى في هذا الحقل غير مستعملة، ويجب أن تضبط جميعها إلى القيمة صفر.
  • حقل عنوان العميل (ciaddr): طوله (4) بايت، يحتوي على عنوان بروتوكول الإنترنت الخاص بالعميل، والعميل فقط هو من يقوم بملئه إذا كان بإحدى الحالات التالية: حالة الالتزام أو حالة التجديد أو حالة تجديد الالتزام، فيما عدا ذلك يتم إهمال هذا الحقل.
  • حقل العنوان المرسل للعميل (yiddr): طوله (4) بايت، يحتوي على عنوان بروتوكول الإنترنت الذي يعرضه المُخدّم على العميل في رسالة العرض، أو الذي يمنجه للعميل في رسالة التأكيد الإيجابي فيما عدا ذلك يتم إهمال الحقل.
  • حقل عنوان المُخدّم (siaddr): طوله (4) بايت، يحتوي على عنوان بروتوكول الإنترنت الخاص بالمُخدّم الذي يُراد من العميل استخدامه، يقوم المُخدّم بإضافة العنوان في هذا الحقل في رسائل العرض ورسائل إشعار التأكيد الإيجابي.
  • حقل عنوان الوكيل (giaddr): طوله (4) بايت، يحتوي على عنوان بروتوكول الإنترنت الخاص بالوكيل، يقوم الوكيل فقط بإضافته إلى الرسائل، أما العميل والمخدّم فيُهملا هذا الحقل ويضبطا قيمته إلى الصفر عند تشكيل الرسائل. إنّ وجود قيمة مُغايرة للصفر في هذا الحقل تعني أن العميل والمُخدّم في شبكتين مُختلفتين وبأنّ هناك وكيل يلعب دور الوسيط في نقل الرسائل بينهما.
  • حقل عنوان العميل الفيزيائي (chaddr): طوله (16) بايت.
  • حقل اسم المُخدّم (sname): طوله (64) بايت، ويُستعمل من قبل المُخدّم فقط، وذلك بهدف عريف العميل على اسم المضيف الذي يستضيف المُخدّم، كما يمكن أن يُستخدم لتوسعة حقل الخيارات، بشرط وجود خيار «استعمال حقلي اسم المخدم والملف» ضمن قائمة الخيارات.
  • حقل اسم الملف (file): طوله (128) بايت، ويستعمله المُخدّم لتعريف العميل باسم الملف الذي يمكنه استخدامه عند الإقلاع، كما يمكن أن يُستخدم لتوسعة حقل الخيارات، بشرط وجود خيار «استعمال حقلي اسم المخدم والملف» ضمن قائمة الخيارات.
  • حقل الخيارات (Option): مُتغيّر الطول، يحتوي على خيار واحد أو أكثر من مجموعة الخيارات الخاصّة بالبروتوكول.

خيارات البروتوكول

 
بنية حقل الخيارات في ترويسة بروتوكول تهيئة المضيف الآلية.

يتكون كل خيار، باستثتاء خياري الحشوة والنهاية من ثلاث حقول فرعية، هي حقل الرمز وطوله (1) بايت، ويضم مُعرّفاً رقمياً يميز نوع الخيار، وحقل طول الخيار، وطوله (1) بايت ويضمّ طول قسم جسم الخيار مُقدّراً بالبايت، وحقل جسم الخيار وهو مُختلف الطول بحسب نوع الخيار.[88] بما طول حقل طول الخيار هو (1) بايت فقط، فهذا يعني محدودية طول الخيار، ويمكن لخيار ما أن يمتد ليبلغ طوله (255) بايت كحد أعظمي في الرسالة الواحدة، وفي حال كانت قيمة الخيار أكبر من ذلك فيتم تقسيمه على أكثر من رسالة، ويجب على العميل أن يقوم بتجميع هذا الخيار من رسائل البروتوكول المختلفة. بالنسبة لخياري الحشوة والنهاية فلهما بنية فريدة، فهما لا يحتويان إلا على حقل الرمز، وقيمته هي (0) في خيار الحشوة و (255) في خيار النهاية.[89]

وصفت بنية واستخدامات خيارات البروتوكول في وثيقة طلب التعليقات (RFC 2132)،[32] وقد صنفت هذه الوثيقة الخيارات في مجموعتين، الأولى هي الخيارات العامّة، ويجب أن تكون مُوحدة في كل استخدامات البروتوكول، وضمّت جميع الخيارات التي تنتمي أرقام حقل الرمز فيها إلى المجموعة { 0، 1، 2... 127، 255}، على تكون بقية الخيارات ذات الرموز { 128، 129، 130... 255 } حرّة ومُتاحة لأي استخدام خاص آخر يحدده مستخدم البروتوكول، ولذلك سُميت بالخيارات الخاصّة. لاحقاً، تمّ تعديل هاتين المجموعتين، لتصبح العامّة هي { 0، 1، 2... 223، 255 }، والخاصّة هي { 224، 225.. 254 }.[90]

صُنفت خيارات المجموعة العامة إلى أصناف فرعية أيضاً، وهي خيارات مطوّر البروتوكول وتحمل أرقام الرموز من (1) حتى (18)، بالإضافة للرمز (255)،[89] وخيارات بروتوكول الإنترنت الخاصّة بالمُضيف وهي الخيارات التي تحمل أرقام الرموز من (19) حتى (25)،[91] وخيارات بروتوكول الإنترنت الخاصة بالمنفذ من (26) حتى (33)،[91] ثُمّ الخيارات الخاصّة بطبقة الربط من (34) حتى (36)،[92] ثُمّ تلك الخاصّة ببروتوكول التحكم بالنقل (37) حتى (39)،[92] ثُمّ خيارات التطبيقات والخدمات من (40) حتى (49) ومن (64) حتى (76) باستثناء (66) و (67)،[93] في حين صُنفت الخيارات التي تحمل باقي أرقام الرموز تحت اسم توسيعات بروتوكول التهيئة الآلية للمُضيفين.[94]

عند استعمال حقل الخيارات، يجب أن تكون القيمة العشرية للبايتات الأربعة الأولى فيه دائماً هي (99) و (130) و (83) و (99) على الترتيب، ويُسمى هذا التتابع بالمُعرّف المُميّز (Magic Cookie).[95] ويلي ذلك خيار واحد أو مجموعة من الخيارات، ويجب أن يكون الخيار الأخير دوماً هو خيار «النهاية».

قيم حقول الترويسة بحسب أنواع الرسائل

تحتوي جميع رسائل البروتوكول على نفس الترويسة، لكنّها تختلف فيما بينها بقيمة الحقول. إنّ ترويسة البروتوكول مُتغيّرة الطول، ويرتبط طولها بطول حقل الخيارات.[96] بحسب المعيار الأصليّ للبروتوكول، تُقسم رسائل البروتوكول من حيث حركتها إلى مجموعتين، الأولى هي الرسائل التي يُرسلُها العميل إلى المُخدّم، وعددها (5) رسائل، والثانية هي التي يُرسلها المُخدّم إلى العميل وعددها (3) رسائل، ليكون عدد أنواع الرسائل الخاصة ببروتوكول التهيئة الآليّة هو (8) رسائل.[4]

العميل هو من يبدأ دوماً بإرسال الرسائل نحو المُخدّم، والرسائل التي يُرسلها قد تكون:[70]

  1. رسالة الاستكشاف (DHCPDISCOVER).
  2. رسالة الطلب (DHCPREQUEST).
  3. رسالة الرفض (DHCPDECLINE).
  4. رسالة تحرير العنوان (DHCPRELEASE).
  5. رسالة الإعلام (DHCPINFORM).
جدول يضم قيم حقول الرسائل المُرسلة من قبل العميل باتجاه المُخدّم [4][97]
اسم الحقل العمود رسالة الاستكشاف رسالة الطلب رسالة الرفض رسالة تحرير العنوان رسالة الإعلام
حقل ترميز العملية (1)، جميعها رسائل طلب
حقل نوع العنوان الفيزيائي من وثيقة طلب التعليقات (RFC 1700) [87]
حقل طول العنوان الفيزيائي طول العنوان الفيزيائي مقدراً بالبايت.
حقل عدد القفزات دائماً (0) في الرسائل التي يولدها العميل
حقل مُعرّف العميل يختاره العميل كما ورد في حقل مُعرّف العميل في رسالة العرض يختاره العميل
حقل زمن البدء (0) أو الزمن المنقضي منذ بدء العملية مُقدّراً بالثواني 0 (0) أو الزمن المنقضي منذ بدء العملية مُقدّراً بالثواني
حقل العنوان المُرسل للعميل 0
حقل عنوان المُخدّم 0
حقل الأعلام رفع علم البث العام إذا كان العميل يريد الردّ بشكل رسالة بث عام 0 رفع علم البث العام إذا كان العميل يريد الردّ بشكل رسالة بث عام
حقل عنوان الوكيل 0
حقل عنوان العميل الفيزيائي عنوان العميل الفيزيائي
حقل اسم المُخدّم امتداد لحقل الخيارات أو غير مستعمل غير مستعمل امتداد لحقل الخيارات أو غير مستعمل
حقل اسم الملف امتداد لحقل الخيارات أو غير مستعمل غير مستعمل امتداد لحقل الخيارات أو غير مستعمل
حقل الخيارات خيارات بروتوكول تهيئة المضيف الآلية غير مستعمل خيارات بروتوكول تهيئة المضيف الآلية

إن سلوك المُخدّم تفاعلي، أي أنه يتفاعل مع الرسائل التي يستقبلها من العملاء، ويقوم بالرد عليها برسائل مناسبة، وأنواع الرسائل التي يُرسلها المُخدّم إلى العميل هي:[63]

  1. رسالة العرض (DHCPOFFER).
  2. رسالة التأكيد الإيجابي (DHCPACK).
  3. رسالة التأكيد السلبي (DHCPNAK).
جدول يضم قيم حقول الرسائل المرسلة من قبل المُخدّم باتجاه العميل [4][97]
اسم الحقل العمود رسالة العرض رسالة التأكيد الإيجابي رسالة التأكيد السلبي
حقل ترميز العملية (2)، جميعها رسائل رد
حقل نوع العنوان الفيزيائي من وثيقة طلب التعليقات (RFC 1700) [87]
حقل طول العنوان الفيزيائي طول العنوان الفيزيائي مقدراً بالبايت.
حقل عدد القفزات دائماً (0) في الرسائل التي يولدها المُخدّم
حقل مُعرّف العميل كما ورد في حقل مُعرّف العميل في رسالة الاستكشاف كما ورد في حقل مُعرّف العميل في رسالة الطلب
حقل زمن البدء دائماً (0) في الرسائل التي يولدها المُخدّم
حقل العنوان المُرسل للعميل عنوان بروتوكول الإنترنت المعروض للعميل عنوان بروتوكول الإنترنت الممنوح للعميل 0
حقل عنوان المُخدّم عنوان المُخدّم 0
حقل الأعلام كما ورد في حقل الأعلام في رسالة الاستكشاف كما ورد في حقل الأعلام في رسالة الطلب
حقل عنوان الوكيل كما ورد في حقل عنوان الوكيل في رسالة الاستكشاف كما ورد في حقل عنوان الوكيل في رسالة الطلب
حقل عنوان العميل الفيزيائي كما ورد في حقل عنوان العميل الفيزيائي في رسالة الاستكشاف كما ورد في حقل عنوان العميل الفيزيائي في رسالة الطلب
حقل اسم المُخدّم اسم مُضيف المُخدّم أو امتداد لحقل الخيارات اسم مُضيف المُخدّم أو امتداد لحقل الخيارات غير مستعمل
حقل اسم الملف اسم ملف إقلاع العميل أو امتداد لحقل الخيارات اسم ملف إقلاع العميل أو امتداد لحقل الخيارات غير مستعمل
حقل الخيارات خيارات بروتوكول تهيئة المضيف الآلية

عمل البروتوكول بحسب نموذج طلب الخدمة

يعمل بروتوكول التهيئة الآليّة للمضيفين بحسب نموذج طلب الخدمة، ويتبادل العملاء رسائل البروتوكول مع المُخدّمات للحصول على التهيئة الابتدائية للمحددات، والتي تشمل بشكل أساسي عنوان بروتوكول إنترنت، وأيضاً لتجديد مدة استخدام عنوان ممنوح مسبقاً.[98] يعتمد بروتوكول تهيئة المضيف الآلية على بروتوكول حزم بيانات المستخدم كبروتوكول نقل، وقد تمّ حجز المنفذ (67) كمنفذ وجهة في الرسائل المُرسلة من العميل أو الوكيل إلى المُخدّم، والمنفذ (68) كمنفذ وجهة في الرسائل المُرسلة من المُخدّم أو الوكيل نحو العميل، وهذان المنفذان محجوزان بالأصل لبروتوكول التمهيد [English].[2]

إذا كان العميل لم يستضيف عنوان بروتوكول إنترنت بعد، فإنّ جميع الرسائل التي يُرسلها يجب أن تكون رسائل بث عام، ويكون عنوان المصدر في ترويسة بروتوكول الإنترنت هو العنوان الصفري أي (0.0.0.0).[99]

التهيئة الابتدائية

 
مخطط التتابع لعملية تهيئة ابتدائية وتحصيص لعنوان جديد لعميل بروتوكول تهيئة المضيف الآلية.

لتحصيص فضاء عناوين [English]، يجب أن يتمّ تهيئة مُخدّم واحد للبروتوكول على الأقل بفضاء عنونة واحد على الأقل، ويشمل ذلك عنوان الشبكة والقناع. أمّا لمنح العنوان للعميل فتجري عملية تبادل مجموعة من الرسائل بين الطرفين وفق ترتيبٍ مُحدد،[100] بشكلٍ مباشر إذا كان المُخدّم والعميل بنفس الشبكة المحليّة، أو عبر وكيل للبروتوكول بخلاف ذلك. إذا كان العميل يعلم بشكل مُسبق، عنوان مُخدم البروتوكول فيقوم بتوجيه الرسائل بشكلٍ مُباشرٍ إليه، فيما عدا ذلك، يقوم العميل بإرسال الرسائل بشكل بثّ عام لتصل إلى جميع المُخدمات أو الوكلاء الموجودة في نطاق بثّه العام.

فيما يلي، هناك افتراض بأنّ العميل لا يستضيف عنوان بروتوكول إنترنت من الإصدار الرابع، وبأنّه والمُخدّمات موجودون ضمن نطاق بثّ عام واحد، لذلك لا داعي لوجود وكيل للبروتوكول، بالإضافة إلى الافتراض بأنّ العميل لا يعرف عنوان/عناوين أي مُخدّم للبروتوكول، تكون مراحل تحصيص ومنح عنوان الشبكة للعميل بالشكل التالي:[49][101]

  1. يقوم العميل بتوليد رسالة استكشاف ويرسلها بشكل رسالة بثّ عام في نطاق بثه، يمكن للعميل أن يُضمّن الرسالة اقتراحات تخصّ العنوان ومدة الاستخدام بإضافة الخيارات المُناسبة لذلك في حقل الخيارات.
  2. تنتشر رسالة البث العام في الشبكة المحليّة، وتصل إلى كل مخدمات البروتوكول أو وكلائه فيها. في حال وجود وكلاء، يقوم أي وكيل يستقبل رسالة البث العام بإرسال محتوى الرسالة، ولكن بشكل رسالة فريدة، نحو المُخدّم البعيد، ويلعب الوكيل دور صلة الوصل في تبادل كل الرسائل اللاحقة بين الطرفين، فيتبادل مع المخدم رسائل البروتوكول بشكل فريد عبر الشبكة المُتباعدة، ومع العميل رسائل البروتوكول بشكل رسائل بث عام في الشبكة المحلية.[102]
  3. يستجيب كل مُخدّم استقبل رسالة الاستكشاف في الشبكة المحليّة بإرسال رسالة عرض بشكل بثّ عام، تحتوي رسالة العرض على عنوان مُقترح للعميل، في حقل العنوان المعروض، وعلى مجموعة من محددات التهيئة ضمن حقل الخيارات. إن عرض العنوان على العميل لا يعني تحصيصه، ولكن، وعلى أي حال، لا يتم عرض ذلك العنوان على أي عميل آخر لحين انتهاء عملية التهيئة، سواء بقبول للعميل العرض أو رفضه.
  4. يقوم العميل باستقبال وتجميع الردود القادمة من مُخدمات البروتوكول، في حال وجود أكثر من مُخدّم، ثُم يختار أحد العروض، ولايوجد شرط أو طريقة عامة مُحددة لاختيار، وتترك آلية الاختيار للعميل.[71] في حال عدم استقبال أيّ رسالة ردّ لفترة مُحددة بعد إرسال رسالة الاستكشاف، يقوم العميل بإعادة إرسال رسالة استكشاف جديدة بشكل بثّ عام مرة أخرى بحسب شرط الانتظار.
  5. يقوم العميل بعد ذلك بإرسال رسالة طلب بشكل رسالة بث عام، تحتوي هذه الرسالة على خيار مُعرّف المُخدّم ضمن حقل الخيارات، لتمييز المُخدّم الذي تمّ اختيار عرضه، وعلى خيار عنوان بروتوكول الإنترنت المطلوب، الذي يجب أن تضبط قيمته إلى قيمة العنوان المعروض في رسالة العرض السابقة.
  6. تستقبل المُخدمات رسالة الطلب، وتستجيب بالشكل التالي:
    1. بالنسبة للمُخدّم الذي تمّ اختيار عرضه، فإنّه يقوم بالالتزام بالحصة، ويرسل رسالة تأكيد إيجابي للعميل، بشكل بثّ عام، تحتوي رسالة التأكيد على العنوان المطلوب ومحددات تهيئة أخرى.
    2. بالنسبة للمخدمات الأخرى، فتعتبر أن رسالة الطلب رفض لعرضها المُقدّم.
  7. يستقبل العميل رسالة التأكيد الإيجابي، التي تحتوي على عنوان بروتوكول الإنترنت، ومحددات تهيئة أخرى، ويعني ذلك أن العميل قد استضاف العنوان.
  8. يقوم العميل بالتحقق من أن العنوان فريد وغير مستخدم في الشبكة، مثلاً باستخدام بروتوكول حل العناوين [103] أو بروتوكول رسائل التحكم في شبكة الإنترنت.[104] على أيّة حال، إذا كان العنوان مُستخدماً، فإنّ العميل يرسل للمُخدّم رسالة رفض،[65] ويعيد بدء العملية مُجدداً من البداية.
  9. في حال أراد العميل التوقف عن استعمال العنوان قبل انتهاء مدة التحصيص، فإنّه يقوم بإرسال رسالة تحرير العنوان للمُخدّم.[66]

إعادة الاستخدام

يمكن لعميل ما للبروتوكول على دراية بعنوان المُخدّم من عملية تهيئة آليّة سابقة، أن يطلب مُجدداً إعادة استخدام عنوان سابق مُنح له، وعندها يمكن تجاهل بعض الخطوات أثناء المراسلة وبالتالي اختصار العملية، لأن العميل على معرفة بوجود المُخدّم، ولا حاجة لمرحلة الاسكتشاف،[100] ولكن على أي حال، يملك المُخدّم وحده حق قبول أو رفض الطلب، ويقوم بإبلاغ العميل بذلك.

في حال أراد العميل طلب إعادة استخدام عنوان تتبع الحطوات التالية:[105]

  1. يقوم العميل بإرسال رسالة طلب بشكل بث عام. لا يستخدم العميل العنوان الذي يطلب استخدامه كعنوان أو كمعرّف خاص به، فهو لم يُمنح له بعد. يضع العميل العنوان المطلوب ضمن خيار «عنوان بروتوكول الإنترنت المطلوب».
  2. تقوم المُخدّمات التي تستقبل هذه الرسالة، والتي تكون على معرفة مُسبقة بُمحددات العميل بالرد عليها برسالة تأكيد إيجابي في حال كانت إعادة الاستخدام مُمكنةً،[106] أو برسالة تأكيد سلبي بخلاف ذلك، إذا كان العميل ضمن نفس شبكة المُخدّم المحلية يجب أن تكون رسالة التأكيد بشكل بث عام، أمّا إذا كان في شبكة أخرى، فترسل الرسالة من المخدم إلى وكيل البروتوكول في تلك الشبكة بشكل بث فريد الوجهة، على أن يقوم الوكيل بإرسالها بشكل بث عام في الشبكة المحلية البعيدة.
  3. يستقبل العميل رسائل التأكيد الواردة من المُخدّمات ويعالجها بالشكل التالي:
    1. إذا كانت الرسالة تأكيداً سلبياً، أي لا يُمكن منح العنوان لأنّه غير مُتوافق مع فضاء العناوين المُستعمل،[64] فيجيب على العميل أن يتقدم بطلب حصول على عنوان آخر.
    2. إذا كانت الرسالة تأكيداً إيجابياً، فيُمكن للعميل أن يستخدم العنوان ولكنّ يجب عليه أن يتحقق أولاً من فرادته، أي من عدم وجود من يستخدمه في الشبكة، ويمكن استخدام بروتوكول دقة العناوين لتحقيق ذلك، في حال عدم الفرادة، يقوم العميل بإرسال رسالة رفض للمخدم، [65] ويعيد طلب عنوان جديد مُغاير من خلال إعادة بدء عملية التهيئة الآليّة غير المُختصرة من جديد.
    3. إذا لم تصل أي رسالة تأكيد، لا سلبية ولا إيجابية، فإنّ العميل يُعيد إرسال رسالة الطلب مجدداً على أن لا يقوم بذلك أكثر من 4 مرات ضمن إطار انتظار زمني إجمالي لا يتجاوز 60 ثانية،[71] في حال عدم وصول أي تأكيد، يجب على العميل إعادة ضبط محددات التهيئة إلى القيم الافتراضية.

سلوك المخدم

تحديد العنوان المعروض

 
المخطط التدفقي لآلية تحصيص وعرض عنوان بروتوكول إنترنت على عميل البروتوكول في بروتوكول تهيئة المضيف الآلية.

يقوم المخدّم بتحديد عنوان بروتوكول إنترنت لعرضه على عميل ما بعد استقباله رسالة استكشاف من ذلك العميل. يحتفظ المُخدّم بقاعدة بيانات تضمّ معلومات تخص العملاء، سواءً مُحدداتٍ مُعدّة مسبقاً، قد تشمل على عنوان بروتوكول إنترنت، أو معلومات قام المُخدم نفسه بإضافتها لسجل العميل، من خلال تعاملٍ سابق بينهما، وقد تشمل هذه المعلومات عنوان بروتوكول إنترنت تمّ منحه سابقاً.

إذا امتلك المُخدّم مجالات عنونة لأكثر من شبكة، يجب عليه أن يحدد الشبكة التي يتواجد فيها العميل، فإذا كان العميل محلياً (قيمة حقل عنوان الوكيل صفرية) يتمّ عرض عنوان من شبكة المُخدّم المحليّة، أمّا إذا كان العميل بعيداً فيتمّ منحُه عنواناً من شبكة الوكيل.[107]

لتحديد العنوان الذي سيتمّ عرضه على العميل، بعد استقبال رسالة استكشاف، يقوم المُخدّم باتباع الخوارزمية التالية:[4]

  • إذا كان المُخدّم يمتلك إعدادات تهيئة مُعدّة مسبقاً للعميل صاحب الرسالة، وتشمل عنوان بروتوكول إنترنت، فإنّ المُخدّم يقوم بعرض ذلك العنوان على العميل.
  • إذا كان المُخدّم قد سبق وقام بمنح العميل عنوان بروتوكول إنترنت سابقاً، وكان هذا العنوان مُتاحاً، بسبب انتهاء مدة استخدامه دون تجديد أو تحريره من قبل العميل، فإن المُخدّم يقوم بعرض ذلك العنوان على العميل.
  • إذ كانت الرسالة تحتوي على خيار العنوان المطلوب، وكان ذلك العنوان متاحاً، يقوم المُخدّم بعرض العنوان على العميل.
  • أخيراً، لم تتحقق أي من الخيارات السابقة، يقوم المُخدّم بعرض أحد العناوين المتاحة من مجال عناوين شبكة العميل.

تحديد مدة استخدام العنوان

 
المخطط التدفقي لآلية منح مدة الاستخدام في بروتوكول تهيئة المضيف الآلية في عميل البروتوكول.

تنطلق عملية تحديد مدة استخدام العنوان بعد وصول رسالة استكشاف للمُخدّم، ولا يعني وصول رسالة الاستكشاف أن العميل الذي أرسلها لا يملك عنوان بروتوكول إنترنت، فهناك إمكانية لاستخدام هذه الرسالة من أجل البحث عن مُخدّمات البروتوكول من قبل عميل يستضيف سلفاً عنوان برتوكول إنترنت ما، سواء عن طريق التهيئة اليدوية أو الآليّة من نفس المُخدّم الذي استقبل الرسالة أو من مُخدّم آخر، وفي هذه الحالة يقوم المُخدّم بإعادة قيمة زمن الاستخدام المُتبقي للعنوان.

في حال كانت مدة الاستخدام الممنوحة ليست لانهائيّة، يجب اختيار قيمتها مدة الاستخدام بحرص بحيث تكون صغيرة بما يكفي لاسترجاع العناوين التي ترك مُستضيفوها الشبكة بدون تحريرها، وكبيرة بما يكفي لتؤمّن خدمة تهيئة آلية مستقرة.[108]

عند استقبال رسالة استكشاف من عميل ما، يقوم المخدّم بتحديد مدة استخدام العنوان بحسب الخوارزمية التالية:[4]

  • إذا كان العميل الذي أرسل الرسالة يستضيف عنوان بروتوكول إنترنت منح له عبر خدمة التهيئة الآلية، فإن المُخدّم يُوجد قيمة مدة الاستخدام المُتبقية للعنوان من قاعدة البيانات، ويعيدها للعميل في رسالة العرض.
  • إذا كان العميل لا يستضيف عنوان بروتوكول إنترنت ويطلب الحصول على خدمة التهئية الآليّة، فعندها:
    • إذا طلب العميل مدة استخدام مُحددة في رسالة الاستكشاف، يتحقق المُخدّم من موافقة القيمة لسياسة المنح، في حال موافقتها يتمّ إرسال القيمة المطلوبة للعميل في رسالة العرض.
    • إذا لم يطلب العميل قيمة محددة، أو إذا طلب قيمة لا تتوافق مع سياسة المنح، يقوم المُخدّم باختيار قيمة مدة الاستخدام الافتراضية، ويرسلها للعميل في رسالة العرض.

في حالات تجديد مدة استخدام العنوان، يكون المُخدّم هو صاحب القرار النهائي، بقبول التجديد أو عدمه، أو بمنح العميل مدة الاستخدام التي يطلبها أو منحه القيمة الافتراضية لمدة الاستخدام، وذلك بحسب السياسات الخاصة بإدارة الشبكة وبخدمة التهيئة الآلية.[40]

تحديد قيم مُحددات التهيئة المطلوبة

يمكن للعميل أن يطلب قيمة مُحدد واحد أو أكثر من محددات التهيئة من خلال إضافة الخيار المناسب إلى رسائل الاستكشاف أو الطلب أو الإعلام، ويجب على المُخدّم أن يتبع الخطوات التالية لتحديد قيمة كل مُحدد طُلب من قبل العميل:[4]

  • إذا كان المُخدّم قد زوّد مُسبقاً بشكل صريح بقيمة ما لهذا المحدد، فيجب على المُخدّم أن يُرفق القيمة في رسالة الرد التي يولدها ضمن خيار مناسب.
  • إذ كان المُحدد مُعرّف ضمن مستندات متطلبات المضيف، فيجب على المُخدّم أن يُرفق القيمة الافتراضية المُحددة في تلك الوثائق في رسالة الرد التي يولدها ضمن خيار مناسب.
  • بخلاف ذلك، لا يُعيد المُخدّم قيمة لذلك المُحدد في رسالة الرد.

سلوك العميل

 
مخطط الحالة لعميل بروتوكول تهيئة المضيف الآلية.

يمكن وصف سلوك العميل باستخدام مُخطط حالة، حيث ينتقل العميل بين ثمانية حالات مختلفة، ويحكم انتقاله بين هذه الحالات استقبال رسائل البروتوكول أو نفاذ المؤقتات،[109] وفيما يلي شرح مُبسط لهذه لكل حالة من هذه الحالات:[4][110]

  • الحالة البدائية (INIT): وهي الحالة التي يدخل فيها العميل بعد تشغيل البروتوكول فيه، كما يمكن أن يعود إليها من حالات لاحقة أخرى. في هذه الحالة، في هذه الحالة يقوم العميل ببدء عملية التهيئة الآلية بإرسال رسالة استكشاف دوماً، وينتقل بعد ذلك بشكلٍ تلقائي إلى حالة الاختيار.
  • حالة الاختيار (SELECTING): يدخل العميل هذه الحالة بعد إرساله لرسالة استكشاف، ويقوم فيها باستقبال رسائل العرض كردود من المُخدّمات، ويقوم العميل بتجميعها. تنتهي هذه الحالة بقيام العميل باختيار أحد العروض، لا يوجد قاعدة مُعينة لتحديد زمن انتظار العميل لرسائل العرض في هذه الحالة، ويُترك اختيار قيمة الزمن لمُنفّذ البروتوكول.[71]
  • حالة الطلب (REQUESTING): يدخل العميل هذه الحالة بعد اختياره إحدى رسائل العروض، ويبدؤها بإرسال رسالة طلب، ويظلّ فيها إلى حين التأكد من فرادة العنوان الذي تمّ منحه، إذا تلقى العميل في هذه الحالة رسالة تأكيد سلبي (العنوان المطلوب غير متاح مثلاً) أو إذا كان العنوان غير فريد، فيجب على العميل أن يعود إلى الحالة البدائية ويبدأ عملية التهيئة مجدداً، يهمل العميل أي رسائل عرض في هذه الحالة.
  • حالة الالتزام (BOUND): يدخل العميل هذه الحالة بعد استقباله رسالة تأكيد إيجابي، ويلتزم فيها بمحددات التهيئة التي حصل عليها من المُخدّم،[73] سواء كان ذلك جزءاً من عملية تهيئة آليّة، من جزءاً من التحقق من صلاحية مدة استخدام عنوان ممنوح (بعد إعادة إقلاع مثلاً)، أو بعد قبول طلب تجديد مدة الاستخدام، ويجب على العميل أن يضبط قيمة المؤقتين (T1) و (T2) من محتويات رسالة التأكيد الإيجابي قبل الدخول بهذه الحالة. يغادر العميل هذه الحالة بعد نفاذ قيمة المؤقت (T1)، ويجب على العميل عندها أن يرسل رسالة طلب موجهة بشكل مباشر إلى المخدم الذي منحه العنوان، وينتقل بعد ذلك إلى حالة إعادة التجديد، يهمل العميل أي رسالة عرض أو تأكيد إيجابي أو سلبي في هذه الحالة.
  • حالة إعادة التجديد (RENEWING): يدخل العميل هذه الحالة بعد إرسالة رسالة طلب للمخدم الذي منحه العنوان بسبب نفاذ قيمة المؤقت (T1)،[54] ويتحدد سلوكه في هذه الحالة بحسب مايلي:[111]
    • إذا وصلت رسالة تأكيد إيحابي من المخدم، يقوم العميل بإعادة ضبط قيم المؤقتين (T1) و (T2) ومدة الاستخدام بحسب محتوى الرسالة ويعود مجدداً إلى حالة الالتزام.
    • إذا وصلت رسالة تأكيد سلبي من المخدم، ينتقل العميل إلى الحالة البدائية ويبدأ عملية تهيئة ابتدائية جديدة.
    • إذا لم تصل أي رسالة تأكيد سلبي أو إيجابي، ينتظر العميل زمناً يتحدد بقيمة المؤقت (T2)، إذا بقي الحال كما سبق، يقوم العميل بإرسال رسالة طلب بشكل بث عام إلى أي مخدم وينتقل إلى حالة إعادة الالتزام.
  • حالة إعادة الالتزام (REBINDING): ويدخل العميل هذه الحالة بعد إرسالة رسالة طلب بشكل بث عام بعد نفاذ قيمة قمية المؤقت (T2) في حالة إعادة التجديد.[54] ويتحدد سلوكه في هذه الحالة بحسب يلي:[111]
    • إذا استقبل رسالة تأكيد إيجابي، يقوم العميل بإعادة ضبط قيمة المؤقتين (T1) و (T2) ومدة الاستخدام بحسب محتوى الرسالة ويعود مجدداً إلى حالة الالتزام.
    • إذا استقبل رسالة تأكيد سلبي، مثلاً لا يمكن تجديد مدة استخدام العنوان، أو إذا كان العنوان غير متوافق مع الشبكة ينتقل العميل إلى الحالة البدائية ليبدأ عملية تهيئة ابتدائية جديدة.
    • إذا لم تصل أي رسالة تأكيد سلبي أو إيجابي، ينتظر العميل في هذه الحالة لحين انتهاء مدة الاستخدام، إذا بقي الحال كما سبق، ينتقل العميل إلى الحالة البدائية ويبدأ عملية تهيئة ابتدائية جديدة.
  • حالة التمهيد البدائية (INIT-REBOOT): وهي حالة ابتدائية أيضاً، يدخلها العميل إذا كان على معرفة مسبقة بعنوان بروتوكول إنترنت، مثلاً إذا تمت إعادة تشغيله، وكان قد حصل بشكل مسبقاً على عنوان بروتوكول إنترنت مع مدة استخدام. يخرج العميل من هذه الحالة بإرسال رسالة طلب إلى المُخدم لتأكيد صلاحية مدة الاستخدام، وينتقل إلى حالة إعادة التمهيد.[112]
  • حالة إعادة التمهيد (REBOOTING): يدهل العميل هذه الخالة بعد قيامه بإرسال رسالة طلب وهو في حالة التمهيد الابتدائي، ويتحدد سلوكه في هذه الحالة بحسب يلي:
    • إذا استقبل رسالة تأكيد إيجابي، يقوم العميل بإعادة ضبط قيمة المؤقتين (T1) و (T2) ومدة الاستخدام بحسب محتوى الرسالة ويعود مجدداً إلى حالة الالتزام.
    • إذا استقبل رسالة تأكيد سلبي، ينتقل العميل إلى الحالة البدائية ويبدأ عملية تهيئة ابتدائية جديدة.

التوسيعات والإضافات

منذ إنجاز الشكل الحالي من البروتوكول في العام 1997م، لم تتوقف عملية التطوير، ولكنها كانت بالمجمل العام إضافات توسيعية، فقد تمّ توسيع قائمة المُحددات التي يمكن تزويد المُضيفين بها بإضافة عشرات المُحددات الجديدة، وشمل ذلك تعريف الخيارات الخاصّة بها ليتضاعف حجم قائمة الخيارات ثلاث مرات تقريباً [62] عن ما كان عليه في المعيار الأصلي.[32]

بالإضافة لذلك فقد تمّ تحسين آلية عمل البروتوكول نفسها، فتمت إضافة إمكانية المصادقة على العملاء قبل منحهم خدمة التهيئة الآلية،[113] كما تمّ تعديل آلية تحصيص فضاء العناوين لتشمل التحصيص الآليّ للعناوين المشتركة من الإصدار الرابع من بروتوكول الإنترنت،[114] وأصبح بالإمكان منح نفس عنوان بروتوكول الإنترنت إلى عدد من المُضيفين على أن يتم التمييز فيما بينهم على أساس أرقام منافذ المصدر الخاصة بطبقة النقل. بالإضافة لذلك طوّرت توسيعة الاستعلام عن معلومات بروتوكول الإنترنت (Leasequery)، التي تتيح لجهات مغايرة للعميل أو المُخدّم الحصول على معلومات ترتبط ببروتوكول الإنترنت المستعمل في الشبكة.[115] أمّا التعديل الأهم فكان تطوير بروتوكول التهيئة الآلية لمضيفي الإصدار السادس من بروتوكول الإنترنت (DHCPv6)،[5] الذي أصبح بروتوكول تهيئة آليّة مُستقلاً بحد ذاته.

لإنجاح هذه التوسيعات كان لابد من زيادة عدد رسائل البروتوكول فعرفت وثائق طلب التعليقات 10 أنواع أخرى منها البروتوكول، ليصبح العدد الإجمالي لأنواع الرسائل هو (18) رسالة.[115][116][117][118]

بروتوكول التهيئة الآلية لمضيفي الإصدار السادس من بروتوكول الإنترنت (DHCPv6)

بروتوكول التهيئة الآلية لمضيفي الإصدار السادس من بروتوكول الإنترنت
اختصار DHCPv6
الوظيفة التهيئة الآلية لمضيفي الإصدار السادس من بروتوكول الإنترنت (IPv6)
تاريخ التطوير 2003م
تأثَّر بـ بروتوكول تهيئة المضيف الآلية (DHCP)
طبقة نموذج OSI طبقة التطبيق
منافذ 446, 447[119]
وثيقة طلب التعليقات RFC RFC 3315

بروتوكول التهيئة الآلية لمضيفي الإصدار السادس من بروتوكول الإنترنت (بالإنجليزية: Dynamic Host Configuration Protocol for Internet Protocol Version 6 اختصاراً DHCPv6)‏ هو بروتوكول تطبيق يعمل بحسب نموذج طلب الخدمة يُقدّم خدمة التهيئة الآلية لمضيفي الإصدار السادس من بروتوكول الإنترنت (IPv6)، طوّر في العام 2003م، وهو موصوف في وثيقة طلب التعليقات (RFC 3315).[5]

يزوّد مُخدّم بروتوكول التهيئة مضيفي الإصدار السادس من بروتوكول الإنترنت بعناوين من فضاء العناوين الخاص به،[83] ولكن الإصدار السادس من بروتوكول الإنترنت يدعم التهيئة الذاتية بشكل افتراضي، بالإضافة لبروتوكول اكتشاف الجيران[120] (NDP) الذي يُؤمّن جزءاً من مُحددات التهيئة للمضيفين بشكلٍ تلقائيّ عند تشغيله. إنّ الميزات السابقة حدّت من دور بروتوكول التهيئة الآلية، فلم يعدْ خيار المضيفين الأول للحصول على عنوان بروتوكول الإنترنت وقناع الشبكة وعنوان المخرج الافتراضي. ولكنّ، ومع ذلك، فلا غنى عنه في تزويد المضيفين بمُحددات التهيئة اللازمة للقيام بالوظائف الأخرى عبر الشبكة.[121]

على الرغم من تأثرّه ببروتوكول تهيئة المضيف الآلية، ومن وجود تشابه بينهما في السلوك والوظيفة، فإنّ بروتوكول التهيئة الآليّة لمضيفي الإصدار السادس من بروتوكول الإنترنت هو بروتوكول مُستقل بحد ذاته.[122]

خيارات البروتوكول الإضافية

ُيُؤمّن بروتوكول تهيئة المضيف الآلية إطار عمل لتمرير معلومات التهيئة إلى المُضيفين في الشبكات التي تدعم حزمة بروتوكولات الإنترنت، محددات التهيئة ومعلومات تحكم أخرى يُكمن أن تُنقل في حقل الخيارات ضمن رسالة البروتوكول.[123]

تشرف هيئة تعيين أرقام الإنترنت على تنظيم استخدام خيارات البروتوكول وجعل القيم الخاصة بحقول الرسائل فيه معيارية.[62] فيما يلي قائمة بأهم مُحددات التهيئة الآلية التي تمّ إضافتها للبروتوكول، بالإضافة لمجموعة الخيارات المتوافقة معها:

  • خيار صنف المُستخدم، يتيح للعميل تعريف المُخدّم على نوع أو صنف المستخدم أو التطبيق الذي يُشغّل العميل.[124]
  • خيار التهيئة السريعة، والذي يتيح للعميل الحصول على خدمة التهيئة الآلية بعد تبادل رسالتين فقط، عوضاً عن الطريقة التقليدية بتبادل أربع رسائل.[125]
  • مجموعة الخيارات الخاصة ببروتوكول موقع الخدمة [English] (SLP)،[126] وخيار معلومات التهيئة للعناوين المدنيّة،[127] ومجموعة خيارات معلومات تهيئة الموقع على أساس الإحداثيات،[128] وخيار يدعم آلية لاكتشاف مخدمات بروتوكول معلومات الموقع.[129]
  • مجموعة من الخيارات المرتبطة بعمل نظام أسماء النطاقات (DNS) وتشمل: خيار اسم النطاق المؤهل الكامل (FQDN) الذي يتيح للعميل طلب اسم النطاق المُؤهل الكامل من المُخدّم،[130] خيار البحث عن خدمة الأسماء الذي يستخدمه المُخدم لتزويد العميل بقائمة مرتبة بحسب الأفضلية تضمّ عناوين مُخدمات أسماء النطاقات،[131] وخيار البحث عن النطاقات.[132]
  • خيار معلومات الوكيل، للسماح للوكيل بإضافة معلومات إلى رسائل العملاء التي يُوجّهها إلى المُخدّم.[81]
  • خيار خدمة أسماء المخازن في شبكة الإنترنت [English]، والذي يسمح لعملاء بروتوكول بروتوكول أسماء المخازن باستكشاف موقع المُخدّمات بشكل آلي.[133]
  • مجموعة خيارات خدمة الدليل لنوفل (Novel Directory Service NDS).[134]
  • مجموعة خيارات مُخدّمات التحكّم بالبث العام والبث المجموعاتي.[135]
  • خيار بروتوكول مُصادقة المستخدم (AUP) الذي يتيح لعملاء برتوكول المُصادقة الحصول على معلومات عن المُخدّم تشمل عنوان بروتوكول الإنترنت الخاص به ورقم المنقذ الذي يحجزه،[136] ومجموعة خيارات بروتوكول نقل معلومات المصادقة للنفاذ إلى الشبكة (PANA).[137]
  • مجموعة خيارات المنطقة الزمنية.[138]
  • خيار إيقاف التهيئة الذاتية لعملاء الإصدار الرابع من بروتوكول الإنترنت.[139]
  • خيار اختيار الشبكة الجزئية، الذي يسمح للعملاء بطلب عناوين من شبكة جزئيّة محددة.[140]
  • خيار مُخدّمات بروتوكول بدء جلسة (SIP) الذي يتيح للعميل التعرف على أسماء أو عناوين مخدمات البروتوكول.[141]
  • خيار المسارات الثابتة غير القياسيّة، وهو يختلف عن خيار المسارات الثابتة الموجود مُسبقاً بأن أقنعة الشبكات غير قياسيّة، ولابد للمُخدّم من أن يُزوّد العميل بالقناع الخاص بعنوان الشبكة من أجل كل مسار.[142]
  • خيار تهيئة عملاء كيبل لاب (CableLab).[143]
  • خيار اكتشاف مُخدّمات بروتوكول ترجمة الموقع إلى خدمة (LoST).[144]
  • خيار المُتحكم بالوصول إلى الإمداد والتحكم بنقاط الوصول اللاسلكية [English] (CAPWAP)، ويسمح لنقطة وصول لاسلكي باستخدام خدمة التهيئة الآلية لاكتشاف عنوان المتحكم بالوصول الذي تريد الاتصال معه.[145]
  • مجموعة خيارات الخدمات المُتحركة لبروتوكول التسليم المستقل عن الوسط [English] (IEEE 802.21).[146]
  • مجموعة خيارات استكشاف وحدات وظيفة اختيار واستكشاف كيفية الوصول إلى الشبكة (ANDSF Discovery).[147]
  • خيار عنوان مخدم بروتوكول نقل الملفات البسيط (TFTP)، والذي يتيح لعملاء البروتوكول استعمال خدمة التهيئة الآليّة للحصول على عناوين مُخدماته.[148]
  • مجموعة خيارات مخدم بروتوكول التحكم بالمنافذ [English] (PCP)، الذي يتيح لعملاء البروتوكول استعمال خدمة التهيئة لآلية للحصول على عنوان المخدّمات.[149]
  • مجموعة خيارات لاختيار الشبكات الافتراضية.[150]

ميزة مراقبة بروتوكول تهيئة المضيف الآلية

 
مثال عن كيفية عمل ميزة مراقبة بروتوكول تهيئة المضيف الآلية.

ميزة مراقبة بروتوكول تهيئة المضيف الآلية (بالإنجليزية: DHCP Snooping)‏ هي ميزة أمنية خاصة بطبقة ربط البيانات، تهدف إلى تحديد المُخدّمات التي تقوم بتقديم خدمة التهيئة الآلية، واستبعاد أي مُخدّمات مُزيفة قد تحاول الإجابة على رسائل الاستكشاف بقصد تهيئة المضيفين بمُحددات مغلوطة تساعد في إنشاء هجوم الوسيط أو هجوم حجب الخدمة.[151]

تعتمد هذه التقنية على تصنيف منافذ مبدلات الطبقة الثانية إلى مجموعتين، الأولى هي مجموعة المنافذ الموثُوقة، والثانية هي مجموعة المنافذ غير الموثُوقة. تتصل المنافذ الموثوقة مع مخدمات البروتوكول، أمّا المنافذ غير الموثوقة فلا يجب أن تتصل معها. يقوم المُبدّل الذي يدعم هذه الميزة بمراقبة حركة البيانات [English] عبر المنافذ التي تمّ تفعيل هذه الميزة فيها، فيسمح بمرور وتبديل رسائل العرض الواردة من المنافذ الموثوقة فقط، ويحجب أي رسالة عرض قادمة من منفذ غير موثوق.[152]

هوامش

1. يقابل التحصيص الذاتي (بالإنجليزية: Automatic Allocation)‏، والتحصيص الآلي (بالإنجليزية: Dynamic Allocation)‏، والتحصيص اليدوي (بالإنجليزية: Manual Allocation)‏.

2. يقابل التهيئة الذاتية (بالإنجليزية: Auto-Configuration)‏، والتهيئة الآلية (بالإنجليزية: Dynamic Configuration)‏، والتهيئة الثابتة (بالإنجليزية: Static Configuration)‏.

انظر أيضًا

مراجع

  1. ^ أ ب ت "TCP/IP address and parameter assignment - Dynamic Host Configuration Protocol". IBM (بEnglish). Archived from the original on 2018-06-13. Retrieved 2018-06-08.
  2. ^ أ ب ت "Service Name and Transport Protocol Port Number Registry". IANA (بEnglish). Archived from the original on 2019-08-06. Retrieved 2018-05-20.
  3. ^ أ ب ت ث "What Is DHCP?". Microsoft (بEnglish). Archived from the original on 2018-06-03. Retrieved 2018-06-03.
  4. ^ أ ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك Droms, R. (Mar 1997). "RFC 2131, Dynamic Host Configuration Protocol". The Internet Society (بEnglish). Archived from the original on 2018-11-15. Retrieved 2018-05-25.
  5. ^ أ ب ت ث R. Droms, Ed. J. Bound, B. Volzm, T. Lemon, C. Perkins, M. Carney (Jul 2003). "RFC 3315, Dynamic Host Configuration Protocol for IPv6 (DHCPv6)". The Internet Society (بEnglish). Archived from the original on 2020-03-25. Retrieved 2017-03-04.{{استشهاد ويب}}: صيانة الاستشهاد: أسماء متعددة: قائمة المؤلفين (link)
  6. ^ أ ب "Serveur DHCP : isc-dhcp-server". ubuntu (بfrançais). Archived from the original on 2017-06-16. Retrieved 2018-05-21.
  7. ^ أ ب "Dynamic Host Configuration Protocol (DHCP)". Microsoft (بEnglish). 23 Mar 2018. Archived from the original on 2018-02-28. Retrieved 2018-05-21.
  8. ^ أ ب "DhcpInfo". Android (بEnglish). Archived from the original on 2018-05-27. Retrieved 2018-05-21.
  9. ^ أ ب "macOS Sierra: Choose a manual IP address or use DHCP". Apple Inc. (بEnglish). 28 Mar 2017. Archived from the original on 2017-04-28. Retrieved 2018-05-28. {{استشهاد ويب}}: |archive-date= / |archive-url= timestamp mismatch (help)
  10. ^ أ ب "How DHCP Technology Works". Microsoft (بEnglish). 10 Aug 2009. Archived from the original on 2018-06-03. Retrieved 2018-06-03.
  11. ^ "DHCP Server". Oracle Corporation (بEnglish). Archived from the original on 2015-08-01. Retrieved 2018-06-03.
  12. ^ Charles M. Kozierok (20 Sep 2005). "DHCP Address Assignment and Allocation Mechanisms Parameters". The TCP/IP Guide (بEnglish). Archived from the original on 2017-01-11. Retrieved 2018-05-31.
  13. ^ "DHCP Address Allocation Methods". Palo Alto Networks, Inc (بEnglish). Archived from the original on 2018-06-03. Retrieved 2018-06-03.
  14. ^ "Static vs. dynamic IP addresses". Google (بEnglish). Archived from the original on 2018-05-25. Retrieved 2018-06-03.
  15. ^ Thomson, S.; Narten, T.; Jinmei, T. (Sep 2007). "RFC 4862, IPv6 Stateless Address Autoconfiguration". The Internet Society (بEnglish). Archived from the original on 2018-11-15. Retrieved 2018-06-03.
  16. ^ "DHCP relay agent". TheNetworkEncyclopedi (بEnglish). Archived from the original on 2017-06-30. Retrieved 2018-06-03.
  17. ^ "Configuring the DHCP Relay" (PDF). Cisco Systems, Inc. (بEnglish). Archived from the original (PDF) on 2017-07-13. Retrieved 2018-06-03.
  18. ^ "dhcp binding shows same device twice". Cisco Systems (بEnglish). 28 Aug 2014. Archived from the original on 2018-06-03. Retrieved 2018-06-03.
  19. ^ "How To Use Static And DHCP IPs At The Same Time With Your Router". MECHLER ENTERPRISES, LLC (بEnglish). 11 Apr 2012. Archived from the original on 2015-09-20. Retrieved 2018-06-03.
  20. ^ Michael Grandjean (5 أوكتوبر 2017). "DHCP and DNS: A Brief Introduction". Univention GmbH (بEnglish). Archived from the original on 3 يونيو 2018. Retrieved 3 يونيو 2018. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ= (help)
  21. ^ "DHCP Server, Client, and Relay Agent Overview". Juniper Networks, Inc. (بEnglish). Archived from the original on 2017-09-13. Retrieved 2018-06-03.
  22. ^ "What is the difference between BOOTP and DHCP?". Cisco Systens, Inc. (بEnglish). 21 Jul 2015. Archived from the original on 2018-06-03. Retrieved 2018-06-03.
  23. ^ "Cisco IOS IP Configuration Guide, Release 12.2, Chapter: Configuring DHCP". Cisco Systems, Inc. (بEnglish). Archived from the original on 2017-04-24. Retrieved 2018-06-03.
  24. ^ "DHCP Client and Server". Cisco Systems, Inc. (بEnglish). 18 Apr 2005. Archived from the original on 2017-01-22. Retrieved 2018-06-03.
  25. ^ Croft, Bill; Gilmore, John (Sep 1985). "RFC 950, BOOTSTRAP PROTOCOL (BOOTP)". The Internet Society (بEnglish). Archived from the original on 2016-11-30. Retrieved 2018-06-03.
  26. ^ Sollins, K. (Jul 1992). "RFC 1350, THE TFTP PROTOCOL (REVISION 2)". The Internet Society (بEnglish). Archived from the original on 2004-11-21. Retrieved 2018-06-03.
  27. ^ C. Plummer, David (نوفمبر 1982). "RFC 826, An Ethernet Address Resolution Protocol or Converting Network Protocol Addresses". The Internet Society (بEnglish). Archived from the original on 2020-02-19. Retrieved 29 أوكتوبر 2017. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ الوصول= (help)
  28. ^ Postal, J. (Aug 1981). "RFC 792, Internet Control Message protocol, DARPA internet program,protocol specification". The Internet Society (بEnglish). Archived from the original on 2020-03-06. Retrieved 2017-07-14.
  29. ^ أ ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف Braden, R. (أوكتوبر 1989). "RFC 1122, Requirements for Internet Hosts -- Communication Layers". The Internet Society (بEnglish). Archived from the original on 2017-09-18. Retrieved 19 مايو 2018. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ= (help)
  30. ^ Braden, R. (أوكتوبر 1989). "RFC 1123, Requirements for Internet Hosts -- Application and Support". The Internet Society (بEnglish). Archived from the original on 2016-03-08. Retrieved 3 يونيو 2018. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ= (help)
  31. ^ Droms, R. (أوكتوبر 1993). "RFC 1531, Dynamic Host Configuration Protocol". The Internet Society (بEnglish). Archived from the original on 28 نوفمبر 2005. Retrieved 3 يونيو 2018. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ= (help)
  32. ^ أ ب ت ث Alexander, S.; Droms, R. (Jun 2001). "RFC 2132, DHCP Options and BOOTP Vendor Extensions". The Internet Society (بEnglish). Archived from the original on 2012-04-17. Retrieved 2018-06-03.
  33. ^ "client-identifier (DHCP Client)". Juniper Networks, Inc. (بEnglish). Archived from the original on 2018-06-04. Retrieved 2018-06-04.
  34. ^ René Molenaar. "Cisco IOS DHCP Client Identifier". NetworkLessons.com (بEnglish). Archived from the original on 2017-09-10. Retrieved 2018-06-03.
  35. ^ Mike Henry (16 Nov 2017). "DHCP Option 61 UUID Type Definition". Internet Society (بEnglish). Archived from the original (PDF) on 2017-07-02. Retrieved 2018-06-04.
  36. ^ "Configurable DHCP Client" (PDF). Cisco Systems, Inc. (بEnglish). Archived from the original (PDF) on 2018-06-04. Retrieved 2018-06-04.
  37. ^ "Understanding DHCP Client Operation". Juniper Networks, Inc (بEnglish). Archived from the original on 2018-06-04. Retrieved 2018-06-04.
  38. ^ "Lease Time Policy". Oracle Corporation (بEnglish). Archived from the original on 2015-03-21. Retrieved 2018-06-03.
  39. ^ C. Gray، C.؛ Cheriton، D. (ديسمبر 189). "Leases: an efficient fault-tolerant mechanism for distributed file cache consistency". SOSP '89 Proceedings of the twelfth ACM symposium on Operating systems principles. ACM. ج. 23 ع. 5: 202-210. DOI:10.1145/74851.74870. {{استشهاد بدورية محكمة}}: تحقق من التاريخ في: |تاريخ= (مساعدة)
  40. ^ أ ب "Leases". IBM (بEnglish). Archived from the original on 2018-06-13. Retrieved 2018-06-03.
  41. ^ Tom Carpenter (2011). Microsoft Windows Server Administration Essentials (بEnglish). John Wiley & Sons. p. 104. ISBN:9781118016862.
  42. ^ "The DHCP Client". Oracle Corporation (بEnglish). Archived from the original on 2015-08-01. Retrieved 2018-06-03.
  43. ^ Tim Fisher (1 Jun 2017). "What Is DHCP? (Dynamic Host Configuration Protocol) Definition of dynamic host configuration protocol". lifewire (بEnglish). Archived from the original on 2018-01-12. Retrieved 2018-06-06.{{استشهاد ويب}}: صيانة الاستشهاد: BOT: original URL status unknown (link)
  44. ^ أ ب ت Mogul, J.; Deering, S. (أوكتوبر 1989). "RFC 1191, Path MTU Discovery". The Internet Society (بEnglish). Archived from the original on 31 يوليو 2016. Retrieved 19 مايو 2018. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ= (help)
  45. ^ أ ب ت Deering, S. (Sep 1991). "RFC 1256, ICMP Router Discovery Messages". The Internet Society (بEnglish). Archived from the original on 2018-10-26. Retrieved 2018-05-20.
  46. ^ Postel, J.; Reynolds, J. (Feb 1988). "RFC 1042, A Standard for the Transmission of IP Datagrams over IEEE 802 Networks". The Internet Society (بEnglish). Archived from the original on 2016-03-10. Retrieved 2018-05-19.
  47. ^ Hornig, Charles (Apr 1984). "A Standard for the Transmission of IP Datagrams over Ethernet Networks". The Internet Society (بEnglish). Archived from the original on 2016-03-08. Retrieved 2018-05-19.
  48. ^ "Chapter 8 Overview of DHCP". Oracle Corporation (بEnglish). Archived from the original on 2015-01-26. Retrieved 2018-06-07.
  49. ^ أ ب ت ث ج "DHCP Client" (PDF). Cisco Systems (بEnglish). Archived from the original (PDF) on 2018-06-07. Retrieved 2018-06-07.
  50. ^ Gopi Krishna (19 Feb 2002). "[dhcwg] RE: Maximum message size interpretation in DHCP packet". The Internet Society (بEnglish). Archived from the original on 2011-01-11. Retrieved 2018-06-09.
  51. ^ "Dynamic and Permanent Lease Type". Oracle Corporation (بEnglish). Archived from the original on 2018-06-09. Retrieved 2018-06-09.
  52. ^ "DHCP lease time not to RFC 2131 3.3 standard". Ubiquiti Networks, Inc. (بEnglish). 22 أوكتوبر 2017. Archived from the original on 8 يناير 2018. Retrieved 8 يونيو 2018. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ= (help)
  53. ^ "Chapter: Managing DHCP Server". Cisco Systems, Inc. (بEnglish). Archived from the original on 2018-06-10. Retrieved 2018-06-10.
  54. ^ أ ب ت Charles M. Kozierok. (20 Sep 2005). "DHCP Lease "Life Cycle" Overview (Allocation, Reallocation, Renewal, Rebinding and Release) and Lease Timers". The TCP/IP Guide (بEnglish). Archived from the original on 2018-01-02. Retrieved 2018-06-08. {{استشهاد ويب}}: |archive-date= / |archive-url= timestamp mismatch (help)
  55. ^ أ ب Charles M. Kozierok. (20 Sep 2005). "DHCP Lease Renewal and Rebinding Processes". The TCP/IP Guide (بEnglish). Archived from the original on 2018-01-02. Retrieved 2018-06-07.
  56. ^ أ ب "What is the significance of "Renewal(T1) Time(sec)" and "Rebinding(T2) Time(sec)" when DHCP is configured on Cisco CallManager Server 5.x". Cisco Systems, Inc. (بEnglish). 22 Jun 2009. Archived from the original on 2018-06-08. Retrieved 2018-06-08.
  57. ^ "Chapter 9 Planning for DHCP Service". Oracle Corporation (بEnglish). Archived from the original on 2015-01-26. Retrieved 2018-06-07. {{استشهاد ويب}}: |archive-date= / |archive-url= timestamp mismatch (help)
  58. ^ Charles M. Kozierok. (14 Apr 2015). "What happen if DHCP lease expires when the PC is disconnected from the network ?". Cisco Systems, Inc. (بEnglish). Archived from the original on 2018-06-08. Retrieved 2018-06-08.
  59. ^ أ ب ت "BOOTP Relay Agents". Oracle Corporation (بEnglish). Archived from the original on 2015-08-01. Retrieved 2018-06-03.
  60. ^ أ ب "How does a router relay DHCP packets when it is configured as a relay agent?". Stack Exchange Inc (بEnglish). 9 Jun 2016. Archived from the original on 2018-06-09. Retrieved 2018-06-09.
  61. ^ أ ب "DHCP Broadcast or Unicast?". Cisco Systems, Inc. (بEnglish). 12 Nov 2012. Archived from the original on 2018-06-08. Retrieved 2018-06-09.
  62. ^ أ ب ت "Dynamic Host Configuration Protocol (DHCP) and Bootstrap Protocol (BOOTP) Parameters". IANA (بEnglish). Archived from the original on 2018-03-04. Retrieved 2018-05-31.
  63. ^ أ ب ت ث ج "DHCP Messages". Palo Alto Networks, Inc. (بEnglish). Archived from the original on 2018-06-09. Retrieved 2018-06-09.
  64. ^ أ ب "When is DHCP NAK issued?". Microsoft (بEnglish). 26 أوكتوبر 2006. Archived from the original on 9 يونيو 2018. Retrieved 9 يونيو 2018. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ= (help)
  65. ^ أ ب ت ث "DHCP Clients' Ability to Send DHCPDECLINE Message". Microsoft (بEnglish). Archived from the original on 2018-05-12. Retrieved 2018-05-12. {{استشهاد ويب}}: |archive-date= / |archive-url= timestamp mismatch (help)
  66. ^ أ ب ت ث Park، Soohong؛ Pyungsoo، Kim؛ Minho، Lee؛ Kim، Youngkeun (2004). "Fast Address Configuration for WLAN". PDCAT 2004: Parallel and Distributed Computing: Applications and Technologies. Springer. ج. 17 ع. 5: 396-400. DOI:10.1007/978-3-540-30501-9_81. ISBN:978-3-540-24013-6.
  67. ^ D. Hankins (أوكتوبر 2011). "Dynamic Host Configuration Protocol DHCPINFORM Message Clarifications draft-ietf-dhc-dhcpinform-clarify-06". The Internet Society (بEnglish). Archived from the original on 2019-09-30. Retrieved 9 يونيو 2018. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ= (help)
  68. ^ "DHCP Broadcast or Unicast?". Cisco Systems, Inc. (بEnglish). 22 Nov 2012. Archived from the original on 2018-06-08. Retrieved 2018-06-08.
  69. ^ "Spirent TestCenter: Why is DHCP release unicast even after setting Broadcast flag on DHCP client?". Spirent Communications (بEnglish). 16 أوكتوير 2014. Archived from the original on 8 يونيو 2018. Retrieved 8 يونيو 2018. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ= (help)
  70. ^ أ ب "Message types and options details in all layers". juga (بEnglish). Archived from the original on 2018-06-08. Retrieved 2018-06-08.
  71. ^ أ ب ت ث "Not specified in RFC7844, but in RFC2131". juga (بEnglish). Archived from the original on 2018-06-08. Retrieved 2018-06-08.
  72. ^ "How to use automatic TCP/IP addressing without a DHCP server". Microsoft (بEnglish). Archived from the original on 2018-05-04. Retrieved 2018-06-10.
  73. ^ أ ب Charles M. Kozierok (20 Sep 2005). "DHCP Lease Renewal and Rebinding Processes". The TCP/UP Guide (بEnglish). Archived from the original on 2017-11-15. Retrieved 2018-06-10.
  74. ^ "DHCP Client" (بEnglish). Retrieved 2018-06-11.[وصلة مكسورة]
  75. ^ "DHCP Server Goes Offline, why are PC's not holding onto their leased DHCP address after reboot?". Microsoft (بEnglish). Archived from the original on 2018-06-13. Retrieved 2018-06-11.
  76. ^ "Which server is selected by the client if it receives Offer from 2 DHCP servers at a time?". Stack Exchange Inc (بEnglish). Archived from the original on 2017-02-12. Retrieved 2018-06-11.
  77. ^ "Use of DHCP Option 50 to Request a Specific IP Address". Juniper Networks, Inc. (بEnglish). Archived from the original on 2018-06-11. Retrieved 2018-06-11.
  78. ^ Michael Platts (29 Jan 2009). "DHCP Client Behavior". Microsoft (بEnglish). Archived from the original on 2018-06-10. Retrieved 2018-06-10.
  79. ^ "Troubleshooting a DHCP Client". Oracle (بEnglish). Archived from the original on 2017-09-28. Retrieved 2018-06-11.
  80. ^ "Managing Leases" (PDF). Cisco Systems, inc. (بEnglish). Archived from the original (PDF) on 2018-06-11. Retrieved 2018-06-11.
  81. ^ أ ب Patrick, M. (Jan 2001). "RFC 3046, DHCP Relay Agent Information Option". The Internet Society (بEnglish). Archived from the original on 2020-01-10. Retrieved 2018-06-03.
  82. ^ "Add a DHCP IP Pool". vmware (بEnglish). Archived from the original on 2018-06-14. Retrieved 2018-06-11.
  83. ^ أ ب "DHCPv6 – an introduction to the new host configuration protocol". Edvina AB, Sollentuna (بEnglish). 16 Dec 2011. Archived from the original on 2017-11-23. Retrieved 2018-06-11.
  84. ^ Wimer, W. (أوكتوبر 1993). "RFC 1542, Clarifications and Extensions for the Bootstrap Protocol". The Internet Society (بEnglish). Archived from the original on 25 مارس 2020. Retrieved 22 مايو 2018. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ= (help)
  85. ^ "DHCP Message Format". The TCP/IP Guide (بEnglish). 20 Sep 2005. Archived from the original on 2018-01-11. Retrieved 2018-06-09. {{استشهاد ويب}}: |archive-date= / |archive-url= timestamp mismatch (help)
  86. ^ Charles M. Kozierok (20 Sep 2005). "DHCP Message Format". The TCP/IP Guide (بEnglish). Archived from the original on 2017-04-26. Retrieved 2018-05-28.
  87. ^ أ ب ت Reynolds, J. Charles; Postel, J. (أوكتوبر 1994). "RFC 1700, ASSIGNED NUMBERS". The Internet Society (بEnglish). Archived from the original on 2009-06-26. Retrieved 27 مايو 2018. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ= (help)
  88. ^ "DHCP options lookup". IBM (بEnglish). Archived from the original on 2018-06-13. Retrieved 2018-06-03.
  89. ^ أ ب M. Kozierok, Charles (20 سبتمبر 2005). "Summary Of DHCP Options / BOOTP Vendor Information Fields". The TCP/IP Guide (بEnglish). Archived from the original on 15 مارس 2017. Retrieved 21 أوكتوبر 2018. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ الوصول= (help)
  90. ^ Volz, B. (Nov 2004). "RFC 3942, Reclassifying Dynamic Host Configuration Protocol version 4 (DHCPv4) Options". The Internet Society (بEnglish). Archived from the original on 2020-03-25. Retrieved 2018-05-31.
  91. ^ أ ب M. Kozierok, Charles (20 سبتمبر 2005). "Summary Of DHCP Options / BOOTP Vendor Information Fields". The TCP/IP Guide (بEnglish). Archived from the original on 22 يوليو 2017. Retrieved 21 أوكتوبر 2018. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ الوصول= (help)
  92. ^ أ ب M. Kozierok, Charles (20 سبتمبر 2005). "Summary Of DHCP Options / BOOTP Vendor Information Fields". The TCP/IP Guide (بEnglish). Archived from the original on 23 أوكتوبر 2017. Retrieved 3 يونيو 2018. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ أرشيف= (help)
  93. ^ M. Kozierok, Charles (20 سبتمبر 2005). "Summary Of DHCP Options / BOOTP Vendor Information Fields". The TCP/IP Guide (بEnglish). Archived from the original on 23 أوكتوبر 2017. Retrieved 3 يونيو 2018. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ أرشيف= (help)
  94. ^ M. Kozierok, Charles (20 Sep 2005). "Summary Of DHCP Options / BOOTP Vendor Information Fields". The TCP/IP Guide (بEnglish). Archived from the original on 2017-11-10. Retrieved 2018-06-03.
  95. ^ Reynolds, J. (Aug 1993). "RFC 1497, BOOTP Vendor Information Extensions". The Internet Society (بEnglish). Archived from the original on 2020-03-25. Retrieved 2018-05-20.
  96. ^ "Dynamic Host Configuration Protocol (DHCP) Message Format". OmniSecu.com (بEnglish). Archived from the original on 2017-11-29. Retrieved 2018-06-11.
  97. ^ أ ب "DHCP (Dynamic Host Configuration Protocol) Basics". Microsoft (بEnglish). Archived from the original on 2018-06-08. Retrieved 2018-06-08.
  98. ^ "DHCP client/server interaction". IBM (بEnglish). Archived from the original on 2018-06-13. Retrieved 2018-06-03.
  99. ^ Bradley Mitchell. "0.0.0.0 Is Not a Normal IP Address, What It Means When You See the 0.0.0.0 IP Address". lifewire (بEnglish). Archived from the original on 2018-01-08. Retrieved 2018-06-08.
  100. ^ أ ب "Understanding the Basic Operations of DHCP". Palo Alto Networks, Inc. (بEnglish). 23 أوكتوبر 2013. Archived from the original on 12 مايو 2017. Retrieved 9 يونيو 2018. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ= (help)
  101. ^ Charles M. Kozierok (2005). The TCP/IP Guide: A Comprehensive, Illustrated Internet Protocols Reference (بEnglish). No Starch Press. p. 1021. ISBN:159327047X.
  102. ^ David Bateman, William Burton (28 أبريل 2009). "Cisco CCNA Voice Exam Cram: Configuring the Network to Support VoIP". Pearson Education, Pearson IT Certification (بEnglish). Archived from the original on 4 أوكتوير 2013. Retrieved 9 يونيو 2018. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ أرشيف= (help)
  103. ^ C. Plummer, David (Nov 1982). "RFC 826, An Ethernet Address Resolution Protocol or Converting Network Protocol Addresses". The Internet Society (بEnglish). Archived from the original on 2019-06-20. Retrieved 2018-06-09.
  104. ^ Postal, J. (Aug 1981). "RFC 792, Internet Control Message protocol, DARPA internet program,protocol specification". The Internet Society (بEnglish). Archived from the original on 2020-03-06. Retrieved 2018-06-09.
  105. ^ "How DHCP Technology Works". Microsoft (بEnglish). Archived from the original on 2018-06-09. Retrieved 2018-06-09.
  106. ^ "Understanding and Troubleshooting DHCP in Catalyst Switch or Enterprise Networks, Renewing the Lease". Cisco Systems, Inc. (بEnglish). Archived from the original on 2017-08-01. Retrieved 2018-06-10. {{استشهاد ويب}}: |archive-date= / |archive-url= timestamp mismatch (help)
  107. ^ "How does a DHCP server know what IP addresses to use with DHCP relay?". Cisco Systems (بEnglish). 4 Dec 2013. Archived from the original on 2018-06-12. Retrieved 2018-06-12.
  108. ^ "Making Decisions for Your DHCP Server Configuration (Task Map), Setting a Lease Policy". Oracle Corporation (بEnglish). Archived from the original on 2016-09-05. Retrieved 2018-06-11.
  109. ^ Charles M. Kozierok. (20 Sep 2005). "DHCP General Operation and Client Finite State Machine". The TCP/IP Guide (بEnglish). Archived from the original on 2018-01-05. Retrieved 2018-06-10.
  110. ^ "Understanding the Detailed Operations of DHCP". NMC Consulting Group (بEnglish). 30 أوكتوبر 2013. Archived from the original on 1 أغسطس 2017. Retrieved 10 يونيو 2018. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ= (help)
  111. ^ أ ب Charles M. Kozierok (20 Sep 2005). "DHCP Lease Renewal and Rebinding Processes, Lease Renewal/Rebinding Process Steps". The TCP/UP Guide (بEnglish). Archived from the original on 2017-11-15. Retrieved 2018-06-10.
  112. ^ "DHCP client may fail to obtain a DHCP-assigned IP address". Microsoft (بEnglish). Archived from the original on 2018-06-10. Retrieved 2018-06-10.
  113. ^ Droms, R.; Arbaugh, W. (Jun 2001). "RFC 3118, Authentication for DHCP Messages". The Internet Society (بEnglish). Archived from the original on 2020-03-25. Retrieved 2018-06-03.
  114. ^ Y. Cui, Q. Sun, I. Farrer, Y. Lee, M. Boucadair (Aug 2015). "RFC 7618, Dynamic Allocation of Shared IPv4 Addresses". The Internet Society (بEnglish). Archived from the original on 2022-05-25. Retrieved 2018-06-03.{{استشهاد ويب}}: صيانة الاستشهاد: أسماء متعددة: قائمة المؤلفين (link)
  115. ^ أ ب Woundy, R.; Kinnear, K. (Feb 2006). "RFC 4388, Dynamic Host Configuration Protocol (DHCP) Leasequery". The Internet Society (بEnglish). Archived from the original on 2012-08-11. Retrieved 2018-06-03.
  116. ^ Kinnear, K.; Stapp, M.; Volz, B.; Russell, N. (Jun 2001). "RFC 7724, Active DHCPv4 Lease Query". The Internet Society (بEnglish). ISSN:2070-1721. Archived from the original on 2020-03-25. Retrieved 2018-06-03.
  117. ^ T'Joens, Y.; Hublet, C.; De Schrijver, P. (Dec 2001). "RFC 3203, DHCP reconfigure extension". The Internet Society (بEnglish). Archived from the original on 2012-08-11. Retrieved 2018-06-03.
  118. ^ K. Kinnear, M. Stapp, R. Desetti, B. Joshi, N. Russell, P. Kurapati, B. Volz (Apr 2013). "RFC 6926, DHCPv4 Bulk Leasequery". The Internet Society (بEnglish). ISSN:2070-1721. Archived from the original on 2020-03-25. Retrieved 2018-06-03.{{استشهاد ويب}}: صيانة الاستشهاد: أسماء متعددة: قائمة المؤلفين (link)
  119. ^ "Service Name and Transport Protocol Port Number Registry". iana. (بEnglish). Archived from the original on 2017-01-03. Retrieved 2018-06-13. {{استشهاد ويب}}: |archive-date= / |archive-url= timestamp mismatch (help)
  120. ^ Narten, T.; Nordmark, E.; Simpson, W.; Soliman, H. (Sep 2007). "RFC 4861, Neighbor Discovery for IP version 6 (IPv6)". The Internet Society (بEnglish). Archived from the original on 2012-08-11. Retrieved 2017-07-31.
  121. ^ "IP Addressing: DHCP Configuration Guide, Chapter: DHCPv6 Server Stateless Autoconfiguration". Cisco Systems, Inc. (بEnglish). Archived from the original on 2018-06-11. Retrieved 2018-06-11.
  122. ^ Scott Hogg (21 أوكتوبر 2014). "Accounting for Differences between DHCPv6 and DHCP". Global Technology Resources, Inc. (بEnglish). Archived from the original on 8 ديسمبر 2017. Retrieved 12 يونيو 2018. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ= (help)
  123. ^ "DHCP Options" (PDF). Cisco systems, Inc. (بEnglish). Archived from the original (PDF) on 2018-06-13. Retrieved 2018-06-13.
  124. ^ G. Stump, R. Droms, Y. Gu, R. Vyaghrapuri, A. Demirtjis, B. Beser, J. Privat (Nov 2000). "RFC 3004, The User Class Option for DHCP". The Internet Society (بEnglish). Archived from the original on 2012-08-11. Retrieved 2018-06-03.{{استشهاد ويب}}: صيانة الاستشهاد: أسماء متعددة: قائمة المؤلفين (link)
  125. ^ S. Park, P. Kim, B. Volz (Mar 2005). "RFC 4039, Rapid Commit Option for the Dynamic Host Configuration Protocol version 4 (DHCPv4)". The Internet Society (بEnglish). Archived from the original on 2012-08-11. Retrieved 2018-06-06.{{استشهاد ويب}}: صيانة الاستشهاد: أسماء متعددة: قائمة المؤلفين (link)
  126. ^ C. Perkins, E. Guttman (Jun 1999). "RFC 2610, DHCP Options for Service Location Protocol". The Internet Society (بEnglish). Archived from the original on 2020-01-25. Retrieved 2018-06-12.
  127. ^ H. Schulzrinne (Nov 2000). "RFC 4776, Dynamic Host Configuration Protocol (DHCPv4 and DHCPv6) Option for Civic Addresses Configuration Information". The Internet Society (بEnglish). Archived from the original on 2020-02-01. Retrieved 2018-06-12.
  128. ^ J. Polk, M. Linsner, M. Thomson, B. Aboba, Ed. (Jul 2011). "RFC 3825, Dynamic Host Configuration Protocol Options for Coordinate-Based Location Configuration Informationfor Civic Addresses Configuration Information". The Internet Society (بEnglish). ISSN:2070-1721. Archived from the original on 2019-03-22. Retrieved 2018-06-12.{{استشهاد ويب}}: صيانة الاستشهاد: أسماء متعددة: قائمة المؤلفين (link)
  129. ^ M. Thomson, J. Winterbottom (Sep 2010). "RFC 5986, Discovering the Local Location Information Server (LIS)". The Internet Society (بEnglish). ISSN:2070-1721. Archived from the original on 2019-07-18. Retrieved 2018-06-12.
  130. ^ M. Stapp, B. Volz, Y. Rekhter (أوكتوبر 2006). "RFC 4702, The Dynamic Host Configuration Protocol (DHCP) Client Fully Qualified Domain Name (FQDN) Option". The Internet Society (بEnglish). Archived from the original on 2012-08-10. Retrieved 8 يونيو 2018. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ= (help)صيانة الاستشهاد: أسماء متعددة: قائمة المؤلفين (link)
  131. ^ C. Smith (Sep 2000). "RFC 2937, The Name Service Search Option for DHCP". The Internet Society (بEnglish). Archived from the original on 2012-08-11. Retrieved 2018-06-08.
  132. ^ B. Aboba, S. Cheshire (Nov 2002). "RFC 3397, The Dynamic Host Configuration Protocol (DHCP) Domain Search Option". The Internet Society (بEnglish). Archived from the original on 2020-03-25. Retrieved 2018-06-08.
  133. ^ C. Monia, J. Tseng, K. Gibbons, (سبتمبر 2005). "RFC 4174, The IPv4 Dynamic Host Configuration Protocol (DHCP) Option for the Internet Storage Name Service". The Internet Society (بEnglish). Archived from the original on 18 يوليو 2019. Retrieved 13يونيو 2018. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ الوصول= (help)صيانة الاستشهاد: أسماء متعددة: قائمة المؤلفين (link) صيانة الاستشهاد: علامات ترقيم زائدة (link)
  134. ^ D. Provan (Nov 1997). "RFC 2241, DHCP Options for Novell Directory Services". The Internet Society (بEnglish). Archived from the original on 2020-01-26. Retrieved 2018-06-13.
  135. ^ K. Chowdhury, P. Yegani, L. Madour (Nov 2005). "RFC 4280, Dynamic Host Configuration Protocol (DHCP) Options for Broadcast and Multicast Control Servers". The Internet Society (بEnglish). Archived from the original on 2020-02-08. Retrieved 2018-06-09.{{استشهاد ويب}}: صيانة الاستشهاد: أسماء متعددة: قائمة المؤلفين (link)
  136. ^ S. Drach (Jan 1999). "RFC 2485, DHCP Option for The Open Group's User Authentication Protocol". The Internet Society (بEnglish). Archived from the original on 2020-02-08. Retrieved 2018-06-13.
  137. ^ L. Morand, A. Yegin, S. Kumar, S. Madanapalli (May 2008). "RFC 5192, DHCP Options for Protocol for Carrying Authentication for Network Access (PANA) Authentication Agents". The Internet Society (بEnglish). Archived from the original on 2020-02-08. Retrieved 2018-06-13.{{استشهاد ويب}}: صيانة الاستشهاد: أسماء متعددة: قائمة المؤلفين (link)
  138. ^ E. Lear, P. Eggert (Apr 2007). "RFC 4833, Timezone Options for DHCP". The Internet Society (بEnglish). Archived from the original on 2019-03-22. Retrieved 2018-06-09.
  139. ^ R. Troll (May 1999). "RFC 2563, DHCP Option to Disable Stateless Auto-Configuration in IPv4 Clients". The Internet Society (بEnglish). Archived from the original on 2019-03-28. Retrieved 2018-06-09.
  140. ^ G. Waters (Nov 2000). "RFC 3011, The IPv4 Subnet Selection Option for DHCP". The Internet Society (بEnglish). Archived from the original on 2020-02-08. Retrieved 2018-06-09.
  141. ^ H. Schulzrinne (May 2008). "RFC 3361, Dynamic Host Configuration Protocol (DHCP-for-IPv4) Option for Session Initiation Protocol (SIP) Servers". The Internet Society (بEnglish). Archived from the original on 2019-03-28. Retrieved 2018-06-13.
  142. ^ T. Lemon, S. Cheshire, B. Volz (Dec 2002). "RFC 3442, The Classless Static Route Option for Dynamic Host Configuration Protocol (DHCP) version 4". The Internet Society (بEnglish). Archived from the original on 2019-08-05. Retrieved 2018-06-13.{{استشهاد ويب}}: صيانة الاستشهاد: أسماء متعددة: قائمة المؤلفين (link)
  143. ^ B. Beser, P. Duffy (Mar 2003). "RFC 3495, Dynamic Host Configuration Protocol (DHCP) Option for CableLabs Client Configuration". The Internet Society (بEnglish). Archived from the original on 2020-02-08. Retrieved 2018-06-13.
  144. ^ H. Schulzrinne, J. Polk, H. Tschofenig (Aug 2008). "RFC 5223, Discovering Location-to-Service Translation (LoST) Servers Using the Dynamic Host Configuration Protocol (DHCP)". The Internet Society (بEnglish). Archived from the original on 2020-01-27. Retrieved 2018-06-13.{{استشهاد ويب}}: صيانة الاستشهاد: أسماء متعددة: قائمة المؤلفين (link)
  145. ^ P. Calhoun (Mar 2009). "RFC 5417, Control And Provisioning of Wireless Access Points (CAPWAP) Access Controller DHCP Option". The Internet Society (بEnglish). Archived from the original on 2020-01-25. Retrieved 2018-06-13.
  146. ^ G. Bajko, S. Das (Dec 2009). "RFC 5678, Dynamic Host Configuration Protocol (DHCPv4 and DHCPv6) Options for IEEE 802.21 Mobility Services (MoS) Discovery". The Internet Society (بEnglish). Archived from the original on 2020-01-27. Retrieved 2018-06-13.
  147. ^ S. Das, G. Bajko (Dec 2009). "RFC 6153, DHCPv4 and DHCPv6 Options for Access Network Discovery and Selection Function (ANDSF) Discovery". The Internet Society (بEnglish). Archived from the original on 2019-12-05. Retrieved 2018-06-13.
  148. ^ Johnson, R. (Jun 2010). "RFC 5859, TFTP Server Address Option for DHCPv4". The Internet Society (بEnglish). ISSN:2070-1721. Archived from the original on 2020-03-25. Retrieved 2018-06-03.
  149. ^ Boucadair, M.; Penno, R.; Wing, D. (Jul 2014). "RFC 7291, DHCP Options for the Port Control Protocol (PCP)". The Internet Society (بEnglish). Archived from the original on 2020-03-25. Retrieved 2018-06-03.
  150. ^ Kinnear, K.; Johnson, R.; Stapp, M. (Apr 2012). "RFC 6607, Virtual Subnet Selection Options for DHCPv4 and DHCPv6". The Internet Society (بEnglish). Archived from the original on 2020-03-25. Retrieved 2018-06-03.
  151. ^ Ethan Banks (25 Sep 2012). "Five Things To Know About DHCP Snooping". Packet Pushers Interactive, LLC. (بEnglish). Archived from the original on 2017-07-07. Retrieved 2018-06-10.
  152. ^ Ethan Banks (25 Sep 2012). "Catalyst 6500 Release 12.2SX Software Configuration Guide, Chapter: DHCP Snooping". Cisco Systems, Inc. (بEnglish). Archived from the original on 2018-01-20. Retrieved 2018-06-10.

وصلات خارجية