天天看點

STP的配置

拓撲圖

實驗一:STP之PVST(基于每個vlan的生成樹)的配置

(1)将交換機之間的鍊路都設定為trunk,利用vtp在交換機上建立vlan2

s1(config)#interface range fastEthernet 0/1-3

s1(config-if-range)#switchport mode trunk 

s2(config)#interface range fastEthernet 0/1-3

s2(config-if-range)#switchport mode trunk 

s3(config)#interface range fastEthernet 0/1-2

s3(config-if-range)#switchport mode trunk 

s3(config)#vtp domain xu.com

s3(config)#vtp mode server 

s3(config)#vlan 2

(2)檢查預設的STP樹

s3#show spanning-tree 

(3)控制s1為vlan1的根橋

s1(config)#spanning-tree vlan 1 priority 4096(如果要s1成為vlan2的根,則将vlan1改為vlan2)

(4)控制指定端口

s3(config)#spanning-tree vlan 1 root secondary (通過修改優先級為僅低于根優先級來控制指定端                                                          口)

(5)修改端口優先級

s3(config)#interface fastEthernet 0/1

s3(config-if)#spanning-tree vlan 1 port-priority 112 (優先級是16的倍數,預設為128)

(6)關掉某個vlan(如vlan1)的STP 

s1(config)#no spanning-tree vlan 1(若想開啟則把no去掉)

實驗二:STP之portfast,uplinkfast,backbonefast的配置

配置portfast

s1(config)#interface fastEthernet 0/4

s1(config-if)#switchport mode access 

s1(config-if)#switchport access vlan 1

s1(config-if)#spanning-tree portfast (端口配置了portfast後會立即進入轉發狀态,不需要30秒的                                       等待時間)

配置uplinkfast

s3(config)#spanning-tree uplinkfast (快速收斂,隻需在接入層交換機上配置)

s3(config)#spanning-tree uplinkfast max-update-rate 200 (配置每秒鐘發送的多點傳播數為200個)

配置backbonefast

s3(config)#spanning-tree backbonefast (需要在每台交換機上都配置)

實驗三:STP之RSTP的配置

清除實驗二中的配置

s3(config)#no spanning-tree backbonefast (需要在每台交換機上都配置)

s3(config)#no spanning-tree uplinkfast

配置RSTP

s1(config)#spanning-tree mode rapid-pvst (需要在每台交換機上都配置)

配置鍊路類型配置(如果接口上配置了spanning則接口為邊緣接口,如果接口是全雙工則接口為點到點接口,如果接口為半雙工則接口為共享接口)

s3(config-if)#duplex full 

s3(config-if)#spanning-tree link-type point-to-point 

s1(config)#interface fastEthernet 0/3

s1(config-if)#duplex full 

s1(config-if)#spanning-tree link-type point-to-point 

檢視

s1h#show spanning-tree summary 

實驗四:STP之MSTP的配置

s1(config)#spanning-tree mode mst (把以上生成樹模式改為MSTP,預設時是PVST+)

s1(config)#spanning-tree mst configuration(進入MSTP的配置模式)

s1(config-mst)#name cisco(命名MSTP的名字)

s1(config-mst)#revison 1 (配置MST的revision号,隻有名字和revision号相同的交換機才是同一個                             MST區域)

s1(config-mst)#instance 1 vlan 1-2 (把vlan1和vlan2的生成樹映射到執行個體1)

s1(config-mst)#instance 2 vlan 3-4  (把vlan3和vlan4的生成樹映射到執行個體2,這裡一共有3個MST實                                   例。執行個體0是預設的執行個體,預設時所有的vlan都映射到該執行個體上)

s1(config-mst)#exit

s1(config)#spanning-tree mst 1 priority 8192 (配置s1為MST執行個體1的根橋)

s1(config)#spanning-tree mst 1 priority 12288

s2(config)#spanning-tree mode mst

s2(config)#spanning-tree mst configuration

s2(config-mst)#name cisco

s2(config-mst)#revison 1

s2(config-mst)#instance 1 vlan 1-2

s2(config-mst)#instance 2 vlan 3-4

s2(config-mst)#exit

s2(config)#spanning-tree mst 1 priority 12288

s2(config)#spanning-tree mst 1 priority 8192 (配置s2為MST執行個體1的根橋)

實驗五:STP之STP樹保護的配置

<a href="http://s3.51cto.com/wyfs02/M01/6B/97/wKiom1UxvCrQglKfAABdt8nhXMY218.jpg" target="_blank"></a>

(1)配置s1、s2、s3之間的鍊路為trunk

(2)配置s1為根橋

s1(config)#spanning-tree vlan 1 Priority 8192

(3)在s2的fa0/2上配置Guard Root

s2(config)#int fa0/2

