Protokół drzewa rozpinającego, protokół drzewa opinającego, STP (od ang. Spanning Tree Protocol) – protokół komunikacyjny wykorzystywany przez sieci komputerowe (np. LAN) w drugiej warstwie modelu sieciowego OSI, opracowany przez Instytut Inżynierów Elektryków i Elektroników (IEEE) i opisany w dokumencie IEEE 802.1D.
STP obsługiwany jest przez przełączniki (ang. network switch) i mostki sieciowe (ang. network bridge). Stworzony dla zwiększenia niezawodności środowisk sieciowych, umożliwia on konfigurację tych urządzeń w sposób zapobiegający powstawaniu cykli. Protokół ten tworzy graf bez cykli (drzewo) i ustala zapasowe łącza, w trakcie normalnej pracy sieci blokuje je tak, by nie przekazywały one żadnych danych, wykorzystywana jest tylko jedna ścieżka, po której może odbywać się komunikacja. Na szczycie grafu znajduje się główny przełącznik tzw. korzeń (ang. root), zarządzający siecią. Korzeniem zostaje przełącznik na podstawie identyfikatora. W momencie gdy STP wykryje problem, np. zerwany link, rekonfiguruje sieć, uaktywniając łącze zapasowe; potrzebuje na to od 30 do 60 sekund.
Między sobą przełączniki komunikują się, rozgłaszając ramki BPDU (ang. Bridge Protocol Data Unit). Podstawowe zasady pracy mostu są takie same, jak przełącznika. Tak samo przełącznik jak most, uczy się na podstawie adresów źródłowych MAC (ang. media access control address) ramek, a przełącza je na podstawie adresów docelowych. Również zasady przełączania jak i działania algorytmów spanning-tree są identyczne. Różnice między przełącznikiem a mostem to:
- Przełącznik jest znacznie szybszy, ponieważ działa w oparciu o układ scalony, natomiast most jest obsługiwany przez oprogramowanie.
- Most może mieć od 2 do 16 portów[1], natomiast przełącznik może mieć ich setki.
- Most jedynie przekazuje odbierane ramki z jednego portu do innego na podstawie odczytanego źródłowego adresu MAC, przełącznik natomiast może przekazywać ramki do dowolnego portu, na podstawie zarówno źródłowego jak i docelowego adresu MAC.
- Do jednego portu mostu może być przypisane dokładnie jedno drzewo rozpinające, w przełączniku może być ich wiele.
- Most działa w trybie półdupleks, natomiast przełącznik używa pełnego dupleksu[1].
Porty przełącznika w topologii STP przyjmują pięć stanów, od których zależy, w jaki sposób protokół MAC przetwarza i transmituje ramki:
- port aktywny (listening)
- uczenie się adresów MAC (learning)
- przekazywanie ramek (forwarding)
- port zablokowany (blocking)
- odrzucanie ramek (discarding).
Poprawkami do STP są protokoły:
- RSTP (ang. Rapid Spanning Tree Protocol, IEEE 802.1w) zapewnia krótszy czas przywracania sprawności połączeń po awarii.
- MSTP (ang. Multiple Spanning Tree Protocol, IEEE 802.1s) umożliwia równoważenie obciążenia i zwiększa odporność sieci na błędy dzięki zapewnieniu wielu ścieżek przekazywania ruchu danych.
- SPB (ang. Shortest Path Bridging)