HCIP-01 RSTP原理与配置

目录
  • 快速生成树协议概述
    • STP回顾与STP不足
      • 回顾:STP的工作原理
      • 回顾:STP的计算四步骤
      • 回顾:STP的端口状态迁移
      • STP对计时器的依赖
      • STP重收敛过程慢
      • STP拓扑变更机制
    • RSTP概述
  • RSTP对STP的改进
    • 改进点1:端口角色
    • 改进点2:端口状态
    • 改进点3:配置BPDU - RST BPDU
    • 改进点4:配置BPDU的处理
      • 拓扑稳定后,配置BPDU报文的发送方式
      • 更短的BPDU超时时间
      • 处理次优BPDU
    • 改进点5:快速收敛机制
      • 根端口快速切换
      • 指定端口快速切换
      • 边缘端口 (Edge Port)
      • Proposal/Agreement机制
    • 改进点6:拓扑变更机制
  • RSTP保护功能
    • BPDU保护
    • 根保护
    • 环路保护
    • 防TC-BPDU攻击
  • RSTP的工作过程
    • RSTP拓扑收敛过程
  • RSTP的基本配置
    • RSTP的保护功能配置
    • 案例:RSTP的基础配置

以太网交换网络中为了进行链路备份,提高网络可靠性,通常会使用冗余链路,但是这也带来了网络环路的问题。网络环路会引发广播风暴和MAC地址表震荡等问题,导致用户通信质量差,甚至通信中断。为了解决交换网络中的环路问题,IEEE提出了基于802.1D标准的STP(SpanningTree Protocol,生成树协议)。
随着局域网规模的不断增长,STP拓扑收敛速度慢的问题逐渐凸显,因此,IEEE在2001年发布了802.1W标准,定义了RSTP(Rapid Spanning Tree Protocol,快速生成树协议),RSTP在STP的基础上进行了改进,可实现网络拓扑的快速收敛。

快速生成树协议概述

STP回顾与STP不足

回顾:STP的工作原理

STP的配置BPDU
STP通过在交换机之间传递配置BPDU来选举根交换机(或根桥),以及确定每个交换机端口的角色和状态。在初始化过程中,每个交换机都主动发送配置BPDU.在网络拓扑稳定以后,只有根桥周期性发送配置BPDU,其他交换机在收到上游传来的配置BPDU后,才会发送自己的配置BPDU。
配置BPDU包含了桥ID、路径开销和端口ID等参数。

回顾:STP的计算四步骤

主要通过比较4个参数进行角色选举:
根桥ID、根路径开销、网桥ID和端口ID。

  1. 选举根桥(Root Bridge)
    在一个交换网络中选举一个根桥。
  2. 选举根端口(Root Port)
    在每个非根桥上选举一个根端口。
  3. 选举指定端口(Designated Port)
    为每个网段选举一个指定端口。
  4. 阻塞非指定端口
    阻塞交换机上所有剩余的非根、非指定端口。

回顾:STP的端口状态迁移

  1. 端口初始化或者使能,进入Blocking状态。
  2. 端口被选为根端口或者指定端口,进入Listening状态。
  3. 端口的Forward Delay时间到,进入Learning状态;再
    经过一个Forward Delay,进入Forwarding状态。
  4. 端口不再是根端口、指定端口,进入Blocking状态。
  5. 端口被禁用或者链路失效。

STP的不足
STP虽然能够解决环路问题,但是由于网络拓扑收敛慢,影响了用户通信质量。如果网络中的拓扑结构频繁变化,网络也会随之频繁失去连通性,从而导致用户通信频繁中断,这是用户无法忍受的。
STP的不足
STP没有细致区分端口状态和端口角色,不利于初学者学习及部署。
从用户角度来讲,Listening、Learning和Blocking状态并没有区别,都同样不转发用户流量。
从使用和配置角度来讲,端口之间最本质的区别并不在于端口状态,而是在于端口扮演的角色。
STP算法是被动的算法,依赖定时器等待的方式判断拓扑变化,收敛速度慢。
STP算法要求在稳定的拓扑中,根桥主动发出配置BPDU报文,而其他设备再进行处理,最终传遍整个STP
网络。

STP对计时器的依赖

STP采用计时器防止临时环路,当STP选举出端口角色后,即便角色为指定端口和根端口,仍然需要等待两个Forward Delay时间(30s)才能进入转发。
在运行STP的环境下,终端或服务器接入后,由于端口需要 从 Disabled 状态依次切换到 Blocking 、 Listening 、Learning及Forwarding状态,此时主机A在接入后,需要等待两个Forward Delay时间才能访问网络服务。

STP重收敛过程慢

直连故障:被阻塞的端口会从Blocking状态,依次切换到Listening及Learning状态,最终进入Forwarding状态。直连链路故障,端口状态转换,延时30s后进入Forwarding状态。

非直连故障
由于被阻塞端口上不再收到更优的BPDU,因此20s后端口开始从Blocking状态依次切换到Listening 、Learning 及Forwarding状态。
非直连故障会导致50s左右的恢复时间,等于Max Age加上2倍的Forward Delay时间。

STP拓扑变更机制

STP的拓扑变更机制,需要先将拓扑变化信息传递给根桥,再由根桥向下游泛洪拓扑变化信息。

RSTP概述

IEEE 802.1W中定义的RSTP可以视为STP的改进版本,RSTP在许多方面对STP进行了优化,它的收敛速度更快,而且能够兼容STP。
RSTP对STP的改进:
通过端口角色的增补,简化了生成树协议的理解及部署;
端口状态的重新划分;
配置BPDU格式的改变,充分利用了STP协议报文中的Flag字段,明确了端口角色;
配置BPDU的处理发生变化;
快速收敛;
增加保护功能。
RSTP对STP的改进
RSTP保护功能
RSTP的工作过程
RSTP的基本配置

RSTP在园区网络中的应用位置
二层网络(接入层)

RSTP对STP的改进

改进点1:端口角色

通过端口角色的增补,简化了生成树协议的理解与部署。
Alternate端口就是由于学习到其它网桥发送的配置BPDU报文而阻塞的端口,它提供了从指定桥到根的另一条可切换路径,作为根端口的备份端口。

Backup端口就是由于学习到自己发送的配置BPDU报文而阻塞的端口,它作为指定端口的备份,提供了另一条从根桥到相应网段的备份通路。

改进点2:端口状态

RSTP的状态规范缩减为3种,根据端口是否转发用户流量和学习MAC地址来划分:
Discarding状态:不转发用户流量也不学习MAC地址;
Learning状态:不转发用户流量但是学习MAC地址;
Forwarding状:既转发用户流量又学习MAC地址。

改进点3:配置BPDU - RST BPDU

RSTP的配置BPDU充分利用了STP报文中的Flag字段,明确了端口角色。
除了保证和STP格式基本一致之外,RSTP作了如下变化:
Type字段:配置BPDU类型不再是0而是2,所以运行STP的设备收到RSTP的配置BPDU时会丢弃。
Flag字段:使用了原来保留的中间6位,这样改变的配置BPDU叫做RST BPDU。

改进点4:配置BPDU的处理

拓扑稳定后,配置BPDU报文的发送方式

RSTP对配置BPDU的发送方式进行了改进。
▫ 在拓扑稳定后,无论非根桥设备是否接收到根
桥传来的配置BPDU报文,非根桥设备仍然按照
Hello Time规定的时间间隔发送配置BPDU,该行
为完全由每台设备自主进行。

STP拓扑稳定后,根桥按照Hello Time规定的时间间隔发送配置BPDU。其他非根桥设备在收到上游设备发送过来的配置BPDU后,才会触发发出配置BPDU,此方式使得STP计算复杂且缓慢。

更短的BPDU超时时间

如果一个端口在超时时间(即三个周期,超时时间=Hello Time×3)内没有收到上游设备发送过来的配置BPDU,那么该设备认为与此邻居之间的协
商失败。

STP需要先等待一个Max Age。

处理次优BPDU

当一个端口收到上游的指定桥发来的RST BPDU报文时,该端口会将自身缓存的RST BPDU与收到的RST B处理次优BPDU
当一个端口收到上游的指定桥发来的RST BPDU报文时,该端口会将自身缓存的RST BPDU与收到的RST BPDU进行比较。
如果该端口缓存的RST BPDU优于收到的RST BPDU,那么该端口会直接丢弃收到的RST BPDU,立即回应自身缓存的RST BPDU,从而加快收敛速度。
STP协议只有指定端口会立即处理次优BPDU。DU进行比较。
如果该端口缓存的RST BPDU优于收到的RST BPDU,那么该端口会直接丢弃收到的RST BPDU,立即回应自身缓存的RST BPDU,从而加快收敛速度。
STP协议只有指定端口会立即处理次优BPDU。

改进点5:快速收敛机制

根端口快速切换

如果网络中一个根端口失效,那么网络中最优的Alternate端口将成为根端口,进入Forwarding状态。因为通过这个Alternate端口连接的网段上必然有个指定端口可以通往根桥。

指定端口快速切换

如果网络中一指定端口失效,那么网络中最优的Backup端口将成为指定端口,进入Forwarding状态。因为Backup端口作为指定端口的备份,提供了另一条从根桥到相应网段的备份通路。

边缘端口 (Edge Port)

在RSTP里面,如果某一个端口位于整个网络的边缘,即不再与其他交换设备连接,而是直接与终端设备直连,这种端口可以设置为边缘端口。
边缘端口不参与RSTP计算,可以由Discarding直接进入Forwarding状态。
但是一旦边缘端口收到配置BPDU,就丧失了边缘端口属性,成为普通STP端口,并重新进行生成树计算,从而引起网络震荡。

Proposal/Agreement机制

简称P/A机制。
RSTP通过P/A机制加快了上游端口进入Forwarding状态的速度。
在RSTP中,当一个端口被选举成为指定端口之后,会先进入Discarding状态,再通过P/A机制快速进入Forwarding状态。

在STP中,该端口至少要等待一个Forward Delay(Learning)时间才会进入到Forwarding状态。

P/A机制
根桥SW1和SW2之间新添加了一条链路。
在当前状态下,SW2的下游端口分别是Alternate端口、
指定端口(处于Forwarding状态)和边缘端口。

SW1和SW2之间的两个端口都先成为指定端口,发送RST BPDU。

SW2与SW1互联的端口收到更优的RST BPDU后,马上意识到自己将成为根端口,而不是指定端口,停止发送RST BPDU。
SW1的指定端口进入Discarding状态,发送Proposal位置位的RST BPSU。

SW2收到根桥发送来的Proposal位置位的的RST BPDU,开始将自己的所有端口进入同步状态。
各端口同步后, 下游端口( 除边缘端口) 均进入Discarding状态,上游根端口进入Forwarding状态并向SW1返回Agreement位置位的回应RST BPDU。

SW1收到的Agreement位置位的RST BPDU是对刚刚自己发出的 Proposal 的回应 , 于是指定端口马上进入Forwarding状态。

下游设备继续执行P/A协商过程。

改进点6:拓扑变更机制

在RSTP中检测拓扑是否发生变化只有一个标准:一个非边缘端口迁移到Forwarding状态。
拓扑变更机制
一旦检测到拓扑发生变化,将进行如下处理:
为本交换设备的所有非边缘指定端口和根端口启动一个TCWhile Timer,该计时器值是Hello Time的两倍。在这个时间内,清空所有端口上学习到的MAC地址。
同时,由非边缘指定端口和根端口向外发送RST BPDU,其中TC置位。一旦TC While Timer超时,则停止发送RST BPDU。
其他交换设备接收到RST BPDU后,清空所有端口(除了收到RST BPDU的端口和边缘端口)学习到MAC地址,然后也为自己所有的非边缘指定端口和根端口启动TC While Timer,重复上述过程。
如此,网络中就会产生RST BPDU的泛洪。

RSTP保护功能

BPDU保护

