القائمة الرئيسية

الصفحات

ماهو بروتوكول CDP و كيف يعمل و معرفة كافة التفاصيل دليل 2021


ماهو بروتوكول CDP ؟

 
بروتوكول CDP

بروتوكول CDP : 


بروتوكول
 CDP :

CDP هي إختصار لـ Cisco Discovery Protocol وهو بروتوكول خاص بسيسكو تم تصميمه لإكتشاف الأجهزة المجاورة (المتصلة مباشرةً) مع أي جهاز.

عن طريق بروتوكول CDP يستطيع مهندس الشبكات معرفة جميع الأجهزة المجاورة للجهاز الذي يعمل عليه وجمع العديد من المعلومات المفيدة مثل نوع الجهاز وإصدارة السوفتوير ونوع البورت المتصل معه إذا كان physical interface أو vlan interface.

عند حدوث مشكلة بالشبكة تعتبر هذه المعلومات مفيدة جداً لبدء البحث عن المشكلة وتتبعها (troubleshooting).

كذلك تعتبر هذه المعلومات مفيدة عند رسم مخططات الشبكة وعمل المستندات اللازمة (network documentation).

الوظيفة التي يؤديها بروتوكول CDP مشابهة لتلك التي يؤديها بروتوكول LLDP (Link Layer Discovery Protocol) والإختلاف الأساسي بينهما أن CDP يعمل على أجهزة سيسكو فقط بينما LLDP يعمل على كل الأجهزة وليس مرتبط بُمصنّع (vendor) محدد.

كيف يعمل بروتوكول CDP ؟ 

بروتوكول CDP يكون مُفعلاً في جميع راوترات وسويتشات سيسكو بشكل إفتراضي (by default).

يُرسل راوتر أو سويتش سيسكو رسائل CDP عبر البورتات للأجهزة الأخرى المتصلة معه وبذلك يكون قد عرّف عن نفسه.

وبما أن بروتوكول CDP هو من البروتوكولات التي تعمل في الطبقة الثانية للـ OSI وهي طبقة الـ data link فهذا يعني أن الرسائل التي يرسلها الجهاز لن تتخطى الجهاز الذي وصلته رسالة CDP. بمعنى آخر لن يقوم الجهاز الذي تصله رسالة CDP بتوجيهها مرةً أخرى.

وبالتالي عبر بروتوكول CDP ستتمكن من الحصول عن معلومات عن الأجهزة التي تتصل معها مباشرةً فقط والتي هي عبارة عن أجهزة سيسكو مفعلٌ بها بروتوكول CDP.

عندما يستلم جهاز سيسكو رسالة CDP يبدأ مباشرة بوضع المعلومات المستملة بجدول خاص بالأجهزة المجاورة وبعدها سيستمر تبادل المعلومات بين الجهازين بصورة دورية.

رسائل CDP تحتوي على معلومات عن الجهاز الذي أرسلها مثل:

نوع الجهاز (راوتر أو سويتش أو غيره)

نوع الهاردوير أو نوع الموديل

إمكانيات الجهاز

إصدارة نظام التشغيل

إسم الجهاز (hostname)

البورت الذي أرسل الـ CDP message

عنوان الـ IP

في الوضع الإفتراضي رسائل CDP يتم إرسالها كل 60 ثانية وضمنياً مع هذه الرسالة يحدد الجهاز المرسل أقصى زمن إنتظار يُمكن للجهاز المستقبل أن ينتظره قبل أن يقرر الجهاز المستقبل أن هذا الجهاز أصبح غير متصل معه، هذا الزمن يُسمى بالـ hold time.

الضبط الإفتراضي للـ hold time هو 180 ثانية.

الشكل التالي يوضح كيف يمكن لسويتش 1 معرفة الأجهزة التي تتصل معه عن طريق رسائل CDP التي ترسلها الأجهزة المجاورة له والتي تصل عبر المنافذ المتصلة مع تلك الأجهزة.

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

جميع الأوامر المستخدمة في هذا المقال تم تطييقها على سويتش 1

  • الأمر show cdp

هذا الأمر يوضح الضبط العام لبروتوكول CDP على السويتش أو الراوتر.

وكما هو موضح بالمثال التالي على برنامج packet tracer، سويتش 1 يُرسل باكت كل 60 ثانية تحتوي على المعلومات التي يتم مشاركتها مع الأجهزة الأخرى.

