Протокол связующего дерева (Spanning Tree Protocol - STP) - это протокол канального уровня, который используется для поддержания такого состояния сети, в котором в ней нет петель. STP был разработан корпорацией Digital Equipment в
1983 Затем комитет IEEE 802 модернизировал его и опубликовал в виде спецификации IEEE 802.1d (в этой спецификации описывается и сам алгоритм работы прозрачного моста) [1, 5, 14].
Для того,-б сеть была свободна от петель - мост при обнаружении петель автоматически осуществляет логическое блокировки одного или нескольких избыточных портов. При этом физически в сети петли есть, а логически - нет.
Основные термины протокола STP
Идентификатор моста (BID - Bridge ID) - это восьмибайтных число, шесть младших байтов которого - это МАС-адрес блока управления моста, а два старших байта - приоритет моста.
Идентификатор порта (Port ID) моста - это двухбайтовое число, младший байт которого содержит порядковый номер данного порта в коммутаторе, а старший задается вручную.
Корневой мост (Root Bridge) - мост, - выполняет функцию корня дерева.
Корневой порт (Root Port) моста - порт, - имеет минимальное рас-стояние до корневого моста.
Предназначен порт (Designated Port) моста - порт, всех портов всех мостов данного сегмента имеет минимальное расстояние к корневому мосту.
Предназначен городов (Designated Bridge) - мост, которому принадлежит предназначен порт данного сегмента.
Протокольные единицы данных моста (BPDU - Bridge Protocol Data Unit) - специальные пакеты, которыми периодически обмениваются мосты для автоматического определения конфигурации связующего дерева. Такие пакеты несут информацию, например, об идентификаторах мостов и портов, расстояние до корневого моста то-.
Функционирование STP
Отметим, - после конвергенции сети, то есть после окончания ра-боты STP каждая сеть имеет одно связующее дерево, т.е. выполняются следующие условия [4, 14]:
• в каждой сети существует один корневой мост;
• у каждого некорневого моста есть один корневой порт;
• в каждом сегменте есть один предназначен порт;
• все другие порты (не предназначены и некорневые) - не используются.
Для пересылки данных используются только корневые и предназначены порты.
Алгоритм работы протокола STP имеет 3 этапа.
1. Выбор корневого коммутатора
Сразу после загрузки каждый мост считает себя корневым. Все мосты начинают обмениваться BPDU (по умолчанию каждые 2 секунды). Во время такого обмена городов с наименьшим значением идентификатора коммутатора назначается корневым. Отметим, - все мосты по умолчанию имеют идентификаторы 32768.МАС, а значит самый идентификатор будет городов с минимальным МАС-адресу. При этом как корневой может быть выбрано любое городов, который может не быть "центром" сети. Для рационального выбора корневого моста следует изменить (уменьшить) приоритет (значение старших двух байтов ВID) у того моста, который по желанию администратора должен стать корневым.
2. Выбор корневых портов
Каждый некорневой мост должен иметь корневой порт. Как корневой порт выбирается тот порт, - имеет наименьшую корневую стоимость. Корневая стоимость - это общая стоимость маршрута от данного порта до корневого коммутатора и вычисляется как сумма условных времен тех сегментов через которые проходит путь от данного порта до корневого коммутатора.
2. Выбор корневых портов. Поскольку каждый некорневой мост дол-жен выбрать хотя бы один корневой порт, - имеет наименьшую корневую стоимость, то такими корневыми портумы станут порты 1/1 мостов Cat В и Cat C, поскольку корневая стоимость каждого из них составляет 19 (корневые стоимости портов 1 / 2 мостов Cat В и Cat C равны 19 + 19 = 38).
3. Выбор предназначенных портов. Поскольку каждый сегмент в сети дол-жен иметь один предназначен порт, то такими портумы для левого и пра-вого сегментов сети становятся соответственно порты 1/1 и 1/2 моста Cat A (поскольку имеют наименьшую корневую стоимость). Для нижнего сегмента предназначенным был избран порт 1/2 моста Cat В. Это объясняется тем, - корневые стоимость портов 1/2 мостов Cat В и Cat С имеют одинаковое значение 19. В таком случае решающим фактором становится значение идентификатора отправь-ка, а идентификатор моста Cat В меньше, чем моста Cat С. Порт, - остался (порт 1/2 моста Cat С) становится неназначенным и переходит в состояние блокировки. Итак, теперь у сети логично расторгнут петлю.
Последовательность состояний портов для STP
Есть пять основных состояний портов [1, 5, 14].
1. В состоянии блокировки пользовательские фрейме пересылаемых о-слуховуються модули BPDU.
2. В состоянии прослушивания фреймы пользователей не пересылаются, но прослушиваются. В этом состоянии происходит выбор корневого коммутатора, корневых и предназначенных портов.
3. В состоянии изучения топологии фреймы пользователей не пересилит-ются, но изучаются адреса других устройств и заполняется таблица МАС-адресов.
4. В состоянии пересылки фреймы пользователей пересылаются, а также изучаются адреса других устройств и заполняется таблица МАС-адресов.
5. В состоянии отключения фреймы пользователей BPDU не переходит силаються.
Сначала все порты коммутатора находятся в состоянии блокировки. Для перехода в состояние пересылки нужно время от 30 до 50 с.
Как-порт подключен к конечных узлов (не связан с другими ко-мутатор), то для ускорения времени его перевода в состояние пересылки порта следует включить функцию быстрого порта (portfast). Тогда, при активизации порта он автоматически переходит из состояния блокировки в состояние пересылки. Это становится возможным благодаря тому, - такие порты не могут вызвать петель.
1. В таблице коммутатора Cat-2 нет записи с МАС-адресом ВР-ВР-ВР-ВР-ВР-ВР (этап 5), и фрейм посылается дальше на порт 1/1, - создает обратную петлю и приводит к нероботоздатности сети.
2. Коммутатор Cat2 получает через порт 1/2 фреймы с МАС-адресом отправителя АА-АА-АА-АА-АА-АА, а затем изменяет запись в своей таблице о МАС-адрес станции А с порта 1/1 на порт 1/2.
Поскольку фреймы циркулируют в обратном направлении (как было показано выше, петли циркуляции фреймов существуют в обоих направлениях), то происходит циклическое изменение данных о МАС-адрес станции А с порта 1/1 коммутатора Cat2 на порт 1/2.
Итак, одноадресный сообщение не только насыщают сеть, но и вы-кривляють информацию в МАС-таблицах коммутаторов, - приводит к нарушению работоспособности такой сети. Во избежание вышеуказанных проблем в сетях на основе мостов используется протокол связующего дерева [14].
Расширения протокола STP
Протокол STP имеет ряд ограничений и недостатков, например, медленный время конвергенции сети, необходимость перечисления дерева при каждом изменении топологии сети может-. С целью устранения этих недостатков был разработан ряд других протоколов. В данном руководстве мы не будем рассматривать основы работы этих протоколов, а только перечислим основные из них [4, 14].
Rapid Spanning Tree Protocol (RSTP)
Rapid STP (RSTP) - это существенно усовершенствованный STP. Описанный в стандарте IEEE 802.1w (последующем включен в 802.1D-2004). Среди его преимуществ следует отметить уменьшение времени сходимости и большую устойчивость.
Per-VLAN Spanning Tree (PVST)
Per-VLAN STP (PVSTP) расширяет функциональность STP в сетях с VLAN. Здесь в каждом VLAN работает отдельный экземпляр STP. Сначала этот протокол работал только через ISL-транки, затем были разработаны расширения PVST +, которое позволяло работать через 802.1Q-транки, которые використвуються гораздо чаще, чем ISL.
Есть реализации rapid-pvst. Они объединяют свойства PVST + и RSTP.
Multiple Spanning Tree Protocol (MSTP)
Multiple STP (MSTP) является современной стандартной реализацией STP, - учитывает все преимущества и недостатки предыдущих решений. MSTP описан в стандарте IEEE 802.1s (в дальнейшем включен в стандарт IEEE 802.1Q-2003).
В отличие от PVST + (в котором число экземпляров связующего дерева равняется числу VLAN), MSTP предполагает конфигурирование необходимого количества экземпляров независимо от числа VLAN) на коммутаторе. В один экземпляр MST могут входить несколько VLAN. Однако все коммутаторы, - участвуют в MST, должны иметь одинаково сконфигурированы группы VLAN, - ограничивают гибкость при изменении конфигурации сети.