پروتکل CDP یا همان Cisco Discovery Protocol، یک پروتکل لایه 2 ایی است که برای شرکت سیسکو در سال 1994 توسط Keith McCloghrie و Dino Farinacci به بهرهبرداری رسید.
از این پروتکل برای به اشتراک گذاشتن اطلاعات دستگاههای سیسکویی متصل (ارتباط مستقیم) یا به عبارتی همسایهها استفاده میشود. اطلاعات دستگاه در این پروتکل به آدرس مالتیکست فیزکی مقصد 01:00:0C:CC:CC:CC و بروی تمام پورتها ارسال میشود. این آدرس مالتیکست، در پروتکلهای دیگری مانند VTP نیز استفاده میشود.
به صورت پیشفرض، دستگاههای سیسکو هر 60 ثانیه یک پکت برای همدیگر ارسال میکنند که به وسیله این پکت میتوان اطلاعات دستگاه همسایه را بدست آورد. این پکت بروی پورتهایی که هدر SNAP یا Subnetwork Access Protocol را پشتیبانی میکنند (مانند Ethernet، Frame Relay و ATM) ارسال میشود.
هر دستگاهی که CDP را پشتیبانی میکند، اطلاعات دریافتی را در جدولی که با دستور show cdp neighbor قابل مشاهده است ذخیره میکند. این جدول توسط پروتکل SNMP نیز قابل دسترس است. دستگاه، جدول اطلاعات CDP هر بار که اطلاعاتی را دریافت کند، بروز میکند.
اطلاعاتی که در بستههای CDP قرار داده میشود، بسته به نوع دستگاه متفاوت است. این اطلاعات میتواند شامل ورژن سیستم عامل، hostanme، آدرسهای دستگاه و … باشد. یکی از مهمترین پروتکلها در مستندسازی شبکههای سیسکویی، پروتکل CDP است.
برای دستگاههای غیر سیسکو پروتکل استانداردی
به نام LLDP (Link Layer Discovery Protocol – IEEE 802.1AB) درست شده که دستگاههای غیر سیسکو نیز بتوانند اطلاعات خود را به همسایهها داده و اطلاعات همسایهها را متقابلا دریافت کنند. پروتکل LLDP توسط دستگاههای سیسکو نیز قابل اجراست. برای دیدن دستگاههای در این پروتکل از دستور show lldp neighbors استفاده میشود.
پس از 3 بار 60 ثانیه که بسته CDP به دستگاه همسایه نرسد، آن دستگاه از لیست دستگاههای همسایه خارج میشود. به این زمان Hold Time گفته میشود.