热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

交换机与路由技术16生成树协议STP

目录一、生成树协议(STP)1.1问题引入1.2生成树协议概述1.3STP工作原理1.4生成树算法及验证1.5生成树协议选举实例一、生成树协议

目录

一、生成树协议(STP)

1.1 问题引入

1.2 生成树协议概述

1.3 STP工作原理

1.4生成树算法及验证

1.5 生成树协议选举实例




一、生成树协议(STP)

目的

理解生成树STP原理

会配置PVSTP

理解STP选举过程


1.1 问题引入

如图交换机2的F0/1接口物理上开启,逻辑上关闭,是阻塞状态

问题1:为什么是交换机2的F0/1接口被阻塞

前面我们讲过交换机的工作原理,当交换机接收到一个目的MAC地址不在自己的MAC表中的数据帧时会进行广播的方式转发,如果是一个交换机组成的环形网络,如上图,这样就很容易造成广播风暴,为了解决这个问题,需要使用生成树协议,将一个环形网络上的某条链路从逻辑上关闭,从而变成树形网络,避免二层环路问题


1.2 生成树协议概述

是一种工作在OSI网络参考模型中第二层(数据链路层)的通信协议,基本应用是防止交换机冗余链路产生环路,用于确保以太网中无环路的逻辑拓扑结构,从而避免广播风暴,占用交换机资源

物理上是连接状态,从逻辑上断开环路,防止广播风暴产生

当线路出现故障,阻塞接口被激活,恢复通信,起备份线路的作用


1.3 STP工作原理

任意一交换机中,如果到达根交换机有两条或以上的链路,生成树协议都会根据算法,仅保留一条链路,其他链路都会被阻塞,从而保证任意两个交换机之间只有一条单一的活动链路,生成的这种拓扑结构很像以根交换机为树干的树形结构。


1.4生成树算法及验证

第一步:选择根网桥(Root Bridge)即选择根交换机


规则:比较网桥ID(交换机ID),网桥ID较小的为根交换机

网桥ID:交换机的优先级+交换机的MAC地址

优先级越小越优先,MAC地址越小越优先

优先级一样,MAC地址越小越优先

默认优先级是:32768 可以由管理员进行更改,更改时注意需要设置为4096的倍数

根交换机上的端口不可能被阻塞的


第二步:选择根端口


1.根路径成本最少:其他交换机的端口到达根交换机路径成本(开销)

2.与根交换机直连交换机的ID最小

3.端口ID最小,每个接口都有端口ID值,默认是128


第三步:选择指定端口


根网桥(根交换机上)的端口都是指定端口

在每一个网段上(每条线路上)选择一个指定端口

非根网桥(非根交换机上)选择指定端口

1.根路径成本较低

2.所在交换机的ID较小(优先级+MAC地址)

3.端口ID值较小


第四步:没有被选中的端口就是阻塞端口


1.5 生成树协议选举实例

第一步:选择根网桥,即根交换机

网桥ID(优先级和MAC地址)越小越优先,优先级可以管理员手动修改,所有需要指定哪个交换机为根交换机直接修改它的优先级。假设SW1指定根网桥,直接设置优先级为4096

第二步:根网桥上面的端口都是指定端口(DP)、SW2和SW3之间选择指定端口,根路径成本如果一样(除非两条线路带宽不一样,带宽小的成本高)就比网桥ID,假设选sw2右边的端口为指定端口,那么直接指定网桥优先级为8192

第三步:选择根端口,图中SW2到SW1\SW3到SW1成本一致最小,所以为根端口

第四步:没有选择的端口为阻塞端口


推荐阅读
  • 如何寻找程序员的兼职机会
    随着远程工作的兴起,越来越多的程序员开始寻找灵活的兼职工作机会。本文将介绍几个适合程序员、设计师、翻译等专业人士的在线平台,帮助他们找到合适的兼职项目。 ... [详细]
  • 本文介绍了用户界面(User Interface, UI)的基本概念,以及在iOS应用程序中UIView及其子类的重要性和使用方式。文章详细探讨了UIView如何作为用户交互的核心组件,以及它与其他UI控件和业务逻辑的关系。 ... [详细]
  • 本文探讨了线性表中元素的删除方法,包括顺序表和链表的不同实现策略,以及这些策略在实际应用中的性能分析。 ... [详细]
  • Python网络编程:深入探讨TCP粘包问题及解决方案
    本文详细探讨了TCP协议下的粘包现象及其产生的原因,并提供了通过自定义报头解决粘包问题的具体实现方案。同时,对比了TCP与UDP协议在数据传输上的不同特性。 ... [详细]
  • 汇编语言标识符和表达式(四)(表达式与符号定义语句)
    7、表达式表达式是程序设计课程里的一个重要的基本概念,它可由运算符、操作符、括号、常量和一些符号连在一起的式子。在汇编语言中,表达式分为:数值表达式和地址表达式。(1)进制伪指令R ... [详细]
  • 对于非计算机专业背景的开发者而言,如何快速掌握.NET基础知识以应对技术面试是一个挑战。本文将提供一系列实用建议,帮助读者在短时间内提高.NET基础水平。 ... [详细]
  • 本文介绍了使用Python和C语言编写程序来计算一个给定数值的平方根的方法。通过迭代算法,我们能够精确地得到所需的结果。 ... [详细]
  • 本文提供了一个关于AC自动机(Aho-Corasick Algorithm)的详细解析与实现方法,特别针对P3796题目进行了深入探讨。文章不仅涵盖了AC自动机的基本概念,还重点讲解了如何通过构建失败指针(fail pointer)来提高字符串匹配效率。 ... [详细]
  • 本文提供了一个详尽的前端开发资源列表,涵盖了从基础入门到高级应用的各个方面,包括HTML5、CSS3、JavaScript框架及库、移动开发、API接口、工具与插件等。 ... [详细]
  • 本文介绍了在达梦数据库(DM7)中通过两种方法实现两表之间的联接更新操作,包括使用子查询的更新语句和MERGE语句的具体应用。 ... [详细]
  • SSE图像算法优化系列三:超高速导向滤波实现过程纪要(欢迎挑战)
    自从何凯明提出导向滤波后,因为其算法的简单性和有效性,该算法得到了广泛的应用,以至于新版的matlab都将其作为标准自带的函数之一了&#x ... [详细]
  • 解读基因集富集分析(GSEA)结果及应用
    本文详细介绍了基因集富集分析(Gene Set Enrichment Analysis, GSEA)的基本原理,以及如何通过GSEA分析结果来解析基因表达数据。此外,还提供了使用R语言进行GSEA分析的具体方法。 ... [详细]
  • 社会网络分析学习笔记 - 模块4
    本文探讨了小世界现象及其在社交网络中的应用,包括厄多斯数和培根数的概念。文章还介绍了图的基本表示方法,如边列表和邻接矩阵,并讨论了它们在不同规模网络中的适用性和效率。 ... [详细]
  • 如何高效地将CAJ文档转换为Word格式
    在学术研究和日常工作中,我们有时需要将特定的CAJ格式文档转换为更通用的Word格式。本文将详细介绍如何轻松实现这一转换,帮助用户快速掌握操作步骤。 ... [详细]
  • 虚拟网络连接配置指南旨在详细阐述如何在两台区域边界路由器(ABR)之间,通过一个非骨干区域(即传输区域)建立一条逻辑连接通道。该指南提供了具体的配置步骤和最佳实践,帮助网络管理员高效地实现跨区域的虚拟连接,确保网络的稳定性和可靠性。 ... [详细]
author-avatar
舞倾城2010_217
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有