Logo
  • ГЛАВНАЯ
  • ОБО МНЕ
  • СЕРТИФИКАТЫ
nocip.ssh@mail.ru
Главная  >  Cisco Switching

Протокол CDP - Cisco Discovery Protocol


Создана 10.08.2024
Отредактирована 12.05.2025

Обнаружение соседних устройств и подключение к ним

Иногда сетевые специалисты сталкиваются с нештатной ситуацией и при этом обнаруживают, что документация сети неполная или составлена неаккуратно. Протокол CDP (Cisco Discovery Protocol - протокол обнаружения устройств Cisco) в такой ситуации будет бесценным инструментом сетевого администратора, поскольку он поможет построить базовую схему структуры сети. Несмотря на то что этот протокол показывает информацию исключительно только о непосредственно подключённых к данному узлу соседних устройствах, он всё же представляет собой очень мощное средство отладки сети. 

Введение в CDP

Протокол обнаружения устройств Cisco (Cisco Discovery Protocol - CDP) работает на канальном уровне, который объединяет физическую среду передачи данных нижнего уровня с протоколами верхнего сетевого уровня. Протокол CDP используется для получения информации о соседних сетевых устройствах корпорации Cisco. Получаемая информация включает в себя типы подключённых устройств, интерфейсы маршрутизатора, к которым соседние устройства подключены, интерфейсы, использующие для создания соединений, а также модели устройств. Протокол CDP не зависит от среды передачи и от протоколов, работает с любым оборудованием корпорации Cisco и в качестве своей основы использует протокол доступа к подсети (SNAP - Subnetwork Access Protocol). CDP является проприетарным протоколом сетевых устройств Cisco и работает только с сетевыми устройствами, выпущенными компанией Cisco.
Самой последней версией протокола CDP является версия 2 (CDPv2). Поддержка протокола CDPv2 уже включена в операционную систему Cisco IOS Software версии 12.0(3)T и более поздние. Стандартно во всех операционных системах Cisco IOS версий, начиная с 10.3, доступен протокол CDPv1.

Таблица 1. Расположение протокола CDP

Записи адресов верхнего уровня
Стек TCP/IP
Фирменный протокол канального уровня Cisco
Протокол CDP получает и показывает информацию о соседних, подключённых непосредственно Cisco-устройствах.
Среда поддерживающая SNAP
Локальные сети
Протокол CDP запускается автоматически при загрузке оборудования Cisco и позволяет сетевому устройству находить соседние узлы, на которых также запущен протокол CDP. Протокол работает на канальном уровне и позволяет двум системам получить информацию друг о друге даже в том случае, если они используют различные протоколы сетевого уровня.
Каждое устройство с настроенным протоколом CDP периодически отправляет сообщения, также известные как анонсы (advertisment), всем соседним устройствам. При помощи анонсов устройство сообщает другим, по крайней мере, об одном адресе, по которому оно способно получать сообщенияпротокола SNMP (Simple Network Management Protocol - простой протокол сетевого управления). В анонсах также содержится информация о времени жизни пакета (Time To Live - TTL) или времени удержания информации (holdtime). Последний параметр определяет время, в течение которого будет храниться CDP-информация, прежде чем она будет уничтожена. Также каждое сетевое устройство периодически получает CDP-сообщения, отправляемые другими соседними устройствами для получения информации о своих "соседях".

Информация, которую можно получить через протокол CDP

Основной задачей протокола CDP является получение данных о платформах соседних устройств и исполняемых ими протоколах. CDP-фрейм может быть небольшим, однако содержать массу полезной информации о соседних маршрутизарах и коммутаторах.
Как показано в примере 1, для отображения одной кэшированной записи CDP используется команда show cdp entry [имя устройства].

Пример 1. Использование команды show cdp entry

RouterA#show cdp entry RouterB Device ID: RouterB Entry address(es): IP address : 198.92.68.2 Platform: sisco C1841, Capabilities: Router Interface: FastEthernet0/0, Port ID (outgoing port): FastEthernet0/0 Holdtime: 139 Version : Cisco IOS Software, 1841 Software (C1841-ADVIPSERVICESK9-M), Version 12.4(15)T1, RELEASE SOFTWARE (fc2) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2007 by Cisco Systems, Inc. Compiled Wed 18-Jul-07 04:52 by pt_team advertisement version: 2 Duplex: full

