HCIP-7.4交换机STP生成树协议原理

  • 1、什么是交换机生成树?
  • 2、STP生成树
    • 2.1、标准生成树基本计算过程(802.1D)
    • 2.2、STP的基本概念
    • 2.3、 BPDU格式及字段说明
    • 2.4、 STP的选举原则
      • 2.4.1 配置案例说明
      • 2.4.2 华为设备的COST值
    • 2.5、端口状态描述
    • 2.6、cost值修改
      • 2.6.1、非根桥设备接口下的cost值修改:
      • 2.6.2、根设备接口下的优先级修改:
      • 2.6.3、优先级发生改变可能的临时环路
    • 2.7、BPDU(Configuration BPDU)桥接协议数据单元
      • 2.7.1、配置BPDU的作用
      • 2.7.2、TCN(拓扑改变通知)

1、什么是交换机生成树?

在网络中交换机等交换设备会对广播数据帧进行泛洪操作。如果出现环路,网络就会产生大量不断无效,循环的广播流,发生了“广播风暴”。交换设备的负载迅速增加,导致正常的数据帧传输受到了抑制,便会导致信道的拥塞,其结果往往是延时或丢帧,甚至网络瘫痪。

生成树协议就是用来防止2层循环的,通过在网络上修剪出一棵无环的树形拓扑网来解决交换网络中的环路问题。

生成树协议的分类:

  • 公有协议:STP、RSTP、MSTP。
  • 思科可用协议:PVST、PVST+、RPVST、MST。
  • STP约等于PVST、RSTP约等于RPVST 、MST=MST。

现在国内网络中主要使用的是MSTP,也是华为设备默认的生成树协议。在学习MSTP先要学习STP,STP是生成树协议的基础,包括大量基础的概念和理论。

2、STP生成树

STP(Spanning Tree Protocol,生成树协议)是根据IEEE 802.1D 标准建立的,用于在局域网中消除数据链路层物理环路的协议。运行该协议的设备通过彼此交互信息发现网络中的环路,并有选择的对某些端口进行阻塞,最终将环路网络结构修剪成无环路的树型网络结构,从而防止报文在环路网络中不断增生和无限循环,避免设备由于重复接收相同的报文所造成的报文处理能力下降的问题发生。

STP采用的协议报文是BPDU(Bridge Protocol Data Unit,桥协议数据单元),也称为配置消息,BPDU中包含了足够的信息来保证设备完成生成树的计算过程。STP即是通过在设备之间传递BPDU来确定网络的拓扑结构。

基本思想:就是要生成一个稳定的树形拓扑网。

2.1、标准生成树基本计算过程(802.1D)

树的根是一台称为根桥的交换机(Root Bridge,简称为根交换机)。
从根交换机开始,逐级形成一棵树,交换机为树的节点,链路为树枝。
根交换机定时发送配置报文,非根交换机接收配置报文并转发给下一级。

整个交换网络有且只有一个根交换机每个非根交换机有且只有一个根端口每个Lan(segment)有且只有一个指定端口其他接口称之为未指定端口(或者Alternative 端口)。

生成树基本计算过程-选举根交换机
信息和参数被封装在配置BPDU(Configuration Bridge Protocol Data Unit)中,在交换机之间(trunk模式)传递。

BPDU是指桥接协议数据单元,泛指交换机之间运行的协议交互信息时使用的数据单元。配置BPDU是BPDU的一种。根桥每间隔Hello Time(默认2秒)时间周期性发出BPDU。

生成树计算的第一步是选举根交换机,根交换机的选举基于交换机标识(Bridge ID)。
交换机标识由两部分组成:两字节长度的交换机优先级和六字节长度的MAC地址。

交换机优先级是可以配置的,取值范围是0~61440,默认值为32768。

网络中交换机标识最小的成为根交换机,首先比较优先级,如果优先级相同则比较MAC地址,值越小越优先。

Bridge ID BID=优先级+MAC地址。

2.2、STP的基本概念

STP协议中定义根交换(Root Bridget)、根端口(Root Port)、指定端口(Designed Port)和路径开销(Path Cost)等概念,目的就在于通过构造一颗自然树的方法达到阻塞冗余环路的目的,同时实现链路备份和路径最优化。用于构造这棵树的算法称为生成树算法(Spanning Tree Algorithm)。

