STP
傳統交換機存在的問題:單點故障
解決方案:增加備援鍊路,增加備援裝置。
問題:資料轉發環路:産生環路的資料,會不斷地在網絡中進行傳輸,
進而消耗網絡中鍊路資源和設 備資源。
解決方案:在交換機上運作STP協定.
STP生成樹協定(802.1D)
作用:
存在備援鍊路的情況下,實作環路的防護。
實作:
BPDU--橋接協定資料單元。
分類:
PVST/RSTP/MSTP
工作過程:
1.确定交換機角色:
根交換機
非根交換機
原則:比較每個交換機的BID(橋ID),越小越好。
組成:優先級+MAC
優先級預設是32768
MAC--交換機的主機闆MAC(基MAC)
檢視:R1# show version
2.确定端口角色
根端口--每個非根交換機隻有一個距離“根交換機”最近的端口。
指定端口--一個“沖突域“中都存在一個距離“根交換機”最近的端口。
非指定端口--其他所有的端口,都叫做非指定端口。
如何表示距離:
在STP中,通過cost表示一個路徑的距離。
對于某些鍊路,均有預設的cost值。
10M--COST 100
100M--COST 19
1000M--COST 4
10000M--COST 2
BPDU:
Root--ID 表示根交換機
cost 表示發送該BPDU的交換機到根交換機的距離。
BID 表示發送該BPDU的交換機名字。
port--ID 表示發送方交換機是在哪個端口發送出來的。
組成: 端口優先級、端口号。
優先級預設号是128
3.确定端口狀态:
disable 相當于shutdown,此時端口不能用。
listening 偵聽,該狀态偵聽的是BPDU,用于确定端口角色。
learning 學習,該狀态學習的是MAC,形成MAC位址表。
forwarding 轉發,即端口的最終轉發狀态。(根端口,指定根端口)
blok 阻塞,此時的端口是不可以發送資料的。(非指定端口)
修改STP的優先級:
SW2(config)# spanning-tree vlan 1 priority 0
将網絡中的“根交換機”SW1,變成了SW2。
注意:交換機的STP優先級必須是4096的倍數。
交換機如何區分不同VLAN的BPDU:
我們是用BID的2個位元組的優先級中的低12bit作為vlan号。
由此得出:前面的2個位元組的優先級字段,真正用來表示優先級的,
僅僅有4bit是以優先級隻有16個。(2的4次方)
但是在表示優先級數值的時候,最後的12bit都必須算上,同時必須是0。
即:每個交換機的STP的優先級,都是2的12次方的0-15倍,即4096的倍數。
STP優化
STP收斂時間為:30--50s
STP收斂速度優化方案:
port-fast特性:
可以確定将access的鍊路上連接配接的終端裝置,直接從disable狀态
變成轉發狀态,端口狀态轉換時間從原來的30s将為0s。
配置指令:SW1(config)# interface fastethernet 0/1 連接配接的PC機
SW1(config-if)# switchport mode access
SW1(config-if)# switchport acceess vlan 1
SW1(config-if)# spannig-tree portfast 開啟portfast功能
驗證指令:SW1# show spanning-tree interface fast 0/1 portfasr
Uplink fast特性:
針對的是交換機之間的trunk鍊路,當交換機發現自己本身的鍊路
出現故障以後,會快速的将備份鍊路轉換為主鍊路進行使用,切換時間從原來的
30s,降低為0s,實作秒切。
配置指令: SW(config)# spanning-tree uplinkfast
驗證指令: SW# show spanning-tree summary
注意:1.僅針對裝置發現的直連故障的鍊路切換。
2.僅在本地裝置開啟即可,對端裝置可以不開啟。
3.STP的優先級,必須是預設的32768。
STP安全性優化方案: BPDU Guard (BPDU保護)
既開啟了該特定的端口,不允許接受BPDU,
如果接收到BPDU端口會進入err-disable狀态。
注意:該特性一般是用在access鍊路上。
配置指令:
SW(config)# interface fastethernet 0/23
SW(config-if)# spanning-tree BPDU Guard enable 開啟BPDU保護
Root Guard : 根交換機保護
在端口上配置該指令,表示将該端口強制性的指定為“指定端口”。
如果經過正常的BPDU比較無法使得該端口成為指定端口,在将該端口設定為“非一緻”
狀态,此時的端口不能轉發資料,進而實作對原根交換機的的保護。
注意:該特性,不一定非得配置在根交換機上。
配置指令; SW(config)# interface fastethernet 0/24
SW(config-if)# spanning-tree guard root
本文轉自夜流璃雨 51CTO部落格,原文連結:http://blog.51cto.com/13399294/1975308,如需轉載請自行聯系原作者