需求:

    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