根桥(Root Bridge):具有最小桥ID的交换机是根桥(Root Bridge,简称为根交换机)。请将环路中所有交换机当中最好的一台设置为根桥交换机,以保证能够提供最好的网络性能和可靠性。

桥ID(Bridge Identifier):桥ID是桥的优先级和其MAC地址的综合数值,其中桥优先级是一个可以设定的参数。桥ID越低,则桥的优先级越高,这样可以增加其成为根桥的可能性。

指定桥(Designated Bridge):在每个网段中,到根桥的路径开销最低的桥将成为指定桥,数据包将通过它转发到该网段。当所有的交换机具有相同的根路径开销时,具有最低的桥ID的交换机会被选为指定桥。

根路径开销(Root Path Cost):一台交换机的根路径开销是根端口的路径开销与数据包经过的所有交换机的根路径开销之和。根桥的根路径开销是零。

桥优先级(Bridge Priority):是一个用户可以设定的参数,数值范围从0到32768。设定的值越小,优先级越高。交换机的桥优先级越高,才越有可能成为根桥。

根端口(Root Port):非根桥的交换机上离根桥最近的端口,负责与根桥进行通信,这个端口到根桥的路径开销最低。当多个端口具有相同的到根桥的路径开销时,具有最高端口优先级的端口会成为根端口。

指定端口(Designated Port):指定桥上向本交换机转发数据的端口,转发数据和BPDU。根交换机所有端口都是指定端口。

非指定端口:是指开销比指定端口高的端口。非指定端口将被设置为阻塞状态,不能进行转发。

端口优先级(Port Priority):数值范围从0到255,值越小,端口的优先级就越高。端口的优先级越高,才越有可能成为根端口。 默认的端口优先级为128。

路径开销(Path Cost):STP协议用于选择链路的参考值。STP协议通过计算路径开销,选择较为“强壮”的链路,阻塞多余的链路,将网络修剪成无环路的树型网络结构。

查看STP信息

<sw3>display stp briefMSTID  Port                        Role  STP State     Protection0    GigabitEthernet0/0/1       DESI  FORWARDING      NONE0    GigabitEthernet0/0/2       DESI  FORWARDING      NONE

DESI指定端口(Designated Port)

2.3、 BPDU格式及字段说明

标准生成树的BPDU帧格式及字段说明:

Protocol identifier: 协议标识,总是为0x0000,2字节。
Version: 协议版本,STP为0x00,RSTP为0x02,MSTP为0x03,1字节。
Message type: BPDU类型 ,1字节。

  • 0x00:STP的Configuration BPDU
  • 0x80:STP的TCN BPDU(Topology Change Notification BPDU)
  • 0x02:RST BPDU(Rapid Spanning-Tree BPDU)或者MST
    Flag: 标志位,只使用了最低位和最高位,最低为TC标志,最高为TCA标志。1字节。
    Root ID: 根桥ID,由两字节的优先级和6字节MAC地址构成,8字节。
    Root path cost: 根路径开销,本端口累计到根桥的开销。4字节。
    Bridge ID: 桥ID,表示发送BPDU的桥的ID,由2字节优先级和6字节MAC地址构成,8字节。
    Port ID: 端口ID,标识发出BPDU的端口。2字节。
    Message age: BPDU生存时间,2字节。
    Maximum age: 当前BPDU的老化时间,即端口保存BPDU的最长时间,缺省值20s。2字节。
    Hello time: 根桥发送BPDU的周期,缺省值2s。2字节
    Forward delay: 表示在拓扑改变后,交换机在发送数据包前维持在监听和学习状态的时间,缺省值15s。2字节。

2.4、 STP的选举原则

要点:比根桥ID,桥ID由2字节优先级和6字节MAC地址组成。
1、选举根桥
a. 先比根桥ID中的优先级,具有最小优先级的,此交换机定为根桥。
b. 假设优先级一样,再比根桥ID中的MAC地址。MAC地址最小的确定为根桥。

2、选举根端口:按如下顺序选举,满足条件即停止。
A、计算非根交换机到达根桥的链路开销
B、比较非根交换机的上行交换机桥ID(由优先级与MAC地址决定);
C、比较端口上所连接的上行端口的端口标识(Port Id),越小越优先。

3、选举指定端口:非根交换机与非根交换机之间连接线的两个端口中必定有一个端口为指定端口,此时比较两个非根交换机的根端口到达根桥的最低链路开销,将最低开销的非根交换机为准,其所在的连接线(为上面非根交换机与非根交换机之间连接线)的端口为指定端口,如果链路开销一样最后比较各自的桥ID即可。指定端口被标记为转发端口。可通过比较发送的BPDU;

4、 选择根端口和指定端口的BPDU帧总是从根桥向外发;

关闭与根桥要连的交换机两个端口中一个为了阻止交换环路的出现。先比带宽,如一样关闭端口号较高的那一条链路,设置为阻塞模式。

2.4.1 配置案例说明

1、选举根桥
配置根桥优先级将sw3变为根桥。
以4096的倍数来增长,0代表最大可能为根。

[sw3]stp mode stp             //生成树类型为stp
[sw3]stp priority <0-61440>   //配置sw3的优先级,越小越优先。默认32768
[sw3]stp root primary         //另一种配置直接把优先级设置为0

使用stp root primary命令后查看接口配置
[sw3]dis curr int g0/0/1
stp intance 0 root primary 优先级配置

为便于理解以皇帝,监军,将军来说明。皇帝接收监军,将军的奏折,监军代表皇帝监视将军行为。

<sw1>dis stp
CIST Root/ERPC      :32768.4c1f-cc09-46b3 / 0   0代表自己,自己是皇帝。
CIST RegRoot/IRPC   :32768.4c1f-cc09-46b3 / 0 (this bridge is the root)

查看STP简要

<sw1>dis stp bri    MSTID  Port                        Role  STP State     Protection0    GigabitEthernet0/0/1       DESI  FORWARDING      NONE   谕旨指定端口0    GigabitEthernet0/0/2       DESI  FORWARDING      NONE   谕旨指定端

发送皇帝上的谕旨(BPDU帧)的部门的都是指定端口。指定端口为上对下。

 <sw1>dis stp
CIST Root/ERPC      :32768.4c1f-cc09-46b3 / 10000   根的MAC是46b3
CIST RegRoot/IRPC   :32768.4c1f-cca5-1eb3 / 0   0代表自己,自己的
CIST RootPortId     :128.1      根端口ID

sw1为非根桥,这时可以看根的MAC是46b3。

查看根桥的生成树状态信息

<HUAWEI> display stp bridge root
MSTID              Root ID  Root Cost Hello Max Forward Root Port               Time Age   Delay
----- -------------------- ---------- ----- --- ------- -----------------       0 32768.4c1f-cc09-46b3          0     2  20      15

关闭STP
关闭全局STP:

<HUAWEI> system-view
[HUAWEI] undo stp enable

关闭接口STP

<HUAWEI> system-view
[HUAWEI] interface gigabitethernet 1/0/1
[HUAWEI-GigabitEthernet1/0/1] undo stp enable

2、选举根端口RP的程序
发送监军,将军的奏折(BPDU)的部门为根端口,目的地是皇帝的指定端口。

根端口是指从一个非根交换机到根交换机总开销最小的路径所经过的本地端口。这个最小的总开销值称为交换机的根路径开销RPC(Root Path Cost)。如果这样的端口有多个,则比较端口上所连接的上行交换机的交换机标识BRIDGR ID(交换机桥ID),越小越优先,如果端口上所连接的上行交换机的交换机标识相同,则比较端口上所连接的上行端口的端口标识(Port Id),越小越优先。端口标识由两部分组成:一字节长度的端口优先级和一字节长度的端口号。一字节长度的端口优先级是可配置的,默认为128。

监军上报奏折有两条线,一是直接上报,二是通过将军再上报。前种方式开销是1,第二种方式开销是2,所以选择直接上报。那么监军的上报部门为根端口。

监军的上报部门有3个,多条线路总开销值一样,就比较Bridge ID(优先级+MAC地址),越小越好。三条路都一样,比较PORT ID端口ID,越小越好。最后确定只有一个上报部门来完成这件事。

<sw1>dis stp bri0    GigabitEthernet0/0/4    DESI  FORWARDING      NONE 谕旨的中继端口0    GigabitEthernet0/0/3    ROOT  FORWARDING      NONE 根端口,往皇帝传的出口

ROOT根端口,DES指定端口。
PORT ID的组成:
由端口优先级.该端口的系列号组成 128是默认端口优先级128.3 3是端口系列号。

<sw1>dis stp
Last TC occurred    :GigabitEthernet0/0/3Port Protocol       :EnabledPort Role           :Disabled PortPort Priority       :128Port Cost(Dot1T )   :Config=auto / Active=200000000Designated Bridge/Port   :32768.4c1f-cc09-46b3 / 128.3

3、选举指定端口DP的规则
皇帝发布谕旨(BPDU),需要从上往下传送到指定接收人,一种是直接是传送给接收人,一种是通过中间人再传送给接收人(转发数据BPDU)。传送谕旨(BPDU)部门就是指定端口。

选举原则:
A、比较总开销值。 最小的成为指定端口。 消耗越少越好。
B、如果多条线路总开销值一样,比较Bridge ID(优先级+MAC地址),越小越好。
C、A和B都一样,比较PORT ID端口ID,越小越好。

根桥(皇帝)所有端口都指定端口。

根据A、B、C三原则比较选举指定端口,SW1的g0/0/21与SW3 g0/0/1比较

<sw2>dis stp briMSTID  Port                        Role  STP State     Protection0    Ethernet0/0/6               ALTE  DISCARDING      NONE 阻塞端口0    Ethernet0/0/5               ROOT  FORWARDING      NONE 根端口,往皇帝传的出口

查看皇帝的BPDU传输,政令通畅。

<sw3>dis stp int g0/0/1
Config Times        :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times        :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
BPDU Sent           :3165         发送       TCN: 0, Config: 3165, RST: 0, MST: 0BPDU Received       :3           接收   TCN: 2, Config: 1, RST: 0, MST: 0

通过比较选举指定端口,监军的端口4可以传送皇帝的谕旨,而将军不能传送,皇帝可以直接下达谕旨给将军进行管理,也可通过监军来直接下达谕旨给将军。皇帝不能通过将军传达谕旨给监军。从而避免环路。

2.4.2 华为设备的COST值

STP为每个非根交换机选举根端口(Root Port)。交换机的每个端口都有一个端口开销(Port Cost)的参数,此参数表示数据从该端口发送时的开销值,也即出端口的开销。STP认为从一个端口接收数据是没有开销的。端口的开销和端口的带宽有关,带宽越高,开销越小,VRP平台中,百兆端口的开销值为200(华为私有)。从一个非根交换机到达根交换机的路径可能有多条,每一条路径都有一个总的开销值,此开销值是该路径上所有出端口的端口开销总和。

802.1t。
stp pathcost-standard { dot1d-1998 | dot1t | legacy }命令用来配置指定交换机上路径开销值的标准。
每个端口的路径开销也可以手动指定。此STP路径开销控制方法须谨慎使用,手动指定端口的路径开销可能会生成次优生成树拓扑。

stp cost cost命令取决于路径开销计算方法:

  • 使用华为的私有计算方法时,cost取值范围是1~200000。
  • 使用IEEE 802.1d标准方法时,cost取值范围是1~65535。
  • 使用IEEE 802.1t标准方法时,cost取值范围是1~200000000。默认

STP路径开销 cost(华为默认采用802.1t)入端口实际的开销之和。

百兆=200000、千兆=20000
更改不同标准的cost值:

[SW1]stp pathcost-standard ?dot1d-1998  IEEE 802.1D-1998dot1t       IEEE 802.1Tlegacy      Legacy华为自定义

[sw2]dis stp int g0/0/2
Port Protocol :Enabled
Port Role :Designated Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=20000
千兆Active=20000

2.5、端口状态描述

