zoukankan      html  css  js  c++  java
  • STP与RSTP也不过就这些区别


    STP

    • 生成树STP(Spanning Tree Protocol)可以在提高可靠性的同时又能避免环路带来的各种问题
    • 二层冗余带来的问题:
      • 广播风暴
      • MAC地址震荡

    STP的作用

    • 通过阻塞逻辑端口来消除环路,并能够实现链路备份的目的
    • 当可用路径发生故障时,STP可以自动激活备份链路,恢复网络的连通性

    STP操作

    1. 选举一个根桥
    2. 每个非根交换机选举一个根端口
    3. 每个网段选举一个指定端口
    4. 阻塞非根、非指定端口

    选举根桥

    • 根桥是指Bridge-ID最小的交换机(BID最小的的交换机成为根网桥)
    • Bridge-ID包括两部分(优先级、MAC地址)
    • 修改优先级stp priority 4096(优先级必须是4096的倍数)

    选举根端口

    • 根端口指的是非根网桥到达根网桥路径开销最小的接口
    • 沿着BPDU的流向(BPDU从根桥流向非根桥)累加入栈接口的开销值
    • 接口开销值相同,则比较接口对端所连交换机的BID,BID小的交换机对应的接口为根端口
    • 接口开销相同,对端BID相同,比较对端接口的Port-ID(优先级、接口编号)小的为根端口
    • 上述所有参数都相同,则比较本地接口的Port-ID,小的为根端口

    选举指定端口

    • 在一个网段内到达根网桥路径开销最小的接口

    • 根网桥上所有接口都是根端口

    • 比较接口的根路径开销,根路径开销相同则比较此网段内所连交换机的BID,BID小的交换机的端口为指定端口

    • 在两个交换机之间根据路径开销、对端BID、对端PID和本端的PID比较选举指定端口

      没有当选根端口和指定端口的端口会被阻塞

    端口状态转换

    • Disabled:生成树的禁用状态(端口关禁闭)
    • Blocking:可以长期稳定的状态(阻塞)
    • Listening:不稳定状态,只能收发BPDU,不能转发数据,学习MAC,等待15秒,切换状态
    • Learning:不稳定状态,可以学习MAC表,不能转发数据
    • Forwarding:稳定状态

    BPDU

    • 包含桥ID、路径开销、端口ID、计时器等参数

    STP拓扑变化

    • 根桥故障
      • 非根桥会在BPDU老化之后开始根桥的重新选举
    • 根桥故障
      • 非根桥会在BPDU老化之后开始根桥的重新选举
    • 直连链路故障
      • 检测到直连链路物理故障后,会将预备端口转换为根端口
      • 预备端口会在30s后恢复到转发状态
    • 非直连链路故障
      • 预备端口恢复到转发状态大约需要50秒

    拓扑变更导致MAC地址表变化

    1. 当交换机检测到网络发生拓扑变化时,交换机会从根端口向外发出TCN BPDU
    2. 上游交换机收到TCN BPDU后,会以TCA位被置位的BPDU进行应答
    3. 上游交换机收到TCN BPDU后,会进一步从根端口转发该BPDU ,直到TCN BPDU抵达根网桥
    4. 根网桥收到TCN BPDU后,会全网泛洪TC位被置位配置BPDU
    5. 交换机收到TC位被置位的配置BPDU后,触发生成树的重新计算
    6. 同时收到TC BPDU的端口的MAC地址表老化时间缩短至转发延迟

    STP模式

    • STP配置:stp mode stp(华为设备默认工作模式为MSTP)
    • 配置路径开销值:接口视图下stp cost 2000

    RSTP

    • 传统STP收敛速度慢,至少需要30S
    • 根桥直连链路down掉,BP端口换成DP端口并进入转发状态需要大约50S
    • 交换机连接终端的链路进入转发需要经过30S
    • 机制复杂,效率低下
    • 端口角色
    • Disabled、Blocking、Listening都不转发用户流量也不学习MAC地址
    • Learning不转发用户流量,但是学习MAC地址表
    • Forwarding及转发用户流量又学习MAC地址

    RSTP优点

    端口角色重新划分

    • 在STP原有的根端口和指定端口上新定义了新的端口
    • Backup Port(BP指定端口的备份)
    • Alternate Port(AP根端口的备份)

    端口状态重新划分

    • 由原来STP的5种状态缩减为3种状态
    • STP的Disabled、Blocking、Listening对应RSTP的Discarding状态(不转发用户流量也不学习MAC地址)
    • STP的Learning、Forwarding在RSTP中不变

    快速收敛机制

    P/A机制

    • 对指定端口(DP)快速进入转发状态生效
    • DP向下游交换机发出P位被置位的BPDU
    • 下游交换机接收到P位被置位的BPDU后,首先会执行Sync的操作(交换机会阻塞所有处于转发状态的非边缘端口)
    • 然后下游交换机会向上游交换机发送A位被置位的BPDU
    • 上游交换机收到A位被置位的BPDU后,立刻将DP口置为转发状态,无需等待定时器到期

    根端口快速切换机制

    • 当原有的根端口发生故障,且AP口对端连接的DP口处于转发状态,AP口立刻转换为RP口,并进入转发状态

    次等BPDU处理机制

    • 发生故障的交换机以自己为根桥,向外发送P位被置位的BPDU,对端收到后,会将本地最优的BPDU回给故障交换机
    • 发生故障的交换机收到最优的BPDU后,向对端发送A位被置位的BPDU
    • 对端收到A位被置位的BPDU后,立刻将AP口转换为DP口,进入转发状态

    边缘端口的引入

    • 交换机的接口被设置为边缘端口,则改端口不参与生成树的运算,一旦接入,立刻进入转发状态

    拓扑变更机制的优化

    • 判断拓扑变化唯一标准:一个非边缘端口迁移到Forwarding状态
    • 变更点直接产生TC BPDU触发生成树的重新运算,RSTP不再使用TCN BPDU
    • TC BPDU会直接删除错误的MAC地址表项,不再将MAC地址表项的老化时间降低为转发延迟,进一步提高收敛速度

    BPDU保护

    • 边缘端口收到BPDU后,自动将其设置为非边缘端口,重新进行生成树的计算
    • BPDU保护边缘端口配置BPDU保护,边缘端口收到BPDU后,交换机立刻关闭该边缘端口

    根保护

    • 配置了根保护的接口如果收到更优的BPDU,则进入Discarding状态,不再转发该BPDU
    • 一段时间内收不到更优的BPDU,则改端口进入转发状态,保护根桥位置

    TC-BPDU泛洪保护

    • 如果交换机短时间收到大量的TC-BPDU,交换机会频繁的执行MAC地址表的删除操作和生成树的重新运算,给设备增加负担
    • 交换机配置了TC-BPDU保护后,交换机只会处理单位时间内人为设置的TC-BPDU的数量,超出部分交换机不处理

    RSTP配置

    # 系统视图下
    stp mode rstp  //将交换机的STP类型更改为RSTP
    stp root primary  //设置为根桥
    stp bpdu-protection  //开启BPDU保护功能
    
    # 接口视图下
    stp edged-port enable  //将当前接口设置为边缘端口
    stp root-protection  //在当前接口开启根保护
    
    stp tc-protection  //开启TC-BPDU保护功能
    stp tc-protection threshold 5  //设置单位时间内处理TC-BPDU数量的阀值
    

     

    以上内容均属原创,如有不详或错误,敬请指出。
    本文作者: 坏坏
    做别人的宝贝,别来淌我这趟浑水。
  • 相关阅读:
    elasticsearch之建议器Suggester
    elasticsearch,kibana之相关配置
    elasticsearch之分析过程
    elasticsearch之mappings
    elasticsearch for Mac OS
    项目精讲
    博客园项目开发流程
    Django之auth模块
    DJango中间件
    DJango之模板层
  • 原文地址:https://www.cnblogs.com/bad5/p/13866796.html
Copyright © 2011-2022 走看看