CDP چیست و چه اطلاعاتی از دستگاه‌های متصل نشان می‌دهد؟

CDP چیست و چه اطلاعاتی از دستگاه‌های متصل نشان می‌دهد؟

در شبکه‌های سیسکو، پیدا کردن دستگاهی که به هر پورت متصل شده است همیشه به بررسی کابل‌ها یا مراجعه حضوری به رک نیاز ندارد. سیسکو پروتکلی به نام CDP یا Cisco Discovery Protocol دارد که به تجهیزات شبکه اجازه می‌دهد اطلاعات مشخصی درباره خودشان در اختیار دستگاه‌های همسایه قرار دهند. با استفاده از CDP می‌توان از داخل CLI سوئیچ سیسکو یا روتر، دستگاه‌های متصل را شناسایی کرد و اطلاعاتی مانند نام دستگاه، پورت اتصال، مدل دستگاه، آدرس IP و حتی نسخه سیستم‌عامل آن را مشاهده کرد.

CDP مخصوص تجهیزات Cisco طراحی شده و در لایه 2 شبکه فعالیت می‌کند. به همین دلیل برای تبادل اطلاعات CDP، الزامی نیست که دو دستگاه در یک Subnet قرار داشته باشند یا حتی ارتباط IP بین آن‌ها برقرار باشد. همین ویژگی باعث شده CDP به یکی از ابزارهای کاربردی مدیران شبکه برای شناسایی توپولوژی، بررسی اتصالات و عیب‌یابی شبکه‌های مبتنی بر تجهیزات سیسکو تبدیل شود.

CDP مخفف Cisco Discovery Protocol است. این پروتکل اختصاصی سیسکو به دستگاه‌های متصل مستقیم اجازه می‌دهد اطلاعاتی درباره خودشان برای یکدیگر ارسال کنند. برای مثال فرض کنید یک سوئیچ Cisco Catalyst دارید و نمی‌دانید پورت GigabitEthernet1/0/24 آن به کدام سوئیچ دیگر متصل شده است. اگر CDP روی تجهیزات فعال باشد، با اجرای یک دستور ساده می‌توانید متوجه شوید دستگاه مقابل چیست و اتصال از طریق کدام Interface آن برقرار شده است.

CDP در Layer 2 مدل OSI فعالیت می‌کند و اطلاعات Discovery را فقط بین دستگاه‌های مستقیماً متصل ردوبدل می‌کند. بنابراین CDP قرار نیست تمام دستگاه‌های موجود در شبکه را کشف کند؛ بلکه اساساً Neighborهای مستقیم را نشان می‌دهد.

دستگاه‌های Cisco که CDP روی آن‌ها فعال است، به‌صورت دوره‌ای پیام‌هایی حاوی اطلاعات خود از Interfaceهای فعال ارسال می‌کنند. دستگاه Cisco متصل به آن Interface این پیام را دریافت کرده و اطلاعات Neighbor را برای مدت مشخصی در جدول CDP نگهداری می‌کند. این اطلاعات شامل مواردی مانند Device ID، Interface، Platform و Capabilities است و بسته به دستگاه و اطلاعات Advertise شده، جزئیات بیشتری نیز می‌تواند وجود داشته باشد.

اگر ارتباط بین دو دستگاه قطع شود یا پیام‌های CDP دیگر دریافت نشوند، پس از پایان Holdtime اطلاعات مربوط به آن Neighbor از جدول حذف خواهد شد. نکته مهم این است که CDP فقط اطلاعات دستگاه‌های متصل مستقیم را نشان می‌دهد. برای مثال اگر ساختار شبکه به شکل زیر باشد:

Switch A → Switch B → Switch C

هنگامی که دستور CDP را روی Switch A اجرا می‌کنید، معمولاً Switch B به‌عنوان Neighbor مستقیم دیده می‌شود، نه Switch C.

مهم‌ترین مزیت CDP این است که بدون نیاز به ورود مستقیم به دستگاه مقابل، اطلاعات مفیدی درباره آن در اختیار مدیر شبکه قرار می‌دهد. میزان اطلاعات قابل مشاهده به نوع دستگاه، نسخه نرم‌افزار و اطلاعات ارسال‌شده توسط Neighbor بستگی دارد، اما معمولاً موارد زیر اهمیت بیشتری دارند.

Device ID

Device ID مشخص می‌کند دستگاه متصل چه نامی دارد. در بسیاری از تجهیزات Cisco این مقدار با Hostname دستگاه ارتباط دارد. برای مثال ممکن است در خروجی ببینید:

SW-CORE-01

اگر نام‌گذاری تجهیزات شبکه به‌درستی انجام شده باشد، Device ID به‌سرعت مشخص می‌کند هر لینک به کدام سوئیچ، روتر یا دستگاه دیگر متصل شده است.

Local Interface

Local Interface نشان می‌دهد Neighbor موردنظر به کدام پورت دستگاه فعلی متصل است. برای مثال:

GigabitEthernet1/0/24

