вторник, ноября 27, 2012

Знакомимся с протоколом CDP

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

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

Рассмотрим, как работает данный протокол. Каждое устройство, на котором включен протокол CDP,по умолчанию каждые 60 секунд рассылает анонсы со всех своих интерфейсов (в данном случае рассматриваются устройства, содержащие только Ethernet интерфейсы). Анонсы содержат информацию о аппаратной платформе устройства, интерфейсе с которого они отправляются и д.р.   
Принцип работы протокола CDP
Сетевое оборудование, подключенное к интерфейсам устройства, получает данные анонсы. Если на оборудование работает протокол CDP, то оно понимает данные анонсы, извлекает из них полезную информацию и добавляет их в свою таблицу, дополняя другой полезной информацией, например адресом своего интерфейса,  на котором был принят анонс. Информация о соседних устройствах хранится в таблице не вечно, по умолчанию если в течении 180 секунд  (утроенный интервал между анонсами) от соседнего устройства не было получено ни одного анонса, то информация о данном устройстве удаляется из таблицы CDP соседей.

Теперь посмотрим, как можно использовать данный протокол на практике. Для этого соберем в PacketTracer вот такую схему:
На примере данной сети познакомимся с CDP
Собрать ее довольно не сложно. Просто соедините устройства между собой, как показано на рисунке. На коммутаторах ничего настраивать не нужно. На маршрутизаторе включите его интерфейсы, выполнив команды:

Router#conf t
Router(config)#interface range fastEthernet 0/0-1
Router(config-if-range)#no shutdown

По умолчанию протокол CDP включен на всех устройства фирмы Cisco. Проверим это, для этого перейдем на коммутатор Switch0 и выполним на нем команду show cdp neighbors (Данную команду можно выполнять даже в непривилегированном режиме). В результате на экране отобразится таблица, содержащая информацию о соседних устройствах, поддерживающих протокол CDP.
Таблица CDP соседей устройства
Если интересно, то можете проделать аналогичные операции на соседних устройствах и посмотреть содержимое их таблиц CDP соседей, правда их содержимое будет более бедным, так как соседей у них меньше чем у коммутатора Switch0.








Давайте попробуем отключить протокол cdp на коммутаторе Switch1, для этого перейдем на нем в режим конфигурации и выполним команду no cdp run. Сразу же после этого на коммутаторе Switch0 выполним команду show cdp neighbors.
Таблица соседей не изменилась
Как можно заметить содержимое таблицы соседей данного коммутатора не изменилось, хотя мы и отключили протокол cdp на одном из соседних с ним устройств. Это связано с тем, что еще не истекли 180 секунд, о которых мы говорили ранее. Подождем немного и снова выполним show cdp neighbors. Теперь результат будет иметь уже другой вид:
Из таблицы пропала запись об одном из соседей
Как можно заметить информация о коммутаторе Switch1 пропала из таблицы cdp соседей коммутатора Switch0.

Отключить cdp можно не на всем коммутаторе, а лишь на некоторых его интерфейсах. Для чего это может пригодится? Обычно cdp отключают на определенных интерфейсах  из соображений безопасности. Так cdp обычно отключается на интерфейсах, к которым непосредственно подключается пользователи или же сторонние организации, ведь им совершенно не обязательно знать к какой конкретно «железке» они подключаются. Продемонстрируем это на той же самой сети в Packet Tracer. Пусть в нашей сети Switch0, Switch1, Switch2 и Router0 принадлежат нашей организации, а Switch3 другой, например провайдеру. Коммутатору Switch3 не обязательно знать, к какой конкретной модели маршрутизатора он подключается, и через какой интерфейс это происходит. Для того чтобы отключить CDP на интерфейсе маршрутизатора, смотрящем в сторону коммутатора Switch3, выполним на маршрутизаторе следующие команды:

         Router#conf t
      Router(config)#interface fastEthernet 0/1
      Router(config-if)#no cdp enable
      Router(config-if)#exit

Посмотрим как подействовала данная команда. Подождем немного и выполним команду show cdp neighbors на коммутаторе Switch3:
Нет ни одного CDP соседа
Как можно заметить наш маршрутизатор пропал из таблицы CDP соседей коммутатора Switch3, чтобы убедиться что мы не отключили CDP на маршрутизаторе полностью, просмотрим таблицу CDP соседей коммутатора Switch0. Если все сделано верно, то маршрутизатор будет присутствовать в ней.

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

7 коммент.:

Хорошая статья! Спасибо.

Всё предельно понятно

статья познавательная, но ещё бы грамматика не хромала и вообще было бы замечательно - учим правила относительно окончаний -ии/-ие

Спасибо за отзыв. Грамматика действительно хромает. Постараюсь в ближайшее время перепроверить статью.

Полезная и информативная статья! Спасибо.

Отправить комментарий