RSTP

root
233
文章
0
评论
2021年1月6日18:29:37 评论 4268字阅读14分13秒

RSTP

 

什么是生成树?

在二层环境中,有选择性的将冗余链路阻塞,形成树状拓扑,避免环路,同时冗余备份

生成树的选举?

先看一遍 生成树STP

(1)根桥(ROOT):比较Router ID【优先级,MAC地址】越小越好

(2)根端口(Root port,RP):因为Router ID已经确定了,往下比,先比较cost值【越小越优先】,再比较Bridge ID【优先级+MAC地址】,然后在比较Port ID【优先级(128)+接口号】,哪一个参数能比较出来就停止

(3)指定端口(designed port,DP):因为Router ID已经确定了,往下比,先比较cost值【越小越优先】,再比较Bridge ID【优先级+MAC地址】,然后在比较Port ID【优先级(128)+接口号】,哪一个参数能比较出来就停止

(4)阻塞端口(A/termate  port,NDP):这种情况只会出现在两个SW用两条线互相连起来

因为Router ID已经确定了,往下比,先比较cost值【越小越优先】,再比较Bridge ID【优先级+MAC地址】,然后在比较Port ID【优先级(128)+接口号】,哪一个参数能比较出来就停止

 

STP的不足?

1.收敛很慢,一般30s-50s,才能恢复连通性

2.端口角色偏少,如根端口DOWN掉后,需要从其他端口中重新选举根端口,没有对应的备份接口

3.端口状态复杂,增加了使用难度

 

 

BPDU包都比较的方式那些?

  • Route ID
    • 优先级(默认32768),4096的倍数,越小越优先
    • MAC地址,越小越优先
    • 一开始Router IP=bridge ID(每个交换机都以为自己是根桥,都会在Router ID信息中填入自己的优先级与MAC地址),如下图

  • RPC(cost)
    • 到根桥的距离,默认BPDU从根桥出发cost值为0,只算BPDU包的入接口的cost值
    • 通过Cost值选举其它生成树的角色,下面这个图,意思表达与bridge IP和Port id比较相同

  • briged ID
    • 优先级(默认32768),4096的倍数,越小越优先
    • MAC地址,越小越优先
  • Port ID
    • 优先级(128)+端口号

 

RSTP的改进

 

1.端口角色改进

  • 预备端口AP根端口的备份,RP的预备端口

如果RP口down掉,此接口成为RP并立即进入转发状态(一般秒级内即可完成)

  • 备份端口BP:DP口的备份,DP口的备份端口

这个BP端口产生需要条件,如上图,一个设备选两个DP口才会有BP接口的出现,如果RP口down掉,此接口成为DP并立即进入转发状态(一般秒级内即可完成)

  • 边缘端口:交换机下接终端设备【提高生成树的收敛速度】

为什么需要边缘端口?

就是SW1和PC机相连接的端口如果不设置成边缘端口,此端口也会参见到RSTP角色选举的内容里,没有达到快速转发的状态

 

端口状态(只有三种)

  • discarding
  • learnging
  • forwarding

2.PA机制改进

两台设备进行握手

SW1首先发送P位置的BPDU报文给SW2,期望成为DP口,SW2设备首收到SW1P位置的BPDU报文,先进行同步阻塞其他接口【这里注意,发P位置BPDU报文的SW1可以向多个接口同时发送,而发A位置BPDU报文的SW2设备只能先阻塞到其他接口才能发送】,回复A位置的BPDU报文,SW1收到这个A位置的BPDU立马接口进入Fowarding

 

  • Proposal(提议想成为的角色)/Agreement(回复请求)机制,其目的是使一个指定端口尽快进入Forwarding状态
  • 指定端口通过与相连的网桥进行一次握手,快速进入转发状态
  • P/A机制要求两台交换设备之间的链路必须是点对点的全双工模式
  • RSTP选举原理和STP本质上是一致的,选根桥-选非根桥上的根端口-选预备端口和备份端口
  • RSTP在选举的过程中加入了P/A机(Proposal/Agreement发起请求-回复请求),确认机制不再需要等待Forward Delay时间保证无环,协商一般秒级,就是discarding可以之间到forwarding状态

 

在STP BPDU的flags字段里用到了(8bit)

网络拓扑变更

TCA(第7bit)

TC(第0bit)

RSTP BPDU的flags字段

Port Role :就是想成为的角色

Agreement:就是同意的话就设为1

这个包可以看出是,A位置的BPDU的回复包

RSTP角色选举的过程

当剩下SW2与SW3协商选举DP的时候,两边都会发送P位置的BPDU包

 

3.拓扑变更优化

STP拓扑变更

STP当网络拓扑发生变化时,下游交换机不断发送TCN BPDU报文给上游交换机,上游设备接收到TCN BPDU报文后发送TCN报文,表示确认,下游停止发送TCN。直到根交换机收到TCN BPDU报文向全网发送TC BPDU,收到TC BPDU的交换机如果MAC老化时间大于15s,将MAC地址表老化时间设置为15s,华为收到TC BPDU报文删除旧的mac地址表重新学习MAC地址。

TCN BPDU报文:用来向上游设备乃至根桥通知拓扑变化。上游设备指定接口处理此报文

TCA:是上游设备用来告知下游设备已经知道拓扑变化

TC:标记的配置BPDU报文主要是上游设备用来告知下游设备拓扑发生变化,请下游设备删除MAC地址表,重新学习

 

RSTP拓扑变更做的优化

当拓扑发生变更,变更点都可以发送TC报文,收到TC报文MAC地址清空。STP是Root才发TC报文

4.BPDU处理变化

STP:根桥Hello timer(2s)发送BPDU报文,其他非根设备进行转发,收敛慢