BPDU保护
正常情况下,边缘端口不会收到RST BPDU。如果有人伪造RST BPDU恶意攻击交换设备,当边缘端口接收到RST BPDU时,交换设备会自动将边缘端设置为非边缘端口,并重新进行生成树计算,从而引起网络震荡。
交换设备上启动了BPDU保护功能后,如果边缘端口收到RST BPDU,边缘端口将被error-down,但是边缘端口属性不变,同时通知网管系统。

根保护

根保护(Root保护)
对于启用根保护功能的指定端口,其端口角色只能保持为指定端口。
一旦启用根保护功能的指定端口收到优先级更高的RST BPDU时,端口将进入Discarding状态,不再转发报文.经过一段时间(通常为两倍的
Forward Delay),如果端口一直没有再收到优先级较高的RST BPDU,端口会自动恢复到正常的Forwarding状态。
根保护功能确保了根桥的角色不会因为一些网络问题而改变。

环路保护

环路保护
在启动了环路保护功能后 , 如 果 根端口 或Alternate端口长时间收不到来自上游设备的BPDU报文时,则向网管发出通知信息(此时根端口会进入Discarding状态,角色切换为指定端口),而Alternate端口则会一直保持在Discarding状态(角色也会切换为指定端口),不转发报文,从而不会在网络中形成环路。
直到链路不再拥塞或单向链路故障恢复,端口重新收到BPDU报文进行协商,并恢复到链路拥塞或者单向链路故障前的角色和状态。

防TC-BPDU攻击

防TC-BPDU攻击
启用防TC-BPDU报文攻击功能后,在单位时间内,交换设备处理TC BPDU报文的次数可配置。
如果在单位时间内,交换设备在收到TC BPDU报文数量大于配置的阈值,那么设备只会处理阈值指定的次数。
对于其他超出阈值的TC BPDU报文,定时器到期后设备只对其统一处理一次。这样可以避免频繁的删除MAC地址表项,从而达到保护设备的目的。

RSTP的工作过程

RSTP拓扑收敛过程

  1. 每一台交换机启动RSTP后,都认为自己是“根桥”,并且发送RST BPDU。
    所有端口都为指定端口,处于Discarding状态。

  1. 上游链路的设备互联端口通过P/A机制,快速进入转发状态。
    SW2收到更优的RST BPDU后,经比较认为SW1才是当前根桥,此时SW2的端口将成为根端口,而不是指定端口,停止发送RST BPDU。
    SW1的端口进入Discarding状态,发送Proposal位置位的RST BPDU。SW2收到后阻塞除边缘端口以外的所有其他端口(该过程称为同步过程)。
    SW2的各端口同步后,根端口立即进入Forwarding状态,并向SW1返回Agreement位置位的RST BPDU。SW1收到该报文后,会让指定端口立即进入Forwarding状态。

  1. 下游链路的设备互联端口会进行新一轮的P/A协商。
    SW2的下游端口设置为指定端口,持续发送Proposal位置位的RST BPDU。
    SW3的下游端口收到该BPDU后,发现不是本设备收到的最优BPDU,则会忽略,不会发送Agreement位置位的RST BPDU。
    SW2的下游端口一直收不到Agreement位置位的回应报文,等待2倍的Forward Delay后,进入转发状态。

