Протокол STP упрощает создание логического беспетлевого пути по домену широковещательной рассылки. Протокол spanning-tree определяется с помощью данных, полученных в процессе обмена кадрами BPDU между соединенными друг с другом коммутаторами. Чтобы упростить процесс получения логического протокола spanning-tree, каждый порт коммутатора проходит через пять возможных состояний порта и три таймера BPDU.
Сразу после загрузки коммутатора начинается построение протокола spanning-tree. Если порт коммутатора переходит непосредственно из состояния блокировки в состояние пересылки, не используя во время перехода данные о полной топологии, порт может временно создавать петлю данных. Именно поэтому протокол STP использует пять состояний портов. На рисунке представлены состояния портов, обеспечивающих отсутствие петель, при формировании логического протокола spanning-tree:
- Блокирование: порт является альтернативным и не участвует в пересылке кадров. Порт принимает кадры BPDU, чтобы определить местоположение и идентификатор корневого моста, а также роли порта, выполняемые каждым из портов коммутатора в конечной активной топологии STP.
- Прослушивание: прослушивание пути к корневому мосту. Протокол STP определил, что порт может участвовать в пересылке кадров в соответствии с кадрами BPDU, которые коммутатор принял до этого момента. На этом этапе порт коммутатора не только принимает кадры BPDU, но также передает свои собственные кадры BPDU и сообщает смежным коммутаторам о том, что порт коммутатора готовится к участию в активной топологии.
- Изучение: изучение MAC-адресов. На этапе подготовки к пересылке кадров порт начинает заполнять таблицу MAC-адресов.
- Пересылка: порт считается частью активной топологии. Он пересылает кадры данных, отправляет и принимает кадры BPDU.
- Отключенный: порт 2 уровня не участвует в протоколе spanning-tree и не пересылает кадры. Отключенное состояние устанавливается в том случае, если порт коммутатора отключен администратором.
Обратите внимание, что число портов в каждом из состояний (блокирование, прослушивание, получение данных или пересылка) можно отобразить с помощью команды show spanning-tree summary.
Для обеспечения логической беспетлевой топологии сети для каждой сети VLAN в коммутируемой сети протокол PVST+ выполняет четыре действия:
1. Выбор одного корневого моста: только один коммутатор может выступать в роли корневого моста (для данной сети VLAN). Корневой мост — это коммутатор с наименьшим значением идентификатора моста. Все порты на корневом мосту являются назначенными (в частности, отсутствуют корневые порты).
2. Выбор корневого порта на каждом некорневом мосту: протокол STP устанавливает один корневой порт на каждом некорневом мосту. Корневой порт является путем с наименьшей стоимостью от некорневого моста к корневому мосту, указывая оптимальный путь к корневому мосту. Как правило, корневые порты находятся в режиме пересылки.
3. Выбор назначенного порта в каждом сегменте: в каждом канале протокол STP устанавливает один выделенный порт. Назначенный порт выбирается на коммутаторе, который предоставляет маршрут с наименьшей стоимостью к корневому мосту. Как правило, назначенные порты находятся в режиме пересылки и выполняют пересылку трафика для сегмента.
4. Остальные порты в коммутируемой сети являются альтернативными: альтернативные порты, как правило, остаются в состоянии блокировки, что позволяет логически разорвать петлевую топологию. Когда порт находится в состоянии блокировки, он не пересылает трафик, но по-прежнему может обрабатывать полученные сообщения BPDU.