一、STP

1.STP是什么

spanning tree protocol生成树协议,是用来解决二层环路的技术

2.为什么要用STP

一旦出现二层环路,会出现广播包大量复制,每秒出现千万级的广播报文,导致广播风暴,链路阻塞,网关计算资源耗尽,网络崩溃。

3.STP用在哪里

用在二层网络,也就是接入和汇聚之间。汇聚往上是纯三层互连,不会产生二层环路,可以不开启STP

4.STP如何解决环路

阻寒产生环路的接口,就不会再产生广播风暴

5.STP工作原理

5.1.工作过程4个步骤

5.1.1.选举出根桥
  • 每台运行了STP的交换机都有桥id,桥id由优先级+mac地址组成
  • 举例:32768.4c1f-cc84-7e0a
  • 优先级必须是4096的倍数
  • mac地址为交换机的vlan mac
  • 桥id最小的交换机为根桥,简称rp,root bridge
5.1.2.选举出根端口
  • 根端口是去往根桥的端口,所以是在非根桥上选举。根端口英文root port,简称rp
  • 每个非根桥上,只有1个根端口
  • 每台非根桥,各个接口都会收到BPDU其中收到BPDU最优的端口为根端口。参见BPDU比较原则。
5.1.3.选举出指定端
5.1.4.阻塞其他端口

5.2.BPDU优劣比较原则

5.2.1.BPDU概念
  • BPDU是STP工作所用到的协议报文,全称是桥协议数据单元
  • BPDU报文包含的关键参数
  • 根桥ID
  • 根路径开销
  • 概念:本机到达根桥的开销
  • 标准:
  • 发送网桥ID
  • 优先级+端口编号
  • 发送端口ID
  • hello time
  • forwarding time
  • max age
  • 抓包
5.2.2.bpdu优劣比较
  • 先比较根网桥ID,越小越好
  • 如果根网桥ID相等,根路径开销越小越好
  • 如果根网桥ID和根路径开销相等,发送网桥ID越小越好
  • 如果根网桥ID、根路径开销和发送网桥ID相等,发送端口ID越小越好

5.3.STP收敛过程

  • 端口状态迁移过程
  • STP端口依赖五种状态的迁移防止网络收敛过程中可能存在的临时环路
  • 交换机处于listening和learning状态的时间由forwarding delay这个计时器控制
  • mac地址表更新过程
  • 感知拓扑变化的交换机通过根端口向根交换机发送TCN BPDU,直到收到上游交换机TCA置位的配置BPDU
  • 交换机收到TCN BPDU,回应TCA置位的配置BPDU,并从根端口继续发送TCN
  • 根交换机收到TCN后把配置BPDU的TC位置位,通知其他交换机把MAC地址表老化时间由300S变Forwarding delay
  • 交换机收到TC置位的配置BPDU15S后把MAC地址表清空

二、RSTP

1.名称

rapid spanning tree protocol,快速生成树,最大的特点是快。

  • stp直接拓扑变化,收敛时间30s,间接拓扑变化,收敛时间50s
  • rstp直接拓扑变化,收敛时间小于1s,间接拓扑变化3倍的hello时间,6s。(注:华为设备会再乘以1个时间因子t;mer-factor)

2.STP缺点,RSTP解决方案

2.1.缺点1:初始化状态30秒。

  • 原因分析,保守等待所有交换机收敛完成,以防临时环路。
  • 解决方案,P/A机制,接口快速进入转发。

2.2.缺点2:根端口故障,有BP口的情况,切换至转发状态需要30s。

  • 解决方案,Alternate Port作为根端口的代替端口,可立即进入转发状态。

2.3.缺点3:根端口故障,无BP口的情况,切换至转发状态需要50s

  • 原因分析,RP口故障,收不到根桥的bpdu,自己切换成根桥,开始发根桥id是自己的bpdu。相邻设备收到次优bpdu不做处理,等待max age才开始重新收敛。
  • 解决方案,只有收到次优bpdu,就认为发生了链路故障,及立即发送更优的bpdu,使用P/A机制完成收敛

2.4.缺点4:终端正常开关机,导致不必要的生成树震荡。而且终端开机后不能立即进入转发状态。

  • 原因分析: stp不知道1个口连的是交换机还是终端。接口up/down的变化,认为是拓扑产生了变化。
  • 解决方案: 引入边缘端口,边缘端口是连接终端的接口,up/down只是正常开关机,不需做生成树的相关工作,而且终端开机可立即进入转发状态。