RSTP的基本配置

  1. 配置生成树工作模式
    [Huawei] stp mode { stp | rstp | mstp }
    交换机支持STP、RSTP和MSTP三种生成树工作模式。默认情况工作在MSTP模式。
  2. (可选)配置当前设备为根桥
    [Huawei] stp root primary
    缺省情况下,交换机不作为任何生成树的根桥。配置后该设备优先级数值自动为0,并且不能更改设备优先级。
  3. (可选)配置当前设备为备份根桥
    [Huawei] stp root Secondary
    缺省情况下,交换设备不作为任何生成树的备份根桥。配置后该设备优先级数值为4096,并且不能更改设备优先级。
  4. (可选)配置交换机的STP优先级
    取值范围是0~61440,步长为4096。缺省情况下,交换机的优先级取值是32768。
    [Huawei] stp pathcost-standard { dot1d-1998 | dot1t | legacy }
  5. (可选)配置接口路径开销
    配置接口路径开销计算方法。缺省情况下,路径开销值的计算方法为IEEE 802.1t(dot1t)标准方法。
    同一网络内所有交换机的接口路径开销应使用相同的计算方法。
    [Huawei-GigabitEthernet0/0/1] stp cost cost
    设置当前接口的路径开销值。
  6. (可选)配置接口优先级
    整数形式,取值范围是0~240,步长为16。缺省情况下,交换机接口的优先级取值是128。
    [Huawei-GigabitEthernet0/0/1] stp priority priority
  7. 启用STP/RSTP
    使能交换机的STP/RSTP功能。缺省情况下,设备的STP/RSTP功能处于启用状态。
    [Huawei] stp enable
  8. 配置当前接口为边缘端口
    [Huawei-GigabitEthernet0/0/1] stp edged-port enable
    缺省情况下,交换设备的所有端口都是非边缘端口。

RSTP的保护功能配置

  1. 配置BPDU保护功能
    [Huawei] stp bpdu-protection
    配置交换设备边缘端口的BPDU保护功能。缺省情况下,交换设备的BPDU保护功能处于禁用状态。
    2.配置根保护功能
    [Huawei-GigabitEthernet0/0/1] stp root-protection
    配置交换设备的根保护功能。缺省情况下,端口的根保护功能处于去使能状态。当端口的角色是指定端口时,配置的
    根保护功能才生效。配置了根保护的端口,不可以配置环路保护。
  2. 配置环路保护功能
    [Huawei-GigabitEthernet0/0/1] stp loop-protection
    配置交换设备根端口或Alternate端口的环路保护功能。缺省情况下,端口的环路保护功能处于关闭状态。
  3. 配置TC保护功能
    [Huawei] stp tc-protection interval interval-value
    配置设备处理阈值指定数量的拓扑变化报文所需的时间。缺省情况下,设备处理最大数量的拓扑变化报文所需的时间
    是Hello Time。
    [Huawei] stp tc-protection threshold threshold
    配置交换设备在收到TC类型BPDU报文后,单位时间内,处理TC类型BPDU报文并立即刷新转发表项的阈值。省情况下,
    设备在指定时间内处理拓扑变化报文的最大数量是1。

案例:RSTP的基础配置

在上述三台交换机上部署RSTP,以便消除网络中的二层环路。
通过配置实现:
将SW1指定为根桥,SW2为备份根桥。
与PC相连的端口不参与RSTP计算,将其设置为边缘端口。
配置根保护和BPDU保护功能,实现对设备或链路的保护。

SW1开启RSTP功能:

[SW1] stp mode rstp
[SW1] stp enable
[SW1] stp root primary

SW2开启RSTP功能:

[SW2] stp mode rstp
[SW2] stp enable
[SW2] stp root secondary

SW3开启RSTP功能:

[SW3] stp mode rstp
[SW3] stp enable

SW3开启边缘端口:
[SW3-Ethernet0/0/1] stp edged-port enable
SW1开启根保护功能:

[SW1-GigabitEthernet0/0/1] stp root-protection
[SW1-GigabitEthernet0/0/2] stp root-protection

SW3开启BPDU保护功能:
[SW3] stp bpdu-protection

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/843170.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ripro V5日主题 v8.3 开心授权版 wordpress主题虚拟资源下载站首选主题模板

简介: RiPro主题全新V5版本,是一个优秀且功能强大、易于管理、现代化的WordPress虚拟资源商城主题。支持首页模块化布局和WP原生小工具模块化首页可拖拽设置,让您的网站设计体验更加舒适。同时支持了高级筛选、自带会员生态系统、超全支付接口等众多功能,无需依赖插件即可实…

从“三好”到“超三好”,智界新S7“卷”回来了!

11月26日,鸿蒙智行旗下智界新S7在华为Mate品牌盛典上市,并公布正式售价。智界新S7正式上市推出3款车型,智界新S7 Pro售价22.98万元,智界新S7 Max售价26.98万元起,智界新S7 Ultra售价31.98万元,首销期即刻下定,至高可享受价值35000元的权益。智界新S7将于12月1日开启交付…

yolo --- 模型训练

文件存放路径数据集标注软件pip install labelimg安装好后启动 labelimgOpen Dir:打开需要标注的图片路径 Change Save Dir:标注文件保存路径 View--->Auto Save mode:把这个勾上就不会每到下一张询问你一次按w可以显示画框的坐标十字 按D键可以切换到下一张 注意标注的标…

Linux物理内存管理

1 物理内存初始化——引导分配器memblockLinux内核启动时,先要初始化物理内存,这个阶段的作用主要是确定物理内存大小,哪些是可用的?哪些是预留的?完成这一阶段工作的是memblock引导分配器。内核启动时初始化物理内存的处理函数调用路径大概是(基于Linux 5.10.1源码查看):…

Threejs入门-灯光

在 Three.js 中,灯光是非常重要的元素之一,它能够模拟现实世界中的光照效果,帮助我们打造更加真实的三维场景。灯光的种类和配置方式可以影响整个场景的视觉效果,在不同的应用中,灯光的使用非常关键。 灯光概述 Three.js 提供了几种常见的光源类型:环境光(Ambient Light…

《Django 5 By Example》阅读笔记:p383-p387

《Django 5 By Example》学习第 14 天,p383-p387 总结,总计 5 页。 一、技术总结 1. asynchronous task(异步任务) 对于异步任务,书中使用的是 celery 和 RabbitMQ,这也是平时工作中的主流用法。 (1) celery Python 使用的 celery 包的名字也是 celery。 2. RabbitMQ (1) 拉…

思维模型:六顶思考帽,从不同角度思考问题,提升思维认知

思维模型:六顶思考帽思维模型,从不同角度思考分析问题,提升思维认知介绍 六顶思考帽(Six Thinking hats) ,由爱德华德博诺博士提出的一种思维认知模型工具。 它是通过不同颜色的帽子来代表六种不同的思维方式,帮助人们从多个角度全面分析和解决问题,提升认知。这六种颜…

12.SpringCloudAlibabaSentinel实现熔断和限流

1.Sentinel 1.1 官网 sentinel官网,类似Spring Cloud Circuit Breaker。 1.2 是什么 面向分布式、多语言异构化服务架构的流量治理组件。 1.3 下载地址 https://github.com/alibaba/Sentinel/releases 1.4 能干吗 Sentinel以流量为切入点,从流量控制、流量路由、熔断降级、系…

视觉多模态理解模型基础

1. 视觉多模态简介 视觉多模态一般涵盖2个要点:视觉表征 以及 视觉与自然语言的对齐(Visual Language Alignment)或融合。1.1. 视觉表征 视觉表征是指:将图像信息转化为深度学习模型可以处理的特征向量或向量序列的过程。具体来说,它包含以下2点:合理建模视觉输入特征:这…

Padavan 使用VNT

openwrt ppoe拨号有问题,实在忍受不了,只能换回稳定的Padavan下载二进制vnt放至/etc/storage添加自启脚本/etc/storage/vnt-cli -s tcp://x.x.x.x:29872 -k passwd --use-channel relay -n R3P -o 192.168.123.0/24 -i 10.1.50.0/24,10.1.1.4 -i 10.2.110.0/24,10.1.1.223 …

【架构】统一认证中心的架构设计与实现(一)

一、背景二、认证授权概念2.1 认证2.2 授权三、一些名词四、常见的认证方案4.1 JWT4.2 OAuth2五、SSO协议5.1 OpenID Connect5.2 SAML 2.05.3 CAS六、RBAC一、背景 一般在一个公司内部可能有多个系统,比如OA,财务系统,CMS,ERP,营销系统,客服中心,项目管理系统,代码管理…

Listener内存马

概述 Listener是Java Web App中的一种事件监听机制,用于监听Web应用程序中产生的事件,例如,在ServletContext初始化完成后,会触发contextInitialized事件,实现了ServletContextListener接口的Listener就可以接收到事件通知,可以在内部做一些初始化工作,如加载配置文件,…