CDP (англ. Cisco Discovery Protocol) — проприетарный протокол второго уровня, разработанный компанией Cisco Systems, позволяющий обнаруживать подключённое (напрямую или через устройства первого уровня) сетевое оборудование Cisco, его название, версию IOS и IP-адреса. Поддерживается многими устройствами компании, почти не поддерживается сторонними производителями.
Получаемая информация включает в себя типы подключённых устройств, интерфейсы устройства, к которым подключены соседние устройства, интерфейсы, использующиеся для создания соединений, а также модели устройств.
Устройство посылает мультикаст-анонс (advertisement) на MAC-адрес 01-00-0c-cc-cc-cc. В конфигурации по умолчанию анонсы рассылаются каждые 60 секунд на порты Ethernet, Frame Relay и ATM. Каждое устройство, понимающее анонсы, сохраняет полученную информацию в CDP-таблице и позволяет посмотреть её по команде show cdp neighbors
, и более детально по команде show cdp entry устройство
. Если устройство трижды не прислало анонс (при значениях по умолчанию — 3 минуты (180 секунд)), оно удаляется из таблицы.
В анонсах также содержится информация о времени жизни пакета (Time To Live — TTL) или времени удержания информации (holdtime). Последний параметр определяет время, в течение которого будет храниться CDP информация, прежде чем она будет уничтожена.
Протокол работает на канальном уровне и позволяет двум системам получить информацию друг о друге даже в том случае, если они используют различные протоколы сетевого уровня.
Протокол CDP обеспечивает получение информации о каждом соседнем устройстве путём передачи информации в формате TLV. Записи TLV — это блоки информации, внедрённые в CDP анонсы.
Значения TLV конкретного устройства включают в себя такую информацию:
Руководства по безопасности требуют отключения протокола CDP на интерфейсах, выходящих за защищённый периметр, так как передаваемая информация (например, версия IOS) может использоваться для подготовки атаки через уязвимость конкретной версии IOS. Выключение производится командой no cdp run
глобально, no cdp enable
для интерфейса.