s2(config-if)#spanning-tree guard root (此時便可以阻止s3成為根橋,如果将s3的優先級改為4096,則s2的fa0/2端口将阻塞,當威脅消除後,接口将自動恢複正常)

(4)配置BPDU Guard

s3(config)#interface fastEthernet 0/2

s3(config-if)#sWitchport mode access 

s2(config-if)#no spanning-tree guard (去掉之前的配置)

s2(config-if)#switchport mode access 

s2(config-if)#spanning-tree portfast

s2(config-if)#spanning-tree bpduguard enable(此時,交換機s2從fa0/2接口收到s3的BPDU,fa0/2被disable了,s2從fa0/2接口應該接入不會發送BPDU的計算機。要重新開啟這個端口,請先移除BPDU源,在該接口上執行shutdown和no shutdown)

s2(config)#errdisable recovery cause bpdugard(允許因為 bpdugard而關閉的接口在故障解除後自                                               動恢複)

s2(config)#errdisable recovery interval 60(配置自動恢複的時間為60秒)

(5)配置BPDU Filter

s2(config)#default intface fa0/2

s2(config-if)#spanning-tree bpdufilter enable

實驗六:STP之環路防護的配置

<a href="http://s3.51cto.com/wyfs02/M02/6B/93/wKioL1UxzXLBqAREAACRXaiwV2w666.jpg" target="_blank"></a>

(1)把每條鍊路都配置trunk,将s1配置為root

(2)配置Guard Loop

s3(config-if)#spanning-tree guard loop

(2)配置UDLD

s3(config-if)#no spanning-tree guard loop (清除上步的配置)

s2(config)#udld aggressive(配置UDLD為主動模式,這樣監測到單向鍊路故障後,将關閉接口。udldenable指令則是配置UDLD為普通模式)

s2(config)#int fa0/2 

s2(config-is)#udld port aggressive

s3(config)#udld aggressive

s3(config)#udld message time 15(配置每15秒發送一次探測包,預設為15秒)

s3(config)#int fa0/2 

s3(config-is)#udld port aggressive(隻有鍊路兩邊都配置了UDLD才能建立鄰居關系,UDLD發現原有的鄰居不在了才認為發生了單向故障,如果隻有一端配置了UDLD,是無法監測單向鍊路故障的。單向故障排除後,可以使用udld reset指令來使接口從新可用,也可以使用errdisable recovery case udld 全局指令讓接口自動重新可用)

s3#show udld neighbors

實驗七:STP之FlexLink的配置

<a href="http://s3.51cto.com/wyfs02/M01/6B/99/wKiom1Ux866BHd-sAACU6kmqVIc215.jpg" target="_blank"></a>

(1)把每條鍊路都配置trunk,并配置管理位址(供測試)

s1(config)#int vlan 1

s1(config-if)#ip add 192.168.1.1 255.255.255.0

s2(config)#int vlan 1

s2(config-if)#ip add 192.168.1.3 255.255.255.0

(2)配置FlexLink

s3(config)#int fa0/2

s3(config-if)#switchport backup interface fa0/1(配置fa0/1是fa0/2的備份接口)

s3(config-if)#switchport backup interface fa0/1 premmption  mode forced(配置搶占模式。preemface mode 有forced、bandwith和off三種模式,off是預設模式,主用接口故障而備用接口激活後,在主用接口恢複正常後,如果preemption mode是off,則主用接口不會激活,如果preemption mode是forced,則主用接口會激活,如果preemption mode是bandwidth,則帶寬大的接口會激活 )

s3(config-if)#switchport backup interface fa0/1 premmption delay 30(配置搶占延時,機關是秒)

s3(config)#mac address-table  move update transmit

s3(config)#int fa 0/2 

s3(config-if)#switchport backup interface fa0/1 mmu primary vlan 1 (配置MAC address-table  move update 當主用接口發生=故障後,備用接口啟用,這時交換機s1和s2的MAC位址表并沒有及時更新。配置MAC address-table  move update 後,交換機s3将發送更新消息給s1和s2)

s1(config)#mac address-table  move update receive

s2(config)#mac address-table  move update receive(“MAC address-table  move update”功能不僅需要在接入層配置,也需要在分布層交換機配置,s3發送,s1和s2接收)

(3)測試

從s3連續ping s1(192.168.1.1),然後在s2上關閉fa0/2,從s3上看到通信時連續的

s3#ping 192.168.1.1 repeat 1000000

STP總結:交換機通過stp協定有選擇性地阻斷了某些接口,進而建構無環路的轉發路徑,stp需要選擇根橋、根口、和指定端口,IEEE802.1d的stp需要較長時間才收斂,通常為30-50秒。

本文轉自shangshanyang51CTO部落格,原文連結:http://blog.51cto.com/qqran/1633927 ,如需轉載請自行聯系原作者

繼續閱讀