端口状态 描 述
Disable未启用 此状态下端口不转发数据帧,不学习MAC地址表,不参与生成树计算。
Blocking阻塞状态 此状态下端口不转发数据帧,不学习MAC地址表,此状态下端口接收并处理BPDU,但是不向外发送BPDU。接收并处理BPDU是证明自己活着。
Listening侦听状态 此状态下端口不转发数据帧,不学习MAC地址表,只参与生成树计算,接收并发送BPDU。
Learning学习状态 此状态下端口不转发数据帧,但是学习MAC地址表,参与计算生成树,接收并发送BPDU。
Forwarding转发状态 此状态下端口正常转发数据帧,学习MAC地址表,参与计算生成树,接收并发送BPDU

关于时间:
Hello(根桥发送BPDU的周期) 2s
MaxAge(老化时间) 20s
FwDly(表示在拓扑改变后,交换机在发送数据包前维持在监听和学习状态的时间) 15s
MaxHop(合同延续期) 20 Blocking—>Listening 20s
Blocking–>20s Listening–>15s Learnin–>15s Forwarding

查看stp接口信息

<sw3>dis stp int g0/0/2
-------[CIST Global全局 Info信息][Mode STP]-------
CIST Bridge         :32768.4c1f-ccd6-5878
Config Times        :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times        :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC      :4096 .4c1f-cc45-0ee4 / 20000 根桥的优先级
CIST RegRoot/IRPC   :32768.4c1f-ccd6-5878 / 0   自已MAC和优先级
CIST RootPortId     :128.12     根的PortId
----[Port23(GigabitEthernet0/0/1)][DOWN]----端口g0/0/1信息Port Protocol       :EnabledPort Role           : Alternate Port   APPort Priority       :128             端口优先级Port Cost(Dot1T )   :Config=auto / Active=20000  cost20000Designated Bridge/Port   :8192.4c1f-cc2d-32b8 / 128.2 指定端port id 128.2Port Edged          :Config=default / Active=disabledPoint-to-point      :Config=auto / Active=falseTransit Limit       :147 packets/hello-timeProtection Type     :NonePort STP Mode       :stp         模式标准STPPort Protocol Type  :Config=auto / Active=dot1s  端口协议dot1sBPDU Encapsulation  :Config=stp / Active=stpPortTimes           :Hello 2s MaxAge 20s FwDly 15s RemHop 20
TC or TCN send      :0          发送的BPDU为0TC or TCN received  :34BPDU Sent           :2             TCN: 0, Config: 2, RST: 0, MST: 0BPDU Received       :925        接收的BPDU925    只接收不发送  TCN: 0, Config: 925, RST: 0, MST: 0

2.6、cost值修改


在有两台设备之间有多条链路冗余时,只能有一条是可用,其它的阻塞,但通过修改以下条件,可以选择哪条线路来作为可用链路。

2.6.1、非根桥设备接口下的cost值修改:

[sw2]int g0/0/11
[sw2-GigabitEthernet0/0/11]stp cost 10000
[SW2-GigabitEthernet0/0/22]dis stp bri0    GigabitEthernet0/0/11       ALTE  DISCARDING      NONE  原来DP现在变成AP0    GigabitEthernet0/0/22       ROOT  DISCARDING      NONE  cost变小走这边

BPDU从发送hello从指定端口发出,SW1SW2,从根桥出来的cost是0,到达SW2的g0/0/22的cost是20000(CIST Root/ERPC :4096 .4c1f-cc45-0ee4 / 20000)

现在有两条线路SW1的g0/0/1–>SW2 cost 20000
SW1的g0/0/22–>SW2 修改后变成10000,越小越好,走这条线路
防止环路产生,根桥出来的端口必须是DP,所以只能是SW2 0/0/11阻塞。

2.6.2、根设备接口下的优先级修改:

[sw1-GigabitEthernet0/0/1]stp port priority ?INTEGER<0-240>  Port priority, in steps of 16  以16的倍数设置。

2.6.3、优先级发生改变可能的临时环路


由于优先级发生改变或者其它原因,原SWA不再是根桥,SWC变成根桥。原来的SWD的E0/2由AP阻塞状态变成通信状态,变成DP,这时问题出在SWB上E0/2,由于时间关系,并没有立即从原DP转换为AP阻塞状态,还在转发数据,这时就形成环路。

