第12章-生成树协议

1. STP产生背景

1.1 桥接网络:网桥

1.2 交换机网络

1.3 解决方案

2. STP生成树协议

2.1 概念

2.2 BPDU(Bridge Protocol Data Unit)

2.3 选举机制(网桥:一进一出)

2.4 例题

2.5 端口状态

2.6 STP计时器

2.7 STP的问题

2.8 STP拓扑变更机制

3. RSTP

3.1 端口状态减少到3种

3.2 端口角色增加到4种

3.3 边缘端口机制

4. 其他生成树

4.1 MSTP(多生成树协议(Multiple Spaning Tree Protocol))

4.2 PVST(Per VLAN Spanning Tree)


1. STP产生背景

1.1 桥接网络:网桥

        特点:不修改帧 + 不记录网桥个数;

        问题:重复帧占用带宽;

1.2 交换机网络

        网状拓扑,两个节点之间多条路径可达;

        问题:① 环路;② 广播风暴;③ MAC地址表震荡;

1.3 解决方案

        使用生成树协议(STP)

        STP的基本原理:临时阻塞端口

 

2. STP生成树协议

2.1 概念

        STP(Spanning Tree Protocol):用于在局域网中消除数据链路层物理环路的协议,即802.1D

        1)基本流程:彼此交换信息 → 发现环路 → 进行端口堵塞

        2)目的:有环的网络修剪为无环路的树形网络拓扑结构

        3)阻塞对象:质量相对较差的接口

2.2 BPDU(Bridge Protocol Data Unit)

        定义1:用于传递生成树协议的报文

        定义2:是一种数据帧,通过BPDU用于传达自己的选举信息

        例子:自荐信

        1)配置BPDU(Configuration BPDU)(CFG BPDU)

        生成树协议计算和维护生成树拓扑;

        2)TCN BPDU(Topology Change Notification BPDU)

        若网络中某个网络结构发生了变化,进行及时通告,重新选举阻塞口

2.3 选举机制(网桥:一进一出)

        根网桥 → 根端口 → 指定端口 → 阻塞端口

        1)在所有交换机中选举出一台作为根网桥(Root bridge)

        规则:Bridge-id小的优先

        Bridge-id-标识交换机身份:优先级+MAC地址(数值:优先级默认32768,必须是4096的倍数)

        例子:在一个班里选一个班长

        例1:

        例2:

2)每台非根网桥(交换机)选举出一个根端口(Root port)

        选举对象:非根网桥

        根端口不是根网桥的端口,而是其他网桥达到根网桥的端口;

        原则1:比较路径开销。比较本交换机到达根网桥的路径开销(Cost),选择开销最小的路径。STP以网桥的链路速率(端口速率)来定义路径开销。

        原则2:比较发送CFG BPDU的网桥的BID。如果路径开销相同,则发送CFG BPDU的网桥的BID最小者所对应的端口当选,即比较对端网桥的BID,谁的对端BID小谁就当选。

 

        原则3:比较发送CFG BPDU的网桥的PID(Port ID,端口ID)。如果发送CFG BPDU的网桥的BID也相同(如B1、B2之间有两条链路),那么发送CFG BPDU的端口的PID最小者所对应的端口当选,即比较对端端口的PID,谁的对端PID小谁就当选。

        原则4:比较自身端口PID。如果发送CFG BPDU的网桥的PID也相同(对端只有一个网桥一个端口通过Hub接人本端的两个端口),那么就比较本网桥的多个端口的PID,谁的PID小谁就当选。

 

        3)每个物理段上选举出一个指定端口(Designated port)

        选举对象:在每根网线上选出一个指定端口;

        ① 根端口不能是指定端口,非根端口都是指定端口的候选者。

        ② 一个网段上必须有且只能有一个指定端口。如果出现多个候选指定端口,那么:

        a. 谁到达根网桥的路径代价最小,谁就当选

        b. 对于端口所在的网桥的 BID,谁小谁当选

        c. 比较(对端)端口的 PID,谁小谁当选

4)剩下没有角色的端口就是闭塞端口(Blocked Port)

2.4 例题

2.5 端口状态

        disable:禁用状态,被关闭的端口

        1)blocking:阻塞状态

        ① 开机:所有接口会处于blocking阻塞状态

        ② 任务:接收BPDU(报文),但不发送BPDU(报文),不学习MAC地址,不转发数据

        功能:其他口挂了,阻塞口会开启,起到备份的效果;

        2)listening:监听状态

        任务1:接收并发送BPDU(报文),不学习MAC地址,不转发数据

        任务2:选根桥、选根端口、选指定端口

        流程:选完后,如果是根端口或指定端口,则进入learing状态;如果是阻塞口,返回blocking状态

        时间:持续15秒(可修改)

3)learning:学习状态

        任务:接收并发送BPDU(报文),学习MAC地址,不转发数据

        时间:15秒:防止listening状态15秒没选完

4)forwarding:转发状态

        任务:接收并发送BPDU(报文),学习MAC地址,转发数据

5)总结:交换机开机后,要等30秒左右会进行转发数据,会算生成树

2.6 STP计时器

        1)Hello time

        任务1:配置BPDU的发送周期,传递消息

        任务2:持续检测对方状态

        时间:2秒

        2)Max age

        判断链路故障的时间,超过10个Hello time周期,认为挂掉

        时间:20秒

        3)Forwarding delay

        记录状态切换的延迟;

        时间:15秒

        4)总结

        接口挂了重连:

        最长时间=20s(判断故障)+30s(重新计算)=50s

        最短时间=30s(重新计算)

2.7 STP的问题

        问题1:处理故障缺陷时间太长,收敛速度慢

        问题2:生成树切换与MAC地表的时差

        问题3:接口变动会频繁触发变更,导致网络崩溃;例如主机频繁上下线

2.8 STP拓扑变更机制

        1)定义:解决STP的问题

        2)流程:

        ① Max age超时/有接口变更为转发状态,判断为拓扑发送变更,向根网桥发起TCN BPDU;

TCN BPDU会进行报错处理;

        ② 收到TCN BPDU的交换机继续向根网桥转发TCN BPDU,到达根网桥为止;

        只有根网桥才能产生BPDU,其他的交换机只是做转发;

        ③ 根网桥收到TCN BPDU后,向所有端口发起TC置位的配置BPDU;

        处理问题;

        ④ 交换机收到TC置位的配置BPDU后,Mac地址表的老化时间缩短到15秒;

        TC置位的配置BPDU:每2秒发的BPDU里面有TC位,把标志位标志位1;

3. RSTP

        定义:快速生成树协议(Rapid Spanning Tree Protocol);

3.1 端口状态减少到3种

        Discarding(丢弃)状态

        Learning(学习)状态

        Forwarding(转发)状态

3.2 端口角色增加到4种

        根端口

        指定端口

        阻塞端口细分为2种:

        替代端口(Alternata port):根端口的备份;

        备份端口(Backuo port):指定端口的备份;

        当端口挂了不重新计算,用备份的, STP要重新选举

3.3 边缘端口机制

        针对于解决主机频繁上下线的问题;

        运行机制:

        ① 当链路激活,边缘端口立即进入转发状态,不参与STP计算

        ② 边缘端口UP/DOWN不会触发拓扑变更

        Tips:建议把连接PC的端口配置为边缘端口

4. 其他生成树

4.1 MSTP(多生成树协议(Multiple Spaning Tree Protocol))

        目的:解决阻塞端口浪费资源的问题;

        功能:

        ① 将多个VLAN捆绑到一个生成树实例,每个实例分别独立计算生成树;

        ② 基于STP计算结果不同,实现不同VLAN的流量负载均衡;

        场景:定义多个生成树实例,每个实例对应多个VLAN;

 

4.2 PVST(Per VLAN Spanning Tree)

        STP和RSTP:共享一棵生成树;

        PVST:每个VLAN内都拥有一棵生成树;

        比如:划分VLAN,划了5个;1、2、3、4、5;

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

家装服务管理:Java技术的创新应用

✍✍计算机毕业编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java、…

C++ //练习 9.16 重写上一题的程序,比较一个list<int>中的元素和一个vector<int>中的元素。

C Primer(第5版) 练习 9.16 练习 9.16 重写上一题的程序,比较一个list中的元素和一个vector中的元素。 环境:Linux Ubuntu(云服务器) 工具:vim 代码块 /**********************************…

C++ //练习 9.14 编写程序,将一个list中的char*指针(指向C风格字符串)元素赋值给一个vector中的string。

C Primer(第5版) 练习 9.14 练习 9.14 编写程序,将一个list中的char*指针(指向C风格字符串)元素赋值给一个vector中的string。 环境:Linux Ubuntu(云服务器) 工具:vim…

基于 ResNet50和 SVM + 决策树的人脸口罩检测

欢迎收看,这篇文章是关于我如何使用 ResNet50作为特征提取器来构建掩码检测,然后使用支持向量机(SVM) 决策树和叠加集成方法作为分类器的一个快速解释。 为了向研究人员致敬,这个应用程序是基于研究论文,题目是“在2019冠状病毒…

智慧公厕:让城市更智慧、更环保

在现代社会,智慧公厕作为城市管理的重要一环,是智慧城市的重要组成部分,其建设的价值十出突出,是公共厕所信息化升级改造的核心方案。如智慧公厕源头厂家广州中期科技有限公司,所自主研发的智慧公厕整体解决方案&#…

最新Sora人工智能视频资源网址分享

1,了解什么是Sora * 什么是 OpenAI Sora? Sora 是由 OpenAI 开发的文本到视频模型。它可以按照用户的提示生成长达一分钟的高质量和一致的视频。 * 如何使用 OpenAI Sora 模型? 目前,OpenAI Sora 模型处于内测阶段,并将…

继电器测试中需要注意的安全事项有哪些?

继电器广泛应用于电气控制系统中的开关元件,其主要功能是在输入信号的控制下实现输出电路的断开或闭合。在继电器测试过程中,为了确保测试的准确性和安全性,需要遵循一定的安全事项。以下是在进行继电器测试时需要注意的安全事项:…

消息中间件篇之Kafka-高可用机制

一、 集群模式 1. Kafka的服务器端由被称为Broker的服务进程构成,即一个Kafka集群由多个Broker组成。 2. 这样如果集群中某一台机器宕机,其他机器上的 Broker 也依然能够对外提供服务。这其实就是 Kafka 提供高可用的手段之一。 二、分区备份机制 1. 一个…

LeetCode56题:合并区间(python3)

我们用数组 merged 存储最终的答案。 首先,我们将列表中的区间按照左端点升序排序。然后我们将第一个区间加入 merged 数组中,并按顺序依次考虑之后的每个区间: 如果当前区间的左端点在数组 merged 中最后一个区间的右端点之后,那…

mac flutter 配置

下载Flutter Sdk 直接访问官网无法下载,需要访问中国镜像下载 Flutter SDK 归档列表 - Flutter 中文文档 - Flutter 中文开发者网站 - Flutter Start building Flutter Android apps on macOS - Flutter 中文文档 - Flutter 中文开发者网站 - Flutter 下载后解压…

万户OA ezoffice text2Html接口存在任意文件读取漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

【C#】用于基于 UV DLP 的 3D 打印机的切片软件源码解析(二)思维导图

UV_DLP_3dPrinter3DEngineCamera.cs在3D图形库OpenTK中用于设置和表示3D渲染相机的配置Engine3d.cs过存储3D对象和线条,并利用Camera类完成3D视图的处理,构成了一个基本的3D渲染框架。它可以用来创建、展示和操作3D场景,如在3D打印程序中展示…

交换两个整数

交换两个整数 题目描述:解法思路:解法代码:运行结果: 题目描述: 写⼀个函数Swap,可以交换两个整数的内容。注意必须实现成函数完成。 输入2个整数,调用自定义函数Swap,完成2个整数的…

FL Studio All Plugins Edition2024中文完整版Win/Mac

FL Studio All Plugins Edition,常被誉为数字音频工作站(DAW)的佼佼者,是音乐制作人和声音工程师钟爱的工具。它集音频录制、编辑、混音以及MIDI制作为一体,为用户提供了从创作到最终作品输出的完整工作流程。这个版本…

学习vue3第二节(使用vite 创建vue3项目)

使用vite 创建vue3项目 node 安装请移步 node官网: https://nodejs.p2hp.com/ node 版本控制 请移步 nvm官网:https://nvm.uihtm.com/ vite 生成vue项目完整版 请移步 vite官网:https://cn.vitejs.dev/ 1、使用 npm 或者 yarn 创建vue3 项目…

【Java设计模式】一、工厂模式、建造者模式、原型设计模式

文章目录 1、简单工厂模式2、工厂方法模式3、抽象工厂模式4、建造者模式5、原型设计模式 设计模式即总结出来的一些最佳实现。23种设计模式可分为三大类: 创建型模式:隐藏了创建对象的过程,通过逻辑方法进行创建对象,而不是直接n…

2.2卡尔曼滤波

卡尔曼滤波器的预测和更新是卡尔曼滤波算法的两个核心步骤。下面是预测和更新的具体算法步骤: 1. 预测步骤(Predict): - 根据系统模型(状态转移矩阵F)和当前状态估计(状态向量x)…

机器学习-01-课程目标与职位分析

总结 本系列是机器学习课程的第01篇,主要介绍本门课程的课程目标与职位分析 教材 数据挖掘与机器学习 课程教学方法 布鲁姆教学法 认知领域(cognitive domain) 1.知道(知识)(knowledge) 是指…

前端框架的CSS模块化(CSS Modules)

创作纪念日之际,来给大家分享一篇文章吧 聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们…

F2图例封装 - Bar

基于vue3 和 F2 3.5.0 <template><div :style"{minHeight: ${height}px,width: 100% }" ref"container"><canvas v-show"showChart" :id"chartId" class"chart-canval"></canvas><empty-box v-…