二層STP的原理

STP
STP的終極目標:
從網絡的任何地方,都是去往跟 交換機 最短的 無環的數據轉發路徑
1 同一個網路:
面臨的第一個問題:單點故障
解決方案: 提供網絡冗餘/備份
1設備的備份
2鏈路的備份
所帶來的新問題:
二層數據轉發環路
新的解決方案:
STP/RSTP-spanning-tree protpocol【生成樹協議】
凸顯出另外一個問題:利用率
解決方案:MSTP【生成實例樹協議】

共有標準協議:
STP - 802.1d ,慢;
RSTP - 802.1w , 快了一點;
MSTP - 802.1s
爲了在實現鏈路備份的同時,還可以實現數據轉發的負載均衡,提高設備的利用率。
解決二層數據環路的協議
STP協議工作原理/過程:
1 選舉交換機角色:
根交換機(網橋):
整個交換機網絡中有且僅一個【跟BID小的值優先】
非根交換機:
除了根交換機
2 選舉端口角色:
根端口:
任何一個非根交換機上,有且只有一個,
距離根交換機最近(cost)的端口
指定端口:
任何一個網段中且僅有一個,
距離根交換機最近的(cost)的端口
非指定端口:
剩下的所有端口,都是非指定的
3 確定端口狀態:
down
listening: 偵聽
【偵聽的 BPDU,爲了儘量的收集全所有的BPDU,進行比較】
learning : 學習
【此階段學習MAC地址表】
forwarding:轉發
【根端口和制定端口的最終狀態】
blocking :阻塞
【非指定端口對應的最終端口】

STP協議的所有功能都是通過BPDU報文來實現
BPDU -bridge protocol data unit 【橋協議數據單元】

BPDU報文的基本構成:
root-id: 表示的是根交換機的ID
cost: 表示的是發送該BPDU的交換機到達根交換機的距離
bridge-id:表示的是發送該BPDU的交換機的名字
port-id: 表示的是發送該BPDU的交換機的出端口
由兩部分組成:
port-priority+port-number
【端口優先級+端口號】
端口的優先級:1個字節,默認值爲128
端口號; 1個字節,是交換機上的端口的號碼
比如:交換機的 gi0/0/23 的 port-id 表示是 : 128.23

我們可以在選舉“設備角色”和“端口角色”時候
基於“交換機角色”和“端口角色”的定義
對 BPDU 報文中的4個字段,從上向下依次進行比較。
首先比較的是 root-id ;
如果不相同,則選擇最小的爲 Root-switch;
如果相同,則比較 cost ;如果不相同,則選擇最小的 cost ;
如果相同,則比較 bridge-id , 如果不相同,則選擇最小的;
如果相同,則比較 port-id , 如果不相同,則選擇最小的;

STP的收斂時間:30--50秒
hello -2秒
【根交換機發送BPDU 的時間週期,兩秒一次】
forward-delay=15秒 轉發 延遲
【表示在 listening 和learning分別 停留的時間】
max-age=20 秒 最大生命時間20 秒
【每通過一個交換機減一秒,最高20秒】

     配置命令以及解釋:
[huawei]stp priority     

【STP的優先級,默認是32768設置時數值必須是 4096的倍數】

[huawei-gi0/0/23] stp cost
【修改一個端口上的 STP 的 cost 】
華爲交換機上,1000M端口的cost默認是 20000 ;

[huawei]display stp
【可以查看到交換機運行的 STP 的模式,以及自己和根交換機的 BID 信息】
[huawei]display stp brief
【可以查看到交換機上的每個啓用了STP 的端口的角色與狀態】

[huawei]display stp interface gi0/0/23
【可以查看該接口的 cost ,以及發送和接收BPDU的情況】

MSTP配置:
[A]stp region-configuration
【stp域的配置】
[A-mst-region]region-name 1
【給域起名字】
[A-mst-region]instance 1 vlan 10 20
【創建實例1 把vlan 10 20 加入】
[A-mst-region]active region-configuration
【激活域配置】
[A]stp instance 2 priority 4096
【給實例2 設置優先級】
[A]display stp instance 1
【查看實例1的stp是否優先級生效】

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章