Day7 RSTP

DAY7 RSTP

一、STP 回顾

1.STP技术背景

为了保证网络的健壮性,部署链路和设备冗余

冗余带来了问题是二层环路,环路导致了三个问题:

- 广播风暴
- 重复的数据帧
- MAC地址表不稳定

2.概念

既想要有冗余,要要去除环路带来的危害: 使用 STP (Spanning Tree Protocol) IEEE 802.1d

STP能够从逻辑上去阻塞一个端口,当非阻塞链路出现单点故障的时候,这个被阻塞的端口恢复到转发数据的状态。

3.工作原理

STP选举过程:

终极目标就是要找到那个被阻塞的接口

  • 选出根桥
选举开始的时候,网络中所有的交换机都会认为自己是根桥,都会向外发送 BPDU,BPDU上记录着交换机的选举的依据。
越小越优先
最后选举出根桥,只有根桥才能在网络中发送BPDU,其他的非根桥负责接收和转发根桥产生的BPDU。
  • 在非根交换机上选出根端口
根端口
每一台交换机在它自己的所有端口中,选择出一个端口作为根端口:

1. 所有端口中选择出一个 离根桥最近的端口作为根端口 【到达根桥的路径开销(cost)最小】
2. 如果Cost值相同,比较该接口收到的BPDU中的 Sender-BID
3. 如果Send-BID也相同,则比较接口收到的BPDU中 Sender-PID
4. 如果Sender-PID也相同,则比较自身接口的PID。
  • 选出指定端口
一般情况下,根端口对面的接口都是指定端口

在剩余的链路中(这段链路没有根端口和指定端口)选举出指定端口
1. 比较端口自身的交换机到达根桥的路径开销
2. 如果开销值相同,则比较自身交换机的 BID
3. 如果BID也相同,则比较交换机的PID
  • 最后剩下的就是要被阻塞的那个端口

最后从逻辑上去掉阻塞的链路,就能看到一个无环的树

术语:
1.BPDU

Bridge protocol data unit 桥协议数据单元

STP在交换机之间运行,交换配置信息是靠BPDU实现的,BPDU用于进行各种选举。

交换机或者网桥之间周期性地发送: 每2s发送一次,当选举结束以后,根桥会以每2s一次的频率发送自己的BPDU

BPDU的关键字段:

image-20230323113318690

Root BID:根桥的BID

根桥选举,依靠BPDU中的BID:优先级 + MAC地址
优先级的范围:0-65535 但是只能设置为4096的倍数
如果优先级一致,就比较MAC地址
MAC地址是唯一的,不可能相同

Root Path:达到根桥的开销,当交换机接收到BPDU的时候,会根据自己的链路带宽,修改 Root Path(cost)

COST值:
10MBps   100
100MBps  19
1GBps    4
10GBps   2

Sender BID:当根桥发出的BPDU,经过一台交换机的时候,这台交换机会把自己的 BID 写到 Sender-BID的位置

Port ID:端口的ID

Port id : 优先级+端口号 0-255 默认值128
2.交换机接收BPDU

当交换机接收了一个更优的BPDU(有最小的 Root-BID或者 Root Path),接收的端口就会保存这个BPDU。

4.STP的状态机

启动【Disable】:最初始的状态

阻塞【Blocking】:如果端口被选举成为了 阻塞端口,则这个端口就不能转发数据了

被阻塞的端口,不能往外转发BPDU,只能接收BPDU
也不能学习MAC地址。

侦听【Listening】:完成选举过程

能够接收和转发BPDU
不能学习MAC地址
也不能转发数据

学习【Learning】:学习MAC地址,用来完善交换机自己的MAC地址表

能够学习MAC地址
能够接收和转发BPDU
不能转发数据

转发【Forwarding】:能够进行转发数据了

能够接收换发送BPDU
能够学习MAC地址
能够转发数据

端口的状态切换过程:

image-20230323114017880

5.STP的计时器

发延时:15s forward delay

从 Listening 到 Learning,需要经历15s

从 Learning到 Forwarding,需要经历 15s5

阻塞计时器:被阻塞的端口,需要从 BLK—> LSN ,需要经历最大20s的时间。

image-20230323114328032

6.STP的拓扑变更

https://support.huawei.com/enterprise/zh/doc/EDOC1100092149

二、RSTP

IEEE - 802.1W Rapid STP

1.STP协议存在的一些问题

问题一: 设备运行STP从初始化,到完全能够进行数据转发—> 至少要经历 30s的时间 【收敛慢】

问题二:交换机有BP端口,RP端口down掉场景

SWC与SWA的直连链路down掉,其BP端口切换成RP端口并进入转发状态至少需要经过30s 

image-20230325144332973

问题三:交换机无BP端口,RP端口down掉场景

SWB与SWA的直连链路down掉,则SWC的BP端口切换成DP端口并进入转发状态大约需要50s

image-20230325145150446

