一、STP协议的缺点,存在的问题


  1. STP 协议工作时间收敛慢,响应时间长---------->RSTP

  2. 原始的802.1d(stp)不支持多个vlan---->(PVST===>把一个单独的 vlan 添加为一个实例)--->MSTP

二、RSTP rapid


  1. 为了解决STP收敛慢的问题

  2. STP的问题 RP:root port 根端口 DP: 指定端口 BP:阻塞端口

    • 问题1:慢:设备从初始化,到收敛完成,最少要经历30s的时间,最长50s

      为了防止临时环路的出现,采用被动等待的计时器

      STP的计算,必须要等待固定的时长

    • 问题2:交换机BP端口切换RP端口的等待延时

      SWC与SWA的直连链路down掉,SWC默认自己为根桥(根桥不存在BP端口)将其BP端口从阻塞

      状态激活成->监听(15s)->学习(15s)切换成RP端口并进入转发状态至少需要经过30s

    • 问题3:交换机没有BP端口,RP端口down掉,DP端口至少需要等待50sオ能切換



         BPDU老化机制:SWC的BP端口接受SWA->SWB->SWC的BPDU,超过20s未收到,则老化。

    • 问题4:交换机连接终端的接口,切换时间过长30s-50s

    • 问题5:拓扑变更机制,复杂且效率低下

    • 其他不足之处:端口角色



  3. RSTP 对STP技术的改进:端口角色、状态

    • 新增了两种角色:都是用来做备份的,本质上也是被阻塞的(非block状态)

      • 去掉了 阻塞端口

        • backup 端口 :指定端口的备份-- 作为指定端口的备份,提供了另外一条从根节点到叶子节点的无环备份路径
        • alternate端口 :根端口的备份--提供了从指定桥到根桥的另一条无环可达路径,作为根端口的代替端口

      • 端口切换不需要尽力等待转发延时,相当于STP的uplink-fast
    • 状态由5种缩减为三种

      • discarding :不转发用户流量,不学习MAC地址---》 disable blocking listening
      • learning :不转发用户流量,学习MAC地址
      • forwarding :转发用户流量,学习MAC地址
  4. RSTP的其他操作

    • 快速收敛机制

      • P/A(proposal/agreement sync机制 ) 一般都是秒级让一个指定端口,尽快进入转发状态,同时避免环路的发送

    • 三种报文格式:P A SYNC
    • 端口的快速切换机制

      • AP--- ---针对与问题3
      • backup --- 针对于问题2
    • 特点:由于有来回确认机制和同步变量机制,就无需依靠计时器来保障无环。

  5. 次等BPDU的处理机制

    • 当一个接口接收到一个次等BPDU之后,马上把自身储存的(最优)BPDU返回给源端口,然后启动P/A机制
    • 可以实现接口的秒级切换

  6. 边缘端口的引入

    • 相当于Port-fast,可以让edge-port 不参加RSTP的任何活动,激活后之后就变成了转发状态
    • 如果边缘端口接口到了BPDU,就丧失了边缘端口的属性(相当于STP的BPDU-filter)

  7. 拓扑变更机制的优化:

    • STP:逐级通报的过程

    • RSTP:扁平化管理,RSTP的所有的交换机 都可以发送BPDU(TC)

    • 如果出现了拓扑变更,RSTP会第一时间通知上下级交换机,清空CAM表



      解析:一旦检测到拓扑发生变化,将进行如下处理:

      为本交换设备的所有非边缘指定端口启动一个TC While Timer,该计时器值是Hello Time的两倍。在这个时间内,清空状态发生变化的端口上学习到的MAC地址。同时,由这些端口向外发送RST BPDU,其中TC置位。一旦TC While Timer超时,则停止发送RST BPDU。

      其他交换设备接收到RST BPDU后,清空所有端口学习到MAC地址,除了收到RST BPDU的端口。然后也为自己所有的非边缘指定端口和根端口启动TC While Timer,重复上述过程。 如此,网络中就会产生RST BPDU的泛洪。

  8. RSTP和STP之间的兼容性 ===》RSTP能够向下兼容

    • RSTP协议与STP协议完全兼容
    1. SW1支持RSTP,发送的报文是STP报文 SW2仅支持STP 发送的报文是STP报文 ===》STP

    2. SW1支持RSTP,发送的报文是STP报文 SW3支持RSTP,发送的报文是STP报文 ===》STP

    3. SW1支持RSTP,发送的报文是RSTP报文 SW#支持RSTP,发送的报文是RSTP报文 ===》RSTP

  9. RSTP特性

    1. BPDU保护



      配置边缘端口的目的

      希望这些端口 以后组网的时候,连接的都是终端设备

      即使边缘端口连接了交换机,也需要先把这个交换机进行BPDU参数的调试(BID,端口cost值),当交换机接入网络,即使存在STP的计算,不会再次造成网络的震荡

      如果边缘端口 硬性规定为 不允许连接交换机,在这些端口上来配置BPDU-protection。

    2. 根桥防护

      场景1.客户网络和 运营商网络 进行二层对接 ===》 根桥防护主要配置在运营商网络上



      场景2.由于维护人员的错误配置或网络中的恶意攻击,网络中合法根桥有可能会收到优先级更高的RST BPDU

      实现原理:一旦启用Root保护功能的指定端口收到优先级更高的RST BPDU时,端口状态将进入Discarding状态,不再转发报文。在经过一段时间,如果端口一直没有再收到优先级较高的RST BPDU,端口会自动恢复到正常的Forwarding状态。

      Root保护功能只能在指定端口上配置生效。

    3. TC-BPDU泛洪保护

      场景:黑客在边缘端口接入一台计算机不断伪造和发送TC-BPDU (对于边缘端口来说,不希望收到BPDU报文)



      解决方法1:强制规定该端口为边缘端口,禁止这个端口接收BPDU---》BPDU-protection

      解决方法2:(如果允许边缘端口接收BPDU),黑客想这个端口发送TC-bpdu,在单位时间内,交换设备处理TC-BPDU报文的次数可配置,设备只会处理阈值指定的次数

      如果TC-BPDU 超过了阈值设置,交换机将不在对这些TC-BPDU进行处理。

