Версия RSTP

В версии RSTP для сокращения времени построения активной топологии использовано несколько новых механизмов и приемов.

Коммутаторы стали учитывать тип сегмента, подключенного к порту. Различаются следующие типы сегментов:

  • Сегмент типа «точка-точка». В коммутируемых сетях это единственный тип сегмента; для него у порта существует единственный порт-сосед.
  • Разделяемая среда. Стандарт RSTP по-прежнему учитывает существование разделяемой среды, так как формально ее никто не отменял, и все стандарты, включая основной стандарт Ethernet IEE 802.3, описывают работу сегмента этого типа.
  • Тупиковая связь (edge port). Связь, которая соединяет порт коммутатора с конечным узлом сети; по этому сегменту нет смысла ожидать прихода сообщений протокола RSTP. Тупиковая связь конфигурируется администратором.

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

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

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

Сокращается период фиксации отказа в сети — вместо 10 периодов неполучения сообщений Hello он стал равен трем таким периодам, то есть 6 с вместо 20.

Введены новые роли портов — появились альтернативный (alternative) и резервный (backup) порты. Альтернативный порт является портом-дублером корневого порта коммутатора, то есть он начинает продвигать кадры в том случае, когда отказывает (либо перестает принимать сообщения Hello в течение трех периодов) корневой порт. Резервный порт является портом-дублером назначенного порта сегмента; однако такая роль порта имеет смысл только для сегментов, представляющих собой разделяемую среду. Альтернативные и резервные порты находятся в состоянии отбрасывания кадров, так как они не должны продвигать кадры до тех пор, пока их роль не изменится на роль корневого или назначенного порта.

Как альтернативные, так и резервные порты выбираются одновременно с корневыми и назначенными портами. Такой подход значительно ускоряет реакцию сети на отказы, так как переход, например, на альтернативный порт происходит сразу же после фиксации отказа и не связан с ожиданием истечения тайм-аутов. Например, на рис. 1 альтернативным портом выбирается порт 2, так как он имеет наилучшее из всех портов (после корневого, естественно) расстояние до корневого коммутатора. При отказе связи между портом 4 коммутатора 111 и портом 1 коммутатора 333 порт 2 коммутатора 333 становится корневым. Он сразу же переходит в состояние обучения, минуя стадию прослушивания, которая была бы необходима, если бы коммутаторы работали по протоколу STP.

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

Для исключения данной ситуации (и в условиях отсутствия стадии прослушивания) назначенный порт, который претендует на то, чтобы продвигать кадры, просит подтвердить свою роль у соседних коммутаторов. Например, на рис. 1 при отказе связи между портом 4 коммутатора 111 и портом 1 коммутатора 333 порт 3 коммутатора 222 должен инициировать процедуру подтверждения.

Рис. 1. Активная топология, найденная по протоколу STP

Для этого порт посылает своему соседу по сегменту «точка-точка» конфигурационное сообщение, называемое предложением (proposing). Это сообщение вызывает временный перевод всех назначенных портов соседа в состояние отбрасывания; кроме того, эти порты распространяют сообщение с предложением далее по сети своим нижележащим (в отношении расстояния до корневого коммутатора) соседям. Когда это сообщение доходит до коммутатора, у которого все порты либо находятся в стабильном состоянии, либо являются тупиковыми, то этот коммутатор отвечает на него сообщением согласия (название этого сообщения отражает тот факт, что коммутатор согласен на то, чтобы назначенные порты, передавшие предложение на переход в состояние продвижения кадров, стали продвигать кадры). Назначенный порт, получив в ответ сообщение согласия (а оно проходит в обратном направлении, от листьев к корню), фиксирует состояние продвижения кадров.

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

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

На рис. 2 показана активная топология покрывающего дерева, но уже по протоколу RSTP. Двумя черточками отмечены альтернативные порты, находящиеся в состоянии отбрасывания, а ромбами — тупиковые порты.

Рис. 2. Активная топология, найденная по протоколу RSTP

Как видно из рисунка, активная топология, найденная по обоим протоколам, совпадает. Разница только в том, что время перехода на новую топологию в случае отказа элемента сети оказывается меньше, если коммутаторы поддерживают протокол RSTP, так как альтернативные порты уже найдены и будут очень быстро использованы. Протокол RSTP совместим с протоколом STP, так что сеть, построенная из коммутаторов, часть из которых поддерживает RSTP, а часть — STP, будет работать нормально.