问题四:运行STP的交换机连接用户终端的场景

末梢交换机连接终端的链路进入转发需要经过30s-50s

image-20230325145226020

问题五:STP的拓扑变更机制

机制复杂,效率低下

image-20230325145257712

问题六:STP的其他不足之处 - 端口角色

端口角色太少了,对于一些场景中,当根端口故障,blocked端口一定会成为根端口,或者指定端口故障,blocked端口一定会成为指定端口的场景,这些端口需要在额外的定义角色

目前阻塞端口就是 block,blocked端口到转发状态,至少要经历两个转发延时 15+15

问题七:STP的其他不足之处 - 端口状态

disable、blocking、listening状态的端口,都不能学习MAC地址,也都不能转发数据

2.RSTP对STP的改进

针对问题一:收敛慢

快速收敛机制
P/A机制	 proposal 提议 	Agreement 同意

P置位的BPDU表示:我提议让我当根桥
A置位的BPDU表示:我同意你当根桥

image-20230325150245447

针对问题二:

前提:有了更多的端口角色 AP为 RP的替代端口,它也会一直接收来自根桥的BPDU

当SWC的RP失效以后,SWC的AP端口会立即成为新的根端口,并进入转发状态。

image-20230325150321292

针对问题三:次等BPDU处理机制

SWB与SWA的直连链路down掉,SWC的AP端口切换成DP端口并进入转发状态可在秒级时间内完成:当SWC的RP

失效以后,SWC的AP端口会立即成为新的根端口,并进入转发状态。

针对问题四:引入边缘端口

在RSTP中,交换机连接终端的链路可立即进入转发状态

针对问题五:拓扑变更机制的优化

网络发生拓扑变化时,变更点交换机直接向全网发送TC置位的BPDU报文,而不是先通知到根桥,然后由根桥向全网
发送TC报文,这样在一定程度上节省了收敛时间

image-20230325150435850

交换设备接收到TC置位的BPDU后,会清空除了收到报文外的其他所有非边缘端口学习到的MAC地址

RSTP的保护功能:

当边缘端口接收到BPDU以后,这个边缘端口就要进行RSTP的运算,而不再是一直处于Forwarding状态

BPDU保护:当边缘端口收到配置BPDU,边缘端口变成关闭的状态
根防护:防止根桥地位丢失,导致错误的网络拓扑变更(不该阻塞的端口被阻塞了!)
TC-BPDU:防止大量的TC-BPDU传递到网络中,导致交换机频繁删除MAC地址表,引起网络的震荡。

针对问题六:

RSTP定义了两种新的端口角色:备份端口(Backup Port)和预备端口(Alternate Port)。

预备端口(Alternate Port)作为根端口的备份。
备份端口(Backup Port) 作为指定端口的备份。

image-20230325150041686

针对问题七:

端口状态的重新划分:RSTP的状态规范把原来的5种状态缩减为3种

image-20230325150121660

3.RSTP配置

image-20230325152408347

# 方法1:将交换机的角色设置为 primary 主根桥 Secondary 备根桥,当交换机被指定成根桥或备根桥,它的优先级不能被修改了
[SW1]stp root ?
primary Primary root switch # 将交换机的优先级改成0
secondary Secondary root switch # 将交换机的优先级改成4096

# 手工设置交换机的桥优先级
[SW1]stp priority ?
INTEGER<0-61440> Bridge priority, in steps of 4096

华为的 x7交换机 STP默认开启 RSTP模式

stp enable
stp mode rstp

配置边缘端口

[SW2-GigabitEthernet0/0/3]stp edged-port enable

将接口配置为边缘端口,当接口连接终端设备时,会立即进入转发状态。
但是当接口接收到BPDU后,接口会丢失边缘端口特性,成为一个正常的STP端口。

根桥攻击实验:

image-20230325153123757

# 启动yersinia
yersinia -G

image-20230325153218697

防护手段: 在交换机上,开启根保护
[SW2-GigabitEthernet0/0/4]stp root-protection

TCb-BPDU泛洪攻击,会引起交换机频繁删除MAC地址表信息:

image-20230325153253277

网络中充斥着大量的 TCN BPDU:

image-20230325153315231
进入转发状态。
但是当接口接收到BPDU后,接口会丢失边缘端口特性,成为一个正常的STP端口。




根桥攻击实验:

[外链图片转存中...(img-fyDkjZPM-1679831015247)]



启动yersinia

yersinia -G


[外链图片转存中...(img-5xFe5q0I-1679831015248)]



防护手段: 在交换机上,开启根保护
[SW2-GigabitEthernet0/0/4]stp root-protection




TCb-BPDU泛洪攻击,会引起交换机频繁删除MAC地址表信息:

[外链图片转存中...(img-LmWNCdLS-1679831015248)]



网络中充斥着大量的 TCN BPDU:

[外链图片转存中...(img-PcGHg2NA-1679831015248)]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值