目录

产生背景

STP的发展 

1、802.1D

2、PVST(cisco)

3、PVST +(在PVST的基础上进行了升级)

4、快速生成树

5、MSTP/MST/802.1S (华为设备默认使用该协议)


产生背景

三层架构

冗余— 线路、设备、网关、电源UPS

3层架构:线路冗余—二层桥接环路

导致问题:  设备性能长时间超负荷,最终导致过热,重启

1、广播风暴

2、交换机MAC表翻滚   在同一台交换上,同一个MAC地址只能映射到唯一接口

3、同一数据帧重复拷贝

STP的发展 

STP—在一个交换网络中,逻辑的阻塞部分接口;形成从源到目标唯一路径;

        当可用路径故障时,在打开部分的阻塞接口,来继续网络通讯;实现线路备份

STP的标准:

802.1D、PVST、PVST+、802.1W、802.1S、RSTP、MSTP

1、802.1D

(1)根网桥(一台交换机)

一个交换网络内,仅存在一台根网桥;整颗树形结构的中心;负责管理整颗树;周期发送BPDU;

比较BPDU中的BID=桥ID = 网桥优先级+ mac地址

先比较优先级   0-65535 默认32768   越小越好 

若优先级相同,比较设备的MAC地址    MAC地址的数值越小越好

(2)根端口

在每台非根网桥上有且仅有一个接口; 本地离根网桥最近的接口;负责周期接收来自根网桥的BPUD,同时用于转发用户的数据;不会阻塞

a. 比较从根网桥发出BPDU后,通过该接口进入交换机,最小的cost值;

b. 若本地多个接口入向cost值一致,比较上级(上一跳)设备的BID,小优;

假设图中SW1为跟网桥,在进入SW4的cost值一致,则比较上一级SW2/3的BID,BID小的交换机所连接的SW4端口即为跟端口

生成树(STP)解析_STP

c. 若以上参数一致,比较上级(上一跳)的PID,小优

      先比较接口优先级,小优;若优先级相同,比较接口编号,小优;

下图SW1为跟网桥,到达SW3两个端口的cost值一致,上一级为同一交换机SW2,即BID也相同,则比较上一级的PID

生成树(STP)解析_优先级_02

d. 若以上参数一致,比较本地的PID,小优;

PID:port-ID = 接口优先级+接口编号,优先级 0-255 默认128 小优,编号小优

如果图中间接了一台集线器,则进入交换机SW3的cost值、上一级的BID和PID都相同,则比较SW3自己的PID

生成树(STP)解析_交换机_03

(3)指定端口 

在每条STP链路上有且仅有一个接口,负责转出根网桥的BPDU,同时转发用户数据,不会阻塞;

所有根端口对端为指定端口,根网桥上所有端口为指定端口;

a. 比较转出根网桥BPDU最小cost;  出方向cost值

b. 若出向cost值相同,比较本地的BID,小优

图中SW2和cost3之间的出方向cost值相同,则比较他们的BID

生成树(STP)解析_交换机_04 

c. 比较本地的PID,小优

如果BID也相同,肯定连接到同一台交换机上,即比较SW2出方向端口的PID

生成树(STP)解析_交换机_05

d. 本地PID相同—自接阻塞

如果下边接一台没有STP的集线器,而且出接口形成环路,则跟网桥SW1会自接阻塞

生成树(STP)解析_mac地址_06

 (4)非指定端口(阻塞端口)

以上所有角色选举完成后,剩下的接口; 逻辑阻塞,可以收到数据,只是不转发数据;

2、PVST(cisco)

基于vlan的生成树(cisco设备中存在一块独立的STP专用芯片)

在交换网络中基于一个vlan一棵树,每个vlan的那棵树实施的是802.1D标准;

如何区别不同vlan的BPDU:网桥优先级/4096 的余数为vlan-id;

人只能以4096的倍数修改优先级,设备自动添加VLAN-id到优先级中

故最终优先级/4096,余数为设备添加的VLAN-id

优点:

可以将不同vlan的根网桥放置于不同的汇聚层设备,实现在不同vlan中阻塞不同的链路,最终所有链路均被利用,互为备份,提高链路的利用率

缺点:

a. 收敛慢

b. 树多(cisco设备中存在一块独立的STP专用芯片)

c. 纯私有协议,仅支持ISL(cisco专用的trunk上封装vlan-id的标准,另一个标准802.1q)

3、PVST +(在PVST的基础上进行了升级)

特点:

(1)部分的加速  

(2)兼容了802.1q

加速:

(1)端口加速 --- 用于连接终端的接口,不用收敛,直接转发

(2)上行链路加速 --- 在满足直连检测条件的接口上,直接进入转发状态,省去30s收敛时间

(3)骨干加速 --- 针对 次优BPDU,所有交换机均可配置,省去在收到次优BPDU时,消耗的20s hold time,30s 的正常收敛不能省略

优点:

(1)利用率高(一个vlan一棵树)(2)提高了部分加速  (3)兼容802.1q

缺点:

(1)树多 (2)加速不够彻底

4、快速生成树

cisco的RSTP --- 基于vlan的快速生成树 - 一个vlan一棵树 pvst+的升级

公有RSTP(802.1w) --- 整个交换网络一棵树 802.1d的升级

快速的原理:

(1)取消了计时器,而是在一个状态工作完成后,直接进入下一状态

(2)分段式同步,两台设备间逐级收敛;使用请求和同意标记;依赖标记位的第1和第6位

(3)BPDU的保活为6s;hello time 2s;

(4)将端口加速(边缘接口)、上行链路加速、骨干加速集成了

(5)兼容802.1d和PVST,但802.1d和PVST没有使用标记位中的第1-6位,故不能快速收敛;因此如果网络中有一台设备不支持快速收敛,那么其他开启快速收敛的设备也不能快速;

当tcn消息出现时,不需要等待根网桥的BPDU,就可以刷新本地的cam表;

切记:接口默认为半双工时,即便运行RSTP,依然基于慢速的802.1D算法来收敛;

[sw1]stp mode rstp

边缘接口---用于连接PC的接口,一旦被设定为边缘接口;将不再进行BPDU的发送,且不进行STP的收敛,直接为转发状态; 但若该接口收到了对端的BPDU,将失去边缘特性,重新正常收敛;

配置:

[sw1]interface GigabitEthernet 0/0/1

[sw1-GigabitEthernet0/0/1]stp edged-port enable



[sw1]stp priority ? 修改网桥优先级

INTEGER<0-61440> Bridge priority, in steps of 4096



[sw1]stp root ? 快速定义根网桥角色

primary Primary root switch

secondary Secondary root switch



[sw1-GigabitEthernet0/0/1]stp port priority ? 修改接口优先级

INTEGER<0-240> Port priority, in steps of 16



[sw1-GigabitEthernet0/0/1]stp cost ? 修改接口cost

INTEGER<1-200000000> Port path cost

5、MSTP/MST/802.1S (华为设备默认使用该协议)

继承了快速生成树的基础; 将多个vlan放置于一个组内,基于每个组一棵生成树;

不同组间的BPDU中优先级= 4096倍数+组号

[r1]stp mode mstp

默认存在组0,且所有vlan默认处于该组;优先级= 32768+0

分组:

[sw1]stp enable

[sw1]stp region-configuration

[sw1-mst-region]region-name a 所有设备应在一个域内

[sw1-mst-region]instance 1 vlan 1 to 5

[sw1-mst-region]instance 2 vlan 6 to 10

[sw1-mst-region]active region-configuration 激活当前配置(必须配置该指令)

切记:若将创建某个组,但该组内的vlan,在本交换机上没有创建,同时没有为该vlan服务的接口;该组将没有任何信息;整个交换网络中所有设备的分组信息必须完全一致

定义本地为组1 的主根,组2 的备份根

stp instance 1 root primary 优先级修改为0

stp instance 2 root secondary 优先级修改为4096