相信大家家里都有路由器吧!而我们家用的路由器上有WAN、LAN口,当我们不将WAN口接上时,两台终端设备(电脑也叫PC)都接在LAN口下那么这个路由器就成了交换机,而你将一台路由器两根能上网的网线接上另外一台路由器的LAN口时你会发现你的网络变的非常的差,wifi也会很差,微信登录不上,网页打不开,电视剧看不了!这时就有了生成树,这是什么树?其实它叫生成树协议,主要作用就是来防止以上出现的问题,这个问题又叫做环路,广播风暴,因此生成树应运而生。
广播风暴(如下实验结果)

网络种存在环路


交换机等交换设备会对广播数据帧进行泛洪操作。若网络中出现环路,交换设备经过多次泛洪之后,网络中就会出现大量方向互异的广播流,远远大过了交换设备所能承载的数据上限,从而正常的数据帧传输受到了抑制,便会导致信道的拥塞,其结果往往是延时或丢帧。
简单的讲是指当广播数据充斥网络无法处理,并占用大量网络带宽,导致正常业务不能运行,甚至彻底瘫痪,这就发生了“广播风暴”。一个数据帧或包被传输到本地网段(由广播域定义)上的每个节点就是广播;由于网络拓扑的设计和连接问题,或其他原因导致广播在网段内大量复制,传播数据帧,导致网络性能下降,甚至网络瘫痪,这就是广播风暴。

Spanning Tree Protocol 生成树协议(简称STP)

STP的主要作用是用来防止2层循环的,上文所说的情况就是二层循环的情况,STP使用生成树算法来创建拓扑数据库,查找冗余并且破坏它。其实就是我去一个地方当存在两条可以选择的时候,这时生成树会将其中一条路封起来,只走一条路这样防止广播风暴。

生成树的种类

思科可用协议:PVST、PVST+、RPVST、MST (网络界的老大哥思科)
公有协议:STP、RSTP、MSTP
STP约等于PVST、RSTP约等于RPVST 、MST=MSTP

生成树的设备角色选举以及端口角色选举

设备角色:根桥、非根桥
端口角色:根端口、指定端口、RPVST(替代端口、备份端口、边缘端口)、三个高级特性(PORTFAST、UPLINKFAST、BACKBONEFAST),PORTFAST=边缘端口、UPLINKFAST=替代端口,BACKBNEFAST=备份端口。
portfast:可以使交换端口状态直接跳过listening和learning状态而直接达到forwarding状态,该接口特性必须配置在连接终端或者服务器的端口,PortFast只能配置在接入层交换机中
uplinkfast:UplinkFast提供了再生成树拓扑结构发生变化之后的快速收敛和冗余链路的负载均衡措施,当交换机检测到连接上层的交换机的链路失效时,UplinkFast特性能使交换机中本来的blocked口直接转换为forwarding状态,而不用从listening和learning状态进行过渡,UplinkFast只能配置在接入层交换机中。
Backbonefast:可以直接将本来blocked的端口转换为listening状态,然后经过15秒切换到learning状态,再经过15秒切换到forwarding状态,这个过程总共耗费大概30秒的时间。一般配置在所有交换机中。

设备角色选举原则
根桥:BID优先级,BID的组成=网桥优先级+网桥MAC(交换机接口最小的MAC),每台交换机都有自己的优先级默认都是32768,而每个端口的MAC地址理论上都是全球唯一MAC也是越小越优。

端口角色选举原则
非根桥上设备上都进行选举一个根端口
根端口
(1)BPDU发送方向入接口的开销总和
(2)比较发送者的BID,当开销总和一致时进行比较
(3)当前两者比较不出来时,比较发送者的PID PID=端口编号+端口优先级
(4)当以上方法都不能选举出来时,比较接收者的PID
指定端口
(1)BPDU发送方向的反方向所有根端口的开销总和
(2)当上者无法判断时,比较端口所在设备的BID
(3)比较发送者的BID
替代端口:当根端口故障时替代根端口(RSTP)
备份端口:当指定端口故障时替代指定接口(RSTP)

生成树类型特性

STP:最原始的所有vlan基于一棵树
RSTP:加快的生成树的收敛速度
PVST:一个VLAN一颗树
PVST+:在PVST的基础上增加的三个高级特性
RPVST:支持以上特性,加快生成树收敛
MSTP:支持以上所有特性可将多个VLAN基于一个实例

生成树端口状态

STP模式下:disable→blocking(阻塞20SBPDU老化时间20s)→listening(监听15s)→learning(学习15s)→fowarding(转发)
RSTP、RPVST(快速生成树,加快生成树的收敛时间):blocking→learning(学习)→fowarding(转发)(内置uplinkfast以及backbonefast)
1、disable:不参与数据帧的转发和STP,一般在这个状态是不可操作的(一般我认为这个状态是端口未启用状态,个人理解成down)
2、blocking:不转发数据帧之间听BPDU,主要目的是防止循环的产生
3、listening:端口监听BPDU,来确定再传送数据帧之前没有生循环发生
4、learning:监听BPDU和学习所有路径,学MAC地址表,不装发数据帧
5、forwarding:转发和接收数据帧

生成树安全特性

1、Root Guard(跟防护):当我们在某个接口下配置了这个安全特性之后,如果这个接口特性有收到更加优秀的BPDU时这样的话会自动阻塞这个接口(配置在ACCESS接口下)
2、BPDU Guard:如果我们在Trunk的链路上,启用portfast这回导致我们一个冗余连接,有可能产生广播风暴,为了避免这种情况采用BDPUGurad
3、BPDU过滤:不是PORTFAST设置为errdisable状态指示这个接口不再接收转发数据包

P/A机制(请求回应机制)

相当于就是说在最开始的时候每一台交换机启动RSTP后,都认为自己是“根桥”,并且发送RST BPDU,所有端口都为指定端口,处于Discarding状态,每个交换机收到对方发送的BPDU后会选举其中最优的,此时发送次优BPDU的交换机将停止发送BPDU并开始执行同步。

以上是小弟所知道生成树的知识有错请指出!!!谢谢各位看客大佬!

交换机中的生成树,是什么树?相关推荐

  1. 网件交换机设置trunk_Xbox 360不会自动登录到实时状态-已修复,因为NetGear托管GS724TP交换机中的RSTP和生成树设置

    网件交换机设置trunk You change something months ago, then noticed an unrelated problem weeks later, then it ...

  2. HCIP-7.5交换机RSTP快速生成树协议原理

    HCIP-7.5交换机RSTP快速生成树协议原理 1.RSTP快速生成树(rapid spanning Tree Protocol 2.RSTP基本计算过程 3.RSTP端口状态描述 3.1.交换机端 ...

  3. 华三交换机mode是什么意思_交换机中相关术语代表什么意思,有必要弄清楚,赶紧收藏...

    1. 交换机 交换机是用来实现交换式网络的设备,在iSO的OSI模型中,它是位于第二层--数据链路层的设备,能对帧进行操作,是一种智能型设备. 2. IEEE 802.3 以太网标准 3. IEEE ...

  4. cisco 交换机 获取 转发表_在二层交换机中察看转发查询表的命令是?

    [单选题]属于足骨的是 ( ) [填空题]PartII Listening B 8.(__)9.(__)10.(__)11.(__)12.(__)13.(__)14(__)15 (__) [单选题]合 ...

  5. 华为交换机ssh思科交换机_思科交换机交换机中ip、mac地址绑定

    在思科交换机中为了防止ip被盗用或员工乱改ip,可以做以下措施,既ip与mac地址的绑定,和ip与交换机端口的绑定. 一.通过IP查端口 先查MAC地址,再根据MAC地址查端口: bangonglou ...

  6. cisco 2960 VLAN MAC_思科交换机交换机中ip、mac地址绑定

    在思科交换机中为了防止ip被盗用或员工乱改ip,可以做以下措施,既ip与mac地址的绑定,和ip与交换机端口的绑定. 一.通过IP查端口 先查MAC地址,再根据MAC地址查端口: bangonglou ...

  7. 实用知识点梳理:网络操作系统、HTTPS、交换机中用户权限、路由器与集线器功能、HTTP2.0特性

    网络操作系统 网络操作系统的基本任务: 屏蔽本地资源与网络资源之间的差异: 为用户提供基本的网络服务功能: 管理网络系统的共享资源: 提供网络系统的安全服务. HTTPS 在HTTP跟TCP中间多了一 ...

  8. python怎么验证两个json是不是一样_比较Python中的两个JSON树

    我有这种JSON树的文件夹结构.有什么方法可以将它与同类的Json树进行比较以获得差异(文件丢失或不同的文件属性(日期,crc,..)),并将其作为具有不同/缺失文件名称的列表返回.比较Python中 ...

  9. 网络知识:交换机中的半双工与全双工知识笔记

    今天小编给大家分享一下交换机中半双工与全双工相关知识,希望对大家能有所帮助! 早期的网络设备HUB(集线器)就是半双工,目前基本没有人用了,而现在用的SWITCH(交换机)就是全双工. a.半双工:接 ...

最新文章

  1. Spring 国际化例子
  2. 【Win32汇编】数组累加
  3. 空间说说html,空间说说大全(共100句)
  4. 如何将XML文件导入Excel中
  5. C语言三目运算符用法详解
  6. java mysql时间格式化字符串_java将日期时间字符串转成日期插入到oracle的date字段...
  7. SIGGRAPH Asia 2018 papers
  8. java poi合并单元格后内容无法显示
  9. 六级考研单词之路-十六
  10. 一副好的平面设计作品,来自优秀的字体
  11. Java 中的 getResource 方法
  12. PAT 甲级 树(二)
  13. HR SaaS系统,虎蔓开创云端人力资源管理的领先新模式!
  14. 少壮不努力,一生在内地
  15. Mac os下时间戳转换
  16. 兄弟Brother MFC-J820DN驱动
  17. 使用 VMware Player 创建适合封装的虚拟机(转自IT天空Skyfree)
  18. Rocket-chip-CLINT
  19. 蓝牙 UUID识别码对应的服务类型
  20. Windows权限提升—溢出提权

热门文章

  1. 什么是投入产出比(ROI)以及如何提升投入产出比?
  2. 博客网页代码块渲染-显示行号,一键复制,全屏显示,mac风格(基于mavon-editor或wangEditor)
  3. 说一下“==“和equals方法究竟有什么区别?
  4. 多线程下SOCKET编程
  5. java/php/net/python中小型培训机构管理系统设计
  6. 深入浅出JMS(二)——JMS的组成
  7. SpringBoot集成JWT实现Token登录验证
  8. word文档加密、只读
  9. Filament渲染引擎剖析 之 通过图元构建几何体
  10. usleep java_sleep()和usleep()的使用和区别