ماهو بروتوكول 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.
- الأمر 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
تعليقات
إرسال تعليق