loop protection что это

Настройка Loop Protect в RouterOS на маршрутизаторах Mikrotik

В одной из предыдущих публикаций про обновление RouterOS 6.37 я уже упоминал про добавление функции Loop Protect. Если быть точнее, Loop Protect добавлен в RouterOS начиная с версии 6.37rc25. Несмотря на это, в сам Winbox эта опция была добавлена только с выходом обновления RouterOS 6.37.1. Тогда же был представлен обновленный Winbox 3.6. С выпуском обновленного Winbox 3.7 мелкие недочеты по прежнему не исправлены.

Что такое Loop Protect и зачем он нужен в RouterOS?

Loop Protect, как следует из названия, функция для защиты от образования петель на уровне Layer 2. Система поддерживает контроль интерфейсов ethernet, vlan, eoip и eoipv6.

Если функция активирована, роутер периодически отправляет специальный пакет и, если пакет приходит обратно на маршрутизатор, RouterOS сверяет MAC отправителя. В случае обнаружения петли, интерфейс, на который пришел пакет, отключается на заданное время, а в лог системы при этом записывается соответствующее уведомление.

Настройка Loop Protect в Winbox

Функция Loop Protect настраивается индивидуально для каждого интерфейса. Откроем, к примеру, интерфейс ether5-slave-local, как видите, функция имеет значение «default», по сути это «off», т.е. по-умолчанию функция отключена на всех интерфейсах.

При использовании командной строки, используется параметр

Разработчики по прежнему не пофиксили дублирование параметров, поэтому на повторяющиеся «on», «off» и остальные параметры в Winbox не стоит обращать внимания, это мелкий баг.

Есть важный нюанс, про который забывает упомянуть как производитель, так и люди, описывающие работу Loop Protect. Дело в том, что для работы функции, необходимо активировать опцию на всех (!) портах, на которых вы считаете возможным образование петель. Если вы активируете loop-protect=on только на одном сетевом интерфейсе, при образовании петли, все порты, находящиеся в одной сети (бридже), станут недоступными. В этом случае необходимо ликвидировать петлю и перезагрузить устройство.

Для того, чтобы воссоздать петлю, я соединил интерфейсы ether3-slave-local и ether5-slave-local патчкордом, сеть при этом «падает», так что заранее необходимо задать все параметры.

В нашем случае для ether3-slave-local и ether5-slave-local задан параметр loop-protect=on.

Как видите, система обнаружила петлю и отключила сетевой интерфейс.

Для того, чтобы правильно настроить функцию, давайте рассмотрим дополнительные параметры:

Казалось бы, реализовать цикличность и отключить интерфейс на 5 минут – хорошая идея. Если бы не одно большое но…

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

В таблице интерфейсов над отключенным интерфейсом будет отображен комментарий красного цвета, с помощью которого можно определить с какого порта пришел loop-пакет и, соответственно, определить объединенные порты.

Если посмотреть логи, можно обнаружить, что при этом на несколько секунд «падают» все сетевые интерфейсы. Для соединений между маршрутизатором и коммутатором это не критично, а вот конечные клиенты должны повторно переподключиться к маршрутизатору и получить IP (для сетей с DHCP).

На стороне конечных клиентов это будет выглядеть так

Т.е. каждые 5 минут будет обрываться соединение. Чтобы этого избежать, на интерфейсах можно установить параметр loop-protect-disable-time=0, что приведет к полному отключению интерфейса, система не будет в дальнейшем пытаться активировать его самостоятельно и проверять на наличие петли.

Пока не ясно, будет ли Mikrotik дорабатывать этот функционал, к примеру, выводить (изолировать) порт в отдельный бридж или vlan, чтобы другие сетевые интерфейсы не падали при повторной активации порта.

Где может быть полезен Loop Protect? В первую очередь в больших сетях с большим количеством соединений. Никто не застрахован он подобных случаев, Loop Protection позволяет существенно сэкономить время и нервы, которые уйдут на поиск неисправности.

Видеокурс «Настройка оборудования MikroTik» (аналог MTCNA)

Учитесь работать с MikroTik? Рекомендую видеокурс «Настройка оборудования MikroTik». В курсе разобраны все темы из официальной учебной программы MTCNA и много дополнительного материала. Курс сочетает теоретическую часть и практику – настройку маршрутизатора по техническому заданию. Консультации по заданиям курса ведет его автор Дмитрий Скоромнов. Подойдет и для первого знакомства с оборудованием MikroTik, и для систематизации знаний опытным специалистам.

Источник

Loop Protect — защиты от петель на Микротике

Научиться настройке MikroTik можно на онлайн курсе по оборудованию этого производителя. Автор курса является сертифицированным тренером MikroTik. Подробней Вы можете прочитать в конце статьи.

Давние пользователи продуктов Микротик могут заметить, что им долгое время не были доступны варианты эффективных механизмов по профилактике защиты от образования петель (Loop Protect) на интерфейсах роутера MikroTik. В настоящее время в MikroTik встроена аппаратная обработка протокола Rapid Spanning Tree для коммутируемых портов. А также новая функция защиты от петель (Loop Protect), которая по видимому выполняет ту же функцию, что и Loop Guard Cisco, но не использует Spanning Tree для обнаружения петли.

Версия MikroTik сравнивает исходный MAC-адрес кадра с защитой от петли с MAC-адресом интерфейса, с которого он был получен, и если они совпадают, то порт выключается до тех пор, пока не истечет таймер, после чего производится повторная проверка.

Защита от петель (Loop Protect) – новая функция, доступная начиная с 6.37rc24

Сценарии использования функции защиты от петель (Loop Protect)

Защита от петель (Loop Protect) в испытательной лаборатории

Ниже приведен пример лаборатории, которую мы построили для тестирования функции защиты от петель. Идея состояла в том, чтобы намеренно создать цикл между двумя Cisco 3750, которые бы транслировали петельные кадры в направлении порта локальных сетей на MikroTik CRS125 с включенной функцией защиты от петель (Loop Protect).

Включение функции Защиты от Петель (Loop Protect) в WinBox

Определение петли с включенной функцией Обнаружения петли (Loop Protect)

Выше в нашей лаборатории, мы подключили второй кабель между двумя Cisco 3750 с отключенным проколом Spanning Tree. Функция защиты Loop Protect практически сразу же обнаружила данное событие. Красный цвет в нижней части интерфейса Winbox на рисунке указывает на это. Статус не изменится, пока не пройдет цикл и не истечет таймера.

Читайте также:  Что значит скм в полиции

Отображение служебной информации функции Защиты от петель (Loop Protect) в логах

Защита от образования петли (Loop Protect) выводит сообщения о состоянии в журнал об обнаружении петли. Также при ее пропадании вы увидете сообщение в логах. Если вы посылаете сообщения журнала на внешний сервер, то вы можете создать оповещения. Чтобы знать, когда порт отключается из-за обнаружения петли.

В своей заметке я написал о новой функции Защиты от петель (Loop Protect). Которая стала доступна на Микротиках начиная с версии 6.37rc24. Описал несколько сценариев использования и параметры, которые можно настроить. Если у вас есть дополнения или замечания, то буду рад их увидеть в комментариях.

MikroTik: куда нажать, чтобы заработало?
При всех своих достоинствах, есть у продукции компании MikroTik один минус – много разобщенной и далеко не всегда достоверной информации о ее настройке. Рекомендуем проверенный источник на русском языке, где все собрано, логично и структурировано – видеокурс « Настройка оборудования MikroTik ». В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект. Все материалы остаются у вас бессрочно. Начало курса можно посмотреть бесплатно, оставив заявку на странице курса. Автор курса является сертифицированным тренером MikroTik.

Источник

Усиление протокола STP с помощью функций защиты от петель и обнаружения отклонений BPDU

Параметры загрузки

Содержание

Введение

Протокол STP разрешает физически избыточные топологии в древовидные топологии без петель. Самая большая проблема протокола STP заключается в том, что некоторые отказы оборудования могут вызывать сбой этого протокола. Такой сбой приводит к образованию петель пересылки (или петель STP). Петли STP вызывают серьезные перебои в работе сети.

В данном документе описана функция защиты от петель STP, предназначенная для повышения стабильности сетей уровня 2 (L2). Здесь также описывается функция обнаружения потери BPDU. Функция обнаружения потери BPDU представляет собой средство диагностики, которое создает сообщения системного журнала, если пакеты BPDU не получены в надлежащий срок.

Предварительные условия

Требования

В данном документе предполагается, что читатель знаком с принципами работы протокола STP. С принципами работы протокола STP можно ознакомиться в документе Общее описание протокола STP и его настройка на коммутаторах Catalyst.

Используемые компоненты

Содержимое данного документа не ограничивается определенными версиями оборудования и программного обеспечения.

Условные обозначения

Доступность функций

Функция защиты от петель STP была впервые реализована в CatOS версии 6.2.1 программы Catalyst для платформ Catalyst 4000 и Catalyst 5000 и в версии 6.2.2 для платформы Catalyst 6000.

Функция обнаружения потери BPDU впервые реализована в CatOS версии 6.2.1 программы Catalyst для платформ Catalyst 4000 и Catalyst 5000 и в версии 6.2.2 для платформы Catalyst 6000.

Функция защиты от петель STP впервые реализована в ПО Cisco IOS выпуска 12.1(12c)EW для коммутаторов Catalyst 4500 и в ПО Cisco IOS выпуска 12.1(11b)EX для Catalyst 6500.

Функция обнаружения потери BPDU не поддерживается коммутаторами Catalyst с системным ПО Cisco IOS.

Краткое описание ролей портов протокола STP

Для внутренних целей протокол STP каждому порту моста (или коммутатора) назначает роль на основе конфигурации, топологии, относительного положения порта в топологии и других факторов. Роль порта определяет поведение порта с точки зрения протокола STP. В зависимости от назначенной роли порт либо отправляет, либо принимает пакеты BPDU протокола STP и пересылает или блокирует трафик данных. В следующем списке приведено краткое описание каждой роли порта STP.

Назначенный. Для каждого соединения (сегмента) выбирается один назначенный порт. Назначенный порт — это порт, ближайший к корневому мосту. Этот порт отправляет пакеты BPDU по этому соединению (сегменту) и пересылает трафик на корневой мост. В сети с топологией сходимости STP все назначенные порты находятся в состоянии пересылки STP.

Корневой. У моста может быть только один корневой порт. Корневой порт — это порт, ведущий к корневому мосту. В сети с топологией сходимости STP корневой порт находится в состоянии пересылки STP.

Альтернативный. Альтернативные порты ведут к корневому мосту, но не являются корневыми портами. Альтернативные порты поддерживают состояние блокировки STP.

Резервный. Это особый случай, когда два или более портов одного моста (коммутатора) связаны между собой напрямую или через общий носитель. В этом случае один порт является назначенным, а остальные порты блокируются. Такой порт имеет роль резервного.

Защита от петель STP

Описание функции

Функция защиты от петель STP обеспечивает дополнительную защиту от петель пересылки на уровне 2 (петель STP). Петля STP образуется, когда заблокированный порт STP в избыточной топологии ошибочно переходит в состояние пересылки. Обычно причина этого в том, что один из портов физически избыточной топологии (не обязательно заблокированный порт STP) перестает получать пакеты BPDU протокола STP. Работа протокола STP зависит от непрерывного приема и передачи пакетов BPDU на основе роли порта. Назначенный порт передает пакеты BPDU, а неназначенный порт получает пакеты BPDU.

Когда один из портов в физически избыточной топологии перестает принимать пакеты BPDU, протокол STP считает такую топологию как топологию без петель. В итоге заблокированный порт из альтернативного или резервного порта превращается в назначенный и переходит в состояние пересылки. В такой ситуации образуется петля.

Функция защиты от петель выполняет дополнительные проверки. Если пакеты BPDU больше не принимаются неназначенным портом, а защита от петель включена, то такой порт переводится в состояние блокировки вследствие возможности петли STP, а не в состояние прослушивания, самообучения (learning) или пересылки. Без функции защиты от петель порт принимает роль назначенного порта. Порт переходит в состояние пересылки STP и формирует петлю.

Читайте также:  Что значит цинковый гроб

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

Когда пакет BPDU принимается портом в состоянии блокировки вследствие возможности петли STP, этот порт переходит в другое состояние STP. Согласно полученному блоку BPDU это значит, что восстановление выполнено автоматически и вмешательство не требуется. После восстановления в журнале регистрируется следующее сообщение:

Чтобы проиллюстрировать это поведение, рассмотрим следующий пример.

Коммутатор A является корневым коммутатором. Коммутатор C не получает пакеты BPDU от коммутатора B из-за сбоя однонаправленного соединения между коммутатором B и коммутатором C.

Без защиты от петель заблокированный порт STP на коммутаторе C переходит в состояние прослушивания STP по истечении времени, задаваемого таймером max_age, а затем переходит в состояние пересылки через промежуток, равный удвоенному значению forward_delay. В такой ситуации образуется петля.

Когда функция защиты от петель включена, после обнуления таймера max_age заблокированный порт на коммутаторе C переходит в состояние блокировки вследствие возможности петли STP. Порт в состоянии блокировки вследствие возможности петли STP не предает пользовательский трафик, поэтому петля не образуется. (Состояние блокировки вследствие возможности петли фактически эквивалентно состоянию блокировки.)

Замечания по настройке

Функция защиты от петель включается для каждого порта отдельно. Однако поскольку функция защиты от петель блокирует порт на уровне STP, она блокирует несогласованные порты для каждой VLAN по отдельности (поскольку протокол STP настроен отдельно для каждой VLAN). Значит, если пакеты BPDU не принимаются на магистральном порту только одной отдельной VLAN, то блокируется только эта VLAN (переводится в состояние блокировки вследствие возможности петли STP). По этой же причине, если эта функция включена в интерфейсе EtherChannel, блокируется весь канал отдельной VLAN, а не только одно соединение (так как EtherChannel с точки зрения протокола STP является одним логическим портом).

На каких портах должна быть включена защита от петель? Наиболее очевидный ответ: на заблокированных портах. Однако это не совсем верно. Защита от петель должна быть включена на неназначенных портах (точнее, на корневых и альтернативных портах) для всех возможных комбинаций активных топологий. Поскольку защита от петель не устанавливается для каждой VLAN по отдельности, один и тот же (магистральный) порт может быть назначенным в одной сети VLAN (VLAN) и неназначенным в другой. Следует также учитывать возможные сценарии перехода на другой ресурс при сбое.

Рассмотрим следующий пример.

По умолчанию защита от петель отключена. Для включения защиты от петель используется следующая команда:

Начиная с версии 7.1(1) ПО Catalyst (CatOS), защита от петель может включаться глобально на всех портах. Фактически защита от петель включается на всех соединениях «точка-точка». Соединение «точка-точка» определяется по состоянию дуплексной передачи соединения. Если настроен полнодуплексный режим, соединение считается соединением «точка-точка». Еще можно настроить или переопределить глобальные настройки для каждого порта по отдельности.

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

Чтобы отключить защиту от петель, выполните следующую команду:

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

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

Сравнение функций защиты от петель и UDLD

Защита от петель и UDLD (обнаружение однонаправленной связи) функционально пересекаются, частично из-за того, что обе эти функции защищают от сбоев протокола STP, вызванных однонаправленными соединениями. Однако эти функции различаются как функционально, так и по способу решения этой проблемы. В следующей таблице описываются функциональные возможности защиты от петель и UDLD:

Возможность настройки действий

Да, с функцией тайм-аута состояния «err-disable»

Защита от сбоев STP, вызванных однонаправленными соединениями

Да, когда включена на всех корневых и альтернативных портах в избыточной топологии

Да, когда включена для всех соединений в избыточной топологии

Защита от сбоев STP, вызванных проблемами ПО (выделенный коммутатор не отправляет блоки BPDU)

Защита от неправильных кабельных соединений.

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

Кроме того, защита от петель не действует на совместно используемых соединениях и в ситуациях, когда с момента соединения соединение является однонаправленным. В последнем случае порт никогда не получает блоки BPDU и становится назначенным. Так как такое поведение может быть нормальным, этот случай не охватывается защитой от петель. Защиту от такого сценария предоставляет UDLD.

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

Взаимодействие защиты от петель с другими функциями STP

Защита корня дерева STP

Функции защиты корня дерева STP и защиты от петель являются взаимоисключающими. Защита корня дерева STP используется на назначенных портах и не разрешает порту изменять состояние. Защита от петель действует на неназначенных портах и разрешает порту становиться назначенным по истечении срока max_age. Защиту корня дерева STP нельзя включить для порта, на котором включена защита от петель. Когда для порта включается защита от петель, она отключает настроенную на этом порте защиту корня дерева STP.

Функции uplink fast и backbone fast

Функции uplink fast и backbone fast прозрачны для защиты от петель. Когда во время повторной конвергенции функция backbone fast пропускает max_age, это не вызывает срабатывание защиты от петель. Дополнительные сведения о функциях uplink fast и backbone fast см. в следующих документах:

Читайте также:  boolean search что это такое в рекрутинге

PortFast и защита BPDU и динамическая виртуальная ЛС

Защиту от петель нельзя включить для портов, на которых включена функция PortFast. Так как защита BPDU действует на портах с включенной функцией portfast, к защите BPDU применяются некоторые ограничения. Защиту от петель нельзя включить на портах динамической виртуальной сети, так как на таких портах уже включена функция portfast.

Совместно используемые соединения

Защиту от петель не следует включать на совместно используемых соединениях. Если защиту от петель включить на совместно используемых соединениях, то трафик от узлов, подключенных к общим сегментам, может блокироваться.

Множественные связующие деревья (MST)

Защита от петель правильно функционирует в среде MST.

Обнаружение потери BPDU

Функция защиты от петель должна правильно взаимодействовать с функцией обнаружения потери BPDU.

Обнаружение потери BPDU

Описание функции

Работа протокола STP сильно зависит от своевременного получение пакетов BPDU. При каждом сообщении hello_time message (по умолчанию каждые 2 секунды) корневой мост отправляет пакеты BPDU. Некорневые мосты не создают пакеты BPDU заново для каждого сообщения hello_time, а принимают пакеты BPDU, ретранслированные от корневого моста. Поэтому каждый некорневой мост должен получать пакеты BPDU в каждой VLAN для каждого сообщения hello_time. В некоторых случаях пакеты BPDU теряются или ЦП моста слишком занят, чтобы своевременно ретранслировать пакеты BPDU. Такие или другие проблемы могут вызвать запаздывание пакетов BPDU (если они вообще получаются). Эта проблема может нарушить стабильность топологии STP.

Обнаружение потери BPDU позволяет коммутатору отслеживать запаздывающие пакеты BPDU и уведомлять администратора с помощью сообщений системного журнала. Для каждого порта, для которого когда-либо было зафиксировано запаздывание (или искажение) пакета BPDU, функция обнаружения задержки сообщит о самой последней задержке с указанием ее длительности. Она также указывает максимальную длительность задержки блока BPDU для этого конкретного порта.

Чтобы защитить ЦП моста от перегрузки, сообщение системного журнала создается не при каждой задержке пакета BPDU. Частота создания сообщений ограничивается одним сообщением каждые 60 секунд. Однако если задержка BPDU превышает значение max_age, деленное на 2 (что по умолчанию равно 10 с), сообщение печатается немедленно.

Примечание: Обнаружения потери BPDU — это функция диагностики. При обнаружении задержки пакетов BPDU она отправляет сообщение системного журнала. Функция обнаружения потери BPDU не выполняет никаких других корректирующих действий.

Пример сообщения системного журнала, созданного функцией обнаружения потери BPDU:

Замечания по настройке

Обнаружение потери BPDU настраивается для каждого коммутатора по отдельности. По умолчанию эта функция отключена. Чтобы включить обнаружение потери BPDU, выполните следующую команду:

Чтобы просмотреть сведения об обнаружении задержки пакетов BPDU, воспользуйтесь командой show spantree bpdu-skewing | как показано в следующем примере:

Источник

Защита протокола STP на коммутаторах Huawei

Коммутаторы Huawei Quidway, аналогично коммутаторам Cisco Catalyst, позволяют настраивать безопасность протокола STP.
Доступно:
— bpdu protection
— root protection
— loop protection

Кроме этого можно включать режим на портах «edged port» (аналог port fast на коммутаторах Cisco Catalyst).

Edged port — функция, которая позволяет порту пропустить состояния listening и learning и сразу же перейти в состояние forwarding. Настраивается на портах уровня доступа, к которым подключены пользователи или сервера.

Цель функции Port Fast минимизировать время, которое необходимо для того чтобы порт перешел в состояние forward. Поэтому она эффективна только когда применена к портам, к которым подключены хосты. Если включить Port Fast на портах, которые соединены с другими коммутаторами, то есть риск создания петли. Включение этой функции, так же препятствует возникновению сообщений о изменении состояния порта TCN BPDU (topology change notification Bridge Protocol Data Unit) ©
Настройка:
Включается на определенных портах:

Функция включается на конечных коммутаторах доступа, к которым подключены пользователи. При включении данной функции рекомендуется включать функцию bpdu protection.
BPDU protection. При получении пакета bpdu на порту – порт выключается. Включается глобально на коммутаторе, но применяется для портов, на которых включена функция edged port.

Настройка
Глобально включается

Функция включается на конечных коммутаторах доступа, к которым подключены пользователи.

BPDU filtering. После включения функции, порт не принимает и не отправляет BPDU.

Настройка
Глобально включается

При включении данной функции глобально, она применится на портах с включенной функцией edged port.

Для включения на интерфейсе

Root protection. Если функция включена на интерфейсе, то при получении на нём BPDU лучшего, чем текущий корневой коммутатор, порт переходит в состояние root-inconsistent (эквивалентно состоянию listening). После того как порт перестает получать BPDU, он переходит в нормальное состояние ©

Настройка:
Функция включается на интерфейсе:

Данную функцию рекомендуется включать на портах корневого коммутаторе.

Loop protection. Одна из проблем с STP, это то что само оборудование которое его использует может быть причиной сбоя и быть причиной создания петли. Для предотвращения подобных сбоев и был создана команда Loop Guard. Loop Guard — обеспечивает дополнительную защиту на 2 уровне от возникновения петель. STP петля возникает когда блокированный порт в избыточной топологии ошибочно переводится в состояние forwarding(передачи). Это может возникнуть, например, когда блокированный STP порт перестаёт получать BPDU. Так как работа протокола STP полагается на постоянное присутствие BPDU пакетов в сети.(Designated (назначенный) порт постоянно должен передавать BPDU пакеты, а non-designated должен их получать). Как только на порт перестают поступать BPDU, STP понимает это как изменение топологии и исчезновение петли и переводит порт в состояние forwarding. В случае использования Loop Guard порт после прекращения получения пакетов BPDU переводится в состояние loop-inconsistent и остаются по прежнему блокированным. Как только на порт снова начинают поступать BPDU порт переводится в состояние согласно содержанию пакетов BPDU. ©

Настройка:
Функция включается на интерфейсе:

Loop guard должен быть включен на root и alternate портах.

Источник

Сказочный портал