Функция LoopBack Detection (LBD) обеспечивает дополнительную защиту от образования петель на уровне 2 модели OSI.
LoopBack Detection (LBD) позволяет обнаружить петлю как за одним портом, так и между портами коммутатора.
Существуют два режима работы этой функции:
- VLAN-Based:
порт будет заблокирован для передачи трафика только той VLAN, в которой обнаружена петля. Остальной трафик через этот порт будет передаваться.
Рассмотрим примеры настройки LoopBack Detection на коммутаторе DES-3200-28 rev.C1.
1. Петля между портами коммутатора.

enable loopdetect / Глобальное включение LBD
config loopdetect ports 6,24 state enable / Включение LBD на портах
config loopdetect mode port-based / Выбор режима работы LBD
config loopdetect log state enable / Включение логирование событий LBD
Замыкаем патчкордком между собой порты 6 и 24, коммутатор должен обнаружить петлю и отключить порты. В логе должны появиться соответствующие записи.
Command: show log
Index Date Time Level Log Text
—— ———- ——— ——- ———————————————-
6 2000-01-01 00:22:51 INFO(6) Port 24 link down
5 2000-01-01 00:22:51 INFO(6) Port 6 link down
4 2000-01-01 00:22:51 CRIT(2) Port 6 LBD loop occurred. Port blocked
3 2000-01-01 00:22:51 CRIT(2) Port 24 LBD loop occurred. Port blocked
2 2000-01-01 00:22:46 INFO(6) Port 24 link up, 100Mbps FULL duplex
1 2000-01-01 00:22:46 INFO(6) Port 6 link up, 100Mbps FULL duplex
2. Петля между двумя коммутаторами.

enable loopdetect
config loopdetect ports 4,22 state enable
config loopdetect mode port-based
config loopdetect log state enable
Далее соединяем 2 коммутатора между собой двумя патчкордами, как это показано на картинке. В логе должны появиться соответствующие записи.
Command: show log
Index Date Time Level Log Text
—— ———- ——— ——- ———————————————-
6 2000-01-01 00:38:50 INFO(6) Port 4 link down
5 2000-01-01 00:38:50 INFO(6) Port 22 link down
4 2000-01-01 00:38:50 CRIT(2) Port 4 LBD loop occurred. Port blocked
3 2000-01-01 00:38:50 CRIT(2) Port 22 LBD loop occurred. Port blocked
2 2000-01-01 00:38:46 INFO(6) Port 22 link up, 100Mbps FULL duplex
1 2000-01-01 00:38:44 INFO(6) Port 4 link up, 100Mbps FULL duplex
3. Петля за одним портом коммутатора(в режиме VLAN-Based).

Коммутатор 1:
create vlan 10 tag 10
config vlan 10 add tagged 4
enable loopdetect
config loopdetect ports 4 state enable
config loopdetect mode vlan-based
config loopdetect log state enable
Коммутатор 2:
create vlan 10 tag 10
config vlan 10 add tagged 2,6,24 / Добавляем порты, между которыми будет петля
config vlan vlanid 1 del 24 / Удаляем один порт из 1 vlan, чтобы петля была только во vlan 10.
Далее соединяем два коммутатора между собой патчкордом, и на втором коммутаторе делаем петлю, как это показано на картинке. Так как петля будет только во vlan 10, коммутатор 1 не должен заблокировать порт 4, а должен только заблокировать трафик в 10 vlan. В логе должны появиться соответствующие записи.
Command: show log
Index Date Time Level Log Text
—— ———- ——— ——- ———————————————-
2 2000-01-01 00:56:50 CRIT(2) Port 4 VID 10 LBD loop occurred. Packet discard begun
1 2000-01-01 00:56:50 INFO(6) Port 4 link up, 100Mbps FULL duplex
Функция LoopBack Detection (LBD) обеспечивает дополнительную защиту от образования петель на уровне 2 модели OSI . Существует две реализации этой функции:
- STP LoopBack Detection;
- LoopBack Detection Independent STP .
Коммутатор , на котором настроена функция STP LoopBack Detection , определяет наличие петли, когда отправленный им кадр BPDU вернулся назад на другой его порт . В этом случае порт -источник кадра BPDU и порт -приемник будут автоматически заблокированы и администратору сети будет отправлен служебный пакет-уведомление. Порты будут находиться в заблокированном состоянии до истечения времени, установленного таймером LBD Recover Timer .
Функция LoopBack Detection Independent STP не требует настройки протокола STP на портах, на которых необходимо определять наличие петли. В этом случае наличие петли обнаруживается путем отправки портом специального служебного кадра ECTP ( Ethernet Configuration Testing Protocol ). При получении кадра ECTP этим же портом он блокируется на указанное в таймере время. Начиная с LBD версии 4.03, функция LoopBack Detection Independent STP также может определять петли, возникающие между портами одного коммутатора. Существуют два режима работы этой функции: Port-Based и VLAN -Based (начиная с LBD версии v.4.00).
В режиме Port-Based при обнаружении петли происходит автоматическая блокировка порта и никакой трафик через него не передается.
В режиме VLAN -Based порт будет заблокирован для передачи трафика только той VLAN , в которой обнаружена петля. Остальной трафик через этот порт будет передаваться.
На данном занятии изучается работа функции LoopBack Detection Independent STP в режимах Port-Based и VLAN -Based.
Цель: Понять способы работы LBD-алгоритма в различных режимах функционирования.
| DES-3200-28 | 2 шт. |
| DES-1005D | 1 шт. |
| Рабочая станция | 4 шт. |
| Кабель Ethernet | 7 шт. |
| Консольный кабель | 2 шт. |
Перед выполнением задания необходимо сбросить настройки коммутатора к заводским настройкам по умолчанию командой
Содержание
Настройка LoopBack Detection Independent STP в режиме Port-Based

