STP 基本概念

一、标准: 802.1d

二、作用:解决二层环路问题

三、算法:STA

四、BPDU :a、配置BPDU:稳定是有根网桥周期性发出(2s

      bTCN BPDU:网络发生拓扑变更时有网桥发出

           i.              网桥ID=网桥优先级+MAC地址

         2字节      6字节

         ii.              默认的优先级是32768    范围是0—65535

        iii.              Flag字段

iv.              TCA

v.               

vi.               

vii.               

viii.               

ix.               

x.               

xi.              TC

五、STP工作模式:

PVST:一个vlan对一棵生成树  cisco私有,ISL封装

CST:公共STP模式,所有vlan对应一个STP实例 IEEE 802.1q封装

PVST+:一个vlan对应一个STP实例  支持802.1q封装

六、STP时间参数:hello time 2s 最大老化时间 20s 转发延迟 15s

注意:当网络拓扑稳定后,计时器只有在根网桥上修改才能有意义。

 

 

STP操作

一、端口角色:根端口  指定端口  阻塞端口

端口状态: 禁闭  阻塞  侦听学习  转发

注意:STP中尾巴端口角色与端口状态明确区分,基本以状态来进行拓扑收敛

 

状态

BPDU

BPDU

学习MAC

/发数据

禁用

X

X

X

X

阻塞

√

X

X

X

侦听

√

√

X

X

学习

√

√

√

X

转发

√

√

√

√

 

二、STP收敛过程

1、 选择根网桥:在所有参与选举的网桥中选举出网桥ID最小的网桥为根网桥首先看优先级越小越优先,再看MAC地址

2、 选择根端口:在所有非根网桥上选择一个到根网桥距离最近的端口。

A、端口到根网桥的COST

B、发送方的网桥ID

C、发送方的port-ID

3、 选择选择指定端口:在每条链路两端选择一个端口指定端口

A、网桥到根网桥的COST(注意比较2中的COST区别)

B、链路两端谁的网桥ID小,谁上面的端口就是指定端口

C、链路两端谁的端口ID小,谁上面的端口就是指点端口

4、 阻塞其他端口

 

STP拓扑变更

一、交换机发送TCN BPDU的条件:(下列的条件满足一个即可)

1对于处于转发或监听状态的端口,它过度到阻塞状态(链路故障的时候)

2、 端口进入转发状态,并且网桥已经拥有指定端口

3、 非根网桥在他的指定端口接收到TCN(传播TCN被发送)

A、指定网桥接受TCN,并且通过立即发回一个TCA置位的配置BPDU确认TCN在确认之前,负责通知拓扑变更的网桥将连续发送TCN BPDU

B、根网桥一旦意识到网络发生变更,就发送TC置位的BPDU,接收到TC置位的BPDU的网桥感知发生变更,吧MAC地址的生存时间降低到转发延迟计时器数值(原来为300s)

二、扩展PVST+(没vlan一个生成树)

通过修改端口开销或网桥端口优先级来提供负载均衡

Catalyst4500交换机的mac地址池包括64MAC地址一般情况下Catalyst 交换机的MAC Add-pool最多可容纳1024个地址

三、拓扑变更实例:(图中为指定端口为根端口为阻塞端口)

1、 1链路downsw2直接拓扑变更端口立即变为根端口此时为侦听状态(发送TCN BPDU),接收SW3 的最佳BPDU,等待15s变为学习状态再过15s变为转发状态。

2、 2链路downSW3 收不到根发的BPDU,就发送以自己为根的次佳BPDUSW2 收到后比较与SW1 收到的BPDU。证明了根还在,便不处理SW3 的 BPDU等待20s最大老化时间后,变为侦听过了15s变为学习状态,再过15s后为转发状态。同时SW1自己能感知拓扑变化,发送TC置位的BPDUSW2 20s 后发送Tc置位的BPDUSW3

3、 3 downSW3发送TCN BPDU SW1收后发TC置位的BPDU SW2SW3刷新MAC表。

四、     STP高级特性:

1、 portfast:配置了此特性的端口能立即进入fowarding状态。一般用于PCSERVER的接入。

注意:portfast特性能一直拓扑变更通告。

2、 uplinkfast:一般是在直接拓扑变更中,阻塞端口直接变成转发状态,时间为0-5s

1链路down之后,直接变为根端口并处于forwarding状态(sw2上挂着多台PC机)

配置命令: spanning-tree uplinkfast

     注意:

a、 如果网桥优先级的开销为默认值,uplinkfast特性能够将网桥优先增加到49152,端口开销增加3000

b、 Uplinkfast特性也能抑制发往根网桥的TCN消息。交换机发送伪多播帧(即SW2发送所有PC的MAC地址的数据包,让sw1 sw3刷新MAC表,把旧端口移到新端口上)

3backbonefast  针对简介拓扑变更,时间由50降到30s

注意:当配置backbonefast特性时,要求在网络中的每台交换机上启用backbonefast特性。

例如:

3链路down了,SW3发送次佳BPDUSW2SW2发送RLQ BPDU给根网桥,确原来的根是否还存在,根网桥给予回应,SW2变为侦听状态重新收敛。

如果新增加SW4(在SW2的下面)因为SW2已经认定SW3为指定网桥,backbonefast特性不会对这种情况产生影响SW4会进行正常STP收敛。

五、     STP保护特性:

1、 BPDU Guard

作用:对于配置了BPDU保护特性的portfas端口如果接收到BPDU时,BPDU防护能是其进入“err-diable”状态。只能用手工启用后设置超时时间。

命令:spanning-tree protfast bpdugaurd

2、 BPDU filter

作用:启用BPDUfilter功能可以防止Catalyst交换机在启用portfast特性的接口上发送BPDU,配置了BPDU filterSW不会发送任何的BPDU,并丢弃所有接收到的BPDU

注意:BPDU filter的优先级高于BPDU Guard

3、 ROOT guard:能将接口强制成为指定端口

  如果网桥在启用跟防护的端口上接收到更优的BPDU则进入“不一致根”的STP状态并且不会从该端口转发流量,不处理该BPDU。当移走新SW时,此端口又正常收敛,恢复过程是自动的。

接口下敲命令: spanning-tree guard root

4、 环路防护(loop guard):防止单向链路所导致的STP故障

SW3SW2 的单向链路down,经过最大寿命时间后,SW2 上的→侦听→学习→转发  继而出现环路。启用环路保护后,经过最大寿命时间后 SW2将处于“不一致环路”状态(相当于阻塞)不转发任何流量。

  命令:spanning-tree guard loop

注意:环路防护不能和根防护共存于相同端口

5、 积极模式UDLD和环路防护:

区别:对于指定SW中软件问题不能发送BPDU所导致的故障。积极模式UDLD不能检测到它。UDLD主要检测由硬件故障造成的环路。