شرح بروتوكول DHCP بروتوكول التوزيع الدينامييكي
Dynamic Host Configuration Protocol = DHCP
يستخدم هذا البروتوكول لتوزيع عناوين IP بشكل أتوماتيكي لحواسب مضيفة HOST أو محطات عمل Workstations على شبكة TCP / IP، وبذلك نتجنب حالات التضارب في عناوين (IP address conflict) والتي تحدث نتيجة استخدام نفس عنوان IP لأكثر من جهاز على الشبكة (عند تركيب العناوين بشكل يدوي) مما يؤدي إلى فصل بعض الأجهزة عن الشبكة، فهذا البروتوكول نظام لاكتشاف العناوين المستخدمة مسبقا.
يتألف DHCP من مكونين: بروتوكول لإرسال متغيرات التشكيل من المخدم إلى العميل وتقنية لتوزيع عناوين الشبكة على الحواسب المضيفة. وقد بني على نموذج مخدم – زبون (Client-Server)، فالحواسب المضيفة لا يجب أن تعمل كمخدمات DHCP إلا أن أعدت بشكل واضح للقيام بذلك من قبل مسؤول النظام System Administrator.
عندما تسند العناوين أو تغير فعلى الخادم DHCP أن يحدث المعلومات الموجودة على خادم DNS كما في BOOT، يستخدم DHCP العنوان الفيزيائي (MAC) في إسناد عناوين IP بني بروتوكول DHCP اعتمادا على BOOTP وحل محله.
تقنيات التوزيع في بروتوكول DHCP:
يدعم DHCP ثلاث تقنيات لتوزيع العناوين
- الإعدادات اليدوية Static Configuration
- الإعدادات الديناميكية Dynamic Configuration
- الإعدادات البديلة Alternate Configuration
سأقوم بشرح هذه التقنيات بالتفصيل لنتعرف على كل واحد ماذا تفرق عن الآخر
التوزيع الديناميكي هو الوحيد بين التقنيات الثلاث الذي يسمح بإعادة استخدام عنوان لم يعد مستخدما من قبل العميل الذي كان هذا العنوان قد أسند إليه، لذا فإن التوزيع الديناميكي مفيد بشكل خاص لإسناد العناوين لعميل يريد الاتصال بالشبكة بشكل مؤقت أو للتشارك بمجال محدد من عناوين IP لمجموعة من العملاء الذين لا يحتاجون إلى عنوان IP في شبكة معينة قد تستخدم واحدة أو أكثر من التقنيات السابقة وذلك اعتمادا على سياسة مسؤول الشبكة.
الإعدادات اليدوية Static Configuration:
هي عبارة عن تركيب عنوان الاي بي بشكل يدوي من قبل مهندس الشبكة هو الذي يقوم بتركيب العناوين، ومثال على ذألك الخوادم التي هي السيرفرات هي تأخذ العناوين بشكل يدوي ولا ينصح أن تكون بشكل ديناميكي، لي إنه السيرفرات لا يجب أن تتغير العناوين الخاصة فيهم ويجب أن تكون ثابته ولا تتغير ابدأ كما في الصورة التالية.
الإعدادات الديناميكية Dynamic Configuration:
هذه الطريقة الأتوماتيكية حيث يقوم مهندس الشبكة بعمل الإعدادات على سيرفر أو على جهاز راوتر لعمل خدمة الـ DHCP عليه ليقوم بتوزيع العناوين بشكل أتوماتيكي عن طريق هذا البروتوكول الـ DHCP وتكون هذه العملية من الطرفين من المضيف ومن الخادم أو السيرفر، يبدا في عملية طلب عنوان الاي بي سيبدأ أولا المضيف بإرسال طالب لسيرفر الخدمة الـ DHCP ليقوم بتركيب الاي بي عليه تبدأ هذه العملية عن طريق عدة خطوات يقوم فيه المضيف والخادم.
الإعدادات البديلة Alternate Configuration:
هذه المرحلة التي تكون بعد مرحلة الـ Static وDynamic تأتي هذه الإعدادات في حال لم يجد المضيف عنوان اي بي يدوي ولا سيرفر يقوم برد عليه ليقوم بإعطائه عنوان اي بي، يأتي دور هذه الإعدادات البديلة Alternate يكون مركب فيه عنوان اي بي من قبل مهندس الشبكة ليعمل بيه الجهاز، وفي حال لم يجد الـ Alternate ايضا سيتم تحويله للمرحلة الرابعة وهي مرحلة الـ APIPA وهي التي سبق أن شرحت عنها في الدروس السابقة.
الصورة التالية توضح إعدادات الـ Alternate Configuration
الخدمات التي يتم توزيعها مع عنوان الاي بي من بروتوكول الـ DHCP:
- IP Address
- Subnet Mask
- IP Default Gateway
- DNS Server
- WINS
- Time
مراحل حصول المستخدم على عنوان IP مؤجر (DHCP Lease Stages) من الخادم الذي يقوم بتوزيع العناوين.
عملية الحصول على عنوان IP تبدأ بأربع خطوات كما في الصورة التالية..
لاحظ إنه في الصورة يوضح كيفية الطلب وسأقوم بشرح هذه الخطوات بالتفصيل مع الامثلة لنستطيع فهم هذه الخطوات بشكل ممتاز.
- Client Sends a DHCP Discover Broadcast
- Server Sends a DHCP Offer Unicast
- Client Sends a DHCP Request Broadcast
- Server Sends a DHCP ACK Unicast
Client Sends a DHCP Discover Broadcast:
هذه الرسالة سيتم إرسال عندما ا يبدأ جهاز الحاسوب بطلب عنوان IP , سيقوم بإرسال هذه الرسالة الى السويتش المتصل فيه , وتحتوي هذه الرسالة على Broadcast البث المباشر يطلب في هذه الرسالة من لديه خدمة توزيع الـ IP , سيرد عليه الخادم أو جهاز الراوتر إذا كان مفعل عليه خدمة الـ DHCP يقول له انا اقوم بتوزيع عناوين IP , في هذه المرحلة سيتم إرسال رد للجهاز الذي قام بإرسال الطلب و هنا يأتي دور الطلب الثاني و هي الـ Offer سأقوم بشرحها لوحده تابع .
Server Sends a DHCP Offer Unicast:
هذه الرسالة التي سيتم إرسال ه الى المضيف الذي قام بطلب عنوان IP، وتحتوي هذه الرسال على Unicast بمعنى إنه السيرفر لقد تمكن من معرفة المضيف الذي يريد عنوان IP، والأن تم الرد عليه بهذه الرسالة ليقوم المضيف بمعرفة إنه يوجد سيرفر يقوم بتقديم خدمة DHCP وسيتم الانتقال للمرحلة الثالثة تابع.
Client Sends a DHCP Request Broadcast:
يأتي دور هذه الرسالة بعد أن تم التعرف على سيرفر الخدمة DHCP، الآن في هذه الرسالة سيقوم المضيف بإرسال ه للسيرفر يطلب فيه عنوان IP سيقوم سيرفر الخدمة الـ DHCP بحجز عنوان الـ IP للجهاز الذي يريد هذا العناوين، وطريقة الحجز تتم عن طريق الماك أدرس الخاص في الجهاز الذي اخذ هذا العنوان الـ IP، وسيقوم بإرسال ه للجهاز بهذه الحالة المضيف قد حصل على عنوان IP وتبقى رسالة واحد وهي رسالة التأكيد على استلام عنوان الـ IP.
Server Sends a DHCP ACK Unicast:
هذه رسالة التأكيد على استلام عنوان الـ IP، وهذه الرسالة يقوم بإرسال ه سيرفر الخدمة DHCP ليتأكد على استلام العنوان.
هذا النموذج يوضح عملية الطلب وتمسى هذه العملية DHCP DORA.
بروتوكول الـ DHCP يعمل مع بروتوكول الـ UDP ويعمل على بورتين:
- Server DHCP يعمل ببروتوكول الـ 67 UDP Port.
- DHCP Client يعمل ببروتوكول الـ 68 UDP Port.
تجديد ايجار DHCP:
بعد انقضاء P من مدة الإيجار يحاول الزبون تجديد (renew) الإيجار من خادم الـ DHCP الأصلي الذي أجره عنوان IP يستمر الزبون بمحاولة التجديد هذه وعند إكمال 87.5% من مدة الإيجار يحاول الزبون الاتصال بأي خادم DHCP للحصول على ايجار جديد إن انتهت مدة الإيجار يرسل الزبون DHCP DISCOVER من جديد طالبا الحصول على عنوان IP فهو لم يعد يملك عنوانا.
DHCP Relay Agents:
هذه خدمة الـ DHCP يدعم الشبكات التي تكون فرعية مثل عندما ا يتواجد راوتر في المنتصف يربط ما بين شبكة المستخدمين و شبكة السيرفرات ، و نريد توزيع عناوين من سيرفر خدمة الـ DHCP على شبكة المستخدمين ولكن في هذه الحالة لان يستطيع اي مستخدم من طلب اي عنوان من سيرفر الخدمة الـ DHCP لي لأنه يوجد في المنتصف جهاز راوتر و كما نعرف إنه جهاز الراوتر يمنع البث المباشر الـ Broadcast ، في هذه الحالة الآن يستطيعوا الاتصال في سيرفر الخدمة الـ DHCP ولكن تم حل هذه المشكلة عن طريق خدمة الـ DHCP Relay Agents و هي عبارة عن خدمة نقوم بتفعيلها على الراوتر الذي يربط الشبكات في بعضها البعض ليستطيع المستخدمين من العبور على شبكة السيرفرات و الاتصال في سيرفر الخدمة الـ DHCP بهذه الطريقة نكون قد فهمنا ماذا تفعل خدمة الـ DHCP Relay Agents ولكن لن اقوم بشرح هذه الخدمة بشكل تطبيقي و عملي لي لأنه من المستوى الاعلى من هذه الدروس و هي من مستوى المحترفين سنتعرف عليه بشكل أكبر في دروس المحترفين .
حجز المضيف في سيرفر الخدمة الـ Client Reservation DHCP:
تستخدم هذه الطريقة للتأكد من أن الحاسب يأخذ نفس عنوان IP كل الوقت، لذا بعد اسناد عنوان IP من قبل خادم الـ DHCP اعتمادا على العنوان الفيزيائي للزبون العنوان الفيزيائي MAC Address فإن التالي مطلوب لحجز الزبون:
- العنوان الفيزيائي MAC
- عنوان IP
إعدادات بروتوكول DHCP
DHCP Configuration
Router > enable
Router #config t
Router (config) # ip dhcp excuded-address 10.0.0.1 10.0.0.50
Excuded–address هذا الأمر نقوم بتفعيله عندما ا نريد حجز عناوين محددة وعدم توزيع هذه العناوين في الشبكة الا عن طريق مهندس الشبكة.
Router (config) # ip dhcp pool HR اسم القسم الذي سيتم توزيع العناوين منه
Router (dhcp-config) # network 10.0.0.0 255.0.0.0
Router (dhcp-config) # default-router 10.0.0.100
Router (dhcp-config) # dns-server 10.0.0.99
Router (dhcp-config) # end
Router # show ip dhep binding هذا الأمر لعرض العناوين التي تم توزيعها
الأن سنقوم بتطبيق عملي ونقوم بتفعيل خدمة الـ DHCP Server على جهاز راوتر سنقوم بتطبيق على نموذج مكون من عدة أجهزة حاسوب وننظر كيف سيتم طلب عنوان واخذه من الـ DHCP Server الأن سنقوم بتعرف على إعدادات الشبكات التي سنقوم بتطبيق عليها.
إعدادات الشبكة سنقوم بتعرف على إعدادات الشبكة قبل أن نبدأ بعملية التطبيق
- سنقوم بتفعيل خدمة الـ DHCP Server على جهاز الراوتر
- سيكون نطاق العناوين من الفئة A بمعنى سيبدأ توزيع العناوين من نطاق الـ 10.0.0.0/8
- سيكون لدينا سيرفر DNS ويمتلك عنوان IP 10.0.0.99/8
- عنوان الـ IP لجهاز الراوتر الذي سيكون من الطبيعي هو الـ 10.0.0.100/8: GY
- سنقوم بدخول على بعض أجهز الحاسوب الموجودة لنرى هل تم سحب عنوان IP من سيرفر الخدمة الـ DHCP Server أو لا.
النموذج الذي سنقوم بتطبيق عليها
الأن سنقوم بدخول على جهاز الراوتر لنقوم بعمل الإعدادات التالية:
Router > enable
Router # config t
Router (config)# interface fastethernet 0/0
Router (config-if) # ip address 10.0.0.100 255.0.0.0
Router (config-if) # no shutdown
Router (config-if) # exit
Router (config) # ip dhcp pool HR
Router (dhcp-config) # network 10.0.0.1 255.0.0.0
Router (dhcp-config) # default-router 10.0.0.100
Router (dhcp-config) # dns-server 10.0.0.99
Router (dhcp-config) # end
Router # copy running-config startup-config
كما في الصورة التالية من داخل الراوتر:
بهذه الإعدادات نكون قد قمنا بتفعيل خدمة الـ DHCP Server على جهاز الراوتر والآن نريد أن نقوم بعرض العناوين التي تم توزيعها على الأجهزة التي في الشبكة ستقوم بكتابة الأمر التالي لعرض العناوين.
Router # show ip dhep binding
لاحظ إنه تم توزيع عنوان IP واحد فقط وهو العناوين 10.0.0.1 وهذا العنوان تم اخذه من قبل جهاز حاسوب في داخل الشبكة ويساوي هذا العناوين، عنوان الماك ادرس الخاص في جهاز الحاسوب ولاحظ ايضاً إنه لا يوجد عملية توقيت للعنوان.
الآن سنقوم بدخول على أحد أجهزة الحاسوب في الشبكة ونفرض عليه أن ياخذ عنوان IP من سيرفر الخدمة الـ DHCP Server نتابع النموذج التالي.
سنقوم الآن بدخول على هذه الأجهزة ونفرض عليها أن تقوم بسحب عنوان IP من سيرفر الخدمة DHCP Server تابع التالي:
لاحظ بعد الدخول لجهاز الحاسوب المسمى 2 PC قمنا بتغير الاختيار الذي كان Static بمعنى الاختيار اليدوي الى اختيار الـ DHCP، وبعد الاختيار لاحظ إنه تم سحب عنوان IP بعنوان 10.0.0.2، وباقي الخدمات الآخر مثل قناع الشبكة والبوابة وسيرفر الـ DNS جميع الإعدادات التي قمنا بتفعيلها على جهاز الراوتر.
وسنقوم بنفس الطريقة على باقي الأجهزة الموجودة على الشبكة لتقوم جميع الأجهزة بسحب العناوين، الأن سنقوم بدخول على جهاز الراوتر مره اخرى ونقوم بعرض العناون التي تم سحبها من سيرفر الخدمة الـ DHCP سنقوم بكتابة الأمر التالي:
Router # show ip dhcp binding
لاحظ إنه تم سحب أكثر من عنوان IP على عدد الأجهزة الموجودة على الشبكة، بهذا الشكل يكون قد تم الانتهاء من إعدادات خدمة الـ DHCP على جهاز الراوتر والآن سنقوم بتعرف على طريقة إعدادات خدمة الـ DHCP على السيرفر نتابع التالي الدرس التالي
في هذه الدرس سنقوم بتطبيق على نموذج مكون من سيرفر DHCP ويخدم على شبكتان، كما في النموذج التالي:
- الآن سنقوم بتعرف على إعدادات الشبكة التي في النموذج لنقوم بعمل إعدادات لسيرفر الخدمة الخاص في الـ DHCP الإعدادات كتالي: سيتم بناء سيرفر الخدمة الـ DHCP و نقوم بتركيب كرتان شبكة عليه لنقوم بتوزيع العناوين على الشبكتين مختلفة العناوين .
- الشبكة الأول ستكون بعنوان IP 192.168.1.0/24
- الشبكة الثانية ستكون بعنوان IP 192.168.2.0/24
- يوجد في كل شبكة جهاز راوتر اوحد و سيرفر DNS لنقوم بعملية التطبيق عليهم .
- سنقوم بجعل المضيف يقوم بسحب عنوان الـ IP من السيرفر كما سنرى ..
الآن بعد أن تعرفنا على تصميم النموذج سنقوم بدخول للعملي وسنقوم بدخول على سيرفر الـ DHCP ونقوم بإضافة كرت شبكة أخرى كما في الصورة التالية:
DHCP Server
الأن كما هو واضح بصورة سنقوم بتتبع الاسهم وسأقوم بشرح كل واحد من هذه الاسهم على ماذا تشير:
قبل أن نقوم بإضافة اية إضافة من المكونات يجب أن نقوم بإطفاء السيرفر ليتم إضافة المكونات، وهنا يأتي دور السهم الاصفر الذي يشير الى مفتاح ايقاف وتشغيل السيرفر ولكن في هذه الحالة نرى أن المفتاح مضاء هذا يعني إنه السيرفر قيد التشغيل، ونحن سنقوم بعملية ايقاف السيرفر بنقرة واحد فقط على المفتاح الذي يشير اليه السهم الاصفر. الآن بعد أن قمنا بعملية ايقاف تشغيل السيرفر سنقوم باختيار المكونات التي نريدها لنقوم بإضافته على السيرفر.
ونحن نريد أن نضيف كرت شبكة ثاني على السيرفر سنقوم بختير الكرت عن طريق الاسم الذي يشير اليه السهم الازرق من جهة اليسار وسنقوم باختيار نوع الكرت المسمى 10/100-Host-NM وهذا الكرت من نوع الإيثرنت، وقمت بتحديد المعلومات الخاصة في هذه النوع أنظر لي أسفل الصورة ستجد مربع محدد بالون الاصفر هذه المعلومات الخاصة في كرت الشبكة، ومن الجانب الايمن يوجد سهم اخضر ومنفذ إيثرنت هذا هو الكرت الذي سنقوم بإضافته على السيرفر.
سنقوم فقط سحب هذا المنفذ واضافته في المكان الفارغ الذي يشير اليه أسهم الاحمر وبعد أن قمنا بإضافة الكرت سنقوم بتشغيل السيرفر كما في الصورة التالية. – كما نلاحظ في الصورة تم إضافة كرت شبكة ثاني على السيرفر الذي يشير اليه أسهم الاصفر اما السهم الازرق هذا يشير على إنه مفتاح التشغيل مقفل يجب أن نقوم بتشغيلها لبيداء في السيرفر في العمل.
الآن سنقوم بدخول على الإعدادات وتركيب العناوين على كروت السيرفر وسنقوم بدخول على إعدادات خدمة الـ DHCP لنقوم بتفعيلها و ترتیب بداية العناوين التي سيتم توزيعها على المضيفين في الشبكة تابع الصورة التالية:
كما هو موضح في الصورة السابقة سنقوم بدخول على إعدادات المنفذ و نقوم بتركيب عنوان الـ IP على كرت الشبكة 0/0 Fast Ethernet , كما هو موجود في الصورة التالية أنظر اليها .
الأن سنقوم بتركيب عنوان الـ IP على كرت الشبكة الثاني 0/1 Fast Ethernet كما هو موجود في الصورة التالية ..
بهذه الطريقة نكون قد قمنا بتركيب العناوين سنقوم الآن بعمل الإعدادات الخاصة في خدمة الـ DHCP كما في الصورة التالية
سنقوم بدخول على الـ Services و من داخل الخدمات سنقوم بدخول على الـ DHCP كما في الصورة التالية من داخل الخدمة سنقوم بعمل الإعدادات التالية : كما نلاحظ في الصورة سنقوم بكتابة اسم الـ Pool Name و هذه هي المجموعة التي سيكون فيها العناوين الـ IP , و بعدها الـ Gy عنوان الراوتر و بعده سيرفر الـ DNS و بعده سيتم كتابة العنوان الذي سيبدأ في توزيعها في داخل الشبكة الـ Start IP Address و قناع الشبكة الـ SubnetMask بهذا الشكل نكون قد اتمينا عملية الإعدادات و يتبقى لدينا خطوة واحد و هي عملية الإضافة Add .
ملاحظة : في هذه الحالة يكون تكون خدمة الـ DHCP معطلها و يجب أن نقوم بتشغيلها بمعنى من Off الى ON .
ويجب أن نكون على معرفة بنفس هذه الإعدادات سنقوم بها على الكرت الثاني ولكن على مختلف العنوان أنظر للصورة التالية .
كما نلاحظ بهذه الإعدادات قمنا بتفعيل خدمة الـ DHCP على السيرفر و الأن هذا السيرفر يقوم بتقديم خدمة العناوين بشكل تلقائي لكل المضيفين في الشبكة الأولى والثانية .
ملاحظة : يجب أن تقوم بعدادات الراوتر انتا بنفسك ولان اقوم بعمل إعدادات لجهاز الراوتر يجب أن تعتمد على نفسك بعمل الإعدادات , لي لأنه قمنا بشرح هذه الإعدادات مسبقاً عدة مرات ويجب أن تكون في هذه المرحلة قد فهمت كيفية عملية الإعدادات و الاعتماد على نفسك .
الأن سنقوم بدخول على أحد أجهزة المضيف في الشبكتين لنتاكد هل تم سحب عناوين الـ IP أو لا سنقوم بدخول على الجهاز الأولى و هو في الشبكة الأولى المسمى PC 1 .
الأن هذه الصورة من داخل جهاز الـ PCI الذي يقع في داخل الشبكة 192.168.1.0/24
لاحظ إنه استطاع سحب عنوان IP من سيرفر خدمة الـ DHCP بهذا الشكل تكون جميع الإعدادات قد تمت بشكل صحيح .
الأن سنقوم بدخول على جهاز حاسوب المسمى 1 Laptop موجود في الشبكة الثانية و نتأكد هل تم سحب عنوان IP أو لا .