​交换机江湖故事之STP配置示例

2018-08-07

  • 交换机江湖故事之STP配置示例

  • 简介

    在二层交换网络中,一旦存在环路就会造成报文在环路内不断循环和增生,产生广播风暴,从而占用所有的有效带宽,使网络变得无法正常通信

    在这种环境下生成树协议应运而生,生成树协议是一种二层管理协议,它通过有选择性地阻塞网络冗余链路来达到消除网络二层环路的目的,同时具备链路备份功能。

    生成树协议和其他协议一样,是随着网络的不断发展而不断更新换代的。最初被广泛应用的是IEEE802.1D-1998 STPSpanning Tree Protocol,生成树协议),随后以它为基础产生了IEEE 802.1w RSTPRapid Spanning Tree Protocol,快速生成树协议)和IEEE 802.1s MSTPMultiple Spanning Tree Protocol,多生成树协议)。

    三种生成树协议特点比较


    生成树协议
    特点
    应用场景
    STP
    形成一棵无环路的树,解决广播风暴并实现冗余备份。
    收敛速度较慢。
    无需区分用户或业务流量,所有VLAN共享一棵生成树
    RSTP
    形成一棵无环路的树,解决广播风暴并实现冗余备份。
    收敛速度快。

    MSTP
    形成多棵无环路的树,解决广播风暴并实现冗余备份。
    收敛速度快。
    多棵生成树在VLAN间实现负载均衡,不同VLAN的流量按照不同的路径转发。
    需要区分用户或业务流量,并实现负载分担。不同的VLAN通过不同的生成树转发流量,每棵生成树之间相互独立。



    实现说明

    华为实现说明

  • STP在交换机所有版本,所有形态都支持。
  • 华为交换机默认STP模式是MSTP需要运行STPRSTP模式时,必须要手动配置。
  • 华为交换机在STP模式下,使用的端口角色和RSTP是一样的,也就是说支持下面5种端口角色:指定端口、根端口、Alternate端口、Backup端口和边缘端口。
  • 华为交换机在STP模式下,支持下面4种保护功能:BPDU保护、Root保护、环路保护和防TC-BPDU攻击保护。
  • 版本差异说明:
  • V100R006版本开始,华为X7交换机全局默认使能STP功能。
  • V200R001版本及之后版本,开始支持边缘端口属性自动探测功能。即如果端口从未收到过BPDU报文,则边缘端口属性自动生效(端口下不会自动生成stp edged-port enable配置)。
  • V200R001版本及之后版本,如果端口已经配置stp edged-port enable可以再配置根保护环路保护,而其他版本会提示Error
  • 交换机江湖故事之STP配置示例!济南磐龙维修
  • 其他厂商实现

  • H3C
  • H3C交换机STP相关命令配置与S系列交换机基本没有差异。
  • H3C交换机默认采用legacy标准来计算路径开销,而S系列交换机默认为dot1t。在S系列交换机对接时,建议配置相同的计算标准。
  • 某些H3C老形态设备,全局不使能STP或全局使能端口不使能STP时,端口收到BPDU报文后,可以当做普通组播数据报文在VLAN内转发。S系列交换机端口默认会丢弃。
  • Cisco
  • Cisco交换机所支持的生成树协议类型分别有:PVSTPer VLAN Spanning Tree)、PVST+Per VLAN Spanning Tree Plus)、Rapid-PVST+Rapid Per VLAN Spanning Tree Plus)和MSTMultiple Spanning Tree)。这几种生成树协议的某些BPDU报文采用其私有的报文格式,与IEEE标准的BPDU报文格式不一样。
  • Cisco交换机运行私有的PVST+Rapid-PVST+生成树协议时,与S系列交换机能否互通,取决于Cisco侧的端口链路类型:
  • 如果端口链路类型为trunk且退出VLAN 1,与S系列交换机无法实现互通。Cisco侧端口VLAN 1中发送其私有的BPDU报文,S系列交换机默认不会处理该报文当做普通组播数据报文进行转发可以通过配置l2protocol-tunnel进行透传。S系列盒式交换机通过l2protocol-tunnel透传PVST+报文时,全局需要配置bpdu mac-address 0100-0ccc-cccd
  • 如果端口链路类型为trunk而且加入VLAN 1,只可以在VLAN 1中与S系列交换机互通。
  • 如果端口链路类型为access,可以与S系列交换机互通。
  • Cisco交换机运行MST协议时,可以理解为标准的MSTP模式,可以与S系列交换机互通。但是需要注意:在使用MSTP协议的S系列交换机与使用MSTCisco交换机采用相同的域配置(域名、修订级别、VLAN与实例的映射关系)的情况下要想实现域内互通,需要在S系列交换机端口配置摘要侦听功能stp config-digest-snoop这是两者由于采用不同的密钥来生成MSTP的摘要信息,因此端口发送的BPDU报文中的摘要信息不同。由于摘要信息不同,则属于不同的MST域,会进行域间互通。

  • 注意以下介绍的STP是狭义的STP,即IEEE 802.1D-1998 中定义的STP 协议

    STP原理

    协商原则

    STP协议是根据4个维度进行选举协商的设备之间通过发送BPDU报文,经过4个维度的比较,最终会阻塞综合能力最差的端口。

    选举维度(桥ID,累计根路径开销发送设备BID发送端口PID)


    维度
    定义
    作用
    桥ID
    BIDBridge ID),是由16位的桥优先级(Bridge Priority)与桥MAC地址构成。BID桥优先级占据高16位,其余的低48位是MAC地址。
    确定根桥。ID最小的设备会被选举为根桥。
    累计根路径开销
    某端口到根桥累计的路径开销就是所经过的各个桥上的各端口的路径开销累加而成
    选举根端口、指定端口和阻塞端口时使用。
    发送设备BID
    发送BPDU报文的桥ID。
    选举根端口、指定端口和阻塞端口时使用
    发送端口PID
    发送BPDU报文的端口ID。
    PID由两部分构成的,高4位是端口优先级,低12位是端口号。
    只在存在Backup端口时使用。



    角色和状态

    经过4个维度的比较,最终会协商出端口的角色和状态确定报文流量的转发路径。STP角色的定义,所示。

    交换机江湖故事之STP配置示例!济南磐龙维修

  • 根桥:就是桥ID最小的设备。桥ID是由16位的桥优先级与桥MAC地址构成。BID桥优先级占据高16位,其余的低48位是MAC地址。华为交换机默认桥优先级都是32768。所以在不修改桥优先级时,MAC地址最小的设备就是根桥。
  • 指定端口:就是负责转发BPDU报文的端口。根桥上的端口都是指定端口。该端口可以正常转发流量。
  • 交换机江湖故事之STP配置示例!济南磐龙维修
  • 根端口:就是去往根桥路径开销最小的端口。该端口可以正常转发流量。
  • 交换机江湖故事之STP配置示例!济南磐龙维修
  • 阻塞端口:就是禁止转发流量的端口。
  • 交换机江湖故事之STP配置示例!济南磐龙维修

    从上面的官方定义,可以看出:STP协商完成后,端口要么被阻塞,要么正常转发报文。其实在STP进行协商的过程中,是有一些中间状态的。


    端口状态
    目的
    说明
    Forwarding
    端口既转发用户流量也处理BPDU报文。
    只有根端口或指定端口才能进入Forwarding状态。
    Learning
    设备会根据收到的用户流量构建MAC地址表,但不转发用户流量。
    过渡状态,增加Learning状态防止临时环路。
    Listening
    确定端口角色,将选举出根桥、根端口和指定端口。
    过渡状态。
    Blocking
    端口仅仅接收并处理BPDU,不转发用户流量。
    阻塞端口的最终状态。



    报文格式

    STP协议报文是通过BPDU报文封装的,目的MAC是组播MAC01-80-C2-00-00-00,封装格式是IEEE 802.3

    交换机江湖故事之STP配置示例!济南磐龙维修

    BPDU报文处理流程

    BPDU报文的分类

  • 配置BPDU报文:根据Flags标记位,分为3
  •    第一类配置BPDU报文: FlagsTCATC位都置为0的配置BPDU报文
  •    第二类配置BPDU报文: FlagsTCATC位都置1的配置BPDU报文
  •    第三类配置BPDU报文:FlagsTCA0TC位置1的配置BPDU报文
  • TCN BPDU报文 BPDU Type0x80BPDU报文,叫做TCN BPDU报文
  • BPDU报文的处理流程

  • 交换机江湖故事之STP配置示例!济南磐龙维修
  • BPDU报文格式

  • 配置BPDU报文BPDU Type0x00BPDU报文,都叫做配置BPDU报文
  • 第一类配置BPDU报文: FlagsTCATC位都置为0的配置BPDU报文
  • 该报文用于STP状态的协商和维持。具体报文格式如下:
  • 交换机江湖故事之STP配置示例!济南磐龙维修

  • 类配置BPDU报文: FlagsTCATC位都置1的配置BPDU报文
  • 该报文用于通知下游设备停止发送TCN BPDU报文具体报文格式如下:
  • 交换机江湖故事之STP配置示例!济南磐龙维修

  • 类配置BPDU报文: FlagsTCA0TC位置1的配置BPDU报文
  • 该报文用于通知下游设备删除MAC地址表项具体报文格式如下:
  • 交换机江湖故事之STP配置示例!济南磐龙维修

  • TCN BPDU报文BPDU Type0x80BPDU报文,叫做TCN BPDU报文,用于通知上游设备网络拓扑变更。具体报文格式如下:
  • 交换机江湖故事之STP配置示例!济南磐龙维修
  • 使用注意事项

  • 盒式交换机需要通过“bpdu enable”使能BPDU报文上送CPU处理的功能,才能使STP报文上送CPU处理,否则STP状态无法收敛。
  • V100R005及之前版本,在S2700系列设备,检查全局是否配置bpdu enable;其他系列盒式交换机,检查物理端口、Eth-trunk接口下是否配置bpdu enable
  • V100R006及后续版本,对应形态设备全局或端口默认使能bpdu enable
  • Eth-Trunk接口使能STP时,建议修改Eth-Trunk接口的cost值使其小于物理端口的cost,使其不易协商为备份端口。一是因为Eth-Trunk接口的开销为单个成员接口的开销除以成员接口数量,当成员口状态变化时Eth-trunk接口的cost值会变化;二是cost值越小说明链路质量越高。
  • 通过命令display stp brief查看端口状态时,只会显示使能STPUP的端口。
  • 可以通过修改路径开销和发送者的BID,选择阻塞指定的端口。
  • 配置举例

    组网需求

    交换机江湖故事之STP配置示例!济南磐龙维修

    如图所示,当前网络中SwitchASwitchBSwitchCSwitchD通过环形组网备份链路。希望通过运行生成树协议阻塞端口,将环形网络结构修剪成无环路的树形网络结构。

  • 在主链路故障时,对切换到备份链路的时间要求不高,要求配置简单,所以这里使用STP模式。
  • SwitchA设备的性能较高,希望作为根桥SwithB为备份根桥。
  • SwtichCSwitchD设备连接用户,希望阻塞SiwtchCSwitchD之间的链路。
  • SwitchCSwitchD连接用户的接口GE0/0/3不要参与STP计算。
  • 配置思路

    采用如下的思路配置STP

  • 配置模式是STP模式。
  • 配置SwitchA为根桥,SwitchB为备份根桥。
  • 统一使用默认路径开销。华为交换机默认的路径开销计算标准使用的是标准的dot1tGE接口默认路径开销是20000,而Ethernet接口默认路径开销是200000注意:eNSP模拟器中,STP的路径开销默认是1
  • SwitchCSwitchDGE0/0/3端口去使能STP协议。
  • SwitchASwitchBSwitchCSwitchD使能STP协议
  • 操作步骤

    步骤1:配置模式为STP模式


    <HUAWEI> system-view
    [HUAWEI] sysname SwitchA
    [SwitchA] stp mode stp




    <HUAWEI> system-view
    [HUAWEI] sysname SwitchB
    [SwitchB] stp mode stp




    <HUAWEI> system-view
    [HUAWEI] sysname SwitchC
    [SwitchC] stp mode stp




    <HUAWEI> system-view
    [HUAWEI] sysname SwitchD
    [SwitchD] stp mode stp



    步骤2配置SwitchA根桥SwitchB为备份根桥


    [SwitchA] stp root primary //也可以使用命令stp priority 0 配置优先级为0,和stp root primary的作用是一样的。




    [SwitchB] stp root secondary //也可以使用命令stp priority 4096 配置优先级为4096,和stp root secondary的作用是一样的。



    步骤3去使能SwitchBSwitchC设备GE0/0/3端口的STP功能


    [SwitchC] interface gigabitethernet0/0/3
    [SwitchC-GigabitEthernet0/0/3] stp disable
    [SwitchC-GigabitEthernet0/0/3] quit




    [SwitchD] interface gigabitethernet 0/0/3
    [SwitchD-GigabitEthernet0/0/3] stp disable
    [SwitchD-GigabitEthernet0/0/3] quit



    步骤4全局使能STP功能。

    华为X7系列交换机默认是使能,该步骤可以省略


    [SwitchA] stp enable




    [SwitchB] stp enable




    [SwitchC] stp enable




    [SwitchD] stp enable



    步骤5:验证配置结果

    查看STP简要信息,通过STP简要信息可以快速的看出端口的角色和状态。

    交换机江湖故事之STP配置示例!济南磐龙维修

    配置文件

    SwitchA的配置文件


    #
    sysname SwitchA
    #
    stp mode stp
    stp instance 0 root primary
    #
    return


    SwitchB的配置文件


    #
    sysname SwitchB
    #
    stp mode stp
    stp instance 0 root secondary
    #  
    return  


    SwitchC的配置文件


    #
    sysname SwitchC  
    #  
    stp mode stp
    #  
    interface GigabitEthernet0/0/3
    stp disable
    #  
    return  


    SwitchD的配置文件


    #
    sysname SwitchD
    #  
    stp mode stp
    #  
    interface GigabitEthernet0/0/3
    stp disable
    #  
    return



济南磐龙笔记本交换机维修,专业芯片级维修服务商  www.pldtwx.com




下一篇:这是最后一篇
上一篇:这是第一篇
zbr0JO5wF9 2slHFv1q6M