解决办法,延迟SWD的E0/2由阻塞状态变成通信状态得时间,先等SWD上的E0/2先阻塞后,再打开。

2.7、BPDU(Configuration BPDU)桥接协议数据单元

STP每隔2s会发送一次BPDU报文,非根桥连续三次没有收到BPDU,表示发生故障。

BPDU分为两种,一种的配置BPDU;另一种是TCN(拓扑改变通知)。

  • 配置 BPDU,类型字段:STP----0X00 RSTP----0X02-RST BPDU MSTP----0X02-MST BPDU;

    • 配置 BPDU:周期发送,标记域的 TCA=0 TC=0;
  • TCN: BPDU 链路发生故障后发送,类型字段固定为0X80。

Root Identifier(根的ID),Root Path Cost(根路径开销),Bridge Identifier(桥ID)和Port Identifier(端口ID)四部分用于检测最优的配置BPDU,进行生成树计算。

Message age :BPDU存活时间,根桥发送是为0,每经过一台交换机会增加,就是MaxHop 20;最大20跳。

Max age:BPDU老化时间,默认是20s,最大40s。每经过一台交换机Message age+1,当Message age=Max age,则认为该BPDU失效。则此配置BPDU被认为已经过期。

合同延续期:MaxAge 20s Blocking–>20s Listening 超过20秒就down。

Hello Time默认为2秒,也即在指定端口上,配置BPDU每隔两秒发送一次。

Forward Delay默认为15秒。

2.7.1、配置BPDU的作用

选举根桥、端口角色
配置BPDU的目的MAC为组播:0180-c200-0000。
当配置BPDU只用于计算生成树,不用于传递拓 扑改变信息的时候:
Protocol Identifier(协议标识),Protocol Version Identifier(协议版本标识)和BPDU Type(BPDU类型)Flags(标志)四部分设置为全0。
转发BPDU时会修改其SMAC为自身设备MAC,但DMAC不变(01:80:c2:00:00:00)

STP模式下的交换网络,只有根桥发送BPDU,非根桥设备负责转发BPDU。
STP的配置BPDU发送方式:
1、没有选举根桥前,所有设备都会发送配置BPDU,选举根桥后只有根桥会发送配置BPDU;
2、其它非根桥设备在收到根桥发送过来的配置BPDU后,才会触发发出配置BPDU,不会主动发;
3、非根网桥指定端口只有在接收到次优配置BPDU时,才会主动发送最优BPDU。

STP初次收敛,BPDU的作用。

1、初始状态

由于每个桥都认为自己是根桥,所以在每个端口所发出的BPDU中,根桥字段都是用各自的BID,Root Path Cost字段是累计的到根桥的开销,发送者BID是自己的BID,端口PID是发送该BPDU端口的端口ID。

SWA收到SWB的配置消息,比较后发现自己的配置消息更优,于是将其丢弃。
SWA收到SWC的配置消息,比较后发现自己的配置消息更优,于是将其丢弃。
SWA的配置消息中的根桥和指定桥都是自己,于是认为自己就是根桥,各端口的配置消息都不作任何修改,此后便周期性地向外发送配置消息。

SWB收到SWA的配置消息,发现其比自己的配置消息更优,于是更新自己的配置消息。
SWB收到SWC的配置消息,发现自己的配置消息更优,于是将其丢弃。

SWB比较自己各端口的配置消息,发现3端口的配置消息最优,于是该端口被确定为根端口,其配置消息不变。4端口被确定为指定端口,其配置消息也被替换为计算出的配置消息,并周期性地向外发送。

网络收敛后,根桥会按照一定的时间间隔产生并向外发送配置BPDU,其他设备收到该配置BPDU后,如果优先级比自己的配置BPDU高,则非根桥设备会根据收到的配置BPDU中携带的信息更新自己相应的端口存储的配置BPDU信息,否则会丢弃该配置BPDU。

2、根桥发生故障时,BPDU的作用。

当根桥发生故障,SWA、C会因为RP端口断开而触发重新选举根桥,直接向外发送BPDU并标识自己为根桥。

SWC原有一个阻塞端口,那么该端口需要经过20秒的老化时间转换成其它端口状态后再重新进行发送BPDU。

