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更改生成树模式(因为华 ...
随机推荐
- Spring AOP框架 AspectJ
1 AspectJ简介 v AspectJ是一个基于Java语言的AOP框架 v Spring2.0以后新增了对AspectJ切点表达式支持 v @AspectJ 是AspectJ1.5新增功能 ...
- djangoProject default codes
1 === 2 settings.py 3 === 4 """ 5 Django settings for djangoProject project. 6 7 Gene ...
- C# AutoMaper简单使用
AutoMapper它是一种对象与对象之间的映射器,让AutoMapper有意思的就是在于它提供了一些将类型A映射到类型B这种无聊的实例,只要B遵循AutoMapper已经建立的惯例,那么大多数情况下 ...
- 前缀树及其Java实现
前缀树 基础知识 Trie树.又称之为单词查找树或者键树,是一种树形结构.应用于统计和排序大量的字符串.常被搜索引擎系统用于文本词频统计.它的优点:能够最大限度的减少无谓的字符串比较,查询效率比哈希表 ...
- Axis <=1.4 RCE 复现
1.环境搭建 在idea 上新建项目,然后用tomcat运行即可 2.漏洞复现 2.1 freemarker.template.utility.Execute 如果项目里面没有freemarker 就 ...
- [第十二篇]——Docker Dockerfile之Spring Cloud直播商城 b2b2c电子商务技术总结
Docker Dockerfile 什么是 Dockerfile? Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明. 使用 Dockerfile 定制 ...
- 【第四篇】- Maven 构建生命周期之Spring Cloud直播商城 b2b2c电子商务技术总结
Maven 构建生命周期 Maven 构建生命周期定义了一个项目构建跟发布的过程. 一个典型的 Maven 构建(build)生命周期是由以下几个阶段的序列组成的: 阶段 处理 描述 验证 ...
- C++病毒
病毒代码一#include <bits/stdc++.h> #include <windows.h> using namespace std; void HideWindow( ...
- uni-app开发基本知识点
uni-app: 开始:必须要有一个根view结点. 外部文件引用方式的变化: js要require进来,变成了对象. <script> var util = require('../.. ...
- Java跨平台原理(字节码文件,虚拟机)
介绍 C/C++语言都直接编译成针对特定平台机器码.如果要跨平台,需要使用相应的编译器重新编译. Java源程序(.java)要先编译成与平台无关的字节码文件(.class),然后字节码文件再解释成机 ...