首页 > 其他分享 >ST VS RSTP

ST VS RSTP

时间:2023-12-03 22:07:45浏览次数:27  
标签:状态 BPDU RP RSTP 端口 ST VS 转发 DP

交换机里面

一:根桥发送的最优配置BPDU


二:在每台非根交换机上选举一个根端口RP,用来接收

比较原则:4条原则选出RP,根端口

1:比较接口的RPC,以小为优

RPC,去往根桥的根路径开销,去往根桥的开销

2:比较对端设备的BID,以小为优  

对面设备的BID

3:比较对端接口的P-ID,以小为优

也是对面的设备的P-ID

4:比较本段设备的P-ID



三:在每条链路上选举一个指定端口DP,用来发送最优的配置BPDU

选举原则:3条原 则选出DP,指定端口

1:比较设备的最小的RPC

一整个带着比较

2:比较本端的B-ID

3:比较本段的P-ID,已小为优



HUB集线器,工作在物理层,不会进行STP的协议

比较呆,从一个接口收到,无脑从另外全部接口发出



生成树版本可以向下兼容,




1,端口状态改变,五个变3个

  Discarding, 丢弃状态,能够接受和处理bpdu,但是无法学习mac地址和转发用户流量

  对应stp前三个状态,disable,blocking,listening


learning:   学习状态,能够接收处理bpdu,也能学习mac地址,但是无法转发用户流量


forwarding:转发状态,哪个行为都可以





2,端口角色的改进,三个边四个


rp,根端口,接收最优的bpdu

dp,指定端口,转发最优的bpdu

ap,预备端口,收到 其他设备 发送的最优BPDU而

阻塞的端口,作为RP的备份,提供去往根桥的最优路径

当RP出现故障,立即成为新的RP并且立即进入状态

BP:备份端口,因为收到 自己发送的最优bpdu而阻塞的接口

作为DP的备份,提供一条跟桥去往目的网段的备份路径,当DP故障

立即会成为新的DR

但是现在一般不常见BP,HUB基本淘汰


RSTP中,


预备端口AP作为根端口的备份,立即切换,

直接进入转发,无需经过转发延迟时间

BP作为DP的备份




3:报文的改进:RST只存在一种报文,RST-BPDU


1,报文发送的改进:

  stp:只有根桥能够主动周期性发送配置BPDU,其他

非根交换机收到后进行转发

  RSTP:每台设备都会周期性(2S)发送配置BPDU,无需等待

根桥的BPDU

2:Flag字段的改进:

  TCA:拓扑变更确认

  Agreement:同意,置位表示同意让对段设备进入转发状态

  Forwarding:置位表示发送接口能转发数据流量

  Learning:置位表示发送接口能学习MAC地址

  Port-role,端口角色,01为AP或者BP,10为RP,11为DP

  proposal:提议,置位表示请求让本端设备进入转发状态

  TC:拓扑变更通知



3:超时的改进

    STP等待消息寿命到达Max Age(20S)后认为超时

    RSTP如果6S内没有收到邻居的RST-BPDU,则认为

邻居故障,


4:对次优BPDU的处理:

stp:收到次优bpdu要经过20S老化

RSTP:收到次优,立即转发处理


四:快速收敛机制

1:根段口快速切换:RP故障,AP成为新的RP,立即进入新的转发状态

2:指定端口快速切换,DP故障,BP成为新的DP,立刻进入转发状态

3:P/A握手协商机制


     STP中角色能立即切换,但是状态要等30S转发时间,其目的是为了防止临时性环路,这样很被动

  通过P/A协商,可以让指定端口快速进入转发状态,加快收敛速度

   

过程:1:初始情况下双方都认为自己是跟桥,自己端口都是DP

        状态初始为discarding,向外发送自己为根的RST-BPDU

        其中置位为1,表示请求让自己端口进入转发状态

     2:收到对方的报文后,进行比较,次优交换机将自己端口从DP变成

        RP,然后进sync同步状态,将自己除了边缘端口以外的

        其他端口变成discarding状态,(全部阻塞)确保下游无环,然后让RP直接进入

        Forwarding状态,回应对方一个A置位的RST-BPDU,表示

        同意让对端接口进入转发状态

     3:收到A置位的RST-BPDU后,将DP端口状态直接变为Forwarding

        状态,P/A协商完成



1:A置位RST-BPDU只有跟端口才会回应

2; P/A协商只能在全双工的点到点链路进行(中间只能两台设备)

3:三台交换机场景,剩下两台非根交换机之间由于不存在RP端口

无法进行P/A协商,需要等待30S才能进入转发,但实际上该链路

本来就需要阻塞,转发所使用的最短路径树已经完成收敛,所以

也不影响通信

4:如果无法进行P/A协商,那么就需要进行STP的收敛流程

等待2个转发延迟时间进入转发状态


P/A确保网络中无环,

初始情况在双设备都 p置位请求让接口进入转发状态

非根设备发A置位,表示同意让对段设备进行转发状态


生成树报文组播发送

标签:状态,BPDU,RP,RSTP,端口,ST,VS,转发,DP
From: https://blog.51cto.com/u_15735404/8668956

相关文章

  • 使用 anasible 搭建一个多 master 多 worker 的 k8s 集群
    kubernetes+istio是目前最强大,也是最易于使用的服务网格方案。要使用kubernetes+istio,首先要搭建kubernets集群。搭建kubernetes集群的方式有很多,其中使用anisble自动化搭建kubernetes集群算是最具合适的方案了。服务器列表:192.168.2.58k8s-lvs-01#lvs主服务器1......
  • 记录ssti模板学习 (1)
    记录ssti模板学习Python3-venv(简称虚拟机编译器)创建venv环境安装flask创建环境python3-mvenvflask1在flask1下使用虚拟机内的python3执行方法一:/opt/flask/bin/python3demo.py方法二:source./bin/activate退出环境deactivateFlask学习Flask就是使用python编写......
  • 数据分享|python分类预测职员离职:逻辑回归、梯度提升、随机森林、XGB、CatBoost、LGB
    全文链接:https://tecdat.cn/?p=34434原文出处:拓端数据部落公众号分析师:ShilinChen离职率是企业保留人才能力的体现。分析预测职员是否有离职趋向有利于企业的人才管理,提升组织职员的心理健康,从而更有利于企业未来的发展。解决方案任务/目标采用分类这一方法构建6种模型对职......
  • No valid Maven installation found
    点击Maven的clean确报错:Errorrunning'vs-file-backend-util[clean]':NovalidMaveninstallationfound.EithersetthehomedirectoryintheconfigurationdialogorsettheM2_HOMEenvironmentvariableonyoursystem.这里就要注意:有的时候打开别人发的后......
  • props传来的每个list对象加属性
    情景:在vue组件获取了js里存储的数据后,想要给获取的list的每一条数据加上相同的属性作为公共部分//页面打开即加载方法mounted(){this.init()},methods:{init(){//给新的进行重新赋d:this.xAxisStyle.forEach((xAxis)=>{xAxis.data=this.x......
  • 原生并行版std::accumulate
    原生并行版std::accumulate​ 代码来自《c++并发编程实战》#include<iostream>#include<numeric>#include<algorithm>#include<thread>#include<functional>#include<vector>#include<chrono>typedeflonglongLL;template<typ......
  • stl中迭代器的删除
    Z1584.noip题海战Description某校举行了k场集训,集训有两种方式:比赛和训练对于每场比赛,他要保证所出的所有试题,对于所有学生来说,都是从来没有做过的而对于每场训练,他要保证所出的所有题都被每一个参赛学生做过。FormatInput第一行2个正整数n和m,表示学生数和试题总数第2~n+1行......
  • Logstash分析Nginx日志
    六、Logstash分析Nginx日志实现思路:1.将Nginx普通日志转换为json2.将Nginx日志的时间格式进行格式化输出3.将Nginx日志的来源IP进行地域分析4.将Nginx日志的user-agent字段进行分析5.将Nginx日志的bytes修改为整数6.移除没有用的字段,message、headers6.1架构......
  • 前端可滚动分类商品List列表 可用于电商分类列表
    前端可滚动分类商品List列表可用于电商分类列表引言在电商应用中,一个高效、用户友好的分类列表是提高用户体验和转化率的关键。本文将探讨如何使用xg-list-item、uni-grid和xg-tab等组件创建一个可滚动的分类商品列表,并处理相关的用户交互事件,如分类标题点击和分类条目点击。......
  • MFC 列表框 CListBox
    ▲增删改查6)列表框CListBox a)给列表框添加一个字符串CListBox::AddString b)选中列表列表框某一项,自动触发事件:LBN_SELCHANGE 1)获取当前选中项CListBox::GetCurSel 2)获取指定位置的内容CListBox::GetText c)删除指定位置的字符串CListBox::DeleteString d)......