Spanning tree mode rapid pvst что это
Spanning Tree Protocol (STP)
Прежде чем переходить к пояснению для чего нужен протокол STP, надо ввести понятие широковещательной петли.
Широковещательная петля
Широковещательная петля создается, когда имеется больше одного соединения между двумя коммутаторами (или соединены два порта на одном и том же коммутаторе). Широковещательная петля приводит к тому, что широковещательные фреймы (фреймы, которые коммутатор распространяет на все порты, кроме того откуда он пришел, подробнее тут) будут загружать сеть и в итоге приведут к неработоспособности (широковещательному шторму). Что бы лучше понять что такое широковещательная петля, обратимся к рисунку 7.1.
На рисунке 7.1 мы можем видеть, как PC0 отправляет широковещательный фрейм на коммутатор sw-1, коммутатор отправляет его на все порты, кроме того откуда он пришел. Остальные коммутаторы рассылают этот фрейм по такому же принципу. Таким образом в сети образовался “неубиваемый” широковещательный фрейм, который не только кружит между коммутаторами но и нагружает рабочие станции (при том даже PC0, с которого все началось). Широковещательные фреймы очень популярны в сетях (например, их используют протоколы ARP, DHCP и т.д.), поэтому буквально за минуту их может быть тысяча, а через 5 минут оборудование откажется что-либо передавать из-за того что не справляется со шквалом широковещательных фреймов (широковещательным штормом).
Подведем итог. Широковещательные петли – это плохо.
Spanning Tree Protocol (STP)
Spanning Tree Protocol используется для предотвращения образования широковещательных петель. STP программно выключает “лишние” (или запасные) каналы связи и в итоге создает топологию в виде дерева. STP постоянно отслеживает топологию сети, поэтому при “падении” основных каналов связи, STP по возможности переключится на “запасные”.
Как мы уже выяснили STP создает из коммутаторов топологию в виде дерева, это значит, что в этой топологии есть корень (далее root) и остальные коммутаторы, которые из него “произрастают” (рисунок 7.2). Таким образом можно выделить основные принципы работы STP:
Виды портов в топологии STP
На рисунке 7.3 мы добавили немного “лишних” каналов связи и подписали порты.
Рисунок 7.3 Обозначение портов в топологии STP
Обратите внимание, что у всех коммутаторов есть Root Port (RP), кроме root. Все порты у коммутатора root всегда в состоянии Designated (DP).Non-Designated (NDP) порты разрывают широковещательные петли.
Выбор коммутатора в роли root
Все коммутаторы в топологии STP имеют идентификатор – Bridge ID. Bridge ID состоит из двух параметров: приоритет (далее priority) и MAC-адрес коммутатора. Записывается в таком формате – priority.MAC-адрес, например, 32768.0030.abcf.11e1. Именно благодаря этому параметру выбирается коммутатор в роли root.
На рисунке 7.4 мы добавили значения Bridge ID для всех коммутаторов.
Рисунок 7.4 Bridge ID
Как мы можем заметить коммутатору SW1 не повезло, он не получил роль root, т.к. его MAC-адрес не самый маленький по значению. Зато SW1 возьмет на себя роль root, если текущий корневой коммутатор выйдет из строя, благодаря наименьшему приоритету среди остальных коммутаторов.
Bridge Protocol Data Unit (BPDU)
В самом начале построения топологии STP (например, все коммутаторы перезагрузили), каждый коммутатор считает себя в роли root и рассылает, так называемые hello BPDU – stp-сообщения, помогающие определить кому будет назначена роль root, в этих сообщениях рассылается bridge id (BID).При получении BPDU с меньшим ВID, коммутатор перестает рассылать свои hello BPDU и только передает все остальные BPDU. В итоге, остается только один root с наименьшим ВID.
Когда stp-топология построена, т.е. в топологии найден root, то он начинает рассылать BPDU (stp-сообщения), содержащие следующую информацию:
Давайте разберем более подробно понятие “стоимость пути”. Каждый линк между коммутаторами имеет значение – “стоимость”, это значение определяется из расчета скорости на этом линке. В таблице 7.1 представлены эти соотношения.
Таблица 7.1 Стоимость канала в соответствии с его скоростью
Коммутатор в роли root (далее root bridge) рассылает BPDU каждые 2 секунды. Выходит это сообщение из root bridge со стоимостью пути равной 0, проходя остальные коммутаторы в stp-топологии, стоимости пути увеличивается.
Рисунок 7.5 Движение BPDU по сети
Рассмотрим рисунок 7.5, как уже было сказано, “рождается” BPDU на Root Bridge и рассылается по всем портам. В целях понимания расчета стоимости пути, нам будет достаточно рассмотреть только одну ветку движения сообщения BPDU:
Root Port, Designated Port или Non-Designated port?
После того как Root Bridge был выбран среди коммутаторов, каждый коммутатор определяет у себя Root Port, он может быть только один. В этом выборе участвуют все порты на которые пришло BPDU. Порядок выбора:
Например, на коммутатор SW1 придет два BPDU со стороны root и со стороны SW2, в этом случае все решит первый критерий, т.к. со стороны root поле “Root Path Cost” будет равно 0, а со стороны SW2, это поле равно 19. Теперь коммутаторы SW1 и SW2 знают, что между ними “запасной” канал связи (используется в случае падения основного канала). Им надо определить, кто из них оставит порт в состоянии Designated, а кто переведет в состояние Non-Designated (заблокирован). Коммутатор, у которого следующие критерии, оставляет порт в состоянии Designated:
В нашем примере значение “Root Path Cost” одинаковое, поэтому разрешится “спор” между SW2 и SW1 по второму критерию. Так как у SW1 наименьшей приоритет, следовательно он оставляет порт в состоянии Designated.
Режимы работы порта в STP
Следует начать с режима Disabled – порт не участвует в работе STP. С остальными режимами сложнее.
Когда порт только включили, он проходит следующие режимы:
Теперь, когда мы знаем режимы порта, давайте разберемся как перестраивается STP-топология и сколько времени на это уходит.
Коммутатор понимает, что-то не так, когда на Root Port больше не приходят BPDU, но при этом у него есть Non-Designated порт (находится в режиме Blocking), на который BPDU приходят, и он решает определить новый Root Port. Задержка по времени зависит от того, как “вышел из строя” Root Port. Если он явно выключился (состояние down), то коммутатор сразу переводит Non-Designated порт в режим Listening, итого на переключение уйдет 30 секунд. Если на Root Port не приходят BPDU и при этом он в состоянии up, то вначале он дождется истечения таймера на получение BPDU, а уже потом будет переводить Non-Designated порт в режим Listening, итого 50 секунд.
Разновидности STP
Таблица 7.2 Разновидности STP
Название | Имя стандарта |
---|---|
PVST (Per VLAN) | Только на cisco-устройствах |
RSTP (Rapid) | 802.1w |
R-PVST (Rapid) | Только на cisco-устройствах |
MSTP (Multiple) | IEEE 802.1s, позже вошел в стандарт IEEE 802.1Q-2005 |
PVST (Per VLAN Spanning Tree) – все то же самое что и в STP, только stp-топология на каждый vlan своя.
Rapid STP – способен реагировать на изменения stp-топологии в течении 6 секунд (STP 30-50 секунд). Нет режима Listening и добавили новые состояние вместо Non-Designated – Alternate и Backup.
Общая информация
Packet Tracer version: 6.2.0
Рабочий файл: скачать
Тип: Теория и практика
Версия файла: 2.0
Уже получили: 107 пользователей
Получить достижение
Код активации можно получить выполнив практическое задание
Уже получили 96 пользователей
Начальные данные
В данной практической работе будет использоваться схема сети, которая представлена на рисунке ниже.
Схема сети для практической работы
Все “манипуляции” с коммутаторами можно осуществлять только при помощи PC0. Адреса коммутаторов в сети (пароль cisco123):
Выполнение
Изучить команду show spanning-tree
В cisco-устройствах нет чистого stp, есть pvstp (per vlan, для каждого vlan), поэтому здесь будет рассмотрена работа именно этого протокола.
В выводе содержится очень много информации, давайте разберемся, что есть что. В начале stp для Vlan 1 включен по умолчанию, а т.к. по умолчанию все порты в vlan 1, создать широковещательную петлю не получится (с коммутаторами “из коробки”). Строка Spanning tree enabled protocol ieee означает, что stp включен, а ieee указывает на стандартную версию stp (если бы была реализация Rapid STP, то мы увидели rstp).
Со слов Root ID идет описание stp-корня (root). Приоритет у root – Priority 32769. Root MAC-адрес, который используется в Bridge ID – Address 0002.17D3.89B6. Стоимость до root, в данном случае от sw-core-1, – Cost 38 (у root этот параметр равен 0). Root port – порт который ближе всего к root коммутатору – Port 22(FastEthernet0/22) и таймеры, которые передает root – Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec. Со слов Bridge ID идет описание параметров локального stp (stp настроек на данном коммутаторе, в нашем случае на sw-core-1).
Под описанием stp в каждом vlan, присутствует таблица портов, участвующих в stp-топологии, там расписаны их состояния (Role, можно увидеть, какие порты в режиме Designated и “кто есть” Root Port), стоимости (в колонке Cost), режимы работы (например, FWD – Forwarding), приоритеты и номера (например, 128.22).
Изменить конфигурацию PVSTP
В имеющейся сети stp имеет настройки по умолчанию. Надо сделать так что бы sw-core-1 был Bridge Root (корнем) для vlan 1 и 44 и запасным Bridge Root для vlan 55. sw-core-2 был Bridge Root для vlan 55 и запасным Bridge Root для vlan 1 и 44.
Основной критерий выбора Bridge Root находится в Bridge ID, изменив приоритет, изменится и топология. Задать приоритет можно двумя способами – указав приоритет или вызвав преднастроенную команду. sw-core-1 мы будем настраивать, указывая преднастроенные команды, а в sw-core-2 мы будем явно указывать приоритет.
На рисунке 7.6 для нашего примера представлена схема stp-топологии (stp-дерева) для vlan 44 – без “запасных” (лишних) каналов связи. Вы можете сами отследить заблокированные порты и проверить данную схему.
Рисунок 7.6 STP-топология для vlan 44
Изучить изменение STP-топологии при отключении одного из активных “линков” (каналов связи)
В качестве эксперимента мы отключим порт Fa0/24 на коммутаторе sw-distr-1, который “смотрит” на порт Fa0/24 коммутатора sw-access-1, и посмотрим как изменится топология, но для начала изучим текущую топологию.
Следует заметить, что в понятии cisco, нет интерфейса с состоянием Non-Designated, а есть состояние Alternate (альтернативный).
В выводе команды show spanning-tree vlan 44 нас интересуют таблица интерфейсов. Fa0/24 на данный момент Root Port, т.е. если мы осуществим задуманное, коммутатор sw-access-1 потеряет связь с Root Bridge и начнет искать альтернативный путь.
Чтобы получить достижение не включайте этот порт.
Порт Fa0/24 на коммутаторе sw-access-1 больше не участвует в stp-топологии, зато порт Fa0/23 начинает проходить процедуру перехода в Root Port. Сразу после выключения Fa0/24 (на коммутаторе sw-distr-1) порт Fa0/23 (на коммутаторе sw-access-1) переходит из режима Blocking (BLK) в режим Listening (LSN) и находится в нем 15 секунд, далее переходит в режим Learning (LRN), где тоже находится 15 секунд, наконец переходит в состояние Forwarding (FWD) и становится новым Root портом.. Итого: на переключение ушло около 30 секунд.
Так же между PC1 и PC3 мы можем наблюдать потерю пакетов в момент перестроения stp-топологии. Из чего можно заключить, что перестроение топологии может привести к ошибкам в передаче данных.
На рисунке 7.7 представлена новая топология для vlan 44.
Рисунок 7.7 Измененная STP-топология для vlan 44
Рисунок 7.7.2 Анимированный путь
В примере, показанном выше, перестроение топологии заняло около 30 секунд, благодаря тому что Root Port “явно” выключился (на коммутаторе порт перешел в состояние down). Перестроение может занять 50 секунд, если Root Port останется включен, и на него просто перестанут приходить BPDU. Так и было бы, если бы между sw-distr-1 и sw-access-1 стоял еще один коммутатор. Время указано при условии, что все таймеры настроены по умолчанию.
STP утилиты
PortFast – функция, разрешающая порту пропускать режимы Listening и Learning, таким образом при включении порт сразу переходит в состояние Forwarding.
BPDU Guard – порт с такой функцией выключается, если на него приходит BPDU.
Root Guard – эта функция устанавливается на интерфейс коммутатора, если известно, что этот порт ни при каких условиях не станет Root Port. Если на такой порт приходит BPDU от потенциального Root Bridge, то он переходит в состояние root-inconsistent, что равносильно состоянию listening – через этот порт ничего не передается.
Добавьте на порт Fa0/2 коммутатора sw-access-1 функцию PortFast. Выключите этот порт и сразу включите, в Packet Tracer вы увидите, что он сразу загорится зеленым цветом. Если вы выключите и включите порт Fa0/1, который “смотрит” на PC1, то после включения порт будет подсвечен оранжевым цветом, т.к. после включения он проходит режимы Listening и Learning, и после 30 секунд загорится зеленым цветом (
обязательно настройте PortFast и оставьте эту конфигурацию
Общая информация
Packet Tracer version: 6.2.0
Рабочий файл: скачать
Тип: Самостоятельная работа
Версия файла: 2.0
Уже получили: 107 пользователей
Урок 21. Описание и настройка протоколов RSTP, Rapid PVST
Краткая теория о RSTP/Rapid PVST
Принцип работы RSTP
При включении коммутатора все его порты проходят через следующие состояния:
Выбор корневого коммутатора, корневых и назначенных портов аналогичен STP. Вернемся к первому рисунку и посмотрим, что произойдет при обрыве кабеля между коммутаторами A и В
На коммутаторе В запускается таймер Max age и по его истечении все магистральные порты переводятся в состояние игнорирования. Таблицы МАС адресов обнуляются.
Так как порт Fa 3 коммутатора С уже не получает BPDU от коммутатора А, то он по истечении Max Age переводится в состояние пересылки. Теперь коммутатор В через коммутатор С получает Hello пакеты от корневого коммутатора А. Порт Fa 2 переводится в состояние пересылки.
Точно также, как и с PVST+, Cisco разработала собственный протокол на базе RSTP, но с учетом работы с несколькими VLAN. Называется этот протокол Rapid PVST.
Настройка протоколов STP/RSTP
Технологии STP не требуют специальных настроек со стороны администратора, так как все прекрасно работает сразу после включения питания. Поэтому рассмотрим лишь базовые настройки, которые могут быть полезны.
Выбор протокола в коммутаторе (STP или RSTP):
Switch(config)# spanning-tree mode pvst | rapid-pvst
Установка коммутатора в качестве корневого:
Switch(config)# spanning-tree vlan номер_vlan root primary
Установка приоритета коммутатора:
Switch(config)# spanning-tree vlan номер_vlan priority значение от 0 до 61440
Установки стоимости интерфейса
Switch(config-if)# spanning-tree vlan номер_vlan cost значение
Для просмотра настроек и работы STP полезны будут следующие команды
Switch# show spanning-tree
Switch# show spanning-tree root
Switch# show spanning-tree summary
Дополнения к протоколу STP (EhterChannel, PortFast)
Компания Cisco внесла некоторые дополнения в работу STP.
EtherChannel – используется для балансировки нагрузки, если между 2-мя коммутаторами имеются 2 и более параллельных связей.
Для балансировки нагрузки может быть использована одна из 2-х технологий:
LACP (Link Aggregation Control Protocol) и PAgP (Port Aggregation Protocol). PAgP разработка Cisco. Либо можно включить статически балансировку.
Порты Fa 1 и Fa 2 на каждом коммутаторе объединяем в один логический канал и включаем постоянную балансировку:
На обоих концах должны быть одинаковые настройки EtherChannel.
PAgP поддерживает 2 режима: auto (пассивный режим) и desirable (активный режим). В пассивном режиме порт ожидает указаний от противоположного порта и при получении указаний переходит в режим балансировки нагрузки. В противном случае балансировка не включается.
Балансировка включается при следующих условиях:
Spanning tree mode rapid pvst что это
STP (Spanning Tree Protocol) — сетевой протокол (или семейство сетевых протоколов) предназначенный для автоматического удаления циклов (петель коммутации) из топологии сети на канальном уровне в Ethernet-сетях. Первоначальный протокол STP описан в стандарте 802.1D. Позже появилось несколько новых протоколов (RSTP, MSTP, PVST, PVST+), отличающихся некоторыми особенностями в алгоритме работы, в скорости, в отношении к VLANам и ряде других вопросов, но в целом решающих ту же задачу похожими способами. Все их принято обобщённо называть STP-протоколами.
Протокол STP в своё время был разработан мамой Интернета Радией Перлман (Radia Perlman), а позже, в начале 90х превратился в стандарт IEEE 802.1D.
В настоящее время протокол STP (или аналогичный) поддерживается почти всеми Ethernet-коммутаторами, как реальными, так и виртуальными, за исключением самых примитивных.
Алгоритм действия STP (Spanning Tree Protocol)
BPDU кадр
Bridge Protocol Data Unit
Вот как выглядит BPDU кадр STP
Состояния портов:
1. Блокировка (blocking)
2. Прослушивание (listening)
3. Обучение (learning)
4. Передача (forwarding)
Настройка stp
Обща схема примера работы и настройки STP. Два коммутатора соединенных двумя линками, видно то STP уже работает и один порт у второго коммутатора погашен чтобы не было петли
Что такое и как настроить протокол STP (Spanning Tree Protocol) в Cisco-01
Посмотрим на первом коммутаторе настройки stp. Логинимся и вводим команду
Видим, что это рутовый коммутатор и все порты в состоянии передача.
Что такое и как настроить протокол STP (Spanning Tree Protocol) в Cisco-02
Смотрим, тоже на втором коммутаторе.
Что такое и как настроить протокол STP (Spanning Tree Protocol) в Cisco-03
Видим, что это не рутовый коммутатор. Интерфейс Fa0/2 является рутовым портом. Fa0/3 ждет в запасе.
Теперь предположим, что интерфейс Fa0/2 упал, что будет. Для примера выключим его. Заходим на 1 коммутатор.
Что такое и как настроить протокол STP (Spanning Tree Protocol) в Cisco-04
Видим, что линк пропал
Что такое и как настроить протокол STP (Spanning Tree Protocol) в Cisco-05
Зайдем в этот момент на второй коммутатор и посмотрим состояние портов.
Видим, что порт Fa0/3 в состоянии обучения
Что такое и как настроить протокол STP (Spanning Tree Protocol) в Cisco-06
теперь в состоянии передачи, прошло около 20 секунд и линк поднялся.
Что такое и как настроить протокол STP (Spanning Tree Protocol) в Cisco-07
Восстановим на первом коммутаторе Fa0/2 командой
Что такое и как настроить протокол STP (Spanning Tree Protocol) в Cisco-08
И видим, что все мгновенно восстановилось.
Что такое и как настроить протокол STP (Spanning Tree Protocol) в Cisco-09
Все же переключение в 20 секунд очень нехорошо, поэтому уже придуманы улучшенные версии протокола rstp и lacp, но о них в следующих публикациях.
Как настроить RSTP на коммутаторах Cisco
RSTP или как его еще называют в более развернутом виде Rapid spanning tree protocol, по сути тот же STP но более быстрый где время сходимости мгновение, вы потеряете один пакет.
Включить RSTP можно командой с режиме глобального конфигурирования, где нужно изменить режим на rapid-pvst.
Все теперь при падении одного линка, время схождения между коммутаторами будет 1 секунда, очень быстро, как видите RSTP, гораздо лучше STP и настраивается одной командой.
Rapid STP
Протоколы семейства STP обычно несильно будоражат умы инженеров. И в большинстве своём на просторах интернета чаще всего сталкиваешься с деталями работы максимум протокола STP. Но время не стоит на месте и классический STP всё реже встречается в работе и в различных материалах вендоров. Возникла идея сделать небольшой обзор ключевых моментов RSTP в виде FAQ. Всем, кому интересен данный вопрос, прошу под кат.
Что настраивать STP, RSTP или MST?
В современных стандартах протокол STP уже нигде не фигурирует. Известный всем 802.1d в последней редакции (802.1d-2004) описывает протокол RSTP. При этом MST перекочевал в 802.1q (802.1q-2014). Как мы помним, ранее RSTP описывался стандартом 802.1w, а MST — 802.1s.
RSTP и MST имеют существенно меньшее время сходимости. Они намного быстрее перестраивают топологию сети в случае отказа оборудования или каналов связи. Время сходимости для ряда отказов этих протоколов меньше 1 секунды против 30+ секунд в случае STP. Поэтому классический STP рекомендуется использовать только там, где задействуется старое оборудование, не поддерживающее более современные протоколы.
MST в своей работе использует алгоритмы RSTP. Но в отличие от RSTP, MST позволяет создавать отдельную топологию (instance) STP для группы VLANов. В случае обычного RSTP у нас на все VLANы одна общая топология. Это не очень удобно, так как не позволяет даже в ручном режиме балансировать трафик по разным каналам. А значит, мы теряем, как минимум половину пропускной способности в случае наличия избыточных путей.
Некоторые вендоры (в частности Cisco) предлагают ещё одну разновидность быстрого протокола STP – Rapid Per-VLAN Spanning Tree (PVRST+). В этом случае для каждой виртуальной сети строится своя топология, что позволяет более эффективно утилизировать каналы. Основной минус такого подхода – это ограничение на максимальное количество таких топологий. Для обеспечения работы каждой топологии устройство тратит аппаратные ресурсы. А они не безграничны. Например, в коммутаторах Cisco 2960 поддерживается максимум 128 «инстансов» STP.
Таким образом, MST является хорошей альтернативой между стандартным RSTP и проприетарным PVRST+. Особенно если наша сеть построена на базе коммутаторов разных производителей. Стоит заметить, что все три вариации быстрого STP совместимы друг с другом.
В дальнейшем, упоминая RSTP, мы будем подразумевать в том числе и его расширения MST/PVRST+.
Какие технологии обеспечивают быстроту реакции в работе RSTP?
RSTP в первую очередь опирается на работу механизмов, не привязанных к стандартным таймерам. Именно поэтому он позволяет получить существенно меньшее время сходимости сети. Можно выделить следующие улучшения в работе RSTP по сравнению с классическим STP:
В классическом варианте BPDU «генерит» в сети только корневой коммутатор. Все остальные устройства лишь ретранслируют его. Таким образом, отсутствие BPDU от вышестоящего устройства значит, что проблема может быть в любом месте между данным устройством и корневым коммутатором. Поэтому приходилось ждать достаточно долго (MaxAge=20 сек) прежде чем, смириться с тем, что что-то пошло не так и нужно перестраивать топологию.
В случае RSTP сообщения BPDU стали выполнять роль Hello-пакетов. Теперь потеря трёх таких пакетов (а это 2*3=6 сек) означает, что пора задуматься об изменениях в топологии.
В классическом STP порт, который должен стать корневым, проходит все стадии по переходу в режим передачи (Listening → Learning → Forwarding), что занимает более 30 секунд.
Прежде чем коснуться механизма Proposal/Agreement, нужно отметить два разных типа портов в RSTP: пограничный порт (Edge port) и не пограничный (non-Edge port). В Edge порт подключаются оконечные устройства (ПК, серверы, в ряде случаев маршрутизаторы и пр.). В не Edge-порт подключаются другие коммутаторы, участвующие в топологии STP.
Тип порта Edge задаётся вручную. Коммутатор не может быстро определить, кто к нему подключен: обычный хост или коммутатор. Конечно, он мог бы ориентироваться на наличие BPDU на этом порту. Но по стандарту коммутатор должен обязательно подождать минимум 15 секунд (Forward delay) прежде, чем решить, что на его порт так и не пришло ни одно сообщение. А это слишком долго. Поэтому право определить, что подключено к порту, доверили человеку.
На коммутаторах Cisco тип порта Edge задаётся командой spanning-tree portfast.
RSTP использует механизм Proposal/Agreement для быстрого переходя портов из состояния Discarding в состояние Forwarding. Этот механизм запускается, когда у коммутатора меняется Root Port (как минимум при включении в сеть). В этом случае он выключает все порты, не являющиеся Edge-портами. Об этом оповещает вышестоящий коммутатор (куда как раз смотрит Root port), после чего включает в режим Forwarding только Root port. Остальные порты (не Edge) находятся в заблокированном состоянии, пока не произойдёт одно из двух:
RSTP отличается от STP тем, что состояние порта отвязали от его роли. Это позволило описать роль порта в топологии сети без оглядки на его состояние. А значит, обладать лучшим видение топологии сети и возможностью оперативно реагировать на изменения в ней. Так появились альтернативный (alternative) и резервный (backup) порты. Альтернативный порт – замена корневому. Через него может быть достигнут корневой коммутатор, но при этом данный порт не имеет роли корневого (т.е. получает BPDU c худшей метрикой) и не является назначенным (т.е. не является лучшим в данном сегменте сети для достижимости корневого устройства).
В протоколе RSTP альтернативный порт переходит в состояние передачи сразу же после того, как откажет корневой. Такого же поведения можно добиться в классическом STP, используя проприетарные доработки. Например, Cisco предлагает для этих целей технологию UplinkFast.
В такой ситуации, если у устройства есть другой маршрут к корневому коммутатору, в классическом STP порт, который ранее был заблокирован, пройдёт все стадии и переключится в режим передачи только через 50 секунд (MaxAge + 2x Forward Delay).
В случае RSTP коммутатор немедленно оценит полученный BPDU (в RSTP нет MaxAge таймера) и начнёт передавать свои, выставив флаг Proposal. Получив такое BPDU, коммутатор, потерявший связь с «рутом», примет участие в механизме Proposal/Agreement, так как у него сменился корневой порт. А дальше достаточно оперативно порты на обоих коммутаторах перейдут в состояние передачи.
Классический STP считает, что топология изменилась, если порт перешёл из состояния заблокированный в состояние передачи или наоборот. Так как изменение топологии может привести к тому, что MAC адреса станут доступны через другие порты (а значит, коммутатор будет слать пакеты не туда), запускается процедура оповещения всех устройств о таком событии. Для этого рассылается сообщение Topology Change Notification (TCN). Получив которое, коммутатор меняет время старения MAC адресов со значения по умолчанию (300 сек) на 15 сек (Forward Delay). Сообщение TCN рассылается в два этапа. Сначала коммутатор, обнаруживший изменения в топологии, отправляет его в сторону корневого коммутатора. Далее корневой коммутатор, получив такое сообщение, узнаёт об изменении в сети и рассылает TCN сообщение (BPDU с соответствующим флагом) уже всем остальным. Двухуровневая схема необходима, так как BPDU в классическом варианте отправляется только корневым коммутатором.
В случае RSTP изменением в топологии считается только переход порта в режим передачи. Причём учитываются порты, которые не являются пограничным (non-edge port). Это и логично, так как переход порта в заблокированное состояние автоматически делает MAC адреса за ним больше не доступными. Как только обнаружено изменение топологии, коммутатор рассылает через все порты (корневой и назначенные) BPDU c флагом TC. Такое сообщение быстро распространяется по сети. Получив его, коммутаторы удаляют из таблицы все MAC адреса доступные через не edge порты, за исключением того, где был получен BPDU c флагом TC.
Edge порт никогда не вызывает изменений в топологии, а также для такого порта не сбрасываются MAC адреса в случае получения BPDU c флагом TC.
Почему RSTP иногда «тормозит» и переводит порт в режим передачи трафика только через несколько десятков секунд?
RSTP в своей работе использует обычные таймеры в следующих случаях:
Деление на порты Edge и non-Edge характерно не только для RSTP, но и для STP. Но в случае STP – это вендорная доработка протокола, нежели требования стандарта.
Основные «ЗА» включения на порту режима Edge (для оборудования Cisco – это portfast) в случае использования протокола STP:
С настройкой порта в режиме Edge нужно быть аккуратными.
Давайте посмотрим на поведение коммутатора Cisco с портом в режиме portfast (Edge). Порт сразу переходит в режим передачи. Но он продолжает участвовать в передаче BPDU и главное продолжает слушать сеть на наличие BPDU от других устройств, на случай если по ошибке к нему подключили другой коммутатор. Если вдруг приходит BPDU, порт теряет свое состояние portfast и проходит стандартные фазы RSTP. Так в чём же может быть проблема?
BPDU отправляются в диапазоне от 0 до 2 секунд после включения порта. Плюс можно добавить к этому время распространения BPDU по сети (актуально для STP). Поэтому в течение нескольких секунд в сети может быть петля. Если трафика будет очень много, этих секунд может оказаться достаточно, чтобы широковещательный шторм, порождённый петлёй, «убил» control-plane нашего коммутатора. Чтобы этого не допустить рекомендуется portfast настраивать в связке с дополнительными технологиями, например: BPDU Guard и storm-control.
Если сеть многовендорная, причём часть оборудования вообще не поддерживает STP ни в каком виде, всё будет плохо?
Это вопрос не совсем связан с работой RSTP, но всё же я решил его включить. Как это ни странно, подобные вопросы периодически возникают у наших заказчиков. Поэтому есть смысл на нём остановиться.
Если коммутатор не поддерживает STP ни в каком виде, что же он будет делать с BPDU пакетами? Ответ прост – передавать такие пакеты через все порты. В качестве MAC адреса назначения BPDU пакета STP и RSTP устанавливают адрес 0180.C200.0000, который является multicast адресом. Такой BPDU пакет передаётся в рамках VLAN 1.
Протокол MST данные обо всех топологиях упаковывает в один BPDU (кстати, именно поэтому максимальное количество инстансов для MST — 64). В качестве адреса назначения используется стандартный MAC-адрес 0180.C200.0000.
Протоколы PVST+ и PVRST+ в своей работе используют два типа BPDU:
Ещё один занятный момент связан с тем, что даже если мы исключим VLAN 1 из транка между коммутаторами, BPDU для первого VLAN всё равно будут передаваться.
В итоге, если в нашей топологии будет коммутатор, не поддерживающий STP, он будет выглядеть для топологии STP, как обычный канал связи.
А что произойдёт, если соединить два порта между собой на коммутаторе SW1 (т.е. сделать кольцо). Наша сеть погибнет? Есть большой шанс, что нет. В этом случае Root SW получит собственный BPDU на тот же порт, с которого его отправил. После этого он сразу же его заблокирует. И петля останется «жить» только в пределах коммутатора SW1. Но положительный исход возможен, только если Root SW раньше времени не «захлебнётся» от широковещательного шторма, появившегося вследствие петли на SW1. Поэтому лучше не использовать в сети коммутаторы, не поддерживающие STP.
Нужен ли STP/RSTP/MST/… в сети, если там нет петель?
Безусловно. Если петли нет сейчас, не факт, что она не появится в будущем. Например, из-за простой человеческой ошибки, когда один access-порт коммутатора подключается к другому access-порту того же устройства.
Данный FAQ не претендует на полноту. Он носит скорее ознакомительный характер и задаёт некий вектор дальнейших изысканий по тому или иному вопросу, связанному с работой современных протоколов семейства STP.