lldp что это такое

Lldp что это такое

Link Layer Discovery Protocol (LLDP) — протокол канального уровня, позволяющий сетевому оборудованию оповещать локальную сеть о своем существовании и характеристиках, а также собирать такие же оповещения, поступающие от соседнего оборудования. Протокол формально утвержден как IEEE standard 802.1AB-2009, в сентябре 2009 года, и является независимой от производителей сетевого оборудования заменой их патентованным протоколам, таким как Cisco Discovery Protocol, Extreme Discovery Protocol, Foundry Discovery Protocol и Nortel Discovery Protocol (последний также известен как SONMP).

Содержание

Применение

Информация, собранная посредством LLDP, накапливается в устройствах и может быть с них запрошена посредством SNMP. Таким образом, топология сети, в которой используется LLDP, может быть получена с управляющего компьютера посредством последовательного обхода и опроса каждого устройства на предмет собранной им информации. При этом получаемая информация содержит:

Используя эту информацию и опрашивая MIB базы данных обнаруженных устройств, системы управления могут динамически моделировать и отслеживать состояния локальных сетей передачи данных (LAN), а также строить их визуальные схемы для пользователей и администраторов.

Структура кадра

LLDP кадры отсылаются каждым оборудованием через все его порты через фиксированные интервалы времени. Каждый кадр содержит т. н. Link Layer Discovery Protocol Data Unit (LLDPDU), являющуюся набором TLV структур. TLV (от type-length-value) — бинарная конструкция из трех полей (тип, длина, значение), где первые два имеют фиксированный размер и задают размер для третьего, что позволяет легко кодировать/декодировать любую последовательность данных поле-значение. Для LLDPDU, TLV определено так:

+Bits 0 — 678-15
0TypeLength
16Value

LLDPDU распространяется в Ethernet кадрах, где multicast MAC адрес пункта назначения — 01:80:c2:00:00:0e, а тип кадра — 0x88cc. Любой LLPD кадр должен начинаться с трех обязательных TLV записей:

За обязательными записями может следовать любое количество дополнительных, а в конце последовательности должна находиться специальная end of LLDPDU. Все допустимые типы TLV определены стандартом IEEE 802.1AB, например вот формат для chassis ID:

+Bits 0 — 678-15
0Type = 1Length
16Chassis ID subtypeChassis ID…
32Chassis ID (continued)…

Поддержка производителями и оборудованием

LLDP все ещё новый протокол, но постепенно получает поддержку у производителей сетевого оборудования:

Также доступны некоторое ПО для ПК и серверов:

Источник

Lldp что это такое

Link Layer Discovery Protocol (LLDP) — протокол канального уровня, который позволяет сетевым устройствам анонсировать в сеть информацию о себе и о своих возможностях, а также собирать эту информацию о соседних устройствах.

LLDP это стандартный протокол, который описан в IEEE 802.1AB.

Содержание

[править] Описание протокола

Каждое устройство, на котором включен LLDP, отправляет информацию о себе соседям независимо от того, отправляет ли сосед информацию о себе. При обмене сообщениями LLDP, не используется механизм запрос/ответ.

Устройство, использующее LLDP, хранит информацию о соседях, но не перенаправляет её дальше (независимо от того поддерживает ли устройство протокол LLDP).

Каждое устройство хранит информацию о соседях в MIB. Поэтому эта информация может использоваться различными управляющими хостами с помощью протокола SNMP.

Например, ProCurve Manager использует информацию LLDP для построения топологии сети и сбора инвентарной информации.

Информация об устройстве, которая может передаваться с помощью LLDP:

[править] Принципы работы

lldp что это такое

lldp что это такое

Протокол работает только между непосредственно присоединенными устройствами. Это значит, что, например, на рисунке:

Сообщения LLDP могут передаваться через порты, которые заблокированы STP, но не передаются через порты, которые заблокированы 802.1X.

[править] Формат кадра LLDP

Формат кадра LLDP

Адрес получателяАдрес отправителяLLDP EthertypeДанные LLDP
LLDP multicast адресMAC-адрес88-ССLLDPDUFCS
6 байт6 байт2 байта1500 байт4 байта

Сообщения LLDP инкапсулируются в Ethernet-кадр и передаются через все активные линки.

Для LLDP зарезервирован multicast MAC-адрес — 01:80:C2:00:00:0E. Это специальный зарезервированный MAC-адрес, который предполагает, что коммутаторы, получившие кадр с таким адресом получателя, не будут его передавать дальше.

