一、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配置实现

    1. SWA
    2. stp enable 开启STP
    3. stp mode rstp 将模式切换RSTP
    4. stp root primary SWA设为根桥
    5. SWB
    6. stp enable 开启STP
    7. stp mode rstp 将模式切换RSTP
    8. stp bpdu-protection 开启BPDU保护
    9. interface GigabitEthernet 0/0/4
    10. stp edged-port enable 将当前端口配置成边缘端口
    11. SWC
    12. stp enable 开启STP
    13. stp mode rstp 将模式切换RSTP
    14. stp bpdu-protection 开启BPDU保护
    15. interface GigabitEthernet 0/0/4
    16. 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. VMware 安装 Centos 7 虚拟机配置网络

    在 Windows 机器上如果想使用 Linux 环境,最方便的方式莫过于使用虚拟机,最常用的软件各位肯定也不陌生,大名鼎鼎的 VMware . 不过这玩意有点稍稍不是那么智能,每次安装 Linux ...

  2. 操作系统思考 第十一章 C语言中的信号量

    第十一章 C语言中的信号量 作者:Allen B. Downey 原文:Chapter 11 Semaphores in C 译者:飞龙 协议:CC BY-NC-SA 4.0 信号量是学习同步的一个好 ...

  3. Special Forms and Syntax Sugars in Clojure

    (...): function literals, p40, 64; '(...): suppress evaluation, p24; _(...): comments, p18; ".. ...

  4. Python语言系列-10-数据库

    MySQL 基础环境准备 readme.txt 作者:Alnk(李成果) 版本:v1.0 安装mysql数据库 略 创建student库 # mysql> create database stu ...

  5. Vulnhub -- DC4靶机渗透

    用nmap扫描ip和端口,发现只开启了22ssh端口和80http端口 打开网页只有一个登录界面 目录爆破没有发现什么有用的,尝试对登录进行弱口令爆破 一开始使用burpsuite,使用一个小字典进行 ...

  6. AlexNet论文总结

    论文链接:https://papers.nips.cc/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf Q1:解决了什么? 目前主 ...

  7. 【mysql】mysql简介及高手是如何练成的

    1.什么是mysql  MySQL 是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle 公司. Mysql 是开源的,可以定制的,采用了GPL 协议,你可以修改源码 ...

  8. 十六:使用JDBC对数据库进行CRUD

    一.statement对象介绍 Jdbc中的statement对象用于向数据库发送SQL语句,想完成对数据库的增删改查,只需要通过这个对象向数据库发送增删改查语句即可. Statement对象的exe ...

  9. Git使用:

    配置可参考: 配置name 及email:$ git config --global user.name "Your Name"$ git config --global user ...

  10. unitest单元测试TestCase 执行测试用例(一)

    前言 unittest单元测试框架不仅可以适用于单元测试,还可以适用自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果. uni ...