協定
stp協定介紹
當線路出現故障,斷開的接口被激活,恢復通信,起備份線路的作用
原理
STP的作用是通過阻斷冗餘鏈路,使一個有迴路的橋接網路修剪成一個無迴路的樹形拓撲結構
算法
STP將一個環形網路生成無環拓樸的步驟:
選擇根橋(Root Bridge)
選擇根連線埠(Root Ports)
選擇指定連線埠(Designated Ports)
選擇根網橋的依據
先查看交換機優先權,優先選擇優先權數值小的(默認32768,範圍:1~65535)優先權高的可以忽略mac數值。【優先權可以通過配置修改】
然後查看交換機的Mac地址,選擇數值小的
網橋ID(BID)=優先權+Mac
網橋ID是唯一的,交換機之間選擇BID值最小的交換機作為網路中的根網橋
選擇根網橋舉例
根據網橋ID選擇根網橋
選擇根連線埠的依據
在非根網橋上選擇一個到根網橋最近的連線埠作為根連線埠
選擇根連線埠的依據是:
根路徑成本最低
直連(上游)的網橋ID最小
連線埠(上游)ID最小
根路徑成本
根路徑成本(開銷)-是網橋到根網橋的路徑上所有鏈路的成本之和,10Gbps=1,1Gbps=2,100Mbps=19,10Mbps=100。
選擇根連線埠舉例
在非根橋上, 選擇一個根連線埠(RP)
選擇指定連線埠的依據
在每個網段上,選擇1個指定連線埠
根橋上的連線埠全是指定連線埠
非根橋上的指定連線埠:
根路徑成本最低
連線埠所在的網橋的ID值較小
連線埠ID值較小
選擇指定連線埠舉例
在每個網段選擇1個指定連線埠(DP)
STP計算結果
經過STP計算,最終的邏輯結構為無環拓樸
STP舉例
經過STP計算後的邏輯拓樸
BPDU(橋協定數據單元)
交換機之間使用BPDU來交換STP信息
BPDU
Bridge Protocol Data Unit -橋協定數據單元
使用組播傳送BPDU,組播地址為:
01-80-c2-00-00-00
BPDU分為2種類型:
配置BPDU - 用於生成樹計算
拓樸變更通告(TCN)BPDU - 用於通告網路拓樸的變化
BPDU包含的關鍵欄位
STP使用BPDU選擇根網橋2-1
交換機啟動時,假定自己是根網橋,在向外傳送的BPDU中,根網橋ID欄位填寫自己的網橋ID
STP使用BPDU選擇根網橋2-2
當接收到其他交換機發出的BPDU後,比較網橋ID,選擇較小的添加到根網橋ID中
STP使用BPDU計算根路徑成本2-1
根網橋傳送根路徑成本為0的BPDU
STP使用BPDU計算根路徑成本2-2
其他交換機接收到根網橋的BPDU後,在根路徑成本上添加接收接口的路徑成本,然後轉發
生成樹連線埠的狀態
生成樹計時器
hello-timer :2s root每2s產生BPDU
forwarding-timer:15s stp選舉時間
max-age:20s 儲存BPDU的時間,spanning-tree發生故障,20s後原blocking狀態->learning 狀態
STP狀態機
在STP選舉過程中,連線埠是不能轉發用戶數據的。連線埠一開始處於阻塞狀態,這個狀態只能接收BPDU;
一個接口20秒沒收到BPDU,也就是到了最大時間,連線埠會進入偵聽狀態,這時接口可以接收BPDU,並開始傳送BPDU;
傳送15秒的BPDU,接口將會為轉發用戶數據做準備,也開始學習MAC地址,這個狀態叫學習狀態;
再經過15秒的學習後,連線埠進入轉髮狀態,轉髮狀態是一個正常的接口。
spanning-tree設定
開啟STP:
switchA(Config)#spanning-tree
MSTP is starting now, please wait...........
MSTP is enabled successfully.
spanning-tree設定
查看配置
SW1#sh spanning-tree
-- MSTP Bridge Config Info --
Standard : IEEE802.1s
Bridge MAC : 00:03:0f:01:0e:30
Bridge Times : Max Age 20, Hello Time 2, Forward Delay 15
Force Version: 3
########################### Instance 0 ###########################
Self Bridge Id : 32768 - 00:03:0f:01:0e:30
Root Id : 16384.00:03:0f:01:0f:52
Ext.RootPathCost : 200000
Region Root Id : this switch
Int.RootPathCost : 0
Root Port ID : 128.1
Current port list in Instance 0:
Ethernet0/0/1 Ethernet0/0/2 (Total 2)
PortName ID ExtRPC IntRPC State Role DsgBridge DsgPort
-------------- ------- --------- --------- --- ---- ------------------ -------
Ethernet0/0/1 128.001 0 0 FWD ROOT 16384.00030f010f52 128.007
Ethernet0/0/2 128.002 0 0 BLK ALTR 16384.00030f010f52 128.011
MSTP
用少量資源在網路中實現多個生成樹
在多條Trunk鏈路上實現VLAN級負載均衡
MSTP配置
DCS (Config)# spanning-tree mst configuration
DCS (Config-Mstp-Region)#name mstp
DCS (Config-Mstp-Region)#instance 1 vlan 10
DCS (Config-Mstp-Region)#instance 2 vlan 20
DCS (Config-Mstp-Region)#exit
DCS (Config)# spanning-tree
MSTP is starting now, please wait...........
MSTP is enabled successfully.
改變生成樹的形態
改變交換機優先權
switchB(Config)#spanning-tree mst 0 priority 28672
改變鏈路開銷
switchA(config-Ethernet0/0/2 )#spanning-tree mst 1 cost 300000
改變連線埠優先權
switchA(Config-Ethernet0/0/2)#spanning-tree mst 0 port-priority 144
雲端協定
雲端採用的套用虛擬化技術,擁有豐富資源,其專有協定就是stp,網頁採取stp://調用雲端客戶端下載,所有雲端客戶端版本均可採用stp調用進行P2P下載。