经过两次转发延迟时间之后(30秒)如果没有收到比自己更优的BPDU,自己成为根桥。

2.7.2、TCN(拓扑改变通知)

TCN一类简单非配置BPDU。TC和TCA是配置的置位flag的BPDU。

网络发生故障类型:

  • 根桥发生故障:
  • 非根桥拓扑变化:增加或者减少非根桥

1、非根设备故障导致拓扑结构改变进而导致MAC地址表错误:
默认情况下,MAC地址表中的动态表项生存期为300秒(5分钟)

生成树拓扑发生改变,交换机的转发路径也会改变,当MAC地址表未及时老化将导致数据转发发生错误,因此需要及时更新MAC地址表项。

解决问题的办法:当拓扑结构改变之后,通过一定的机制,使拓扑改变的信息在整网内泛洪,并修改MAC地址表的生存期为一个较短的数值,等拓扑结构稳定之后,再恢复MAC地址表的生存期。

这里通过发送TCN BPDU报文来将MAC地址表项的老化时间缩短为15s,达到及时更新MAC地址表项的目的。
非根桥拓扑变化:

当SWB的3接口断开之后,4接口成为新的根端口,从SWC到达该PC 的目的地址应当修改为4,但是交换机不能检测到拓扑改变,导致MAC地址表错误,最长可导致5分钟的数据转发错误。

在向整网拓扑改变信息的过程中,共涉及三种BPDU:
1).拓扑改变通知BPDUTCN (Topology Change Notification BPDU)。非根桥设备将以Hello间隔(2s)为准,定时向RP端口发送**STP组播(01:80:C2:00:00:00)**的TCN BPDU报文,直到收到上行交换机的 拓扑改变确认配置BPDU或者拓扑改变配置BPDU 。

TCP BPDU【BPDU Type=0x80(TCN),TCN报文不会有Flags等字段信息】

2). 拓扑改变确认BPDUTCA(Topology Change Acknowledgment Configuration BPDU)。配置BPDU的一种,和普通配置BPDU不同的是此配置 BPDU设置了一个Flag位。用于非根交换机在接收到拓扑改变通知BPDU的指定接口上向下行交换机发送拓扑改变通知的确认信息。

标记域的TCA=1,TC=0(TCA BPDU)
注意:根桥是不会发送TCA拓扑改变确认。

3). 拓扑改变BPDUTC(Topology Change Configuration BPDU)。此配置BPDU设置了另外一个Flag位。用于从根交换机向整网泛洪拓扑改变信息,所有交换机都在自己所有的指定端口上 泛洪此BPDU。
标记域的TCA=1,TC=1或者TCA=0,TC=1(TC BPDU)

TCN报文只向根桥,一级级向老总汇报,发生事故。
TCA报文由直接接收TCN的设备回复,第一个接收报警信息的上一级领导回复。
TC报文是老总向所有下属全部发时间缩短通知。

TC拓扑变更消息–清空从此接口学到的MAC地址表----具体做法不是直接清空,而是通知下游设备把MAC地址表项的老化时间更改为Forward Delay时间(15s)。然后刷新MAC地址表。

2、增加非根设备导致拓扑结构改变

