標籤:交換器 cisco stp
STP(Spanning-Tree Protocol,產生樹協議),該協議可應用於在網路中建立樹形拓撲,消除網路中的環路,並且可以通過一定的方法實現路徑冗餘。
1.1 冗餘拓撲中存在的問題
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/5A/17/wKiom1T2W7Gi2-9CAADY8l6k6sQ671.jpg" title="無冗餘.png" alt="wKiom1T2W7Gi2-9CAADY8l6k6sQ671.jpg" />
圖1-1 單一鏈路的拓撲
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/5A/13/wKioL1T2XXCCvWGnAADbn9Ra1F4593.jpg" title="有冗餘.png" alt="wKioL1T2XXCCvWGnAADbn9Ra1F4593.jpg" />
圖1-2 有冗餘鏈路的拓撲
圖1-1中,PC1和PC2隻通過單一鏈路傳輸,如果該鏈路出現故障,會導致通訊中斷。
圖1-2中,加入了冗餘鏈路,解決了SW1和SW2單鏈路故障引起的網路中斷。
但是圖1-2中,可能存在的問題:
1、廣播風暴
存在廣播通過f1/1口出去,然後又通過f1/2口回來,再出去,再回來的,迴環問題。
2、MAC地址表不穩定
3、重複幀拷貝
1.2 STP介紹
通過冗餘可以解決由於單鏈路或單交換器故障引起的網路中斷,提高網路的可用性,但是在第二層採用冗餘時,又會帶來廣播風暴、MAC地址不穩定、重複幀拷貝等問題,STP被用來解決上述問題。
1.2.1 STP演算法
STP通過阻塞冗餘路徑上的一些連接埠,確保到達任何目的地址只有一條邏輯鏈路。STP使用STA(Spanning Tree Algorithm,產生樹演算法)決定交換器上的哪些連接埠被阻塞來防止環路的發生。STA選擇一台交換器作為根交換器,也稱根橋(Root Bridge),以該交換器作為參考點計算所有的路徑。所有交換器交換BPDU(Bridge Protocol Data Unit,橋接資料單元),BPDU中包括BID(Bridge ID,橋ID),BID用來識別是哪台交換器發出的BPDU。
1、根交換器選舉
BID一般由3部分組成:優先順序、發送交換器的MAC地址和Extended System ID(擴充的系統ID,可選項)。
SW1#show spanning-tree (brief) 查看產生樹
BID由優先順序和MAC組成(老交換器,裡面整合了很多MAC)
BID由優先順序、Extended System ID(擴充的系統ID)和MAC地址組成(新交換器)
預設情況下,選取同一個VLAN中BID最小的交換器作為根交換器。
SW1(config)#spanning-tree vlan 1 priority (4096的倍數) 更改優先順序
SW(config)#spanning-tree vlan 1 root primary 設定該交換器為新的根交換器
2、連接埠花費和路徑花費
(1)連接埠花費預設和頻寬有關:
| 速度 |
花費 |
| 10Gb/s |
2 |
| 1Gb/s |
4 |
| 100Mb/s |
19 |
| 10Mb/s |
100 |
連接埠花費修改:
SW(config)#int fa 1/1SW(config-if)#spanning-tree cost <1-65535>
(2)路徑花費等於從根交換器到達最終交換器前進方向上進入方向的連接埠花費總和。
1.2.2 BPDU
交換器間通過交換BPDU來選擇根橋。
|
Bytes |
Field |
解釋 |
| 2 |
Protocol ID |
|
| 1 |
Version |
|
| 1 |
Message type |
|
| 1 |
Flags |
標記域。包含這些資訊:TC(Topology Change,拓撲改變)位元位,表示拓撲發生改變事件;TCA(Topology Change Acknowledgment,拓撲改變確認)位元位,表示收到了拓撲變化通知,進行確認 |
| 8 |
Root ID |
根交換器的BID |
| 4 |
Cost of path |
到根交換器的路徑花費 |
| 8 |
Bridge ID |
轉寄BPDU的交換器的BID |
| 2 |
Port ID |
轉寄BPDU的交換器的連接埠PID,等於連接埠優先順序(預設是128)+連接埠編號 |
| 2 |
Message age |
BPDU已經存在的時間 |
2
|
Max age |
BPDU的最大存在時間 |
| 2 |
Hellotime |
根橋發送配置資訊的間隔時間,這個預設是2秒 |
| 2 |
Forward delay |
轉寄延遲 |
1.2.3 連接埠角色
當STA決定使用哪一條路徑後,STA配置交換器的連接埠角色,連接埠角色描述了它與根橋的關係和是否允許轉寄流量。交換器的連接埠角色有:
(1)根連接埠(Root Port,簡稱RP)。非根交換器上離根交換器最近的連接埠稱作根連接埠,每個非根交換器有且僅有一個根連接埠。處於Forwarding(轉寄)狀態。
(2)指派連接埠(Designated Port,簡稱DP)。每個網段都有一個指派連接埠,指派連接埠是該網段到根交換器最近的交換器的連接埠。處於Forwarding(轉寄)狀態。
(3)非指派連接埠。既不是根連接埠,也不是指派連接埠的啟用連接埠稱作非指派連接埠。處於Blocking(阻塞)狀態
(4)禁用連接埠。shutdown連接埠,不參與產生樹演算法。
1.2.4 連接埠狀態和BPDU時間。
1、連接埠狀態轉換
連接埠狀態:Down、Blocking、Listening、Learning、Forwarding5種。
①Down(禁用)狀態。可以使用“no shut”命令和插入網線進行啟用。
②Blocking(阻塞)狀態。鏈路啟用,連接埠轉換到Blocking狀態,這個狀態逗留20秒左右,主要用來決定該連接埠的角色,如果該連接埠是根連接埠或者指派連接埠,將轉換到下一狀態;如果該連接埠是非指派連接埠,狀態將繼續停留在Blocking狀態;本來處在Blocking狀態的連接埠,如果接收不到BPDU了,也會裝換到下一狀態。
③Listening(偵聽)狀態。除了接收BPDU外,還向鄰居交換器發送BPDU,通知鄰居交換器它將參與啟用拓撲。這個狀態會逗留大約15秒。
④Learning(學習)狀態。開始學習MAC地址。這個狀態逗留約15秒。
⑤Forwarding(轉寄)狀態。連接埠可以轉寄資料幀。650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/5A/2C/wKioL1T5BuiD3bKxAAIQBcHST0Y284.jpg" title="STP連接埠狀態轉換.png" alt="wKioL1T5BuiD3bKxAAIQBcHST0Y284.jpg" />
2、連接埠所處狀態功能
|
接收BPDU |
發送BPDU |
學習MAC |
轉寄DATA
|
| Down |
× |
× |
× |
× |
| Blocking |
√ |
× |
× |
× |
| Listening |
√ |
√ |
× |
× |
| Learning |
√ |
√ |
√ |
× |
| Forwarding |
√ |
√ |
√ |
√ |
3、BPDU的時間
BPDU中相關的時間參數有:Hello time(2秒)、Max age(20秒)、Forward delay(15秒)。
SW(config)#spanning-tree vlan 1 max-age 30 不建議修改
1.3 STP收斂
收斂就是整個網路達到一個穩定的狀態:選舉出根交換器,並決定出所有連接埠的角色,排除所有潛在的環路。
1.3.1 產生樹的選舉
為了使採用STP的網路最終收斂為一個邏輯上沒有環路的網路拓撲,需要通過以下4步實現。
①每個廣播域只能有一個根交換器
②每個非根交換器有且只有一個根連接埠 花費>寄件者的BID>寄件者的PID
③每個網段有且只有一個指派連接埠
④既不是根連接埠,也不是指派連接埠的連接埠將被阻塞
1.3.2 增強STP功能
在串連主機的連接埠上配置快速連接埠。可以立即進入轉寄狀態。
SW(config-if)#spanning-tree portfast %Warning: portfast should only be enabled on ports connected to a singlehost. Connecting hubs, concentrators, switches, bridges, etc... to thisinterface when portfast is enabled, can cause temporary bridging loops.Use with CAUTION%Portfast has been configured on FastEthernet0/1 but will onlyhave effect when the interface is in a non-trunking mode.
1.4 進階的STP
思科私人
|
PVST(Per-VLAN STP,每個VLAN一個產生樹協議)
支援ISL封裝協議
每個VLAN有一個產生樹執行個體
能夠實現第二層的負載平衡
支援BackhomeFast、UplinkFast和PortFast特性 |
|
PVST+(Per-VLAN STP plus,每個VLAN一個產生樹協議加)
支援ISL和302.1Q封裝協議
支援思科STP私人屬性的擴充
增加了BPDU guard和Root guard功能 |
|
Rapid-PVST+(Rapid per-VLAN STP,快速的每個VLAN一個產生樹協議)
基於快速產生樹的標準
比802.1D收斂的速度更快
支援BackhomeFast、UplinkFast和PortFast特性 |
IEEE標準
|
RSTP(Rapid STP,快速產生樹協議)
1982年被提出,比802.1D收斂的速度更快
實現思科普通私人屬性的擴充
IEEE把RSTP合成到802.1D中,叫做IEEE 802.1D-2004規範 |
|
MSTP(Multiple STP,多產生樹協議)
多個VLAN被映射到同一個產生樹執行個體
IEEE 802.1Q-2003現在包含MSTP |
SW(config)#spanning-tree mode ? 查看該交換器支援的產生樹協議
【CCNA學習筆記】STP