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更改生成树模式(因为华 ...
随机推荐
- python 中最好用的身份证规则解析工具,地区码、性别、出生年月、身份证编码等快速校验!
安装并导入依赖库 # pip install parseIdCard from parseIdCard import parseIdCard from pprint import pprint 地区码 ...
- 【CSS】计数器
抄自B站Up主CodingStartup起码课 <!DOCTYPE html> <html lang="en"> <head> <meta ...
- Linux下ansible使用
一.ansible的功能和意义 1.功能 ansible批量功能 ----------------------> 并行 01. 可以实现批量系统操作配置 02. 可以实现批量软件服务部署 03. ...
- 比培训机构还详细的 Python 学习路线,你信吗 0^0
前言 这其实是将自己写的文章进行一个总结分类,并不代表最佳学习路线 会不断更新这篇文章...没链接的文章正在编写ing...会不会哪天我的这个目录就出现在培训机构的目录上了... 目前实战比较少(要是 ...
- Docker(23)- 注册 docker hub 的账号
如果你还想从头学起 Docker,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1870863.html 前言 Docker Hub 是 ...
- 知乎大佬图文并茂的epoll讲解,看不懂的去砍他
select.poll.epoll的文章很多,自己也看过不少经典好文.不过第一次看到讲的如此通俗易懂.又图文并茂的.因此拿来分享下,供后续翻看学习. 原文链接:https://zhuanlan.zhi ...
- mysql远程连接以及错误解决&命令行基本操作
现在大家的程序服务基本都是部署在云服务器上,今天我分享记录一下:使用mysql数据库过程中比较常见操作和遇到的问题 环境:lunix 系统(阿里云服务器,华为云服务器,腾讯云等均适用) + mysql ...
- Nginx:无处不在的Nginx的八个应用场景与配置
--- 阅读时间约 15 分钟 --- Nginx概述 众所周知,互联网已经离不开 WEB服务器 ,技术领域中 WEB服务器 不止 Nginx 一个,其他还有很多如 Apache . ...
- 使用@EnableConfigurationProperties注册配置Bean时的命名规则
Spring和Spring Boot开发中,常使用@ConfigurationProperties注解某个类,使其实例接受一组具有相同前缀的配置项. 可以使用@Component或Java Confi ...
- url传参和解决中文乱码
在A页面把参数传给B页面 index.html?name="张三" 在B页面接收(js) function getQueryString(name) { var result = ...