كذلك نلاحظ أن السويتش يُرسل أيضاً زمن الـ hold time والمحدد هنا بالـ 180 ثانية.

مع ملاحظة أن الإصدار هو CDPv2.

show cdp

  • الأمر show cdp neighbor

لنقم بتنفيذ الأمر show cdp neighbor على سويتش 1 ولنسجّل ملاحظاتنا.

show cdp neighbor

عند تنفيذ الأمر نلاحظ أن سويتش 1 متصل مع ثلاثة أجهزة موجودة بالعمود الأول بالجدول (Device ID) وهذه الأجهزة هي router2، switch2 و router1.

العمود (Local Interface) الموجود بالجدول يوضح البورت الموجود بسويتش 1 المتصل مع تلك الأجهزة.

العمود الثالث (hold time) يوضح الزمن المتبقي من 180 قبل أن يتم مسح هذه المعلومات من هذا الجدول.

العمود الرابع يوضح نوع الجهاز فالـ R تعني راوتر و S تعني سويتش ويمكنك معرفة الأكواد الأخرى الموجودة بعد (Capability Codes).

العمود الخامس يوضح الـ platform أو إسم موديل الجهاز وأخيراً العمود السادس يوضح البورت من ناحية الجهاز الذي يتصل معه سويتش 1.

  • توضيح مفهوم الـ hold time 

إذا لم يتضح لك مفهوم الـ hold time من الشرح السابق سأقوم بإيضاحه أكثر بالمثال التالي.

سندخل إلى سويتش 1 وسننفذ الأمر show cdp neighbor.

سننفذ الأمر عدة مرات كل ثانية مع مراقبة السطر الذي يحوي router2.

سنلاحظ أنّ الـ hold time يتناقص في كل مرة (بالنسبة لـ router2 وكذلك الأجهزة الأخرى)

لاحظ عند وصول الـ hold timer لـ router2 للـ 120 ستكون القيمة التالية هي 179

السبب في ذلك هو أنّ router2 يُرسل رسالة CDP كل 60 ثانية والرسالة تحتوي ضمنياً زمن الـ hold time والذي يساوي 180.

وعند وصول هذه الرسالة إلى سويتش 1 سيقوم بعمل تحديث لقيمة الـ hold timer للـ 180.

بعبارة أخرى يمكننا القول أن زمن الـ hold time يتم ضبطه بالراوتر أو السويتش الذي يُرسل الـ CDP message ثم يقوم الجهاز الذي يستلم الرسالة ببدء العد التنازلي حتى الصفر إلّا إذا تم إستلام رسالة جديدة ليبدأ العد مرةً أخرى من الزمن المحدد للـ hold time.

لاحظ بالأوامر التالية كيف تَغيّر الـ hold time من 120 إلى 179.

  • بروتوكول cdp والـ hold timer

تغيير زمن الـ hold time

يتم تغيير زمن الـ hold time عن طريق الأمر (cdp holdtime) والذي يتم تنفيذه بالـ global configuration mode.

يمكن ضبط الـ hold time ليعمل على قيمة محددة مابين 10 إلى 255 ثانية ويجب أن تكون قيمته أكبر من زمن الإرسال الدوري لرسائل CDP والذي تكون قيمته الإفتراضية 60 ثانية.

cdp holdtime

  • تغيير زمن الإرسال الإفتراضي

يُرسل برتوكول CDP الرسائل الموجهة إلى الأجهزة المجاورة كل 60 ثانية وهذا ماتم إيضاحه مسبقاً. هل يمكن تغيير هذا الزمن؟

نعم يمكن ذلك عن طريق الأمر (cdp timer) والذي يتم تنفيذه بالـ global configuration mode.

يمكن ضبط الزمن ليعمل على قيمة محددة بين 5 إلى 900 ثانية.

بروتوكول cdp تغيير cdp timer

تفعيل / تعطيل بروتوكول CDP

يمكن تعطيل بروتوكول CDP عن طريق الأمر (no cdp run) وتفعيله بالأمر (cdp run). ويتم تنفيذ الأوامر على الـ global configuration mode.

no cdp run

  • تعطيل بروتوكول CDP ببورت محدد 

