STP和RSTP协议理解
一、协议作用
解决二层网络中的环路问题。
二、环路带来的危害
- 广播风暴
- MAC表紊乱
- 多帧复制
三、STP协议
spanning-tree proto,在逻辑上将特定端口进行block,从而保证传输链路是一个生成树。在一个物理环路的交换网络中,交换机通过运行STP协议,自动生成一个没有环路的工作拓扑。
(一)作用
- 消除环路:阻塞冗余链路。
- 链路备份:当前活动链路发生故障时,激活冗余备份链路,恢复网络连通性。
(二)相关概念
- 桥:(Bridge)早期交换机一般只有2个端口,那时的交换机称为“网桥”,或简称“桥”,现仍使用。桥和交换机这两个术语混用。
- 桥的MAC地址:1个桥有多个转发端口,每个端口有一个MAC地址。通常将端口编号最小的那个端口的MAC地址作为整个桥的MAC地址。
- 桥ID:(Bridge Identifier ,BID),桥ID由2个部分组成 – 前2个字节是桥优先级,后面的6个字节是桥的MAC地址。桥优先级可人为设定,缺省32768(0x8000)。
- .端口ID:(Port Identifier,PID),指一个桥(交换机)的某个端口的ID。不同厂商的PID定义方法不同(端口优先级+端口编号)。缺省优先级128,范围是[0,255]。
(三)STP初始化操作
1. 生成树建立过程
- 每个交换网络选举一个根桥(Root Bridge)(泛洪发送配置BPDU报文,初始所有桥都认为自己是根桥)。
- 每个非根桥选举一个根端口(Root Port);
- 每个段选举一个指定端口(Designated Port);
- 阻塞非指定端口(NonDesignated Port);
2. 选举操作
- 选举操作依赖于BPDU报文的泛洪。
- 通过比较BPDU报文中的Root identifier, Root Path Cost, Bridge identifier, port identifier进行选举。
- 比较次序:Root identifier > Root Path Cost > Bridge identifier > port identifier。
- 值越小越优先。
3. BPDU报文
(1) 结构
- max age 默认:20
- Hello time 默认: 2
- Forward delay 默认: 15
(2)特点
- 二层报文
- 定时发出,维护链路状态
- 多播
(四)STP 端口状态
- disable
- blocking
- listening
- learning
- forwarding
(五)STP拓扑变更机制
注意:个人理解这里分为端口故障变更和线路故障变更
(1)端口故障造成的拓扑变更
- 由端口故障交换机自己感知到,从根端口发出TCN-BPDU报文。
- 该交换机端口直接进入listening状态,花费30s进行拓扑变更(listening+learning)。
(2)线路故障造成的拓扑变更
- 线路故障交换机没办法直接感知到。
- 交换机经过Max age没有收到BPDU报文,则从根接口发送TCN-BPDU报文。
- 随后进入listening状态,重新生成树。
- 花费20+15+15=50s
(六)缺陷
收敛速度慢,每次拓扑变更需要经过listening和learning。
四、 RSTP协议
(一)、充分利用BPDU的flag字段
(二)、新增Alternate端口、Backup端口
- Alternate端口:根端口替换端口。
- Backup端口:指定端口替换端口。
(三)、P/A协商:端口快速收敛机制
- 交换机在启动后端口会都是转发端口,状态都是discarding,然后相互发送带porposal位的请求给对方。
- 交换机通过比较接收的BPDU判断选举根桥,其他交换机为防止临时环路,端口状态都是discading。
- 根桥会发送porposal的协商请求,非根桥收到后会将端口状态变为forwarding然后回复agreement BPDU。
- 逐层收敛,从根收敛到树叶。
(四)、维持树方式:自己发送配置BPDU
- stp中由根桥以hello time间隔时间发送配置BPDU给其他非根桥,如果其他交换机超过 Max Age时间就会认为根桥down掉了,然后非根桥之间再重新选举出新的根桥来。
- rstp 中每台非根桥都会以自己的hello time时间间隔向其他非根桥发送 BPDU,以确认树的存在。
- 如果突然某个拓扑结构发生了改变,如一个端口down掉了,那么该交换机会向其他交换机发送TC BPDU来清空各个交换机的MAC地址表。
(五)、边缘端口
- 直接与终端相连而不是与其它网桥相连的端口定义为边缘端口。
- 边缘端口可直接进入forward状态,零时延。
- 需要人工配置。
缺陷
- rstp协议必须在双全工点对点链路上运行。
- 同stp一样仍然是单生成树,收敛时间长,拓扑变化影响大。
- VLAN不适用(对于非对称网络,如两个交换机间,一条trunk链路,一条一般链路,block了trunk端口,显然错误)。
- 会造成带宽浪费。
STP和RSTP协议理解相关推荐
- R&S,数通HCIP|STP高级-RSTP协议
一.前言 阅读本篇文章建议首先了解基本STP协议的有关原理,可以先看一下之前的文章"网络数通HCIP|STP生成树协议". 二.RSTP协议 (一)STP的不足 (1)不同情形下的 ...
- STP和RSTP协议
周期性的发送BPDU数据,产生生成树
- 生成树技术详解(STP、RSTP、MSTP)
一.STP STP出现的背景 根本问题:存在环路,所以会带来以下问题 ①广播风暴导致网络不可用. ②MAC 地址表震荡导致 MAC 地址表项被破坏. ③多帧复制. STP主要作用:通过阻塞端口来消除环 ...
- 生成树协议STP、RSTP和MSTP原理的理解
在组网中,很可能会出现环路或者称冗余链路,为避免形成广播风暴,需要一种方法来避免形成环路,并且在主链路故障中断时候,可以将冗余链路自动切换为转发状态,以恢复网络的连通性.生成树协议(STP.RSTP. ...
- RSTP协议原理与配置整——RSTP对STP的改进
1.端口角色与端口状态 端口角色的重新划分 RSTP定义了两种新的端口角色:备份端口(Backup Port)和预备端口(Alternate Port). 根据STP的不足,RSTP新增加了两种端口角 ...
- STP/RSTP协议(二)
STP协议详解:https://blog.csdn.net/qq_40741808/article/details/105744865 RSTP 一.RSTP的端口角色 边缘端口的特点 二.RSTP的 ...
- 生成树协议三姐妹:STP、RSTP 和 MSTP,附思科和华为双厂商命令示例
在计算机网络中,为了保证网络拓扑结构的稳定性和可靠性,需要采用一些协议进行网络的管理和控制.其中,STP.RSTP 和 MSTP 是三种常用的网络管理协议.本文将分别介绍这三种协议,并且使用华为.思科 ...
- STP、RSTP、MSTP协议
常见的单点故障 二层 解决方案:链路聚合,STP生成树协议 新的问题产生:环路产生---产生了广播风暴,导致资源震荡 MAC地址表震荡 三层 解决方案:VRRP协议 ----------------- ...
- 思科模拟器 | 生成树协议STP、RSTP、HSRP配置
一.生成树协议STP 概念介绍: 生成树协议是一种网络协议,用于在交换机之间建立逻辑上的树形拓扑结构避免产生环路.为了完成这个功能,生成树协议需要进行些配置,包括根桥的选举.端口的状态切换等. 步骤明 ...
最新文章
- Qt: 实现浮点slider和浮点spinbox
- JUNOS下的浮动路由
- 【转】Linux程序编译速度提高方法
- 线程同步之关键代码段
- 计算机视觉,图像处理 经典代码paper整理(很全很强大!)
- tensorflow随笔-读文件
- Jar包部署-指定jsp打包配置
- Linux学习笔记-对Makefile的初步优化
- spring boot 源码_springboot源码架构解析listener
- java某个参数值设置为空_@PathVariable为空时指定默认值的操作
- NOIP2016愤怒的小鸟 题解报告 【状压DP】
- paip.c++ static 变量的定义以及使用...
- [裴礼文数学分析中的典型问题与方法习题参考解答]4.3.24
- 黑马redis实战-秒杀页面
- Firebug工具的介绍与安装
- 冰点还原离线激活_冰点还原密钥,小编告诉你如何激活冰点还原
- hihocoder 1251 Today Is a Rainy Day 2015北京区域赛C
- 阿里云短信服务接口触发天级流控Permits:10
- 高斯旋转热源与双椭球热源_【干货】论焊接,3D打印模拟的热源模型——焊缝、3D打印高度变换模拟...
- PHP 7.3 新特性介绍
热门文章
- 巨头围攻之下,独立云厂商前途何在?
- 计算机服务器草稿位置,疾风式全栈(10)-网络与Web服务器(草稿预览)
- 19年,改变,遇见更好的自己!(文末送电子书)
- 复合函数的凸性判定函数扩展须知
- 计算机游戏攻略32关,保卫萝卜3单机版集市第32关攻略 有很多隐藏炮塔
- 002945华林证券75天亏86%中签的人却亏了近200%
- 配置 Docker 镜像加速 -小白实操记录
- 机器学习——聚类——距离聚类法——K-means
- 蓝海创意云vray渲染使用环境光遮挡
- 写出查询表中一个字段第三个字母为A第五个字母为R的sql