Настройка DES-3200-28
В данном задании рассматривается блокирование порта управляемого коммутатора при обнаружении петли в подключенном сегменте.
Включите функцию LBD глобально на коммутаторе
Активизируйте функцию LBD на всех портах коммутатора
Сконфигурируйте режим Port-Based, чтобы при обнаружении петли отключался порт
Упражнения
Подключите неуправляемый коммутатор с петлей к DES-3200-28, как показано на схеме 1 .
Проверьте текущую конфигурацию функции LBD
Что вы наблюдаете, запишите:
Посмотрите, обнаружена ли петля на коммутаторе
Что вы наблюдаете, запишите:
Проверьте, выполнил ли коммутатор блокировку порта
Отключите неуправляемый коммутатор с петлей от коммутатора DES-3200-28.
Если взять кусок патч-корда и воткнуть оба хвоста в один коммутатор, то получится петля. И в целом петля на порте коммутатора или сетевой карты — зло. Но если постараться, то и этому явлению можно найти полезное применение, например сделать сигнализацию с тревожной кнопкой.
- Rx и Tx — обозначения Receive и Transmit на схемах (приём и передача).
- Loop — англ. петля, контур, шлейф, виток, спираль.
Типичная сеть состоит из узлов, соединенных средой передачи данных и специализированным сетевым оборудованием, таким как маршрутизаторы, концентраторы или коммутаторы. Все эти компоненты сети, работая вместе, позволяют пользователям пересылать данные с одного компьютера на другой, возможно в другую часть света.
Коммутаторы являются основными компонентами большинства проводных сетей. Управляемые коммутаторы делят сеть на отдельные логические подсети, ограничивают доступ из одной подсети в другую и устраняют ошибки в сети (коллизии).
Петли, штормы и порты — это не только морские термины. Петлей называют ситуацию, когда устройство получает тот же самый сигнал, который отправляет. Представь, что устройство «кричит» себе в порт: «Я здесь!» — слушает и получает в ответ: «Я здесь!». Оно по-детски наивно радуется: есть соседи! Потом оно кричит: «Привет! Лови пакет данных!» — «Поймал?» — «Поймал!» — «И ты лови пакет данных! Поймал?» — «Конечно, дружище!»
Вот такой сумасшедший разговор с самим собой может начаться из-за петли на порте коммутатора.
Такого быть не должно, но на практике петли по ошибке или недосмотру возникают сплошь и рядом, особенно при построении крупных сетей. Кто-нибудь неверно прописал марштуры и хосты на соседних коммутаторах, и вот уже пакет вернулся обратно и зациклил устройство. Все коммутаторы в сети, через которые летают пакеты данных, начинает штормить. Такое явление называется широковещательным штормом (broadcast storm).
Меня удивил случай, когда установщик цифрового телевидения вот так подсоединил патч-корд (рис. 1). «Куда-то же он должен быть воткнут. » — беспомощно лепетал он.
Рис. 1. Синий свитч с петлей на борту
Хакер #156. Взлом XML Encryption
Однако не всё так страшно. Почти в каждом приличном коммутаторе есть функция loop_detection, которая защищает устройство и его порт от перегрузок в случае возникновения петли.
Настраиваем коммутаторы
Перед тем как начинать настройку, необходимо установить физическое соединение между коммутатором и рабочей станцией.
Существует два типа кабельных соединений для управления коммутатором: соединение через консольный порт (если он имеется у устройства) и через порт Ethernet (по протоколу Telnet или через web-интерфейс). Консольный порт используется для первоначального конфигурирования коммутатора и обычно не требует настройки. Для того чтобы получить доступ к коммутатору через порт Ethernet, устройству необходимо назначить IP-адрес.
Web-интерфейс является альтернативой командной строке и отображает в режиме реального времени подробную информацию о состоянии портов, модулей, их типе и т. д. Как правило, web-интерфейс живет на 80 HTTP-порте IP-коммутатора.
Настройка DLink DES-3200
Для того чтобы подключиться к НТТР-серверу, необходимо выполнить перечисленные ниже действия с использованием интерфейса командной строки.
- Назначить коммутатору IP-адрес из диапазона адресов твоей сети с помощью следующей команды:
Здесь xxx.xxx.xxx.xxx — IP-адрес, yyy.yyy.yyy.yyy. — маска подсети.
Управляемые коммутаторы D-Link имеют консольный порт, который с помощью кабеля RS-232, входящего в комплект поставки, подключается к последовательному порту компьютера. Подключение по консоли иногда называют подключением Out-of-Band. Его можно использовать для установки коммутатора и управления им, даже если нет подключения к сети.
После подключения к консольному порту следует запустить эмулятор терминала (например, программу HyperTerminal в Windows). В программе необходимо задать следующие параметры:
При соединении коммутатора с консолью появится окно командной строки. Если оно не появилось, нажми Ctrl+r , чтобы обновить окно.
Коммутатор предложит ввести пароль. Первоначально имя пользователя и пароль не заданы, поэтому смело жми клавишу Enter два раза. После этого в командной строке появится приглашение, например DES-3200#. Теперь можно вводить команды. Команды бывают сложными, многоуровневыми, с множеством параметров, и простыми, для которых требуется всего один параметр.Введи «?» в командной строке, чтобы вывести на экран список всех команд данного уровня или узнать параметры команды.
Например, если надо узнать синтаксис команды config, введи в командной строке:
Далее можно ввести «?» или нажать кнопку Enter. На экране появится список всех возможных способов завершения команды. Лично я для вывода этого списка на экран пользуюсь клавишей TAB.
Loopback-тест
Базовая конфигурация коммутатора
При создании конфигурации коммутатора прежде всего необходимо обеспечить защиту от доступа к нему неавторизованных пользователей. Самый простой способ обеспечения безопасности — создание учетных записей для пользователей с соответствующими правами. Для учетной записи пользователя можно задать один из двух уровней привилегий: Admin или User. Учетная запись Admin имеет наивысший уровень привилегий. Создать учетную запись пользователя можно с помощью следующих команд CLI:
После этого на экране появится приглашение для ввода пароля и его подтверждения: «Enter a case-sensitive new password». Максимальная длина имени пользователя и пароля составляет 15 символов. После успешного создания учетной записи на экране появится слово Success. Ниже приведен пример создания учетной записи с уровнем привилегий Admin:
Изменить пароль для существующей учетной записи пользователя можно с помощью следующей команды: DES-3200# config account Ниже приведен пример установки нового пароля для учетной записи dlink:
Проверка созданной учетной записи выполняется с помощью следующей команды: DES-3200# show account. Для удаления учетной записи используется команда delete account .
Шаг второй. Чтобы коммутатором можно было удаленно управлять через web-интерфейс или Telnet, коммутатору необходимо назначить IP-адрес из адресного пространства сети, в которой планируется использовать устройство. IP-адрес задается автоматически с помощью протоколов DHCP или BOOTP или статически с помощью следующих команд CLI:
Здесь xxx.xxx.xxx.xxx — IP-адрес, yyy.yyy.yyy.yyy. — маска подсети, System — имя управляющего интерфейса коммутатора.
Шаг третий. Теперь нужно настроить параметры портов коммутатора. По умолчанию порты всех коммутаторов D-Link поддерживают автоматическое определение скорости и режима работы (дуплекса). Но иногда автоопределение производится некорректно, в результате чего требуется устанавливать скорость и режим вручную.
Для установки параметров портов на коммутаторе D-Link служит команда config ports. Ниже я привел пример, в котором показано, как установить скорость 10 Мбит/с, дуплексный режим работы и состояние для портов коммутатора 1–3 и перевести их в режим обучения.
Команда show ports выводит на экран информацию о настройках портов коммутатора.
Шаг четвертый. Сохранение текущей конфигурации коммутатора в энергонезависимой памяти NVRAM. Для этого необходимо выполнить команду save:
Шаг пятый. Перезагрузка коммутатора с помощью команды reboot:
Будь внимателен! Восстановление заводских настроек коммутатора выполняется с помощью команды reset.
А то я знал одного горе-админа, который перезагружал коммутаторы командой reset, тем самым стирая все настройки.
Грамотный админ обязательно установит на каждом порте соответствующую защиту.
Но сегодня мы хотим применить loopback во благо. У такого включения есть замечательное свойство. Если на порте коммутатора имеется петля, устройство считает, что к нему что-то подключено, и переходит в UP-состояние, или, как еще говорят, «порт поднимается». Вот эта-то фишка нам с тобой и нужна.
Loopback
Loop — это аппаратный или программный метод, который позволяет направлять полученный сигнал или данные обратно отправителю. На этом методе основан тест, который называется loopback-тест. Для его выполнения необходимо соединить выход устройства с его же входом. Смотри фото «loopback-тест». Если устройство получает свой собственный сигнал обратно, это означает, что цепь функционирует, то есть приемник, передатчик и линия связи исправны.
Устраиваем аппаратную петлю
Устроить обратную связь очень просто: соединяется канал приема и передачи, вход с выходом (Rx и Tx).
Таблица 1. Распиновка RJ45
Обожми один конец кабеля стандартно, а при обжиме второго замкни жилы 2 и 6, а также 1 и 3. Если жилы имеют стандартную расцветку, надо замкнуть оранжевую с зеленой, а бело-оранжевую с бело-зеленой. Смотри рис. 3.
Нумерация контактов RJ-45
Теперь, если воткнешь такой «хвостик» в порт коммутатора или в свою же сетевую карту, загорится зелёненький сигнал link. Ура! Порт определил наше «устройство»!
Красная кнопка, или Hello world
Ну куда же без Hello world? Каждый должен хоть раз в жизни вывести эти слова на экран монитора! Сейчас мы с тобой напишем простейший обработчик событий, который будет срабатывать при замыкании красной кнопки. Для этого нам понадобятся только кнопка с двумя парами контактов, работающих на замыкание, витая пара и коннектор. На всякий случай приведу схему красной кнопки (рис. 4).
Схема красной кнопки
Паяльник в руках держать умеешь? Соединяем так, чтобы одна пара контактов замыкала оранжевую жилу с зеленой, а другая — бело-оранжевую с бело-зеленой. На всяких случай прозвони соединение мультиметром.
Все, теперь можно тестировать. Вставь обжатую часть в порт сетевой карты или в порт коммутатора. Ничего не произошло? Хорошо. Нажми кнопку. Линк поднялся? Замечательно!
Сама красная кнопка
Вот листинг простейшего обработчика Hello World на Cshell:
Скрипт запускается с помощью следующей строки:
Что привязать к обработчику событий, зависит уже от твоей фантазии. Может, это будет счетчик гостей, или тревожная кнопка, рассылающая сообщения в аське, или кнопка для отключения всех юзеров в сети — решать тебе!
Сигнализация обрыва витой пары
Я решил собрать аппаратную петлю после того, как в моей локальной сети украли несколько мешков витой пары. Встал серьезный вопрос: как мониторить витую пару?
Идея проста: надо проложить витую пару от коммутатора до подъезда и на конце замкнуть её в петлю. Это будет «растяжка», при обрыве которой исчезнет линк на порте коммутатора. Останется написать обработчик, который бы «трубил во все трубы», что линк исчез, то есть витую пару кто-то разрезал.
Чуть не забыл! В конфигурации коммутатора необходимо снять защиту loop_detection с порта, на котором установлена «растяжка».
Впрочем, ты можешь придумать петле и другое применение. Удачи!






