【理论基础】

 
1、stp [ instance instance-id ] root primary
 
instance instance-id:指定生成树实例。instance-id为生成树实例的编号,取值范围为0到设备支持的最大值
 
stp root primary命令用来配置当前设备为指定生成树实例的根桥。
 
 
2、stp [ instance instance-id ] root secondary
 
stp root secondary命令用来配置当前设备为指定生成树实例的备份根桥。
 
 
3、revision-level命令用来配置MSTP的修订级别。undo revision-level命令用来恢复缺省情况。
 
缺省情况下,MSTP的修订级别为0。
 
需要注意的是:
 
  MSTP的修订级别用来与MST域名和MST域的VLAN映射表来共同确定设备所属的MST域。修订级别可以在域名和VLAN映射表相同的情况下,来区分不同的域。
 
 
同一个STP域中以下三条必须相同:
配置域名
配置修订级别
配置VLAN和实例的映射
 
 
 
 
STP的作用
通过阻断冗余链路来消除桥接网络中可能存在的路径回环
当前活动路径发生故障时,激活冗余备份链路,恢复网络连通性
 
 
根据配置消息提供的信息,通过下列措施避免环路
1、从参加计算的所有网桥中,选出一个作为根桥
2、为每个非根桥选择一个根端口,该端口到根桥的路径是此网桥到根桥的最佳路径
3、为每个物理段选出离根桥最近的那个网桥作为指定网桥,该指定网桥到该物理段的端口作为指定端口,负责所在物理段上的数据转发
4、既不是指定端口也不是根端口的端口置于阻塞状态
 
 
配置消息也被称作桥协议数据单元(BPDU)
主要内容包括:
根网桥的Identifier(RootID)
从指定网桥到根网桥的最小路径开销(RootPathCost)
指定网桥的Identifier
指定网桥的指定端口的Identifier
可以用(RootID,RootPathCost,DesignatedBridgeID,DesignatedPortID)表示
 
如何确定最做优的配置消息
假定有两条配置消息SW1和SW2,则:
如果SW1的RootID小于SW2的RootID,则SW1优于SW2
如果SW1和SW2的RootID相同,但SW1的RootPathCost小于SW2,则SW1优于SW2
如果SW1和SW2的RootID和RootPathCost相同,但SW1的TransmitID小于SW2,则SW1优于SW2
如果SW1和SW2的RootID、RootPathCost和TransimitId相同,但SW1的PortID小于SW2,则SW1优于SW2
 
 
 
【拓扑和实验软件】
 

 
 本文实验采用的交换机是H3C模拟器,下载地址如下:http://forum.h3c.com/forum.php? mod=viewthread&tid=109740&highlight=H3C%E6%A8%A1%E6%8B%9F%E5%99%A8 有兴趣的朋 友可以在论坛上去下载
 
 
【配置完成后查看信息】
[SW1]dis stp br
 MSTID      Port                         Role  STP State     Protection
   0        Ethernet0/4/20               DESI  FORWARDING    NONE
   0        Ethernet0/4/22               DESI  FORWARDING    NONE
   1        Ethernet0/4/20               DESI  FORWARDING    NONE
   1        Ethernet0/4/22               DESI  FORWARDING    NONE
   2        Ethernet0/4/20               DESI  DISCARDING    NONE
   2        Ethernet0/4/22               ROOT  FORWARDING    NONE
 
 
<SW2>dis stp brief 
 MSTID      Port                         Role  STP State     Protection
   0        Ethernet0/4/21               DESI  FORWARDING    NONE
   0        Ethernet0/4/22               ROOT  FORWARDING    NONE
   1        Ethernet0/4/21               DESI  FORWARDING    NONE
   1        Ethernet0/4/22               ROOT  FORWARDING    NONE
   2        Ethernet0/4/21               DESI  FORWARDING    NONE
   2        Ethernet0/4/22               DESI  FORWARDING    NONE
<SW2>
 
 
 
<SW3>dis stp br
 MSTID      Port                         Role  STP State     Protection
   0        Ethernet0/4/20               ROOT  FORWARDING    NONE
   0        Ethernet0/4/21               ALTE  DISCARDING    NONE
   1        Ethernet0/4/20               ROOT  FORWARDING    NONE
   1        Ethernet0/4/21               ALTE  DISCARDING    NONE
   2        Ethernet0/4/20               ALTE  DISCARDING    NONE
   2        Ethernet0/4/21               ROOT  FORWARDING    NONE
 
 
如上实例2在SW2上的端口都是DESI的Role,实例1在SW1上的端口都是DESI的role,不同的实例所用的生成树不同。
【配置信息】
所有端口都配置成trunk,并允许所有vlan通过
SW1
 
vlan 10
#
vlan 20
#
 stp instance 1 root primary
 stp instance 2 root secondary
 stp enable
stp region-configuration
 region-name h3c
 instance 1 vlan 10
 instance 2 vlan 20
 active region-configuration
 
 
SW2
 
 
vlan 10
#
vlan 20
#
 stp instance 1 root secondary
 stp instance 2 root primary
 stp enable
stp region-configuration
 region-name h3c
 instance 1 vlan 10
 instance 2 vlan 20
 active region-configuration
 
 
SW3
 
#
vlan 10
#
vlan 20
#
 stp enable
stp region-configuration
 region-name h3c
 instance 1 vlan 10
 instance 2 vlan 20
 active region-configuration
#