Протокол CPD (Cisco Discovery Protocol)

Давайте рассмотрим достаточно распространённую тему — протокол CDP. Что же о нём можно сказать, если о нём всё известно? Однако некоторые механизмы работы, позволяющие упростить работу сетевого инженера, знают не все. О них и поговорим.

Протокол CPD (Cisco Discovery Protocol) – проприетарный протокол компании Cisco, работающий на 2 уровне модели OSI, который позволяет сетевым устройствам (и не только сетевым) анонсировать в сеть информацию о себе и принимать такие анонсы от своих соседей.

Протокол достаточно полезный, так как он может показать, что за устройство (версия ПО, номера портов, платформа и ещё много другой информации) подключено в сеть. Это может быть удобно для составления карты сети, ведения документации и мониторинга сети. Однако также это облегчает атаку на сеть. В связи с этим протокол CDP в большинстве случаев отключают.

В интернете огромное количество информации по данному протоколу. Например, как посмотреть соседние устройства командой show cdp neighbors:

Как видим из вывода, видны description, порты, платформа соседнего устройства. Также можно посмотреть и более детальную информацию о соседнем устройстве с помощью show cdp neighbors detail:

Тут уже видны и IP адреса и версия ПО, что достаточно удобно для документирования неизвестной сети.

Логика работы

Логика работы протокола CDP достаточно простая и в общих чертах механизм работы следующий: 1. Устройство посылает multicast-сообщение на MAC-адрес 01:00:0C:CC:CC:CC (по умолчанию каждые 60 секунд на порты Ethernet). 2. Принимающее устройство сохраняет эти сообщения в CDP-таблицу. Если спустя 180 секунд (3 анонса CDP) устройство не прислало ни одного сообщения, – удаляется из базы CDP.

Однако несмотря на все минусы и плюсы протокола в качестве мониторинга за сетевым оборудованием, CDP имеет и дополнительные возможности для управления сетевыми устройствами.

В CDP существует механизм объединения сетевых устройств в кластер, которым можно управлять с одного устройства – CDP Cluster.

Когда такой функционал может потребоваться?

Например, вы случайно или не случайно потеряли доступ к оборудованию через ssh/telnet, а до устройства физически сложно добраться. В таком случае единственное что требуется – включенный протокол CDP.

Настройка

Настройку CDP cluster рассмотрим на коммутаторах 2960: 1. Заходим на доступный коммутатор и включаем CDP cluster:

SW1# configure terminal
SW1(config)#cluster enable test
  1. Проверяем устройства в сети, которые можно подключить к настроенному кластеру:
SW2#show cluster candidates

MAC Address Name Device Type PortIf FEC Hops SN PortIf FEC
0017.9510.d16a SW10 WS-C2960-24TT-L Gi0/24 1 0 Gi0/24
  1. Из предыдущего вывода берём MAC-адрес и добавляем удалённый коммутатор SW10 в CDP cluster.
SW1(config)#cluster member 1 mac-address 0017.9510.d16a password <Password>
  1. Всё. Теперь можем подключиться к удалённому коммутатору командой SW1#rcommand 1. И попадаем на удалённый коммутатор SW10#. Теперь можно делать любые настройки, что могут потребоваться.

Чтобы отключить кластер, необходимо удалить всех cluster member из него и только потом отключить сам кластер:

SW1(config)#no cluster member 1
SW1 (config)#no cluster enable
SW1 (config)#

Посмотреть кластер можно командой show cluster.

В итоге имеется полезный и удобный протокол для мониторинга и управления сети на устройствах Cisco, однако из-за отсутствия встроенных механизмов безопасности CDP может нести угрозу внутренней сети предприятия. Поэтому решение об использовании или отключении протокола принимать вам.