Обратите внимание, что результат выполнения указанной в примере команды включает в себя все адреса уровня 3 соседнего маршрутизатора, RouterB. Введя команду на маршрутизаторе A, администратор имеет возможность получить информацию об IP-адресах соседнего маршрутизатора B. Параметр времени удержания информации определяет время, в течение которого хранится CDP-фрейм, полученный от соседнего устройства. Сжатую информацию о соседнем маршрутизаторе RouterB можно получить, введя команду:
show cdp entry [имя устройства]
Информация о версии и параметрах соседних устройств упростит сетевому администратору процесс определения физической топологии сети и поможет оптимально настроить устройства.

Отображение CDP-информации о соседних устройствах

На рис. 1 показано, как протокол CDP позволяет администратору пролучить полезную информацию о системе. Каждый маршрутизатор, на котором исполняется протокол CDP, обменивается со своими соседями информацией обо всех известных ему протоколах. Администратор может посмотреть результаты этого обмена CDP-информацией посредством консоли, подсоединённой к локальному маршрутизатору.
Для отображения информации о сетях, непосредственно подсоединённых к маршрутизатору, можно воспользоваться командой show cdp neighbors. Протокол CDP обеспечивает получение информации о каждом соседнем устройстве путём передачи информации в формате TLV (Type Length Value - запись тип-длина-значение). Записи TVL - это блоки информации, внедрённые в CDP-анонсы.
Значения TVL конкретного устройства могут быть просмотрены путём использования команды show cdp neighbors и, как показано в примере 2, включают в себя такую информацию:
  • идентификатор устройства;
  • номер и тип локального интерфейса;
  • время удержания информации;
  • возможности устройства (код, который указывает, является ли соседнее устройство маршрутизатором или же коммутатором);
  • платформу;
  • идентификатор порта;
  • доменное имя VTP (только в случае использования протокола CDPv2);
  • номер собственной сети VLAN (только в случае использования протокола CDPv2);
  • информацию о дуплексности соединения (только в случае использования протокола CDPv2).
Рис. 1. Получение CDP-информации о соседних устройствах

Пример 2. Использование команды show cdp entry на маршрутизаторе и коммутаторе

RouterA#show cdp neighbors Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone, D - Remote, C - CVTA, M - Two-port Mac Relay Device ID Local Intrfce Holdtme Capability Platform Port ID RouterB Fas 0/0 131 R C1841 Fas 0/0 RouterC Fas 0/1 173 R C1841 Fas 0/1

sw3#show cdp neighbors Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone, D - Remote, C - CVTA, M - Two-port Mac Relay Device ID Local Intrfce Holdtme Capability Platform Port ID sw1 Gig 0/2 168 S I WS-C2960- Gig 0/1 sw2 Gig 0/1 174 S I WS-C2960- Gig 0/2

Для отображения всей информации, выводимой командой show cdp neighbors, например, как в случае команды show cdp entry, вы можете использовать указанную команду с дополнительным ключом show cdp neighbors detail, как показано в примере 3.

Пример 3. Выводимая командой show cdp naighbors detail информация

RouterA#show cdp neighbors detail Device ID: RouterB Entry address(es): IP address : 198.92.68.2 Platform: sisco C1841, Capabilities: Router Interface: FastEthernet0/0, Port ID (outgoing port): FastEthernet0/0 Holdtime: 171 Version : Cisco IOS Software, 1841 Software (C1841-ADVIPSERVICESK9-M), Version 12.4(15)T1, RELEASE SOFTWARE (fc2) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2007 by Cisco Systems, Inc. Compiled Wed 18-Jul-07 04:52 by pt_team advertisement version: 2 Duplex: full --------------------------- Device ID: RouterC Entry address(es): IP address : 198.92.50.2 Platform: sisco C1841, Capabilities: Router Interface: FastEthernet0/1, Port ID (outgoing port): FastEthernet0/1 Holdtime: 154 Version : Cisco IOS Software, 1841 Software (C1841-ADVIPSERVICESK9-M), Version 12.4(15)T1, RELEASE SOFTWARE (fc2) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2007 by Cisco Systems, Inc. Compiled Wed 18-Jul-07 04:52 by pt_team advertisement version: 2 Duplex: full

Обратите внимание, что самый нижний маршрутизатор на рис. 1 непосредственно не соединён с маршрутизатором, к которому подключена консоль администратора. Для получения информации об этом маршрутизаторе администратору необходимо создать ssh-соединение с устройством, которое непосредственно к нему подключено. Как было сказано выше, информация об обсуждаемом протоколе поможет получить полное представление об устройствах, которые работают в сети, что даст более полное понимание физической топологии сети.

Включение протокола, мониторинг и получение CDP-информации

Для включения протокола CDP, получения и отслеживания CDP-информации используются команды, приведённые в табл. 2.

Таблица 2. Основные команды протокола CDP

