STP(Spanning Tree Protocol)是生成樹協議的英文縮寫。該協議可應用於在網絡中建立樹形拓撲,消除網絡中的環路,生成樹協議最主要的應用是爲了避免局域網中的單點故障、網絡迴環,解決成環以太網網絡的“廣播風暴”問題,從某種意義上說是一種網絡保護技術,可以消除由於失誤或者意外帶來的循環連接。STP也提供了爲網絡提供備份連接的可能,可與SDH保護配合構成以太環網的雙重保護。新型以太單板支持符合IEEE 802.1d標準的生成樹協議STP及IEEE 802.1w規定的快速生成樹協議RSTP,收斂速度可達到1s。
“廣播風暴”問題示意圖
STP的作用:
1. 邏輯上斷開環路,防止廣播風暴的產生
2. 當線路故障,阻塞接口被激活,恢復通信,起備份線路的作用
生成樹算法分爲3個步驟:
1. 選擇根網橋(Root Bridge)
2. 選擇根端口(Root Ports)
3. 選擇指定端口(Designated Ports)
一、選擇根網橋:(RB)
網橋ID在網絡中是唯一的,因爲MAC地址是唯一的!!
依據:選擇網絡中所有設備的網橋ID(BID)最小的爲根網橋!!
網橋ID = 網橋優先級 + 網橋的MAC地址
範圍:0-65535
默認:32768 如下圖:
二、選擇根端口:(RP)
依據:1. 到達根網橋的根路徑成本最低!!
帶寬 成本
100M --- 19
10M --- 100
1000M --- 4
2. 端口所直連的對端交換機的BID最小的
3. 端口所直連的對端端口的端口ID最小的
端口ID = 端口優先級 + 端口編號
默認:128 跟端口號成正比
範圍:0-255 如下圖:
三、選擇指定端口DP:
依據:首先,根網橋上的所有端口都是指定端口
然後,在剩餘的每條鏈路上選出一個指定端口:
1.到達根網橋的根路徑成本最低!!
2.端口所在的交換機的BID最小的
3.端口自己的端口ID最小的(基本用不上) 如下圖:
交換機之間是通過互相發送BPDU幀來選舉交流的。
BPDU
Bridge Protocol Data Unit -橋協議數據單元
使用組播發送BPDU
BPDU分爲2種類型:
配置BPDU
拓撲變更通告(TCN)BPDU
交換機端口的5種STP狀態
轉發(Forwarding)接收和發送BPDU,同時會學習MAC地址,可以轉發正常數據
學習(Learning) 接收和發送BPDU,同時會學習MAC地址
偵聽(Listening) 接收和發送BPDU
阻塞(Blocking) 接收BPDU
禁用(Disabled) shutdown
STP也叫CST :通用生成樹,不考慮VLAN
PVST (Per VLAN ST) : CISCO私有的
PVST+ :公有的協議(一般默認都是開啓的)
下面用一個實驗來說明一下STP的具體配置
實驗:此拓撲圖看出,鏈路中會產生環路,需要配置STP關閉端口來避免環路
實施步驟:在SW1上配置vlan10爲根網橋,vlan20爲備份根網橋
SW2上配置vlan20爲根網橋,vlan10爲備份根網橋
一、SW1
config
Spanning-tree vlan 10 priority 8192
或
Spanning-tree vlan 10 root primary(首要的) =8192
Spanning-tree vlan 20 root Secondary(次要的)=16384
二、
config
Spanning-tree vlan 20 priority 8192
或
Spanning-tree vlan 20 root primary(首要的) =8192
Spanning-tree vlan 10 root Secondary(次要的)=16384
三、配置上行鏈路
當檢測到轉發鏈路發生失效時,上行鏈路可使交換機上的一個阻斷的端口幾乎可以馬上開始進行轉發數據,接入層的交換機上各自都至少有一條冗餘鏈路被STP阻塞,以避免環路。
使用STP上行速鏈路,可以在鏈路或者交換機失效或者STP重新配置時,加速新的根端口的選擇過程.被阻塞端口會立即轉換到轉發狀態.
SW3和SW4都需要 配置
Confing
Spanning-tree uplinkfast //將網橋優先級變成49152了,
且端口成本值增加了3000
所有配置完成後的查看命令:Show spanning-tree brief