SPT(spanning tree protocol)是一種交換機(jī)運(yùn)行的、用來(lái)解決交換網(wǎng)絡(luò)中環(huán)路問(wèn)題的數(shù)據(jù)鏈路層協(xié)議。
SPT協(xié)議的基本原理:在一個(gè)具有物理環(huán)路的交換網(wǎng)絡(luò)中,交換機(jī)通過(guò)運(yùn)行STP協(xié)議,自動(dòng)生成一個(gè)沒(méi)有環(huán)路的工作拓?fù)?。該無(wú)環(huán)工作拓?fù)湟卜Q(chēng)為STP樹(shù),樹(shù)節(jié)點(diǎn)為某些特定的交換機(jī),樹(shù)枝為某些特定的鏈路。一顆STP樹(shù)包含了唯一的一個(gè)根節(jié)點(diǎn),任何一個(gè)節(jié)點(diǎn)到根節(jié)點(diǎn)的工作路徑不但是唯一的,而且是最優(yōu)的。
STP避免了廣播風(fēng)暴、MAC地址表翻擺、多幀復(fù)制。
1.選舉根橋
根橋是STP樹(shù)的根節(jié)點(diǎn)。STP交換機(jī)初始啟動(dòng)之后,都會(huì)認(rèn)為自己是根橋,并發(fā)送給別的交換機(jī)BPDU(bridge protocol data unit,網(wǎng)橋協(xié)議數(shù)據(jù)單元)宣告自己是根橋。其他交換機(jī)收到BPDU之后,會(huì)比較BPDU中指定的根橋BID和自己的BID,最終選舉出一臺(tái)BID最小的交換機(jī)作為根橋
2.確定跟端口
根橋確定后,其他沒(méi)有成為根橋的交換機(jī)被稱(chēng)為非根橋,一臺(tái)非根橋設(shè)備上最多只能有一個(gè)根端口。根端口由端口的根路徑開(kāi)銷(xiāo)(Root Path Cost,RPC)來(lái)確定,端口的轉(zhuǎn)發(fā)速率越大,路徑開(kāi)銷(xiāo)越小,路徑開(kāi)銷(xiāo)最小的將被選為根端口;如果兩個(gè)端口的路徑開(kāi)銷(xiāo)相同,則比較上行設(shè)備的BID,BID值較小的端口被選為根端口;如果BID的值也相同,進(jìn)一步比較上行設(shè)備的端口的PID值,PID小的被選舉為根端口。
3.確定指定端口
指定端口也是通過(guò)比較RPC來(lái)確定的,RPC較小的將成為指定端口,如果RPC相同,則需要比較BID、PID等。
根橋上不存在任何根端口,只存在指定端口。

4.阻塞備用端口
在確定了根端口額指定端口之后,交換機(jī)上所有剩余的非根端口和非指定端口統(tǒng)稱(chēng)為備用端口。STP會(huì)對(duì)這些備用端口進(jìn)行邏輯阻塞。
STP配置示例

1.配置思路
(1)配置STP模式
(2)指定根橋
(3)制定備份根橋(可選)
2.配置步驟
默認(rèn)情況下,交換機(jī)是使能了STP功能的。如果STP處于去使能狀態(tài),首先需要在系統(tǒng)視圖下使用命令 stp enable 來(lái)使能STP功能。
#配置交換機(jī)S1上生成樹(shù)工作模式為STP,命令 stp mode{mstp|rstp|stp}用來(lái)配置設(shè)備STP的工作模式,缺省模式為MSTP。
[S1] stp mode stp
#配置S2上生成樹(shù)工作模式為STP。
[S2] stp mode stp
#配置S4上生成樹(shù)工作模式為STP
[S4] stp mode stp
雖然STP會(huì)自動(dòng)選舉根橋,但通常情況下,會(huì)事先指定性能較好、距離網(wǎng)絡(luò)中心較近的交換機(jī)作為根橋。
#配置S1為根橋
[S1] stp root primary
#指定S2為備份根橋
[S2] stp root secondary
配置完成!