2.5.缺点5:STP只有根桥有权利发送TC置位的配置BPDU来完成mac地址表的更新,其他交换机需要向根桥通知,没有必要。

  • 解决方案,所有交换机都有权利直接发送TC置位的配置BPDU

2.6.缺点6:端口状态多余

  • 解决方案,把不学习mac地址的3个状态,合并成discarding

3.RSTP工作原理

3.1.P/A机制

  • P/A机制的本质,是让指定端口迅速进入转发状态
  • P/A机制的原理,最开始每个交换机都认为自己是根桥,所以各个接口都是DP,发出P置位的BPDU
  • 对面的交换机收到这个BPDU,经过和各个接口收到的BPDU进行对比,只认可1个最优的,那么
  • 给这个最优的BPDU回应A置位的BPDU,同意打开端口,同时这个口的角色变为RP。
  • RP口只能有1个,其他口再收到P请求,不再回应A置位的同意BPDU。
  • 如果其他口收到的BPDU,发送者比自己优,则自己停止发送P请求
  • 如果其他口收到的BPDU,发送者没有自己优,则一直发送P请求
  • 2个转发延时后,发p请求的一段,也就是bpdu

3.2.端口角色

  • RP:根端口
  • DP:指定端口
  • AP:被对端交换机发出的更优的BPDU阻塞的端
  • BP:被本机的其他接口发的更优的BPDU阻塞的端

3.3.端口状态

STP端口状态

RSTP端口状态

端口状态对应的行为

Disabled

Discarding

如果不转发用户流量也不学习MAC地址,那么端口状态就是Discarding状态。

Blocking Listening

Discarding

如果不转发用户流量也不学习MAC地址,那么端口状态就是Discarding状态。

Learning

Learning

如果不转发用户流量但是学习MAC地址,那么端口状态就是Learning状态。

Forwarding

Forwarding

如果既转发用户流量又学习MAC地址,那么端口状态就是Forwarding状态。

3.4.安全加强

3.4.1.bpdu保护

3.4.1.1.作用
  • 防范bpdu攻击
  • 防单端口自环
3.4.1.2.配置
  • 应用在连接终端的端口,也就是边缘端口
3.4.1.3.命令
  • 全局下stp bpdu-protection
3.4.1.4.后续处理

如果用户希望被error-down的边缘端口可自动恢复,可通过配置使能端口自动恢复功能,并设置延迟时间,即在系统视图下执行命令error-downauto-recovery cause bpdu-protection interval interval-value,使能端口自动恢复为Up的功能,并设置端口自动恢复为Up的延时时间。

3.4.2.根保护

3.4.2.1.作用: 防范bpdu攻击,抢走根桥
3.4.2.2.原理: 应用在指定端口,收到更优的bpdu,丢弃
3.4.2.3.配置: 接口下stp root-protection

3.4.3.tc bpdu泛洪保护

3.4.3.1.作用:防范大量tcbpdu泛洪攻击
3.4.3.2.配置:每个时间段内,处理的tcbpdu报文个数
3.4.3.3.命令: 全局下stp tc-protection interval和stp tc-protection threshold

三、MSTP

1.名称

Multiple Spanning Tree Protocol,多生成树

1.1.特点

是可以在一个网络部署多个独立的生成树,实现转发压力的负款衡。

2.实现原理

  • 引入msti,也就是多生成树实例,MST Instance
  • 每个实例(instance),可以关联多个vlan。比如instance 1关联1-10vlan,instance 2关联11到20vlan
  • 不同的实例,按不同的rstp来计算。这样不同的实例,可以配置不一样的根桥,可以实现阻塞不一样的接口。
  • 实例1对应的vlan,走左边。实例2对应的vlan,走右边,实现设备压力的负载分担。

3.配置步骤

3.1.所有交换机相同的配置

3.1.1、开启stp,并指定stp模式为mstp
  • stp enable
  • stp mode mstp
3.1.2、配置mstp的region-name,一组交换机的region-name要相同
  • stp region-configuration
  • region-name RG1
3.1.3、配置实例和vlan的映射关系,并激活配置
  • stp region-configuration
  • instance 1 vlan 1 to 10
  • instance 2 vlan 11 to 20
  • active region-configuratio
3.1.4.注意:如果是不同厂商的交换机,还要注意mstp的修订号要相同,同厂商保持默认即可。

3.2.根桥和备份根侨修改优先级

stp instance 1 priority 4096
stp instance 2 priority 8192

3.3.接入交换机配置边绿端口和bpdu保护(可选)

ance 2 vlan 11 to 20

  • active region-configuratio