Дальнейшим развитием STP явилось появление таких протоколов как RSTP, PVSTP и MSTP.
Rapid STP (RSTP) характеризуется значительными усовершенствованиями STP, среди которых необходимо отметить уменьшение времени сходимости и более высокую устойчивость.
Per Vlan STP (PVSTP) в соответствии с названием расширяет функционал STP для использования виланов. В рамках данного протокола в каждом вилане работает отдельный экземпляр STP.
Multiple STP (MSTP) является наиболее современной реализацией STP, учитывающей все достоинства и недостатки предыдущих решений. Данный протокол предполагает конфигурирование необходимого количества экземпляров STP в не зависимости от числа виланов на коммутаторе (в отличие от PVSTP, в котором число STP процессов равно числу виланов) и вхождение виланов в нужный STP экземпляр.
В заключение приведем описание работы STP, ориентированное на практическое применение при разработке сетевых топологий:
Во всей сети выбирается ОДИН корневой мост. Это делается по наименьшему BID. BID=MAC+BRIDGE PRIORITY. По умолчанию Priority=32768, поэтому при равных приоритетах выбирается коммутатор с меньшим MAC адресом.
Отсюда вывод: если требуется, чтобы коммутатор стал корневым - нужно сделать его приоритет наименьшим среди всех других коммутаторов.
КАЖДЫЙ коммутатор анализирует ВСЕ возможные варианты связи и просчитывает самый кратчайший путь (то есть СУММАРНУЮ стоимость пути) до корневого коммутатора. Порт, через который это достигается становится корневым. Он ОДИН у каждого коммутатора. Если стоимости пути равны (например два параллельных линка между коммутаторами), то используется дополнительный параметр – Port ID, в который входит Port Priority.
Вывод: если необходимо, чтобы конкретный линк связывал данный коммутатор с корневым – необходимо на конкретном порту получить наименьшую стоимость пути до корня. Это достигается изменением параметра "стоимость" на портах коммутаторов.
Для КАЖДОГО сегмента сети просчитывается кратчайший путь до корневого коммутатора. Коммутатор, через который этот путь проходит, становится назначенным коммутатором, а его порт, соединенный с данным сегментом, – назначенным портом. Выбор назначенного порта в каждом сегменте происходит по наименьшей стоимости пути или, при равных стоимостях, - по наименьшему Bridge ID.
Вывод: если необходимо, чтобы трафик в конкретный сегмент сети проходил через определенные коммутаторы, - нужно сделать общую стоимость пути через них до корня наименьшей.
Все порты не являющиеся Root или Designated – блокируются. Главное не забывать, что блокировка по STP не означает отсутствие физического линка! Блокирование касается только передаваемых данных, а BPDU должны передаваться беспрепятственно.
Как и для канального уровня, существует несколько протоколов сетевого уровня. На практике, протокол сетевого уровня чаще всего разрабатывается и используется в паре с соответствующими протоколами транспортного, а иногда и прикладного уровня, образуя стек протоколов. В качестве примера можно привести следующие протоколы: IPX/SPX, NetBIOS/SMB, TCP/IP.