HCIP-7.4交换机STP生成树协议原理相关推荐

  1. 华为交换机STP生成树协议

    生成树协议 原理 Stp:spanning tree protocol 交换网络广播风暴: 交换机物理布局是环状(线路备份) 交换机之间互相转发未知地址的数据帧 线路备份,形成无环拓扑避免广播风暴=& ...

  2. STP生成树协议原理及配置

    STP:SpanningTree Protocol,生成树协议. 作用:在实际的网络环境当一个物理环路可以提高网络的可靠性,当一条线路断掉的时候,另外一条链路仍然可以传输数据.但是在交换的网络中,当交 ...

  3. STP生成树协议(原理+实验)

    文章目录 STP生成树协议原理与配置 前言 一.STP生成树协议的作用 二.STP各种选举的报文--BPDU 三.STP协议中交换机端口角色 四.RSTP快速生成树协议 五.MSTP多实例生成树协议 ...

  4. HCIP-7.5交换机RSTP快速生成树协议原理

    HCIP-7.5交换机RSTP快速生成树协议原理 1.RSTP快速生成树(rapid spanning Tree Protocol 2.RSTP基本计算过程 3.RSTP端口状态描述 3.1.交换机端 ...

  5. 计算机网络——交换机的生成树协议STP

        由交换机连接而成的以太网,可能会因为链路故障等原因造成无法通信的情况.     比如A和B间的链路发生了故障,则主机H1就不能和主机H2.H3通信了.     但如果在B和C之间添加一条冗余线 ...

  6. 3.10、以太网交换机的生成树协议 STP

    1.如何提高以太网的可靠性? 若交换机 A 与交换机 B 之间的链路故障 若交换机 A 与交换机 B 和 交换机 C 之间的链路都出现故障 则原来的以太网,变成了三个独立的较小的以太网,它们之间无法通 ...

  7. 企业三层架构、冗余、STP生成树协议总结

    总结 1.企业三层架构 2. 冗余(线路冗余+设备冗余) 3. STP生成树协议:IEEE802.1D,PVST+,802.1W,RSTP(rpvst),802.1S(MST) 企业三层架构(内网结构 ...

  8. STP生成树协议详情

    生成树协议 STP        生成树协议 RSTP    快速生成树协议 MSTP    多生成树协议 一.原理 stp:Spanning Tree Protocol (生成树协议) 交换网络广播 ...

  9. STP生成树协议实验

    文章目录 前言 一.生成树协议? 二.生成树原理 1.STP工作原理 2.STP主要参数 3.STP根网桥 4.STP协议版本 三.生成树实验 1.配置步骤 2.配置 3.配置结果 3.ping 四. ...

最新文章

  1. linux 3.4内核初始化,S3C2440移植linux3.4.2内核之内核框架介绍及简单修改
  2. asp.net 2.0防止同一用户同时登陆
  3. [转帖]什么是光纤的波长?看看有哪些是你不知道的!
  4. 2021年广东赛区线上比赛高校组合点-五邑大学
  5. 基于VC++的GDI常用坐标系统及应用
  6. dede config.chche.inc.php,dede/config.php · 辉辉菜/三强源码 - Gitee.com
  7. “元宇宙” 是什么东西?
  8. (数据库系统概论|王珊)第二章关系数据库-第二节、第三节:关系操作和关系完整性
  9. 大型互联网架构演变历程-《淘宝技术这10年》
  10. mysql trim 索引_mysql 强大的trim() 函数
  11. 让多核CPU占用率曲线听你指挥(Windows实现)——《编程之美》1.1学习笔记
  12. 【转】Mobile Tutorial: Using Layout to Adjust Different Form Sizes or Orientations (iOS and Android)...
  13. Threejs javascript 3D建模 框架
  14. java中中文显示乱码_java中显示中文乱码解决方法
  15. Linux将一个文件夹或文件夹下的所有内容复制到另一个文件夹
  16. 配眼镜走过的那些坑。
  17. 致远OA表单自定义函数(明细表去重拼接)
  18. QGIS制作精美地图
  19. 俄语考生学计算机难吗,俄语说的不好,没有计算机证书,甚至还是单身狗,怎么办?...
  20. 计算机十进制数中码数有几个,计算机中的数和码

热门文章

  1. c语言在main函数中结束,C语言程序执行时,必须从main函数开始,从mian函数结束。...
  2. iphone 内存管理1
  3. 微型计算机中显示卡是下列,【单选题】在微型计算机中,常见到的EGA、VGA等是指( A. 微机型号 B. 显示适配卡类型 C. CPU类型 D. 键盘类型...
  4. 基于FPGA的OV7670摄像头实时检测
  5. php实现stripos,PHP stripos
  6. android bionic log打印,如何让android的bionic中的linker输出调试信息
  7. dedecms,phpcms,ecms,NetCMS,dotNETCMS等cms系统的理性分析
  8. 要写脚本,编程不好不要紧--浅谈CTF中脚本的编写方法
  9. Variational Adversarial Active Learning
  10. JS播放音频 JS播放mp3 JS播放音乐 Java播放音频 Java播放音乐 Java播放mp3 的jmp123.jar包安装 语音播报 Java获取根路径