三、RSTP配置实现

  1. RSTP配置需求



    如图所示,SWA、SWB和SWC组成了一个环形的交换网络,为了消除环路对网络的影响,故使交换机都运行RSTP,最终将环形网络结构修剪成无环路的树形网络结构。

  2. RSTP配置实现

     SWA
    stp enable 开启STP
    stp mode rstp 将模式切换RSTP
    stp root primary 将SWA设为根桥 SWB
    stp enable 开启STP
    stp mode rstp 将模式切换RSTP
    stp bpdu-protection 开启BPDU保护
    interface GigabitEthernet 0/0/4
    stp edged-port enable 将当前端口配置成边缘端口 SWC
    stp enable 开启STP
    stp mode rstp 将模式切换RSTP
    stp bpdu-protection 开启BPDU保护
    interface GigabitEthernet 0/0/4
    stp edged-port enable 将当前端口配置成边缘端口
  3. RSTP配置验证

    在SWA上查看生成树信息:

RSTP的更多相关文章

  1. Android视频直播解决方案(rstp、udp)

    做局域网视频直播有两种方案,通过rstp或udp协议. 1.rstp协议,网络上有个开源项目,基于Android,且这个项目也是一个服务端,里面也集成了http访问页面,可以通过http或者rstp直 ...

  2. iOS使用ffmpeg播放rstp实时监控视频数据流

    一.编译针对iOS平台的ffmpeg库(kxmovie) 最近有一个项目.须要播放各种格式的音频.视频以及网络摄像头实时监控的视频流数据,经过多种折腾之后,最后选择了kxmovie,kxmovie项目 ...

  3. 配置STP、RSTP以及负载均衡

    生成树协议是一种二层管理协议,它通过有选择性地阻塞网络冗余链路来达到消除网络二层环路的目的,同时具备链路的备份功能. 每个VLAN都生成一棵树是一种比较直接,而且最简单的解决方法.它能够保证每一个VL ...

  4. STP RSTP

    一.透明网桥 1.对于一般的透明网桥来说,通常都具有以下的特点: +拓展LAN的能力 +自主动态学习站点的地址信息 当网桥的某个端口上收到含有某个源MAC地址的数据帧时,它就把该MAC地址和接收该数据 ...

  5. BPDU报文(RSTP)

    与STP 的BPDU报文格式相同,就是在flags字段报文中间几位得到应用 主要原理:利用flages位中的Proposal与Agreement来进行协商,从而快速从 discarding 转成 fo ...

  6. RSTP介绍

    1. 介绍 RSTP(Rapid Spanning Tree Protocol),快速生成树协议,标准为802.1w(已合入802.1D-2004)RSTP是对STP技术的修改和补充,最大特点就是快速 ...

  7. STP-9-处理RSTP中的拓扑变化

    STP能识别四种不同的拓扑变化事件, 而RSTP只有当非边界端口从非转发状态变为转发状态才认为发生了拓扑变化事件 因为刚变为转发状态的端口可以为一些mac地址提供比之前更好的路径,CAM表需要更新.失 ...

  8. 华为eNSP路由交换实验-生成树之RSTP

    RSTP基础配置 实验拓扑图 实验步骤 1.基本配置 根据实验编址表进行相应的基本IP配置. 2.配置RSTP基本功能. (1)把生成树模式由默认的MSTP(华为交换机默认开启)改为RSTP. [FW ...

  9. RSTP基本配置

    1.用四台S3700交换机,2台PC机,一台HUB,组建网络拓扑 2.测试主机间的连通性 3.配置rstp基本功能 (1)把交换机stp模式由默认的mstp变为rstp.在华为交换机上默认开启了mst ...

  10. 实验之RSTP基础配置

    STP升级版之RSTP 实验环境 实验拓扑图 实验编址 实验步骤 1.基本配置配置PC端 测试i相通性 2.配置RSTP基本功能在S1-S4上都使用命令stp mode rstp更改生成树模式(因为华 ...

随机推荐

  1. 靶机DC-2 rbash绕过+git提权

    这个靶机和DC-1一样,一共5个flag.全部拿到通关. root@kali:/home/kali# nmap -sP 192.168.1.* 先扫一下靶机的IP地址,拿到靶机的地址为192.168. ...

  2. C++ //继承同名静态成员处理方式

    1 //继承同名静态成员处理方式 2 #include <iostream> 3 #include <string> 4 using namespace std; 5 6 cl ...

  3. 一、MinIO的基本概念

    MinIO的官方网站非常详细,以下只是本人学习过程的整理 一.MinIO的基本概念 二.Windows安装与简单使用MinIO 三.Linux部署MinIO分布式集群 四.C#简单操作MinIO 一. ...

  4. [C++]-map 映射

    map用来存储排序后的由键和值组成的项的集合.键必须唯一,不同的键可以对应同一个值,在map中键保持逻辑排序后的顺序(以键为标准). 代码 #include<iostream> #incl ...

  5. oracle、postgres、mysql数据库的建库、创建用户、导人导出备份总结

    本文包含的内容:使用命令操作oracle.postgres.mysql的导入导出,登录到数据,创建用户 注:我在公司使用的是Center OS操作系统,所以oracle和postgres均是在Linu ...

  6. 【网络编程】TCPIP_1_快速入门

    目录 前言 1. 快速入门 1.1 服务端编程简要步骤 1.2 客户端编程简要步骤 1.3 参考 前言 说明: demo 基于 Linux. 1. 快速入门 以下步骤简略了很多细节,但是通过下面的几个 ...

  7. 【笔记】SVM思想解决回归问题

    使用svm思想解决回归问题 使用svm思想解决是如何解决回归问题,其中回归问题的本质就是找一条线,能够最好的拟合数据点 怎么定义拟合就是回归算法的关键,线性回归算法就是让预测的直线的MSE的值最小,对 ...

  8. git根据项目地址使用不同代理服务器

    问题 由于公司访问GitHub只能走代理,但是内网gitlab服务器又不能走代理. 因此想找到一种方案,可以支持git自动根据项目地址使用不同代理. 方案 如下所示,可以指定GitHub地址使用指定的 ...

  9. kivy之Label属性及文本标记实操练习

    关于kivy内label功能有二部分内容,一个是label小部件属性,另一个是label文本标记属性,实操练习的效果图如下: . 现将label常用的这二类属性整理如下: 现在我们来进行实操练习,在p ...

  10. 【UGUI源码分析】Unity遮罩之RectMask2D详细解读

    遮罩,顾名思义是一种可以掩盖其它元素的控件.常用于修改其它元素的外观,或限制元素的形状.比如ScrollView或者圆头像效果都有用到遮罩功能.本系列文章希望通过阅读UGUI源码的方式,来探究遮罩的实 ...