یعنی دستگاهی که در خروجی CDP مشاهده می‌کنید از سمت سوئیچی که روی آن دستور را اجرا کرده‌اید، به پورت Gi1/0/24 متصل شده است.

Port ID

Port ID پورت سمت دستگاه مقابل را مشخص می‌کند. برای مثال اگر مشاهده کنید:

Local Interface: Gi1/0/24
Port ID: Gi0/1

یعنی Gi1/0/24 سوئیچ فعلی به Gi0/1 دستگاه Neighbor متصل شده است. این اطلاعات هنگام بررسی کابل‌کشی و Uplink بین سوئیچ‌ها بسیار کاربردی است.

Platform

در بخش Platform می‌توان مدل یا خانواده سخت‌افزاری دستگاه مقابل را مشاهده کرد. برای مثال ممکن است CDP مشخص کند Neighbor یک سوئیچ Cisco Catalyst است. این قابلیت مخصوصاً زمانی مفید است که تعداد زیادی تجهیزات داخل رک وجود دارد و نمی‌دانید هر لینک دقیقاً به کدام دستگاه متصل شده است.

Capabilities

CDP می‌تواند نوع یا قابلیت کلی دستگاه Neighbor را نیز مشخص کند. برای مثال از طریق این بخش می‌توان تشخیص داد دستگاه مقابل در چه نقشی مانند Switch یا Router فعالیت می‌کند. این اطلاعات به مدیر شبکه کمک می‌کند بدون Login کردن به تمام تجهیزات، دید اولیه‌ای نسبت به ساختار شبکه به دست آورد.

IP Address

در خروجی Detail پروتکل CDP ممکن است Management IP یا آدرس IP اعلام‌شده توسط دستگاه Neighbor نیز نمایش داده شود. این قابلیت بسیار کاربردی است؛ زیرا بعد از شناسایی دستگاه می‌توانید IP آن را پیدا کرده و در صورت وجود دسترسی مدیریتی، از طریق SSH یا روش‌های مدیریتی دیگر به آن متصل شوید.

Software Version

یکی دیگر از اطلاعاتی که ممکن است در خروجی کامل CDP مشاهده کنید، نسخه نرم‌افزار دستگاه مقابل است. در تجهیزات Cisco معمولاً اطلاعات مربوط به Cisco IOS، IOS XE یا سیستم‌عامل مرتبط با دستگاه نمایش داده می‌شود. این مورد هنگام بررسی تجهیزات، Inventory شبکه یا عیب‌یابی اولیه مفید است.

یکی از اصلی‌ترین دستورات برای بررسی CDP در تجهیزات Cisco دستور زیر است:

show cdp neighbors

این دستور یک نمای خلاصه از Neighborهای CDP ارائه می‌دهد و معمولاً اطلاعاتی مانند Device ID، Local Interface، Holdtime، Capability، Platform و Port ID را نمایش می‌دهد.

برای مثال خروجی ممکن است ساختاری مشابه زیر داشته باشد:

Device ID Local Intrfce Holdtme Capability Platform Port ID

این دستور زمانی مناسب است که فقط می‌خواهید سریع متوجه شوید چه دستگاه‌هایی مستقیماً به سوئیچ یا روتر متصل هستند و هر کدام از چه پورتی استفاده می‌کنند.

دستور show cdp neighbors چه چیزی نشان می‌دهد؟

اگر اطلاعات بیشتری درباره دستگاه‌های متصل نیاز دارید، دستور زیر کاربردی‌تر است:

show cdp neighbors detail

در خروجی Detail می‌توانید بسته به Neighbor اطلاعات بیشتری مانند Device ID، IP Address، Platform، Interface، Port ID و Software Version را مشاهده کنید. به همین دلیل show cdp neighbors detail یکی از دستورات بسیار مفید هنگام Troubleshooting تجهیزات Cisco است. اگر فقط اطلاعات مربوط به یک Interface خاص موردنظر باشد، بسته به پلتفرم و نسخه نرم‌افزار می‌توان از دستورات مرتبط با CDP برای همان Interface نیز استفاده کرد.

برای مشاهده وضعیت کلی CDP می‌توان از دستور زیر استفاده کرد:

show cdp

در بسیاری از تجهیزات Cisco، CDP به‌صورت پیش‌فرض فعال است. همچنین برای فعال کردن CDP به‌صورت Global از دستور زیر در Configuration Mode استفاده می‌شود:

cdp run

و برای غیرفعال کردن کامل آن:

no cdp run

اما ممکن است بخواهید CDP در کل دستگاه فعال باشد و فقط روی یک Interface مشخص غیرفعال شود. در این حالت وارد تنظیمات Interface شده و از دستور زیر استفاده می‌شود:

no cdp enable

برای فعال کردن مجدد:

cdp enable

این قابلیت به‌خصوص برای کنترل انتشار اطلاعات CDP روی پورت‌هایی که به شبکه‌های غیرقابل اعتماد یا خارج از محدوده مدیریتی متصل هستند اهمیت دارد.

