一、STP的简介

二、STP的概述

三、STP的工作原理

四、生成树的算法

五、BPDU(桥协议数据单元)

六、STP收敛

TP简介

STP - Spanning Tree Protocol(生成树协议)

  • 逻辑上断开环路,防止广播风暴的产生
  • 当线路故障,阻塞接口被激活,恢复通信,起备份线路的作用

二、STP的概述

交换网络环路的产生

  • 广播风暴的形
  • 成多帧复制
  • MAC地址表紊乱

三、STP工作原理

  • 生成树算法及验证
  • BPDU(桥协议数据单元)
  • STP的收敛

四、生成树的算法

1、生成树算法分为3个步骤

  • 选择根网桥(Roo Bridge)
  • 选择根端口(Root Ports)
  • 选择指定端口(Designated Ports)

2、网桥ID(BID)

网桥ID是唯一的

选择交换网络中网桥ID最小的交换机成为根网桥

3、以此拓扑为例,介绍STP的计算过程

根据网桥ID选择根网桥

4、选择根端口的依据

  • 到根网桥最低的根路径成本
  • 直连的网桥ID
  • 最小端口ID最

小根路径成本:

网桥到根网桥的路径上所有链路的成本之和

5、带宽与路径成本的关系

6、端口ID

7、在非根网桥上,选择一个根端口(RP)

8、指定端口

  • 根桥上的端口全是指定端口
  • 在每个网段上,选择1个指定端口

非根桥上的指定端口,选择顺序。

  • 根路径成本较低
  • 所在的交换机的网桥ID的值较小端口
  • ID的值较小

9、在每个网段选择一个指定端口(DP)

既不是根端口也不是指定端口,STP将这个端口阻塞(block)

10、最终形成逻辑结构无环拓扑

三层交换机的生成树协议选举

五、BPDU桥协议数据单元

Bridge Protocol Data Unit -桥协议数据单元

使用组播发送BPDU

BPDU类型

  • 配置BPDU
  • 拓扑变更通告(TCN)BPDU

BPDU报文字段

根网桥ID、根路径成本、发送网桥ID、端口ID

STP利用BPDU选择根网

当交换机启动时,假定自己是根网桥,在向外发送的BPDU中根网桥ID字段填写自己的网桥ID

六、STP的收敛

交换机端口的STP状态

生成树计时器

STP的计时器

  • Hello时间
  • 转发延迟
  • 最大老化时间

STP(生成树)的概述和工作原理的更多相关文章

  1. 【转】 ISP概述、工作原理及架构

    1.概述 ISP全称Image Signal Processing,即图像信号处理.主要用来对前端图像传感器输出信号处理的单元,以匹配不同厂商的图象传感器. ISP 通过一系列数字图像处理算法完成对数 ...

  2. STP生成树协议在二层环境中的应用

    一 STP简介 1.单词: rstp快速生成树协议 filter过滤 protection保护 2.作用: 通过阻塞特定接口来防止二层交换环路,从而做到既可以提高网络可靠性的同时又能避免环路带来的问题 ...

  3. 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 工作原理和相关组件(三)

    RAC 工作原理和相关组件(三) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...

  4. Web服务器的工作原理

    Web服务器的工作原理 Web服务器工作原理概述 很多时候我们都想知道,web容器或web服务器(比如Tomcat或者jboss)是怎样工作的?它们是怎样处理来自全世界的http请求的?它们在幕后做了 ...

  5. Asp.Net工作原理

    1. ASP.NET页面的的一般处理过程: 客户请求WEB页面 WEB服务寻找指令文件(.ASPX) ASP.NET代码被发送给CLR进行编译 HTML流返回给浏览器和指令 浏览器处理HTML并显示页 ...

  6. SPI协议及工作原理分析

    说明.文章摘自:SPI协议及其工作原理分析 http://blog.csdn.net/skyflying2012/article/details/11710801 一.概述. SPI, Serial ...

  7. web服务器工作原理

    Web服务器工作原理概述 转载自http://www.importnew.com/15020.html 很多时候我们都想知道,web容器或web服务器(比如Tomcat或者jboss)是怎样工作的?它 ...

  8. hibernate的工作原理

    hibernate的工作原理1.Hibernate 的初始化.读取Hibernate 的配置信息-〉创建Session Factory1)创建Configeration类的实例.它的构造方法:将配置信 ...

  9. Orchard工作原理

    概述 本文翻译仅供学习之用,了解Orchard工作原理设计思想.技术点及关键词,如有缺漏请不吝指正.鉴于能力有限定有诸多曲解或不完整的地方,请海涵.不定时完善整理. CMS不像常规的web程序,它更像 ...

随机推荐

  1. shell $? 状态码含义

    Linux 使用了$? 来保存上个执行的命令的退出状态码. 0                命令成功结束 1                通用未知错误 2                误用she ...

  2. Linux命令(八)之安装Jdk、Tomcat

    .personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...

  3. net Entityframerwork+sqlite 数据库迁移配置(采坑日记)

    1首先在app.config配置写入add 1:<provider invariantName="System.Data.SQLite.EF6" type="Sys ...

  4. CVE-2021-21978 VMware View Planner 远程代码执行漏洞通告 | 附 POC

    漏洞简介 VMware 是一家云基础架构和移动商务解决方案厂商,View Planner 是他旗下推出的一款针对view桌面的测试工具.2021年03月02日,VMware 官方披露了 CVE-202 ...

  5. Linux通过命令增加IPV6地址

    第一步:输入nmcli connection modify "eth0" ipv6.method  manual ipv6.address  ipv6地址/64 ifname et ...

  6. NLP与深度学习(一)NLP任务流程

    1. 自然语言处理简介 根据工业界的估计,仅有21% 的数据是以结构化的形式展现的[1].在日常生活中,大量的数据是以文本.语音的方式产生(例如短信.微博.录音.聊天记录等等),这种方式是高度无结构化 ...

  7. JS获取对象在内存中计算后的样式

    通过obj.style的方式只能取得"内联style"的值,对于<style></style>中的css属性值,则无能为力 . 我们可以用obj.curre ...

  8. Visual Studio 2019 使用C语言创建动态链接库(Dll)并使用C语言和C#实现调用

    参考网址:https://blog.csdn.net/weixin_34976988/article/details/99625533 一.创建DLL1.建立动态链接库项目 2.创建头文件和源文件 删 ...

  9. COM笔记-Widows 注册表

    Widows 注册表 HKEY_CLASSES_ROOT在此关键字之下,可以看到有一个CLSID关键字.在CLSID关键字之下列有系统中安装的所有组件的CLSID.注册表CLSID是一个具有如下格式的 ...

  10. 使用JS获取SessionStorage的值

    参考:https://www.jb51.net/article/132729.htm 获取sessionStorage的意义 首先获取它是为了将获得的信息输出或者alert():让人容易看到, 其次, ...