LLDP передает информацию в сообщениях, которые называются LLDP Data Unit (LLDPDU).

В сообщениях LLDP содержатся несколько TLV (Type, Value, Length):

LLDPDU состоит как минимум из четырёх обязательных TLV полей:

lldp что это такое

lldp что это такое

Между обязательными TLV (после первых трёх и перед последним) могут размещаться другие (опциональные) TLV, например:

[править] LLDP на коммутаторах ProCurve

Коммутаторы ProCurve поддерживают протоколы LLDP и CDP. Однако, LLDP-сообщения они могут и генерировать и принимать, а CDP — только принимать.

В коммутаторах ProCurve таблицы LLDP и CDP взаимно пополняют друг друга. То есть, командами просмотра соседей обнаруженных по LLDP, можно увидеть и CDP-соседей. И наоборот.

[править] Настройки по умолчанию

По умолчанию на коммутаторах ProCurve включен LLDP, с такими параметрами:

[править] Информация о локальном устройстве

Информация об устройстве на котором выполняется команда:

[править] Информация о соседях

Пример топологии (команды выполняются на коммутаторе sw4):

lldp что это такое

Информация о соседях:

Более подробная информация о соседе на 1 интерфейсе (коммутатор 3 уровня, но в данный момент работает как коммутатор 2 уровня):

Более подробная информация о соседе на 24 интерфейсе (коммутатор 3 уровня):

[править] Настройки LLDP

[править] Включение и выключение LLDP на коммутаторе

По умолчанию на коммутаторе включен LLDP.

Если после отключения LLDP, необходимо его снова включить:

[править] Изменение интервалов

[править] Transmit Interval

Transmit Interval — частота отправки LLDP-сообщений соседям. По умолчанию — 30 секунд.

Настройка transmit interval (из-за используемой команды называется также refresh interval):

Значение refresh-interval должно быть большим чем или равным 4 * delay-interval. Иначе коммутатор выдаст сообщение об ошибке.

[править] Time-to-Live

Time-to-Live (TTL) — время в течении которого сосед будет хранить информацию об устройстве, которое отправило сообщение LLDP. По умолчанию — 120 секунд.

Значение TTL получается по формуле:

Изменение holdtime multiplier (по умолчанию 4):

[править] Delay Interval

Delay Interval — коммутатор использует этот интервал для задержки отправки объявлений LLDP, которые отправляются из-за изменений в LLDP MIB. По умолчанию delay-interval равен 2 секундам.

Если на коммутаторе часто изменяется LLDP MIB, то увеличение интервала может уменьшить количество отправляемых сообщений.

Интервал может быть изменен с помощью управляющего хоста SNMP (NMS) или с помощью команды setmib.

Значение refresh-interval должно быть большим чем или равным 4 * delay-interval. Иначе коммутатор выдаст сообщение об ошибке.

Изменение delay interval:

[править] Reinit Interval

Reinit Interval — минимальное время, которое порт должен подождать прежде чем он инициализируется снова после выключения LLDP, за которым следует изменение режима передачи сообщений LLDP. По умолчанию — 2 секунды.

Изменение reinit interval:

[править] Notification Interval

Notification Interval — интервал между отправкой оповещений об изменении информации LLDP. Если на интерфейсе включена отправка SNMP-сообщений, то частое изменение информации LLDP может привести к большому количеству trap. По умолчанию — 5 секунд.

Изменение notification interval:

[править] Просмотр информации о текущих значениях интервалов

Просмотр информации о текущих значениях интервалов на коммутаторе:

[править] Изменение режима отправки и получения сообщений LLDP

По умолчанию коммутатор и отправляет и принимает сообщения LLDP.

Синтаксис команды изменения режима отправки сообщений LLDP:

Пример перевода порта 3 в режим txonly:

Просмотр информации о текущем режиме портов:

Просмотр информации о текущем режиме порта 2:

[править] Указание управляющего адреса

По умолчанию коммутатор анонсирует управляющий адрес по таким правилам:

Однако, адрес может быть назначен административно.

Назначение IP-адреса, который будет анонсироваться как управляющий

Эта команда не позволяет назначить адрес полученный по DHCP или адрес, который не назначен статически в VLAN на коммутаторе.

Если, например, попытаться назначить несуществующий адрес как управляющий, то коммутатор выдаст такую ошибку:

Просмотр информации о том, какой адрес этот коммутатор анонсирует как управляющий:

Просмотр информации о том, какой адрес сосед анонсирует как управляющий:

[править] Просмотр информации о настройках LLDP

Настройки LLDP на коммутаторе:

Информация о настройках LLDP на интерфейсе, в том числе какие TLV отправляются (на коммутаторе с поддержкой LLDP-MED):

Информация о настройках LLDP на интерфейсе, в том числе какие TLV отправляются (на коммутаторе без поддержки LLDP-MED):

[править] Статистика LLDP

Статистика LLDP (на 23 интерфейсе сейчас соседа нет, но статистика о пакетах осталась):

Информация о статистике на конкретном интерфейсе:

[править] LLDP в Linux

Вообще, lldpd поддерживает не только LLDP, но также и CDP, EDP, SONMP и AgentX SNMP.

Активация соответствующих протоколов выполняется ключами:

Установка lldpd осуществляется принятым в дистрибутиве способом:

Ключи демону в Debian передаются через /etc/default/lldpd:

Запуск демона осуществляется командой:

Просмотреть информацию о LLDP-соседях:

На коммутаторе Linux-машина при этом видна так:

Виден её MAC-адрес, имя хоста, а также интерфейс, которым хост подключен к коммутатору.

Среди расширенных сведений можно увидеть версию ядра и IP-адрес системы.

[править] LLDP в FreeBSD

Поддержка LLDP в FreeBSD осуществляется при помощи программы openlldp, доступной в виде порта. Демон openlldpd отправляет по указанному ему сетевому интерфейсу информацию о системе, пользуясь протоколом LLDP.

Домашний сайт проекта: OpenLLDP (англ.)

[править] LLDP в Windows

Для того чтобы хосты Windows также могли использовать LLDP, необходимо установить LLDP-агент. Например, haneWIN LLDP Agent. Этот агент платный, однако в течении 30дневного периода его можно потестировать бесплатно.

Теперь хост по LLDP получил информацию о коммутаторе, к которому он подключен:

lldp что это такое

Более подробная информация о коммутаторе:

lldp что это такое

На коммутаторе Windows-машины с установленным LLDP-агентом видны так:

Более подробная информация:

[править] Сбор информации об устройствах

[править] Написание скриптов для сбора информации об устройствах

Информацию о множестве устройств, обменивающихся информацией по LLDP, можно собрать и представить в виде карты сети.

Вот пример простого скрипта, который обходит коммутаторы по SSH, узнает у них информацию о соседях, полученную по LLDP, и на её основе генерирует описание представления сети в виде graphviz-файла, который после дальнейшей обработки превращается в графическую схему:

В результате получаем схему соединения:

lldp что это такое

Вручную разобраться в хитросплетениях патчкордов было бы значительно сложнее.

[править] Программы для сбора информации об устройствах

lldp что это такое

lldp что это такое

Программа wiremaps пользуясь информацией, которую она может получить через протоколы LLDP, EDP, CDP и SONMP, а также из таблиц FDB и ARP, составляет описание сети и предоставляет его пользователю.

Подробнее о программе:

Нечто похожее делает программа NetDisco. Эта информация доступна через web-интерфейс.

lldp что это такое

lldp что это такое

Программа NeDi (Network Discovery and Inventory) собирает информацию с управляемых сетевых устройств и ведет учет и статистику как самих устройств, так и абонентских нод. Использует LLDP, CDP и ARP таблицы для построения наглядной топологии в растровом и векторном виде, а также для автоматического поиска новый управлемых устройств.

Подробнее о программе:

[править] LLDP-MED

Link Layer Discovery Protocol-Media Endpoint Discovery (LLDP-MED) — расширение стандарта LLDP, которое позволяет:

Описан в стандарте ANSI/TIA-1057.

LLDP-MED определяет такие TIA Organizationally Specific TLV:

[править] Классы устройств в LLDP-MED

Устройства которые поддерживают LLDP-MED разбиты на три класса:

[править] Настройка LLDP-MED на коммутаторах ProCurve

[править] Создание voice VLAN

Для того чтобы LLDP-MED анонсировал в TLV информацию о VLAN, должен быть создан voice VLAN и порт, на котором находится IP-телефон должен быть тегированным в этом VLAN.

Создание voice VLAN:

Просмотр информации о VLAN (метка voice выставлена у VLAN 10):

[править] Обязательные TLV

Для работы LLDP-MED на коммутаторе обязательно должны быть включены такие TVL (они включены по умолчанию):