RSTP:根桥和非根桥都可以主动发送BPDU,周期为Hello timer(2s)

STP:一个端口10倍Hello timer时间(Max Age=20s)没有收到BPDU报文,认为down了

RSTP:一个端口3倍Hello timer时间(6s)没有收到BPDU报文,认为邻居down

 

BPDU保护机制

BPDU保护原理:配置BPDU保护功能后,如果边缘端口收到BPDU报文,边缘端口将会立即关闭,从而有效防止网络震荡。

缺省情况下,交换设备的BPDU保护功能处于禁止状态

 

1.配置边缘端口

 

//当接口配置为边缘端口,不接收BPDU,不参与选举角色,实现快速转发
[SW3]int e0/0/3
[SW3-Ethernet0/0/3]stp edged-port enable

配置边缘端口保护,PC机向边缘端口发送BPDU报文,接口直接down掉

[SW3]stp bpdu-protection

如果配置BPDU保护以后被接口因为发送BPDU被down,想要恢复

//手动恢复,到接口下
undo shutdown

//自动恢复,30s恢复
error-down auto-recpvery cause bpdu-protection interval 30

 

BPDU Filter【更好】

应用场景:

对于运行生成树协议的网络,当通过命令stp edged-port enable将当前端口配置成边缘端口,该端口便不再参与生成树计算,从而帮助加快网络拓扑的收敛时间以及加强网络的锤稳定性。可是端口仍然会发送BPDU报文,这可能导致BPDU报文发送到其它网络,引起其它网络产生震荡。

通过在该端口上配置命令stp bpdu-filter enable 便可解决此问题。在网络边缘设备上配置该命令,使边缘端口不处理,不发送BPDU报文,该端口即为BPDU filter端口

接口下配置:

接口下启用BPDU Filter特性(不一定需要边缘端口就是edged-port),这个接口只会接受BPDU报文, 不做任何处理,不发送

//BPDU保护和BPDU Filter可以同时配置,但是一起的时候只有BPDU filter生效   
[SW3]int g0/0/3
[SW3-GigabitEthernet0/0/3]stp bpdu-filter enable 
[SW3-GigabitEthernet0/0/3]dis this
#
interface GigabitEthernet0/0/3
 stp bpdu-filter enable
 stp edged-port enable
#
return

全局配置:没什么用

全局启用BPDU Filter特性,只作用于 edged port的接口。如果此接口不在DBPU 边缘接口的状态,那么BPDU Filter的特性也会被禁止,接口生成生成树的计算

[SW3]stp bpdu-filter default

 

根桥保护

一开始都不配,要接入交换机了,把被接入交换机的那个接口配置根桥保护

TC-BPDU泛洪保护

交换设备在接受到TC BPDU报文后,会执行MAC地址表项和ARP表项的删除操作。如果有人伪造TC BPDU报文恶意攻击交换设备时,交换设备短时间内会收到很多TC BPDU报文,频繁的删除操作会给设备造成很大的负担,给网络的稳定性带来很大隐患。

启用防tc-bpud攻击后,如果在单位时间内,设备只会处理阀值指定的次数。对于其他超出阀值的TC BPDU报文,定时器到期后设备只对其统一处理一次。这样可以避免频繁的删除MAC地址表项和ARP表项,从而达到保护设备的目的

//默认2s处理一个TC-BPDU报文
sys
//开启对TC-BPDU报文保护功能
stp tc-protection

//处理TC-BPDU的时间间隔,默认2s
stp tc-protection interval X

//单位时间内处理TP-BPDU的阀值,默认1个
stp tc-proterction threshold X

比如有100个BPDU报文需要处理,设置了时间间隔为2s,阀值为2个,那么剩下的98个BPDU是2s过后,统一处理一次

 

配置RSTP

[SW1]stp mode rstp 
[SW1]stp bpdu-protection 

[SW2]stp mode rstp 
[SW1]stp bpdu-protection 
[SW3]stp mode rstp
[SW1]stp bpdu-protection 

现在SW3是root,修改SW1为root

//想要那个设备成为root,就修改优先级为0或4096的倍数
[SW1]stp priority ?
  INTEGER<0-61440>  Bridge priority, in steps of 4096

[SW1]stp priority 0

配置指定AP接口

//想要让哪个端口成为AP口,就去那个端口下操作,默认cost2W,越小越优先
[SW3]int g0/0/2
[SW3-GigabitEthernet0/0/2]stp cost 60000

 

 

 

 

继续阅读
weinxin
我的微信
这是我的微信扫一扫
  • 文本由 发表于 2021年1月6日18:29:37
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
QinQ switch

QinQ

QinQ 什么是QinQ QinQ(802.1Q in 802.1Q)它是基于IEEE 802.1Q技术的一种二层隧道协议,通过将用户的死亡报文封装在外层VLAN Tag,使其携带两层VLAN Tag...
MUX VLAN switch

MUX VLAN

MUX VLAN MUX VLAN提供一种通过VLAN进行网络资源控制的机制。 在企业网络中,企业员工和企业客户可以访问企业的服务器。对于企业来说,希望企业内部员工之间可以互相交流,而企业客户之间是隔...
MSTP/802.1S switch

MSTP/802.1S

MSTP/802.1S MSTP多生成树协议,是IEEE802.1S中定义的生成树协议,具备RSTP的快速收敛机制,基于实例进行生成树计算,并把VLAN映射到实例中,通过控制哪个实例为根桥,哪个实例为...
VRRP switch

VRRP

VRRP VRRP网关的冗余备份协议,电脑的下一条备份 VRRP简单的原理 通过协商组成一台虚拟路由器,作为网关使用  比如说两台三层交换机,配置都一样,SW1下挂着一台PC机,SW2是SW1的备份交...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: