需求:
LSW1為主根橋、LSW2為備份根橋;
端口:
DP ->指定端口
RP ->根端口
AP ->備份端口(被阻塞)

1.准備設置
將4個交換機的STP類型設置成STP(華為交換機默認的STP類型為MSTP)
將鏈路的開銷標准設定為1988(1988標准看起來方便,華為交換機默認的鏈路開銷標准為:dot1t)
1)配置LSW1
sys sys SW1 stp mode stp stp pathcost-standard dot1d-1998
2)配置其它三個交換機
命令和上面一模一樣;
2.配置主/備根橋
根橋是根據交換機的pid選出來的;
pid由優先級和mac地址組成,先比較優先級、再比較mac地址,選小的為根橋;
mac地址無法改變,但優先級可以設置,優先級默認為:32768;優先級的step = 4096(也就是說,優先級設置時,必須是4096的倍數)
因此只需要將LSW1和LSW2的優先級設為最小和第二小即可;
有兩種命令可以實現:
1】stp prority 4096 ->直接設置優先級
2】stp root primary/secondary ->設置交換機為主/備根橋;(這個命令本質上是將主根橋優先級設為0,備根橋優先級設為4096)
這里選用方式2;
1)配置LSW1
將LSW1設置為主根橋
stp root primary
查看stp信息:
可以看到LSW1的優先級變為了0

2)配置LSW2
將LSW2設置為備根橋
stp root secondary
輸入命令:dis stp
可以看到:LSW2的優先級被設置成了4096;
目前的主根橋的PID就是LSW1的PID;
並且LSW2到根橋LSW1的根路勁開銷 = 19,因為LSW1-LSW2之間是通過E口連接,E口是100M的,根據d1988標准,開銷=19;
LSW1-LSW3之間通過G口相連,G口是1000M,開銷 = 4;

3)分析端口類型
1】分析LSW1
LSW1是根斷橋,連個端口都是指定端口DP;

2】分析LSW2
LSW2有兩個端口;
LSW2的1端口直接和根橋相連,根路徑開銷RPC小於2端口,因此被選為LSW2的根端口RP;
LSW2的2號端口類型判斷:
lsw2的2號端口和lsw3相連,lsw2-lsw3這條鏈路中需要選出指定端口;
首先比較根路徑開銷:
lsw3和lsw1相連,lsw3是g口,g口是1000M,根據d1988標准,根路徑開銷 = 4;
lsw2和lsw1相連,lsw2是e口,e口是100M,根路徑開銷 = 19;
因此,在lsw2-lsw3這條鏈路中,lsw3的端口被選為了指定端口DP;
導致lsw2的2號端口既不是RP也不是DP,因此只能是備用端口AP;
驗證:dis stp brief

3】分析LSW3
lsw3的1號接口直接和根橋相連,RPC最小,被選為根端口RP;
lsw3的2號接口,因為RPC小於lsw2的2號接口,被選為指定端口DP;
lsw3的3、4號接口都和lsw4相連,在其所屬的鏈路中因為RPC比lsw4端口的小,被選為DP;

4】分析LSW4
lsw4有兩個端口,首先需要在這兩個端口之間選出根端口;
lsw4的1、2號端口都和lsw3相連,根路徑開銷RPC相同、對端BID相同;
然后比較對端PID:
lsw4的1號端口和lsw3的3號端口相連,對端pid = 3;
lsw4的2號端口和lsw3的4號端口相連,對端pid = 4;
對端pid小的優先,因此lsw4的1號端口被選為根端口RP;
lsw4的2號端口,既不是RP也不是DP,被當成備用端口AP;

5)接口類型圖

3.阻塞接口互換
1)需求
目前有兩個阻塞的備用接口:LSW4的2接口、LSW2的2接口;
需要將阻塞接口換為:LSW4的1接口、LSW3的2接口;
2)LSW2和LSW3的阻塞端口互換
lsw2的2口和lsw3的2口在一條鏈路中;
這兩個接口被選為DP的依據是lsw3口的2口RPC=4,小於lsw2的2口RPC=19;
因此想要互換端口類型,只需要實現:lsw2的RPC小於lsw3的RPC即可;
實現方式:將lsw3的2口RPC改為20;
lsw3的2口的RPC來自於lsw3的1口從lsw1接收的BPDU;
RPC = LSW1的RPC + lsw3的1口的PathCost = 0 + 4 = 4;
lsw1是根橋,根橋到自己的RPC = 0 ;
lsw3的1口是G口,G口是1000M口,根據d1988標准,1000M口的開銷 = 4;
配置LSW3:
為了讓RPC = 20,可以手動用命令設置lsw3的1口的cost為20
int g0/0/1 stp cost 20
驗證:
lsw3的2口將變成AP

lsw2的2口變成DP

3)LSW4的1口和2口互換
1】方法一
為了讓LSW4的阻塞端口互換,只需要實現在LSW4選根端口RP時,將2口選為根端口;
選根端口首先比較的是根路徑開銷RPC;
lsw4的兩個口都和lsw3相連,來自lsw3的PBDU的RPC相等;
lsw4的1口的RPC = lsw3的BPDU的RPC + lsw4的1口開銷;
lsw4的2口的RPC = lsw3的BPDU的RPC + lsw4的2口開銷;
1、2口的開銷默認為4(G口1000M)
需要將lsw4的1口的開銷適當改大即可;
2】方法二
lsw4選根端口時,首先比較RPC;
RPC一樣則比較對端BID;(這里由於都是用的同一個對端BID,改了也無法達到目的)
對端BID一樣則比較對端PID,可以通過修改對端PID來實現;
lsw4的1口對端是lsw3的3口;
lsw4的2口對端是lsw3的4口;
查看lsw3的3口PID:
dis stp int g0/0/3
可以看到:
lsw3的3口pid = 128.3;(優先級為默認的128,端口編號3)

lsw3的4口pid = 123.4;
有兩種方式:
將lsw3的3口優先級改大;
將lsw3的4口優先級改小;
配置lsw3:
這里用第二種方式;
注意:接口優先級的setp = 16(也就是說接口優先級為16的倍數)
int g0/0/4 stp port priority 16
驗證效果:
lsw4的1接口變為備用接口AP
lsw4的2接口變為根接口RP
