隨着交換網絡環路的產生和對網絡的危害,STP協議爲之誕生,它是通過將物理上存在的交換網絡,通過一種特定的算法,進而堵塞一個Port,由此從邏輯上形成一個樹狀結構的網絡。
工作原理:1),生成樹算法(STA): 歸納爲三個步驟: A,選取根網橋(root bridge)--------選取依據是8byte的網橋ID,由2byte的網橋priority和網橋MAC地址組成 ,其中,網橋priority的範圍爲0~65535,缺省值爲32768,值越小優先級越高;MAC 地址比較大小時,從廠商編號依次往後進行比較,同樣,其值越小priority越高,但是,前提是網橋priority必須相同。
B,選取根端口(Root Port)------選取依據順序爲:a,比較端口所在SW到root bridge的路徑成本。根路徑成本是普通網橋到root bridge的成本總和,可能是一條鏈路,也可能是多條鏈路之和;路徑成本代表一條鏈路的帶寬大小,帶寬值越大,傳輸路徑成本越小,這裏的成本可想象爲傳輸數據所花費的時間。常用鏈路帶寬10Mb/s 和100Mb/s對應的路徑成本分別爲19和100。
b,比較直連網橋ID,同選取root bridge的方法一樣。
c,比較端口ID。其由端口priority和端口編號兩部分組成,前者的優先級範圍爲0~255,缺省爲128。而在比較端口編號時,Switch的端口編號默認按1~256計算,如:f0/1 的編號值爲1 ,f0/2的編號值爲 2 ''''''''等0槽接口完了後,繼而是1槽2槽以此向下排列。
C,選取指定端口(Designated Port)-----選取依據同根端口一樣,唯一值的注意是,這裏所比較的網橋ID和端口ID是網橋自身的,而非直連的。由於根網橋的端口到根網橋的路徑成本爲0,所以根網橋的端口全部屬於指定端口。
總結如下:
角色 |
唯一性 |
選取參數(小的priority高) |
Root-sw |
網絡唯一 |
網橋ID(priority+MAC) |
Root-Port |
非根網橋唯一 |
根路徑成本;直連網橋ID;直連端口ID |
指定Port |
鏈路唯一 |
根路徑成本;自身網橋ID;自身端口ID |
所以, 最後剩餘的那一個或多個端口就是應阻塞的端口。
生成樹的端口狀態如下:
禁用---強制關閉;
阻塞---只接收BPDU報文;
偵聽---不可發/接數據幀,只能發/接BPDU報文;
學習---不可發/接數據幀,學習MAC地址;
轉發---發/接數據幀和BPDU報文,學習MAC地址。
(注:BPDU即橋協議數據單元,switch通過發送和接收BPDU報文來stp的算法。其分爲兩種類型:其一是用於生成樹計算的配置BPDU;其二是用於通告網絡拓撲變化的拓撲變更報告即TCN.該報文包含根路徑成本,根網橋ID,發送網橋ID,端口ID,還有一些計時器等。
上面各種狀態間的時間間隔如下:
阻塞到偵聽-----20s;偵聽到學習-------15s; 學習到轉發------15s;
STP的計時器和時間間隔:
HELLO時間默認2秒;
轉發延遲默認15秒;
最大老化時間默認20秒。
STP和vlan的關係:A,CST(IEEE的同用STP),其以switch爲單位運行STP。
B,PVST(Cisco的每vlanSTP)-----私有協議,顧名思義,它爲每個vlan運行一個STP.如果vlan數量多的話,由於SW軟件和硬件利用率無疑會提高,可能使switch宕機,由於公有CST和私有PVST無法一起運行,就使廠家間的交換機無法進行互操作,所以PVST+協議產生.
C,PVST+ = CST + PVST.這是交換機默認運行的協議,主要由兩個好處:a.可以實現網絡的負載均衡;b,速端口的好處,當一個連接終端客戶機的端口從關閉變爲打開時,就會跳過偵聽和學習的狀態,直接成爲轉發狀態,節省30秒的時間。相關命令:
config#spann vlan *
config#spanning vlan * root primary secondary
config#spanning vlan * priority * ( 默認爲32768,0~65535)
config-if#spanning vlan * cost * (defaule 19)
config-if# spanning vlan * port-priority *
config-if#spanning portfast
enable#show spanning (vlan * detail)