يمكن تعطيل بروتوكول CDP ببورت محدد وذلك عن طريق الدخول إلى ضبط البورت ثم تنفيذ الأمر (no cdp enable).

وبعد تنفيذ الأمر مباشرة لن يستقبل هذا البورت أي رسائل خاصة بالـ CDP.

يمكنك التأكد من ذلك بتنفيذ الأمر show cdp neighbor.

ملاحظة هامة: لن تستطيع التأكد من أن الأمر قد تم تنفيذه إلا بعد إنتهاء فترة الـ hold time.

في المثال التالي سنقوم بتعطيل بروتوكول CDP على البورت 2/1 المتصل مع سويتش2.

no cdp enable

لاحظ جيداً كيف يتناقص الـ hold time حتى يصل إلى الصفر وبعدها سيتم حذف المعلومات المرتبطة بسويتش 2 من جدول CDP.

 تناقص hold time

  • الأمر show cdp neighbor details 

لايتخلف هذا الأمر كثيراً عن الأمر show cdp neighbor إلا أنه يعرض المزيد من التفاصيل.

details

بناء مخطط الشبكة (documentation) بإستخدام بروتوكول CDP

لنفترض أنه قد تمّ توظيفك كمدير للشبكة بإحدى المؤسسات التي لاتتحمل أي مشكلات بالشبكة.

الموظف السابق لم يكن مهتماً بمسألة الـ documentation كثيراً والآن ليس لديك أي مرجعية توضح لك شكل الشبكة حتى تستطيع أن تفهم الطبولوجي الخاصة بها.

في هذه الحالة لابد من إستخدام بروتوكول CDP لرسم مخطط الشبكة بطريقة إحترافية.

يمكنك البدء بالراوترات الأساسية الموجودة بالـ core network ومعرفة الأجهزة المجاورة لها.

بعد ذلك تبدأ بالدخول إلى الأجهزة المجاورة وفيها كذلك تبحث عن الأجهزة التي تجاورها وهكذا حتى الوصول إلى مستوى الـ Access بالشبكة.

حاول أن ترسم مخططات الشبكة بإستخدام برنامج visio أو EDraw.

  • بروتوكول CDP والمشكلات الأمنية  

بالرغم من أن بروتوكول CDP يقدم خدمة جيدة لمدير الشبكة إلاّ أنه قد يكون سبباً في إحدى الهجمات الإلكترونية !

بروتوكول CDP لا يقوم بأي عملية مصادقة (Authentication) كما أنه يرسل البيانات بدون أي تشفير وبالتالي أي شخص يستطيع أن يتحصل على المعلومات الخاصة بالأجهزة الموجوة بالشبكة مثل إصدارة نظام التشغيل وبالتالي يقوم بإعداد هجومه الإلكتروني.

الهجوم المعروف بإسم (CDP spoofing attack) يعتبر من الطرق الشائعة للهجوم على الشبكة بإستخدام رسائل CDP وفيه يقوم المهاجم بإنتحال إحدى أجهزة الشبكات ثم إغراق الشبكة برسائل CDP حتى الوصول لمرحلة تتوقف فيها أجهزة الشبكة عن الإستجابة (Denial of Service).

ينصح الخبراء بإيقاف بروتوكول CDP مالم تكن هناك حوجة له وذلك لإغلاق هذه الثغرة التي قد تسبب هجوماً كارثياً على الشبكة.

لو عجبك المقال متنساش تشوف باقى المقالات فى لينكدان للعرب Linkedin for arab

مواضيع اخرى

  • أمازون تبدأ خطتها لتغطية الكوكب بالإنترنت
  • انواع الذاكره الموجوده في الراوتر ؟ هي 4 انواع
  • الفرق بين الاي بي IP والبورت Port ؟
  • وظائف الامن السيبراني
  • ايه هي الحوسبة السحابية
  • خطوات حماية جهاز السويتش بشكل كامل
  • من اهم الاسئله التي تطرح في المقابلات الشخصية لموظفين الشبكات
  • ماالفرق بين الـ VPN و الـ SSH ؟
  • منافذ "Interface"
  • تقنية SD-WAN وشرح المصطلحات لهذه التقنية
  • ما هي طرق الـ Scanning النظرية و تطبيقها عمليا بالـ NMAP؟
  • الفرق بين انواع شهادات SSL

تعليقات