IEEE 802.1D STP использует алгоритм протокола spanning-tree (STA), чтобы определить, какие порты коммутаторов в сети должны быть переведены в состояние блокировки во избежание возникновения петель. STA назначает один из коммутаторов в качестве корневого моста и использует его как точку привязки для расчёта всех путей. На рисунке корневой мост (коммутатор S1) выбран с помощью специального процесса выбора. Все коммутаторы, участвующие в STP, обмениваются кадрами BPDU, чтобы определить, какой коммутатор имеет самое низкое значение идентификатора моста (BID) в сети. Коммутатор с наименьшим значением BID автоматически становится корневым мостом для расчётов STA.

Примечание. Чтобы упростить задачу, предположим (пока не указано иное), что все порты на всех коммутаторах назначены сети VLAN 1. У каждого коммутатора есть уникальный MAC-адрес, связанный с сетью VLAN 1.

BPDU представляет собой кадр обмена сообщениями, которым обмениваются коммутаторы для STP. Каждый BPDU содержит идентификатор BID, который определяет коммутатор, отправивший BPDU. Идентификатор BID содержит значение приоритета, MAC-адрес отправляющего коммутатора и дополнительный расширенный идентификатор системы. Самое низкое значение BID определяется комбинацией значений в этих трех полях.

После определения корневого моста STA рассчитывает кратчайший путь до него. Все коммутаторы используют STA для определения портов, подлежащих блокировке. Пока STA определяет оптимальные пути до корневого моста для всех портов коммутатора в домене широковещательной рассылки, пересылка трафика по сети заблокирована. При определении портов, подлежащих блокировке, STA учитывает стоимость как пути, так и порта. Стоимость портов рассчитывается с помощью значений стоимости порта, зависящей от скорости каждого порта коммутатора на данном маршруте. Сумма значений стоимости порта определяет общую стоимость пути до корневого моста. Если для выбора доступно несколько путей, STA выбирает путь с наименьшей стоимостью.

Определив наиболее предпочтительные пути для каждого коммутатора, алгоритм STA назначает роли участвующим портам коммутаторов. Роли портов описывают их связь с корневым мостом в сети, а также указывают, разрешена ли для них пересылка трафика: