华为交换机stp简单配置

时间:2022-09-27 21:42:39

session 1 stp-overview

生成树协议stp,快速生成树协议rstp,多实例生成树协议mstp,目前华为交换机默认使用多实例生成树mstp。

一、STP中的选举步骤和端口状态
选举步骤:
1、选举ROOT-SW根网桥
2、选举根端口RP(root port)
3、选举指定端口DP(Designate port)
4、其余的端口被Block阻塞
stp选举时候端口状态(15s 到listening,选举就结束了):

三、STP选举过程
A、确定Root Bridge -通过BID的比较判决。

       在同一个二层网络中需要选举,即一个广播域内要选举,并且一个网络中只能选举一台根交换机(ROOT)。Birdge-ID中优先级数字小的为根交换机,优先级范围为0-65535,如果优先级相同,则MAC地址小的为根交换机。
B、所有非根桥交换机选举RP(Root Port) - 每个非根桥有且只有一个RP(主要作用是负责接收并且监听根桥的BPDU)
       1、比较每个端口到达Root的Cost,具有最小Cost的端口成为RP端口的,开销是指本端口收到一个对端网桥的BPDU以后,累加本端口的COST之后的总路径开销。cost相同比较Sender BID

       2、比较Send BID,收到BPDU中Send BID最小的端口成为RP,负责转发根网桥BPDU的交换机每次转发都将其中BID替换为自己的,先优先级后MAC 越小越好,Sender BID相同的话比较port ID
       3、比较Port ID,收到BPDU中,Port ID最小的端口成为RP。Port ID由2个字节组成.包含一个数字有序对。第一个数字作为Port priority,第二个数字作为Port Number。排列顺序不一定和物理端口顺序一样,但是具体数字丌一定一样。

C、所有链路上确定DP(Design Port) - 转发BPDU的端口。

       在每个冲突域需要选举,简单的理解为为每条连接交换机的物理线路的两个端口中,有一个要被选为指定端口,每个网段选举指定端口后,就能保证每个网段都都链路能够到达根交换机。根端口的对端一定是指定端口(主要作用是用来转发来自跟桥的BPDU)
1、比较同一段链路上2个端口发送BPDU到根的cost,较小的一个端口成为DP,如果相同再比较Sender BID
2、比较同一段链路上的2个端口发送BPDU的Sender BID(发送SW一般是这个端口所属的SW),较小的一个端口成为DP
D、网络中剩余的端口不全就是Block,只接受和监听BPDU,但是不发送接受数据。

华为交换机stp简单配置

在这个简单的拓扑中,三台交换机形成一个闭环,交换机之间使用trunk链路,并允许所有vlan通过(mstp中如果不允许某个vlan通过那么这个vlan的mstp-bpdu报文将无法收发也就无法形成实例树),然后查看默认的stp模式。

1、分别在三台交换机上查看stp的默认模式,以LSW1为例:

<sw1>display stp 
-------[CIST Global Info][Mode MSTP]-------
CIST Bridge         :32768.4c1f-ccdb-6e3b                                                      本交换机的root-id
Config Times        :Hello 2s MaxAge 20s FwDly 15s MaxHop 20                    mstp中各种报文的默认时间
Active Times        :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC      :32768.4c1f-ccdb-6e3b / 0                                             根桥的root-id,就是sw1自己
CIST RegRoot/IRPC   :32768.4c1f-ccdb-6e3b / 0
CIST RootPortId     :0.0
BPDU-Protection     :Disabled
TC or TCN received  :26
TC count per hello  :0
STP Converge Mode   :Normal 
Time since last TC  :0 days 16h:20m:53s
Number of TC        :23
Last TC occurred    :GigabitEthernet0/0/2

2、在三台交换机中分别配置vlan2、3,并使用mstp观察各个交换机的角色和端口状态

[sw1]display stp brief                                                          默认情况下mstp是实例0,并只有一个vlan1在实例0中
 MSTID  Port                        Role  STP State     Protection
   0    GigabitEthernet0/0/1        DESI  FORWARDING      NONE
   0    GigabitEthernet0/0/2        DESI  FORWARDING      NONE
[sw1]

[sw2]display stp brief 
 MSTID  Port                        Role  STP State     Protection
   0    GigabitEthernet0/0/1        ROOT  FORWARDING      NONE
   0    GigabitEthernet0/0/2        ALTE  DISCARDING      NONE
[sw2]

[sw3]display stp brief 
 MSTID  Port                        Role  STP State     Protection
   0    GigabitEthernet0/0/1        ROOT  FORWARDING      NONE
   0    GigabitEthernet0/0/2        DESI  FORWARDING      NONE
[sw3]

       在以上的显示中看到sw1是instance 0的根桥,sw2上的g0/0/2端口被阻塞,参考指定端口的选举原则,sw2的root-id大于sw3,所以端口被逻辑阻塞。

3、在三台交换机中创建实例mstp实例1,并将vlan2、3放入实例1中,三台交换机配置一样:

stp region-configuration                       进入mstp配置模式
 region-name mstp                          
mstp域名,同一个域内的交换机域名必须相同(多个mstp域相连,每个域被看做一台sw)

 revision-level 1                                    mstp的版本等级,一个域内必须相同,用于bpdu报文的hash计算
 instance 1 vlan 2 to 3                          创建实例1,并将vlan2、3放入实例1中
 active region-configuration                 激活以上配置,否则配置不生效也看不到
#

<sw1>display stp instance 1 brief     实例1的配置已经激活
 MSTID  Port                        Role  STP State     Protection
   1    GigabitEthernet0/0/1        ROOT  FORWARDING      NONE
   1    GigabitEthernet0/0/2        DESI  FORWARDING      NONE
<sw1>

4、将包含vlan1的instance1的根桥配置为sw2,与包含vlan2、3的instance0形成流量在逻辑上的负载分担,和备份。

在sw2上配置根桥优先级让sw2成为instance 1的根桥

[sw2]stp instance 1 priority 4096       在instance1中将sw2的优先级改为4096(默认为32768)使它成为instance1的根桥

再查看mstp中instance0和instance1的树状态对比:

<sw1>display stp brief 
 MSTID  Port                        Role  STP State     Protection
   0    GigabitEthernet0/0/1        DESI  FORWARDING      NONE
   0    GigabitEthernet0/0/2        DESI  FORWARDING      NONE
   1    GigabitEthernet0/0/1        ROOT  FORWARDING      NONE
   1    GigabitEthernet0/0/2        DESI  FORWARDING      NONE
<sw1>

[sw2]display stp brief 
 MSTID  Port                        Role  STP State     Protection
   0    GigabitEthernet0/0/1        ROOT  FORWARDING      NONE
   0    GigabitEthernet0/0/2        ALTE  DISCARDING      NONE
   1    GigabitEthernet0/0/1        DESI  FORWARDING      NONE
   1    GigabitEthernet0/0/2        DESI  FORWARDING      NONE
[sw2]

<sw3>display stp brief 
 MSTID  Port                        Role  STP State     Protection
   0    GigabitEthernet0/0/1        ROOT  FORWARDING      NONE
   0    GigabitEthernet0/0/2        DESI  FORWARDING      NONE
   1    GigabitEthernet0/0/1        ALTE  DISCARDING      NONE
   1    GigabitEthernet0/0/2        ROOT  FORWARDING      NONE
<sw3>

在交换机中查看instance 1 的根桥

-------[MSTI 1 Global Info]-------
MSTI Bridge ID      :0.4c1f-ccfa-7cd1
MSTI RegRoot/IRPC   :0.4c1f-ccfa-7cd1 / 0                     根桥root-id
MSTI RootPortId     :0.0    
MSTI Root Type      :Primary root                                    说明是根桥
Master Bridge       :32768.4c1f-ccdb-6e3b                       sw1的root-id,这个是全局instance0的根桥root-id
Cost to Master      :20000
TC received         :7
TC count per hello  :0
Time since last TC  :0 days 17h:16m:56s
Number of TC        :10
Last TC occurred    :GigabitEthernet0/0/2
 ----[Port1(GigabitEthernet0/0/1)][FORWARDING]----
 Port Role           :Designated Port
 Port Priority       :128
 Port Cost(Dot1T )   :Config=auto / Active=20000
 Designated Bridge/Port   :0.4c1f-ccfa-7cd1 / 128.1
 Port Times          :RemHops 20
 TC or TCN send      :3
 TC or TCN received  :3
 ----[Port2(GigabitEthernet0/0/2)][FORWARDING]----
 Port Role           :Designated Port
 Port Priority       :128
 Port Cost(Dot1T )   :Config=auto / Active=20000
 Designated Bridge/Port   :0.4c1f-ccfa-7cd1 / 128.2
 Port Times          :RemHops 20
 TC or TCN send      :3
 TC or TCN received  :4
[sw2] 

做完以上配置后,形成的逻辑拓扑如图:

根桥上的所有端口都是指定端口,一条链路上收到根桥报文最近的端口为根端口,发送报文到根桥最近的端口是指定端口

华为交换机stp简单配置华为交换机stp简单配置

       在mstp中的形成2个实例树,对应instance0和1,这里vlan1的流量就对应instance0的路径,vlan2、3的流量对应instance1的路径。指定端口的选举时根据发出bpdb到达根桥的cost最短计算,那么如有想要在instance1中让sw1的g0/0/2端口阻塞而sw3的g0/0/1端口成为指定端口,就需要修改sw3的g0/0/1端口到达sw2的cost<sw1的g0/0/2端口到达sw2的cost值

在完整的拓扑中,sw1的g0/0/2到达root的cost:sw1g0/0/2--sw3g0/0/1的cost+sw3g0/0/2--sw2g0/0/2的cost

                                sw3的g0/0/1到达root的cost:sw3g0/0/1--sw3g0/0/2的cost+sw1g0/0/1--sw2g0/0/1的cost

       所以要调整指定端口只需要修改其中一个cost的值就可以,默认情况下是sw3的g0/0/1接口被阻塞,sw1的g0/0/2接口成为了指定端口,现在要让sw1的g0/0/2端口被阻塞就需要修改它到达rootsw2的cost,也就是修改sw1g0/0/2--sw3g0/0/1的cost+sw3g0/0/2--sw2g0/0/2的cost,其中可以在任意sw1进过的接口修改cost使总cost变小即可,默认为1,也就是修改sw3的g0/0/0和g0/0/2都可以,将cost修改为10,再次查看instance 1 中树的端口状态:

[sw3-GigabitEthernet0/0/1]display this 
#
interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
 stp instance 1 cost 10                                                       修改cost在instance1中的值为10
#
return

[sw3-GigabitEthernet0/0/1]display stp instance 1 brief                                 sw3的g0/0/1变为指定端口
 MSTID  Port                        Role  STP State     Protection
   1    GigabitEthernet0/0/1        DESI  FORWARDING      NONE
   1    GigabitEthernet0/0/2        ROOT  FORWARDING      NONE

[sw1]display stp instance 1 brief 
 MSTID  Port                        Role  STP State     Protection                                sw1的g0/0/2变为的阻塞端口
   1    GigabitEthernet0/0/1        ROOT  FORWARDING      NONE
   1    GigabitEthernet0/0/2        ALTE  DISCARDING      NONE
[sw1]

注意:端口的cost计算时,本端口自身的cost不算,从下一跳方向的端口开始计算到跟root的cost之和