فرض کنید وارد یک مجموعه شده‌اید که چندین سوئیچ Cisco داخل رک دارد، اما هیچ مستندی از کابل‌کشی شبکه وجود ندارد. مشخص نیست Uplink هر سوئیچ به کجا متصل شده و حتی Management IP بعضی از تجهیزات نیز در دسترس نیست.

در چنین شرایطی CDP می‌تواند نقطه شروع بسیار خوبی باشد.

با اجرای show cdp neighbors روی سوئیچ اصلی می‌توانید Neighborهای مستقیم را شناسایی کنید. سپس Local Interface و Port ID را بررسی کرده و ارتباط فیزیکی بین تجهیزات را مشخص کنید. اگر آدرس IP دستگاه مقابل از طریق CDP Advertise شده باشد، با show cdp neighbors detail می‌توانید آن را نیز پیدا کنید. به این ترتیب می‌توان بخشی از توپولوژی فیزیکی شبکه را بدون دنبال کردن دستی تک‌تک کابل‌ها شناسایی کرد.

CDP و LLDP هدف مشابهی دارند: شناسایی دستگاه‌های مستقیماً متصل و تبادل اطلاعات Neighbor.

تفاوت اصلی این است که CDP یک پروتکل اختصاصی Cisco است، در حالی که LLDP یا Link Layer Discovery Protocol یک استاندارد IEEE 802.1AB محسوب می‌شود و توسط تجهیزات شرکت‌های مختلف پشتیبانی می‌شود. بنابراین در شبکه‌ای که عمدتاً از تجهیزات Cisco استفاده می‌کند، CDP بسیار کاربردی است. اما در محیط Multi-Vendor که برای مثال سوئیچ‌های Cisco، HPE، Aruba و سایر برندها در کنار یکدیگر قرار گرفته‌اند، LLDP معمولاً گزینه استانداردتر و سازگارتر است.

کاربرد CDP در عیب‌یابی شبکه چیست؟

CDP به خودی خود ابزار مدیریت یا Login به دستگاه نیست، اما اطلاعاتی درباره زیرساخت شبکه منتشر می‌کند. اطلاعاتی مانند Hostname، مدل سخت‌افزار، Interfaceها، آدرس مدیریتی و نسخه نرم‌افزار می‌توانند برای فردی که نباید به این اطلاعات دسترسی داشته باشد مفید باشند.

به همین دلیل بهتر است CDP بدون بررسی روی هر پورتی فعال باقی نماند. برای مثال روی لینک‌های داخلی بین سوئیچ‌های تحت مدیریت، استفاده از CDP می‌تواند بسیار مفید باشد. در مقابل، روی Interfaceهایی که به شبکه‌های خارج از کنترل سازمان یا تجهیزات غیرقابل اعتماد متصل هستند، باید نیاز واقعی به CDP بررسی شود و در صورت عدم نیاز آن را روی همان Interface غیرفعال کرد.

برای کار روزمره با CDP چند دستور اهمیت بیشتری دارند:

show cdp neighbors
نمایش خلاصه دستگاه‌های Neighbor

show cdp neighbors detail
نمایش اطلاعات کامل‌تر Neighborها

show cdp
بررسی وضعیت و پارامترهای CDP

cdp run
فعال کردن CDP به‌صورت Global

no cdp run
غیرفعال کردن CDP به‌صورت Global

cdp enable
فعال کردن CDP روی Interface

no cdp enable
غیرفعال کردن CDP روی Interface

CDP یا Cisco Discovery Protocol یکی از ابزارهای ساده اما بسیار کاربردی در شبکه‌های مبتنی بر تجهیزات سیسکو است. این پروتکل در Layer 2 فعالیت می‌کند و به تجهیزات Cisco اجازه می‌دهد اطلاعات خود را با Neighborهای مستقیماً متصل به اشتراک بگذارند. با استفاده از CDP می‌توان اطلاعاتی مانند Device ID، پورت محلی، پورت دستگاه مقابل، Platform، Capability، آدرس IP و در برخی خروجی‌ها نسخه نرم‌افزار دستگاه را مشاهده کرد. دستور show cdp neighbors برای مشاهده سریع همسایه‌ها و show cdp neighbors detail برای بررسی جزئیات بیشتر کاربرد دارد.

در شبکه‌هایی که مستندسازی کاملی ندارند، CDP می‌تواند برای پیدا کردن Uplinkها، شناسایی تجهیزات متصل، تشخیص پورت‌های دو سمت لینک و ترسیم اولیه توپولوژی شبکه بسیار مفید باشد. با این حال، از آنجا که CDP می‌تواند بخشی از اطلاعات زیرساخت را در اختیار دستگاه متصل قرار دهد، بهتر است فعال بودن آن روی Interfaceهای غیرضروری نیز از نظر امنیتی بررسی شود.

محصول با موفقیت به سبد خرید اضافه شد.
تماس با ما