Протокол CDP. Обнаружение устройств Cisco.
Итак, CDP - проприетарная реализация протокола LLDP от компании Cisco. Данная технология позволяет устройствам анонсить в сеть данные о себе и собирать эти данные о других. Если у нас есть цисочка, то мы сможем узнать о других её "подружках", если они висят на интерфейсах нашей железки.
CDP позволяет нам узнать тип соседнего устройства, порт на нашем устройстве от которого оно подключено, порт соседнего устройства от которого подключено наше, версию аппаратной части подключенного железа, версию IOS и еще всякое.
Как данный протокол работает? По-умолчанию раз в 60 секунд каждое устройство с активным CDP-протоколом анонсирует со всех своих интерфейсов информацию о себе. В нашем случае имеются ввиду физические Ethernet-интерфейсы. Содержимое данных анонсов мы описали выше.
Сетевое оборудование, висящее на интерфейсах нашего устройства получает от него анонсы. Если на конечном оборудовании CDP также включен, то оно понимает эти анонсы и добавляет в свою таблицу, дополняя от себя другой полезной информацией, например, номером интерфейса, принявшего анонс. Данная информация не будет храниться вечно, данные об устройстве удалятся у его CDP-соседей, если в течение 180 секунд (утроенный интервал между анонсами) от него ну будут поступать CDP-пакеты.
Теперь немного практики. Соберем в Packet Tracer следующую схему:
На коммутаторах ничего настраивать сейчас не надо, а на маршрутизаторе просто включим его интерфейсы:
Протокол на всех устройствах уже включен по-умолчанию. Зайдем на коммутатор Switch0 и скажем ему show cdp neighbors:
На других устройствах тоже можно поглядеть на CDP-таблицы, но соседей у них меньше, оттого информации в таблицах тоже будет немного.
Теперь попробуем вырубить CDP на Switch1, для этого нужно сказать no cdp run в режиме конфига. Поглядим результат с помощью show cdp neighbors на всё том же Switch0:
Как вы понимаете, содержимое не изменилось, потому что не прошло 180 секунд с момента прекращения анонсов от Switch1. Подождем немного и еще раз show cdp neighbors:
Всё, информация о Switch1 пропала из таблицы CDP-соседей коммутатора Switch0.
Не обязательно гасить протокол CDP глобально, его можно отключить только на конкретных интерфейсах. Для чего? Чаще из соображений безопасности. Его обычно отключают на пользовательских портах или смотрящих на сторонние организации, левым лицам совсем не обязательно знать об устройстве, к которому они подключены. Давайте на конкретном примере, всё в том же Packet Tracer. Пусть Switch0, Switch1, Switch2 и Router0 это наши железки, а Switch3 провайдерский. Очевидно, что нечего ему знать модель устройства, к которому он подключается, а также порт и прочую информацию. Отключим CDP:
Проверим через некоторое время, что получилось. Скажем show cdp neighbors на Switch3:
Наш маршрутизатор пропал из списка нейборов коммутатора Switch3, а вот, к примеру из списка соседей Switch0 он никуда не делся.
Кстати. Существует более полная команда show cdp neighbors detail, которая помимо прочего выводит IP-адреса этих самых соседей.
В принципе, по основам протокола это всё.
CDP позволяет нам узнать тип соседнего устройства, порт на нашем устройстве от которого оно подключено, порт соседнего устройства от которого подключено наше, версию аппаратной части подключенного железа, версию IOS и еще всякое.
Как данный протокол работает? По-умолчанию раз в 60 секунд каждое устройство с активным CDP-протоколом анонсирует со всех своих интерфейсов информацию о себе. В нашем случае имеются ввиду физические Ethernet-интерфейсы. Содержимое данных анонсов мы описали выше.
Принцип работы протокола CDP
Сетевое оборудование, висящее на интерфейсах нашего устройства получает от него анонсы. Если на конечном оборудовании CDP также включен, то оно понимает эти анонсы и добавляет в свою таблицу, дополняя от себя другой полезной информацией, например, номером интерфейса, принявшего анонс. Данная информация не будет храниться вечно, данные об устройстве удалятся у его CDP-соседей, если в течение 180 секунд (утроенный интервал между анонсами) от него ну будут поступать CDP-пакеты.
Теперь немного практики. Соберем в Packet Tracer следующую схему:
На примере данной сети познакомимся с CDP
На коммутаторах ничего настраивать сейчас не надо, а на маршрутизаторе просто включим его интерфейсы:
Router#conf t
Router(config)#interface range fastEthernet 0/0-1
Router(config-if-range)#no shutdown
Протокол на всех устройствах уже включен по-умолчанию. Зайдем на коммутатор Switch0 и скажем ему show cdp neighbors:
Таблица CDP соседей устройства
На других устройствах тоже можно поглядеть на CDP-таблицы, но соседей у них меньше, оттого информации в таблицах тоже будет немного.
Теперь попробуем вырубить CDP на Switch1, для этого нужно сказать no cdp run в режиме конфига. Поглядим результат с помощью show cdp neighbors на всё том же Switch0:
Таблица соседей не изменилась
Как вы понимаете, содержимое не изменилось, потому что не прошло 180 секунд с момента прекращения анонсов от Switch1. Подождем немного и еще раз show cdp neighbors:
Из таблицы пропала запись об одном из соседей
Всё, информация о Switch1 пропала из таблицы CDP-соседей коммутатора Switch0.
Не обязательно гасить протокол CDP глобально, его можно отключить только на конкретных интерфейсах. Для чего? Чаще из соображений безопасности. Его обычно отключают на пользовательских портах или смотрящих на сторонние организации, левым лицам совсем не обязательно знать об устройстве, к которому они подключены. Давайте на конкретном примере, всё в том же Packet Tracer. Пусть Switch0, Switch1, Switch2 и Router0 это наши железки, а Switch3 провайдерский. Очевидно, что нечего ему знать модель устройства, к которому он подключается, а также порт и прочую информацию. Отключим CDP:
Router#conf t
Router(config)#interface fastEthernet 0/1
Router(config-if)#no cdp enable
Router(config-if)#exit
Проверим через некоторое время, что получилось. Скажем show cdp neighbors на Switch3:
Нет ни одного CDP соседа
Наш маршрутизатор пропал из списка нейборов коммутатора Switch3, а вот, к примеру из списка соседей Switch0 он никуда не делся.
Кстати. Существует более полная команда show cdp neighbors detail, которая помимо прочего выводит IP-адреса этих самых соседей.
В принципе, по основам протокола это всё.
Оригинал статьи на netza.ru