Команда
Режим
Описание
cdp run
Режим глобальной конфигурации
Включает протокол CDP в маршрутизаторе
cdp enable
Режим настройки интерфейса
Разрешает использование протокола CDP на интерфейсе
clear cdp counters
Привилигированный EXEC-режим
Сбрасывает все счётчики переданных данных в начальное состояние
show cdp
Привилигированный EXEC-режим
Отображает интервалы между передачей CDP-анонсов, промежуток времени в секундах, в течение которого CDP-анонс будет действителен для данного порта, а также версию текущего анонса
show cdp entry [entry-name protocol|version]
Привилигированный EXEC-режим
Отображает информацию об указанном соседнем устройстве. Результат её выполнения может быть ограничен выводом информации только о протоколе или версии.
show cdp interface [type number]
Привилигированный EXEC-режим
Отображает информацию об интерфейсах, на которых разрешён CDP
show cdp neighbors [type number] [detail]
Привилигированный EXEC-режим
Отображает тип устройства, о котором получена информация, имя устройства, количесто и тип локальных интерфейсов (портов), промежуток времени, в течение которого CDP-анонсы действительны для данного порта, тип устройства, серийный номер устройства и идентификатор порта. Если добавить в команду ключевое слово detail, то команда выдаёт информацию об идентификаторе собственной виртуальной сети (VLAN ID), о режиме дуплексности и доменном имени протокола VTP, которое установлено на соседнем устройстве
Для включения протокола CDP на маршрутизаторе используется команда cdp run. Для включения протокола CDP только на отдельном интерфейсе используется команда cdp enable. В операционной системе Cisco IOS версии 10.3 и более поздних протокол CDP может быть включён отдельно для каждого интерфейса с помощью команды cdp enable. Несмотря на то что стандартно протокол CDP выполняется на большинстве устройств Cisco, администратор может столкнуться с экземплярами, на которых придётся вручную запустить его для каждого интерфейса. В качестве примера таких устройств можно привести коммутаторы серии 1900, которые не поддерживают команду cdp run. Для коммутаторов этой серии разрешать или запрещать протокол CDP нужно отдельно для каждого интерфейса. В качестве другого примера можно привести интерфейсы, в которых протокол CDP отключён в целях безопасности.

Дополнительная информация: команда show cdp interface
Чтобы получить информацию о сведениях, которые протокол CDP использует для анонсов, и передачи фреймов, нужно использовать команду show cdp interface. В примере 4 проиллюстрировано использование этой команды. Выводимая информация помогает получить такие сведения, как время удержания информации, частота передачи CDP-пакетов, инкапсуляция на интерфейсе, состояние протокола на интерфейсе.

Пример 4. Выводимая командой show cdp interface информация

RouterA#show cdp interface Vlan1 is administratively down, line protocol is down Sending CDP packets every 60 seconds Holdtime is 180 seconds FastEthernet0/0 is up, line protocol is up Sending CDP packets every 60 seconds Holdtime is 180 seconds FastEthernet0/1 is up, line protocol is up Sending CDP packets every 60 seconds Holdtime is 180 seconds

Обратите внимание на рис. 1. На нём так же изображён злоумышленник, он запустим анализатор трафика и получает информацию об коммутаторе sw3 через протокол CDP, это также видно и на рис. 2. Чтобы запретить анонсы CDP в сторону конечных пользователей, рекомендуется на всех портах доступа, запретить анонсы, командой  no cdp enable

Пример 5. Команда no cdp enable запрещает анонсы протокола CDP на всех портах доступа

sw3#configure terminal Enter configuration commands, one per line. End with CNTL/Z sw3(config)#interface range FastEthernet 0/1-48 sw3(config-if-range)#no cdp enable sw3(config-if-range)#end sw3# sw3#copy running-config startup-config Destination filename [startup-config]? Building configuration... [OK]

Рис. 2. Сетевой анализатор wireshark на стороне злоумышленика фиксирует анонсы CDP от коммутатора sw3

🔁

RetraR — Компьютерные игры для Nintendo Game Boy
Приветствуем всех любителей ретро-игровой индустрии на канале RetraR
RetraR - Computer games for Nintendo Game Boy 🌌🛸👽👾☄️🤖
RetraR - 任天堂ゲームボーイ用コンピュータゲーム 🎮🕹️👾

RetraR
RetraR
Канал ретро компьютерных игр

Оформить заказ

Нажимая на кнопку, вы даете согласие на обработку персональных данных

Спасибо за заказ

Ваш заказ принят в обработку. 

Мы свяжемся с вами в ближайшее время.