HCIP-RSTP





端口角色
- 根端口(RP):
非根桥收到最优的BPDU配置信息的端口为根端口,(到根桥开销最小的端口),根桥没有根端口。
- 指定端口(DP):
两非根交换机之间连接的两个端口必有一个为指定端口,比较两个非根交换机的根端口到达根桥的链路开销,开销低的交换机的端口就是指定端口,开销一样比较桥ID。发送BPDU的口;根桥上所有端口都是指定端口。
- 替代端口(AP):
收到其他网桥更优的bpdu,然后进入阻塞状态的口,是根端口的备份端口,指定从桥到根的另一套条路。
- 备份端口(bp):
收到本地的更好的bpdu的口,是指定端口的备份端口,指定从根到桥的另一套条路。
端口状态:
learing状态可丢弃(当双方协议都为RSTP可以丢弃,当一方为STP一方为RSTP会保存)
RSTP只有俩个状态:Forwarding,Discarding

配置BPDU - RST BPDU

配置BPDU
(1)拓扑稳定后,配置BPDU报文的发送方式
STP:拓扑稳定后,根桥按照Hello Time规定的时间间隔发送配置BPDU。其他非根桥设备在收到上游设备发送过来的配置BPDU后,才会触发发出配置BPDU,此方式使得STP计算复杂且缓慢。
RSTP:在拓扑稳定后,无论非根桥设备是否接收到根桥传来的配置BPDU报文,非根桥设备仍然按照Hello Time规定的时间间隔发送配置BPDU,该行为完全由每台设备自主进行。
(2)更短的BPDU超时时间
STP:BPDU超时时间20S
RSTP:超时时间6S(三个Hello Time时间)没有收到上游设备发送过来的配置BPDU,那么该设备认为与此邻居之间的协商失败。
(3)处理次优BPDU
STP:STP协议只有指定端口会立即处理次优BPDU。
RSTP:当一个端口收到上游的指定桥发来的RST BPDU报文时,该端口会将自身缓存的RST BPDU与收到的RST BPDU进行比较。(如果端口缓存的RST BPDU优于收到的RST BPDU,那么端口会直接丢弃收到的RST BPDU,立即回应自身缓存的RST BPDU,从而加快收敛速度)\
P/A机制
STP中,该端口至少要等待一个Forward Delay(Learning)时间才会进入到Forwarding状态
1,RSTP通过P/A机制加快了上游端口进入Forwarding状态的速度。
2,在RSTP中,当一个端口被选举成为指定端口之后,会先进入Discarding状态,再通过P/A机制快速进入Forwarding状态。

例:
同步状态:收到根桥发来的P位置位后进入同步
意义:防止临时环路(P/A机制在1S内立刻完成容易引发临时环路)

拓扑变更机制
拓扑变更:非边缘端口迁移到Forwarding
1,拓扑变化(链路故障)
2,开启计时器(2倍Hellow time),并清空Mac地址(保证Mac地址有效)
3,发TC置位
4,接受TC置位的端口除外,其他口清空Mac
5,同步2,3(RST BPDU泛洪)

学MAC:从帧的源Mac映射到接口端口
Mac不清空:1,包被丢弃 2,Mac地址错误
Mac不自动刷新,300S老化时间
RSTP保护
BPDU保护:(100%EP,只能接主机)

- 正常情况下,边缘端口不会收到RST BPDU。如果有人伪造RST BPDU恶意攻击交换设备,当边缘端口接收到RST BPDU时,交换设备会自动将边缘端口设置为非边缘端口,并重新进行生成树计算,从而引起网络震荡。
- 交换设备上启动了BPDU保护功能后,如果边缘端口收到RST BPDU,边缘端口将被error-down,但是边缘端口属性不变,同时通知网管
根保护:

- 启用根保护功能的指定端口收到优先级更高的RST BPDU时,端口将进入Discarding状态,不再转发报文。经过一段时间(通常为两倍的Forward Delay),如果端口一直没有再收到优先级较高的RST BPDU,端口会自动恢复到正常的Forwarding状态。
- 根保护功能确保了根桥的角色不会因为一些网络问题而改变。
- 根保护:

环路保护:

- 启动了环路保护功能后,如果根端口或Alternate端口长时间收不到来自上游设备的BPDU报文时,则向网管发出通知信息(此时根端口会进入Discarding状态,角色切换为指定端口),而Alternate端口则会一直保持在Discarding状态(角色也会切换为指定端口),不转发报文,从而不会在网络中形成环路。
- 直到链路不再拥塞或单向链路故障恢复,端口重新收到BPDU报文进行协商,并恢复到链路拥塞或者单向链路故障前的角色和状态。
防TC-BPDU攻击:

- 启用防TC-BPDU报文攻击功能后,在单位时间内,交换设备处理TC BPDU报文的次数可配置。
- 如果在单位时间内,交换设备在收到TC BPDU报文数量大于配置的阈值,那么设备只会处理阈值指定的次数。
- 对于其他超出阈值的TC BPDU报文,定时器到期后设备只对其统一处理一次。这样可以避免频繁的删除MAC地址表项,从而达到保护设备的目的
配置命令:
Stp mode rstp //改为rstp模式
Display stp brief //查看端口状态
Stp priority o //改优先级为0(主根)
Stp root primary //改为主根
Stp root secondary //改为备根
Stp priority 4096 //改优先级为4096(备根)
Port link-type access //设置端口链路类型为access
Stp edged-port default //配置EP,接口下配置只有接口生效,全局下所有端口生效
Stp edged-port disable //在接口下配置,用于关掉全局下配置下变为EP的接口
Stp bpdu-protection //BPDU保护(EP收到BPDU立刻shutdown)
Restart //用于打开BPDU保护下导致关闭的接口
Stp root-protection //保护根不变(如果新接入的SW会成为新的根那么会丢弃接口)
Stp tc-protection threshold x //系统视图配置,限制每一次2S收到的tc数量为x,超过的忽略
Stp loop-protection //开启环路保护
HCIP-RSTP的更多相关文章
- Android视频直播解决方案(rstp、udp)
做局域网视频直播有两种方案,通过rstp或udp协议. 1.rstp协议,网络上有个开源项目,基于Android,且这个项目也是一个服务端,里面也集成了http访问页面,可以通过http或者rstp直 ...
- iOS使用ffmpeg播放rstp实时监控视频数据流
一.编译针对iOS平台的ffmpeg库(kxmovie) 最近有一个项目.须要播放各种格式的音频.视频以及网络摄像头实时监控的视频流数据,经过多种折腾之后,最后选择了kxmovie,kxmovie项目 ...
- 配置STP、RSTP以及负载均衡
生成树协议是一种二层管理协议,它通过有选择性地阻塞网络冗余链路来达到消除网络二层环路的目的,同时具备链路的备份功能. 每个VLAN都生成一棵树是一种比较直接,而且最简单的解决方法.它能够保证每一个VL ...
- STP RSTP
一.透明网桥 1.对于一般的透明网桥来说,通常都具有以下的特点: +拓展LAN的能力 +自主动态学习站点的地址信息 当网桥的某个端口上收到含有某个源MAC地址的数据帧时,它就把该MAC地址和接收该数据 ...
- BPDU报文(RSTP)
与STP 的BPDU报文格式相同,就是在flags字段报文中间几位得到应用 主要原理:利用flages位中的Proposal与Agreement来进行协商,从而快速从 discarding 转成 fo ...
- RSTP介绍
1. 介绍 RSTP(Rapid Spanning Tree Protocol),快速生成树协议,标准为802.1w(已合入802.1D-2004)RSTP是对STP技术的修改和补充,最大特点就是快速 ...
- STP-9-处理RSTP中的拓扑变化
STP能识别四种不同的拓扑变化事件, 而RSTP只有当非边界端口从非转发状态变为转发状态才认为发生了拓扑变化事件 因为刚变为转发状态的端口可以为一些mac地址提供比之前更好的路径,CAM表需要更新.失 ...
- 华为eNSP路由交换实验-生成树之RSTP
RSTP基础配置 实验拓扑图 实验步骤 1.基本配置 根据实验编址表进行相应的基本IP配置. 2.配置RSTP基本功能. (1)把生成树模式由默认的MSTP(华为交换机默认开启)改为RSTP. [FW ...
- RSTP基本配置
1.用四台S3700交换机,2台PC机,一台HUB,组建网络拓扑 2.测试主机间的连通性 3.配置rstp基本功能 (1)把交换机stp模式由默认的mstp变为rstp.在华为交换机上默认开启了mst ...
- 实验之RSTP基础配置
STP升级版之RSTP 实验环境 实验拓扑图 实验编址 实验步骤 1.基本配置配置PC端 测试i相通性 2.配置RSTP基本功能在S1-S4上都使用命令stp mode rstp更改生成树模式(因为华 ...
随机推荐
- Aggressor Script 开发-Powershell 免杀
转载https://www.jianshu.com/p/f158a9d6bdcf 前言 在接触到Cobalt Strike的时候就知道有各种插件,想象着那天也可以自己学习编写一个.在之前分析Cobal ...
- Linux下chkconfig
1.chkconfig命令用于检查,设置系统的各种服务! 2.chkconfig语法 chkconfig [--add] [--del] [--list] [系统服务] 或 chkconfig [-- ...
- Onenote实现OCR识别图片
OCR识别推荐两个软件: 1. Tesseract:一个开源的,由谷歌维护的OCR软件. 2. Onenote:微软Office附带或者可以自己独立安装. 3. O ...
- Git 系列教程(3)- 初次运行 Git 前的配置
前言 直接搬官网教程,再修改下,先啰嗦可以直接看以前的文章 Window初始化Git环境 https://www.cnblogs.com/poloyy/p/12185132.html Linux初始化 ...
- (2)java Spring Cloud+Spring boot+mybatis企业快速开发架构之SpringCloud-Spring Cloud是什么?Spring Cloud版本介绍
Spring Cloud 是一系列框架的有序集合.它利用 Spring Boot 的开发便利性,巧妙地简化了分布式系统基础设施的开发,如服务注册.服务发现.配置中心.消息总线.负载均衡.断路器.数 ...
- vue-cli3 项目中通过 CDN方式 使用 echarts
1.html 中引入 echarts html中添加script标签如下: <script src="//cdn.bootcss.com/echarts ...
- 简单入门PHP中的多字节字符串操作
什么是多字节的字符串操作呢?其实不少的同学可能都已经使用过了,但我们还是要从最基础的问题说起. 一个字符占几个字节并不是我们表面上看到的那样.正常情况下,一个数字或英文以及英文符号都是占用一个字节的. ...
- mysql语句alter添加 字段
alter table ylh_coupon add is_reg int default 0 给数据表 ylh_coupon 添加一个字段 is_reg,,整型,默认值为0
- Java基础系列(31)- 可变参数
可变参数 JDK1.5开始,Java支持传递同类型的可变参数给一个方法 在方法声明中,在指定参数类型后加一个省略号(...) 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数.任何普通的参数 ...
- 基于Docker构建企业Jenkins CI平台