Информация о TLV на интерфейсе:

Если какие-либо из LLDP-MED TLV были отключены на интерфейсе, то можно их включить с помощью команды:

TLV macphy_config включается так:

[править] Управление PoE с помощью LLDP-MED

Включение/отключение возможности контроля и выделения PoE с помощью LLDP-MED (по умолчанию отключено):

Включить обнаружение PoE с помощью LLDP TLV advertisement:

[править] Другие протоколы обнаружения

Существуют аналогичные LLDP проприетарные протоколы обнаружения (discovery protocols):

Источник

Возможности LLDP для работы с IP-телефонией и примеры настройки

Введение В данной статье будет рассмотрен протокол LLDP, его возможности и примеры настройки для работы с VoIP. В качестве платформы будет использоваться сеть, построенная на коммутаторе Qtech c сервером на CentOS 6 и ip-телефон Yealink t21p LLDP Поговорим немного о LLDP. Это канальный протокол, посредством которого устройства могут транслировать информацию о себе в сеть, ну […]

Введение

В данной статье будет рассмотрен протокол LLDP, его возможности и примеры настройки для работы с VoIP. В качестве платформы будет использоваться сеть, построенная на коммутаторе Qtech c сервером на CentOS 6 и ip-телефон Yealink t21p

Поговорим немного о LLDP. Это канальный протокол, посредством которого устройства могут транслировать информацию о себе в сеть, ну и получать подобную информацию об устройствах-соседях. Собранные данные запрашиваются с помощью протокола SNMP (протокол сетевого управления). Для работы LLDP необходимо прямое подключение между устройствами (например, сеть, построенная на коммутаторе).

Работает он примерно таким образом:

LLDP вставляет свое сообщение в Ethernet-кадр и передает его через аплинк. Коммутатор, получивший сообщение идентифицирует его по определенному mac-адресу получателя (уникальному для протокола) и не передает дальше.

Вся основная информация, передаваемая из сообщений LLDP, содержится в DataUnit

LLDP-MED — это расширение протокола LLDP, предназначенное для работы с VoIP. Ключевыми особенностями этого дополнения являются:

В класс 1 входят серверы контроллеров связи, в класс 2 – голосовые и медиа шлюзы, ну а в класс 3 – IP-телефоны, софтфоны.

Qtech + LLDP

Подключаемся по telnet и пробуем настраивать.

Пример простейшей настройки порта на коммутаторе Qtech Qsw:

LLDP на CentOS

После того как протокол был запущен на коммутаторе необходимо настроить его на нашем сервере телефонии. Первым делом мы устанавливаем пакет с протоколом в нашем CentOS:

Запускаем сервис и проверяем его статус:

Следующим шагом необходимо написать простенький скрипт включающий LLDP для наших интерфейсов:

Ну и запустить его:

Второй способ запустить lldp на CentOS это установка lldpd и запуск сервиса. Нет необходимости писать какие либо скрипты, демон работает самостоятельно, нужно лишь убедиться, что помимо него еще запущена служба SNMP:

Теперь включаем LLDP на нашем ip-телефоне (в качестве примера используется Yealink t21p):

На этом настройку можно считать завершенной.

Источник

05. LLDP

5.2. Конфигурация LLDP

Включить функцию LLDP и настроить статус порта;

Настроить отправку Trap;

Настроить информацию, передаваемую опционально;

Настроить таблицу соседей;

Вывод информации и отладка.

Включить функцию LLDP и настроить статус порта:

Команда

Описание

! В режиме глобальной конфигурации

Включить LLDP глобально. Команда no отключает эту функцию

! В режиме конфигурации порта

Включить LLDP на порту. Команда no отключает эту функцию

lldp mode (send|receive|both|disable)

! В режиме конфигурации порта

2. Настроить таймеры:

Команда

Описание

no lldp tx-interval

! В режиме глобальной конфигурации

! В режиме глобальной конфигурации

lldp transmit delay

no lldp transmit delay

! В режиме глобальной конфигурации

3. Настроить отправку Trap:

Команда

Описание

! В режиме конфигурации порта

Включить LLDP trap для порта. Команда no отключает эту функцию.

lldp notification interval

no lldp notification interval

! В режиме глобальной конфигурации

4.Настроить информацию, передаваемую опционально:

Команда

Описание

lldp transmit optional tlv [portDesc] [sysName] [sysDesc] [sysCap]

no lldp transmit optional tlv

! В режиме конфигурации порта

Задать LLDP TLV отправляемые опционально:

lldp management-address tlv [A.B.C.D]

no lldp management-address tlv

! В режиме конфигурации порта

Передавать в качестве management-address tlv адрес [A.B.C.D]. Команда no отключает эту функцию.

5. Настроить таблицу соседей:

Команда

Описание

lldp neighbors max-num

no lldp neighbors max-num

! В режиме конфигурации порта

! В режиме конфигурации порта

6. Вывод информации и отладка:

Команда

Описание

Вывести суммарную информацию о конфигурации LLDP на коммутаторе.

show lldp interface ethernet

Вывести информацию по конфигурации LLDP на порту коммутатора.

Вывести суммарную информацию об отправленных и полученных пакетах LLDP.

show lldp neighbors interface ethernet

Вывести информацию о соседях LLDP на интерфейсе

Выводить отладочную информацию о работе протокола LLDP на коммутаторе. Команда no останавливает вывод информации.

debug lldp packets interface ethernet

no debug lldp packets interface ethernet

Выводить отладочную информацию о работе протокола LLDP на порту коммутатора. Команда no останавливает вывод информации.

show debugging lldp

! В Admin режиме

Вывести информацию о состоянии вывода отладки LLDP на коммутаторе.

clear lldp remote-table

! В режиме конфигурации порта

Очистить информацию о соседях LLDP на интерфейсе.

5.3. Пример конфигурации LLDP

2 коммутатора соединены друг с другом одним линком. Порт коммутатора Switch B настроен только для получение LLDP сообщений. Порт коммутатора Switch A должен передавать информацию о описании порта и возможностях системы.

Конфигурация коммутаторов будет выглядеть следующим образом:
Конфигурация коммутатора Switch A:

Источник

СОДЕРЖАНИЕ

Собранная информация

Информация, собранная с помощью LLDP, может храниться в информационной базе управления устройством (MIB) и запрашиваться с помощью протокола SNMP, как указано в RFC 2922. Топология сети с поддержкой LLDP может быть обнаружена путем сканирования хостов и запросов. эта база данных. Информация, которую можно получить, включает:

Приложения

Layer Discovery Protocol Link может быть использован в качестве компонента сетевого управления и мониторинга сетевых приложений.

Расширение обнаружения конечных точек мультимедиа

Расширение протокола LLDP-MED было официально одобрено и опубликовано как стандарт ANSI / TIA-1057 Ассоциацией телекоммуникационной промышленности (TIA) в апреле 2006 года.

Коды возможностей системы

КодВозможность
BМост (переключатель)
CКабельное устройство DOCSIS
ОДругой
пПовторитель
рМаршрутизатор
SСтанция
Ттелефон
WТочка доступа WLAN

Структура кадра

Соответственно, кадр Ethernet, содержащий LLDPDU, имеет следующую структуру:

Структура кадра LLDP Ethernet

ПреамбулаMAC-адрес назначенияИсходный MACEthertypeID шасси TLVTLV идентификатора портаВремя жить TLVДополнительные TLVКонец TLV LLDPDUПоследовательность проверки кадра
01: 80: c2: 00: 00: 0e, или
01: 80: c2: 00: 00: 03, или
01: 80: c2: 00: 00: 00
Адрес станции0x88CCТип = 1Тип = 2Тип = 3Ноль или более полных TLVТип = 0, Длина = 0

Каждый из компонентов TLV имеет следующую базовую структуру:

Структура TLV

ТипДлинаЦенить
7 бит9 бит0-511 октетов
Значения типа TLV

Тип TLVИмя TLVИспользование в LLDPDU
0Конец LLDPDUОбязательный
1ID шассиОбязательный
2ID портаОбязательный
3Время житьОбязательный
4Описание портаПо желанию
5Имя системыПо желанию
6Описание системыПо желанию
7Возможности системыПо желанию
8Адрес управленияПо желанию
9–126Зарезервированный
127Пользовательские TLVПо желанию

Пользовательские TLV поддерживаются через тип TLV 127. Значение настраиваемого TLV начинается с 24-битного организационно-уникального идентификатора и 1-байтового организационно-специфического подтипа, за которым следуют данные. Базовый формат TLV для конкретной организации показан ниже:

Согласно IEEE Std 802.1AB, §9.6.1.3, «Организационно уникальный идентификатор должен содержать OUI организации, как определено в IEEE Std 802-2001». Каждая организация несет ответственность за управление своими подтипами.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *