Защита BPDU для протоколов, охватывающих дерево
Понимание защиты BPDU для интерфейсов, связанных с деревом,
Маршрутизаторы серии ACX, маршрутизаторы серии MX, маршрутизаторы серии PTX, коммутаторы серии EX и коммутаторы серии QFX поддерживают протоколы, охватывающие дерево, которые предотвращают циклы в сети, создавая топологию дерева (связующего дерева) всей мостовой сети. Во всех протоколах, охватывающих дерево, используется специальный тип кадра, называемый единицами данных протокола моста (BPDUs) для связи друг с другом.
Семейство протоколов STP предназначено для разрыва возможных циклов в сети с мостом уровня 2. Предотвращение циклов позволяет избежать разрушительных бурь вещания, которые потенциально могут сделать сеть бесполезной. Процессы STP на мостах обмениваются bpDUs для определения топологии локальной сети, определения корневого моста, остановки переадресации в некоторых портах и т. д. Однако неправильное обслуживание приложения или устройства может препятствовать работе протоколов STP и создавать проблемы в сети.
BPDU-блок — это функция, которая защищает топологию STP от неподобающего пользовательского приложения или устройства или угрозы. Вы должны обеспечить защиту BPDU на интерфейсах, которые не должны получать BPDUs.
Если интерфейс настроен как пограничный порт, он перейдет непосредственно к состоянию переадресации. Такие порты подключены к конечным устройствам и не должны получать BPDU. Поэтому, чтобы избежать циклов, необходимо защитить пограничные порты, включив блок bpdu-on-edge.
На маршрутизаторах и коммутаторах, поддерживающих STP, можно настроить защиту BPDU, чтобы игнорировать BPDUs, полученные в интерфейсах, где ничего не следует ожидать (например, интерфейс LAN на границе сети без каких-либо других мостов). При получении BPDU на защищенном интерфейсе интерфейс отключен и блокируется переадресация кадров. По умолчанию все bpD-устройства принимаются и обрабатываются во всех интерфейсах.
Вы можете обеспечить защиту BPDU несколькими способами. По умолчанию, если в интерфейсе включен блок BPDU, при получении BPDU интерфейс будет отключен, а вся переадресация трафика остановится на интерфейсе. Однако, если вы не хотите отключить интерфейс и не хотите, чтобы этот интерфейс участвовал в вычислении STP, вы можете настроить падение действия. Если настроить падение действия, интерфейс остается в силе, а трафик продолжает поступать; однако bpDUs сократился.
Пограничные порты не поддерживают падение действия. Блок-на-граничный интерфейс BPDU отключит интерфейс, если граничный порт получает BPD. Чтобы вернуть интерфейс, необходимо прояснить ошибку.
Вы можете настроить защиту BPDU на интерфейсы со следующими типами инкапсуляции:
- Ethernet-мост
- Ethernet-vpls
- расширенная сеть vlan-bridge
- vlan-vpls
- влан-мост
- расширенные vlan-vpls
Вы можете настроить защиту BPDU в отдельных интерфейсах или на всех пограничных портах моста.
Обеспечйте защиту BPDU на интерфейсах, настроенных в качестве граничных портов с помощью bpdu-block-on-edge команды в set protocols (mstp|rstp|vstp) иерархии. Если вы не настроили порт в качестве граничного порта, вы все еще можете настроить защиту BPDU на интерфейсе, используя bpdu-block команду под иерархией set protocols layer2-control . Вы также можете использовать bpdu-block команду для настройки защиты BPDU на интерфейсы, настроенные для связующего дерева.
Источник
Spanning Tree Protocol в Mikrotik
В этой статье поговорим о Spanning Tree и Rapid Spanning Tree протоколах.
Что такое STP (Spanning Tree Protocol) и зачем он необходим? Он необходим для того, чтобы решить вопрос с петлями в локальной сети.
Например, если мы соединим локальную сеть несколькими интерфейсами в один и тот же коммутатор, то в такой ситуации без использования протокола STP и без LoopBack Detection (LBD) у нас может произойти петля и вся локальная сеть перестанет работать.
Единственный вариант как с этим бороться в такой ситуации, если петля уже произошла, это пойти и отключать провода. А если проводов в вашей локальной сети много и где-то произошла петля, то придется постепенно выдернуть абсолютно все провода из всех интерфейсов, что может занять довольно много времени.
Протоколы STP и (R)STP исключают возможность просмотра одних и тех же MAC-адресов с разных интерфейсов.
Делают они это путем автоматического отключения интерфейсов.
Для того, чтобы данная система заработала, необходимо выбрать корневой bridge (root bridge).
Выбор корневого моста (root bridge) происходит путем выбора моста с наименьшим значением Bridge ID (идентификатор моста). Bridge ID состоит из двух частей: приоритета моста (Bridge Priority) и MAC-адреса моста.
Важно отметить, что если все мосты в сети имеют одинаковый Bridge Priority, то корневым будет мост с наименьшим MAC-адресом.
Как работает алгоритм:
Если мы видим большое количество соединений, то есть, например у нас несколько коммутаторов соединены между собой как показано на схеме Рис.46.1. То мы должны отключить какие-то интерфейсы и эти интерфейсы будут отключены по очень простому алгоритму:
Чем меньше стоимость перехода, то есть чем меньше переходов от одного коммутатор до другого, то есть чем ближе нам идти до рута, тем больше вероятность что порт будет использован.
В данном случае у нас отключен A и B потому, что у B есть прямой линк до рута и у A также есть прямой линк. Что касается выбора между B и D, был выбран интерфейс с наименьшим идентификатором (например, второй, а не десятый).
Когда топология сети становится функциональной, то в случае использования протокола RSTP происходит рассылка BPDU-сообщений на определенный промежуток времени, который позволяет узнать информацию о топологии сети. В STP таких сообщений не существует.
В итоге приходим к топологии, которая показана на рисунке 46.3.
Остальные линки, которые находятся в резервном состоянии, отключены. И здесь есть разница между протоколами STP и RSTP.
Протокол STP отключает лишние интерфейсы и в момент, пока сеть находится в работоспособном состоянии по этим интерфейсам никакого трафика не бегает. Если основной порт, по которому мы работаем по какой-то причине, выключился, то в этот момент протокол STP включает все отключенные порты и пытается понять возможно ли работать через них. Таким образом достигается отказоустойчивость.
Но время, которое необходимо ему для включения отключенных портов может быть достаточно продолжительным. И поэтому ему на смену пришел улучшенный протокол RSTP (Rapid spanning tree protocol).
Он отличается тем, что неиспользуемые интерфейсы оставляет во включенном состоянии и не пропускает на них рабочий трафик, но по этим интерфейсам постоянно передает BPDU сообщения, которые выясняют жив ли кто-нибудь за тем интерфейсом и не изменилось ли у нас что-нибудь в сети.
Поэтому, если мы рассматриваем протокол STP, то у нас есть только выключенные порты, root порты и Designated порты (от root до других коммутаторов).
Если мы рассматриваем протокол RSTP, то у него появляются дополнительные роли на интерфейсах, это Alternative port – дополнительный порт до рута и Backup port – резервный порт до Designated коммутатора (того, кто стоит ниже от рута). Например, порт между A и B на рисунке 46.4 будет Backup port, а порт между B и A будет Alternative port, потому что через порт между B и A мы можем дойти до рута, но это будет дольше и менее приоритетно и поэтому это будет Alternative портом.
Давайте рассмотрим минимальную настройку RSTP которая может понадобиться в нашей локальной сети.
Минимальная настройка RSTP сводится к тому, что мы должны на главном коммутаторе указать приоритет STP/RSTP. То есть мы должны зайти в раздел /bridge/STP, по умолчанию STP на большом количестве устройств включен, но имеет стандартный приоритет 8000.
Если мы не будем менять это значение, то выбор root bridge будет происходить в автоматическом режиме.
Выберем рута по наименьшему MAC адресу.
Автоматически был выбран не центральный коммутатор, а тот у которого MAC адрес оказался меньше. Но данное поведение можно изменить, для этого нужно изменить значение Priority в меньшую сторону.
Тем самым приоритет нашего коммутатора будет наивысшим.
Потому, что если посмотреть на заголовки идентификатора root коммутатора, то у нас вначале идет информация о Priority которую мы выставили, а дальше идет MAC адрес.
Если Priority у всех одинаковые, то выбор происходит через наименьший MAC адрес, а если Priority у кого-то меньше, то, естественно, становится максимальный приоритет.
Так же рекомендуется выбрать приоритет согласно другим коммутаторам, которые есть в локальной сети и проверить совместимость этих приоритетов. Потому, что не все коммутаторы поддерживают абсолютно любое число.
Не всегда актуально указывать «0» потому, что некоторые устройства считают, что это атака на протокол STP/RSTP. Более правильно выбирать 3000, 4000 и т. п.
Табличка приведена в Wiki Микротика, какие значения лучше выставлять. (Spanning Tree Protocol — RouterOS — MikroTik Documentation).
Совместимость между оборудованием MikroTik с точки зрения поля Priority никаких проблем нет. Между другими вендорами могут быть несовпадения.
Так же нужно отметить, что прямой совместимости в целом между оборудованием разных вендоров в протоколе STP/RSTP нет.
В некоторых свитч чипах при включении протокола STP/RSTP у нас происходит отключение Hardware Offload. В нашем случае устройство поддерживает STP/RSTP, но не поддерживает аппаратно MSTP.
Если мы захотим задействовать MSTP на данном устройстве, то произойдет отключение Hardware Offload, потому что наш свитч чип не поддерживает данную опцию.
Также можно посмотреть какую роль принял тот или иной порт.
В данном случае мы видим, что у нас есть disabled port, это абсолютно выключенный порт, к нему ничего не подключено, мы используем протокол RSTP. Designated port это порт к которому что-то подключено.
Если зайти на нижестоящий коммутатор, можем увидеть, что на этом устройстве есть root port который указывает через какой интерфейс, мы идем до рута. Если мы подключим еще один провод, например во второй интерфейс и к нашему руту, то он автоматически его отключит, сделает Alternative, потому что это будет альтернативный путь до root bridge, а на root bridge роль у второго порта будет backup port, потому что это будет альтернативный путь до designated коммутатора.
Источник