STP学习的第一篇

news2024/9/30 1:41:27

1.STP的基本概念:根桥

(1)STP的主要作用之一是在整个交换网络中计算出一棵无环的“树”(STP树)。

(2)根桥是一个STP交换网络中的“树根”。

(3)STP开始工作后,会在交换网络中选举一个根桥,根桥是生成树进行拓扑计算的重要“参考点”,是STP计算得出的无环拓扑的“树根”。

(4)在STP网络中,桥ID最小的设备会被选举为根桥。

(5)在BID的比较过程中,首先比较桥优先级,优先级的值越小,则越优先,拥有最小优先级值的交换机会成为根桥;如果优先级相等,那么再比较MAC地址,拥有最小MAC地址的交换机会成为根桥。

2.STP的基本概念:Cost

(1)每一个激活了STP的接口都维护着一个Cost值,接口的Cost主要用于计算根路径开销,也就是到达根的开销。

(2)接口的缺省Cost除了与其速率、工作模式有关,还与交换机使用的STP Cost计算方法有关。

(3)接口带宽越大,则Cost值越小。

(4)用户也可以根据需要通过命令调整接口的Cost

 3.STP的基本概念:RPC   根路径开销(Root Path Cost)  根路径开根路径开销(Root Path Cost)销(Root Path Cost

(1)STP的拓扑计算过程中,一个非常重要的环节就是“丈量”交换机某个接口到根桥的“成本”,也即RPC

(2)一台设备从某个接口到达根桥的RPC等于从根桥到该设备沿途所有入方向接口的Cost累加。

 4.STP的基本概念:Port ID

(1)运行STP的交换机使用接口ID来标识每个接口,接口ID主要用于在特定场景下选举指定接口。

(2)接口ID由两部分构成的,高4 bit是接口优先级,低12 bit是接口编号。

(3)激活STP的接口会维护一个缺省的接口优先级,在华为交换机上,该值为128。用户可以根据实际需要,通过命令修改该优先级。

5.STP的基本概念:BPDU

(1)BPDUSTP能够正常工作的根本。BPDUSTP的协议报文。

(2)STP交换机之间会交互BPDU报文,这些BPDU报文携带着一些重要信息,正是基于这些信息,STP才能够顺利工作。

(3)BPDU分为两种类型:配置BPDUConfiguration BPDU)、TCN BPDUTopology Change Notification BPDU

(4)配置BPDUSTP进行拓扑计算的关键;TCN BPDU只在网络拓扑发生变更时才会被触发。

6.配置BPDU的比较原则

STP按照如下顺序选择最优的配置BPDU

1.最小的根桥ID。2.最小的RPC。3.最小的网桥ID。4.最小的接口ID。备注(第一条原则主要用于在网络中选举根桥,后面的原则主要用于选举根接口及指定接口。

7.STP的计算过程 (在交换网络中选举一个根桥)

(1)STP在交换网络中开始工作后,每个交换机都会向网络中发送配置BPDU。配置BPDU中包含交换机自己的桥ID

(2)网络中拥有最小桥ID的交换机成为根桥。

(3)在一个连续的STP交换网络中只会存在一个根桥。

(4)根桥的角色是可抢占的。

(5)为了确保交换网络的稳定,建议提前规划STP组网,并将规划为根桥的交换机的桥优先级设置为最小值0

7.STP的计算过程 (在每台非根桥上选举一个根接口)

(1)每一台非根桥交换机都会在自己的接口中选举出一个接口。

(2)非根桥交换机上有且只会有一个根接口。

(3)当非根桥交换机有多个接口接入网络中时,根接口是其收到最优配置BPDU的接口。

(4)可以形象地理解为,根接口是每台非根桥上“朝向”根桥的接口。

7.STP的计算过程 (在每条链路上选举一个指定接口)

(1)根接口选举出来后,非根桥会使用其在该接口上收到的最优BPDU进行计算,然后将计算得到的配置BPDU与除了根接口之外的其他所有接口所收到的配置BPDU进行比较:

(2)如果前者更优,则该接口为指定接口;

(3)如果后者更优,则该接口为非指定接口。

一般情况下,根桥的所有接口都是指定接口。
7.STP的计算过程 (非指定接口被阻塞
(1) 一台交换机上,既不是根接口,又不是指定接口的接口被称为非指定接口。
(2) STP 操作的最后一步是阻塞网络中的非指定接口。这一步完成后,网络中的二层环路就此消除。

图中所示为 STP 的端口状态迁移机制,运行 STP 协议的设备上端口状态有 5 种:
Forwarding :转发状态。端口既可转发用户流量也可转发 BPDU 报文,只有根端口或指定端口才能进入 Forwarding 状态。
Learning :学习状态。端口可根据收到的用户流量构建 MAC 地址表,但不转发用户流量。增加 Learning 状态是为了防止临时环路。
Listening :侦听状态。端口可以转发 BPDU 报文,但不能转发用户流量。
Blocking :阻塞状态。端口仅仅能接收并处理 BPDU ,不能转发 BPDU ,也不能转发用户流量。此状态是预备端口的最终状态。
Disabled :禁用状态。端口既不处理和转发 BPDU 报文,也不转发用户流量。
案例 1 STP 的基础配置
SW1 的配置如下:
[czySW1]stp mode stp 
[czySW1]stp enable 
[czySW1]stp priority 0

SW2的配置如下:

[czySW2]stp mode stp  
[czySW2]stp enable
[czySW2]stp priority 4096

SW3的配置如下:

[czySW3]stp mode stp
[czySW3]stp enable

通过配置,将SW1指定为根桥,并使SW3e0/0/2接口被STP阻塞。

在LSW3上查看stp接口状态摘要

8.STP的不足

(1)STP协议虽然能够解决环路问题,但是由于网络拓扑收敛慢,影响了用户通信质量。如果网络中的拓扑结构频繁变化,网络也会随之频繁失去连通性,从而导致用户通信频繁中断,这是用户无法忍受的。

(2)STP没有细致区分接口状态和接口角色,不利于初学者学习及部署。

(3)网络协议的优劣往往取决于协议是否对各种情况加以细致区分。

          从用户角度来讲,Listening、Learning和Blocking状态并没有区别,都同样不转发用户流量。

          从使用和配置角度来讲,接口之间最本质的区别并不在于接口状态,而是在于接口扮演的角色。

          根接口和指定接口可以都处于Listening状态,也可能都处于Forwarding状态。

(4)STP算法是被动的算法,依赖定时器等待的方式判断拓扑变化,收敛速度慢。

(5)STP算法要求在稳定的拓扑中,根桥主动发出配置BPDU报文,而其他设备进行处理,传遍整个STP网络。这也是导致拓扑收敛慢的主要原因之一。

9.RSTP通过接口角色的增补,简化了生成树协议的理解及部署

10.总结

1、选举根桥,根桥有且只有一个,除此之外都是非根桥;
2、非根桥有且只有一个根端口(到达根桥最近cost);
3、每段链路选举唯一 一个指定端口。
4、既不是根端口也不是指定端口,则会被称为阻塞端口(逻辑关闭);
选举规则:
1、根桥选举:最小的BID,具体看下面;
2、非根桥根端口选举:
      2.1 先比较RPC
      2.2 比较对端的BID
      2.3 比较对端的PID
      2.4 比较本端的PID
3、指定端口:
      3.1 先比较RPC
      3.2 比较发送者的BID
      3.3 比较发送者的PID

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

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

相关文章

一、MinIO基本知识

MinIO基本知识 一、简介1.许可 二、部署1.Docker部署1.1 部署容器 1.2 MinIO页面访问1.3 创建Bucket![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/6c8aa92975f146b691f1f36ce1033e7c.png) 三、Python-API1.安装包2.Bucket、Object概念3.Bucket-API4.MinIOClient-…

【Yolov系列】Yolov5学习(一)补充1.2:自适应锚框计算详解+代码注释

一、自适应锚框计算详解 自适应锚框计算的具体过程: ①获取数据集中所有目标的宽和高。 ②将每张图片中按照等比例缩放的方式到 resize 指定大小,这里保证宽高中的最大值符合指定大小。 ③将 bboxes 从相对坐标改成绝对坐标,这里…

余氯控制器的功能优势简介

余氯控制器是一款智能化的水质监测设备,它采用高精度AD转换和单片机微处理技术,能够完成余氯值的高精度测量。这款控制器具备时间显示、数据存储等基本功能。 高智能化设计:余氯控制器采用了高精度AD转换和单片机微处理技术,确保…

VisualGLM-6B的部署步骤

对于如下命令,你将完全删除环境和环境中的所有软件包 conda remove -n env_name --all 一、VisualGLM-6B环境安装 1、硬件配置 操作系统:Ubuntu_64(ubuntu22.04.3) GPU:4050 显存:16G 2、配置环境 建…

防水型RTU IP68防水遥测终端机

在工业物联网的领域中,防水型RTU(Remote Terminal Unit)具有不可或缺的重要性。作为工业设备的守护神,它在实现数据采集和传输、远程控制和预警告警的同时,还能保障设备免受水分侵害,确保系统稳定安全的运行。    计讯物联防水…

JDK 11下载、安装、配置

下载 到Oracle管网下载JDK 11,下载前需要登录,否则直接点下载会出现502 bad gateway。 下载页面链接 https://www.oracle.com/hk/java/technologies/downloads/#java11-windows 登录 有些人可能没有Oracle账号,注册也比较慢,有需…

2024_GAMES101作业环境配置Mac(intel)_VSCode_Clion

目录 VSCodeClionCMakeList.txt VSCode brew install cmake 更换下载源为阿里云下载 opencv,不然会很慢 cd "$(brew --repo)" git remote -v cd "$(brew --repo)" git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git…

Python --- 基于Iris flower数据集的kNN分类实战

基于Iris flower数据集的kNN分类实战 Iris data set(鸢尾花数据集简介) 鸢尾花数据集共包含三种鸢尾花:Iris setosa, Iris virginica and Iris versicolor。 Iris setosa(山鸢尾) Iris virginica(维吉尼亚鸢尾 ) Iris …

本地环境测试

1. 在 Anaconda Navigator 中,打开 Jupyter Notebook ,在网页中,点击进入本地环境搭建中创 建的工作目录,点击右上角的 New- 》 Folder ,将新出现的 Untitled Folder 选中,并使用左上角 的 Rename 按钮重…

C++ //练习 12.30 定义你自己版本的TextQuery和QueryResult类,并执行12.3.1节(第431页)中的runQueries函数。

C Primer(第5版) 练习 12.30 练习 12.30 定义你自己版本的TextQuery和QueryResult类,并执行12.3.1节(第431页)中的runQueries函数。 环境:Linux Ubuntu(云服务器) 工具&#xff1…

{“errMsg“:“insertXWebCamera:fail appid privacy api banned“}

问题描述:微信小程序,在体验版本测试时,调用摄像头OK,没有任何问题,部署发布版本后,日志报错内容:{"errMsg":"insertXWebCamera:fail appid privacy api banned"}&#xff…

opencv人脸打马赛克

import cv2def FaceFind(imgPath: str) -> list:image cv2.imread(imgPath)gray cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)face_cascade cv2.CascadeClassifier(haarcascade_frontalface_default.xml)# 返回人脸坐标列表faces face_cascade.detectMultiScale(gray, scal…

MultiCD工具:创建一个多引导Linux USB驱动器

众所周知,拥有一个可安装多个可用操作系统的 CD 或 USB 驱动器在各种情况下都非常有用。无论是为了快速测试或调试某些内容,还是只是重新安装笔记本电脑或 PC 的操作系统,这都可以为你节省大量时间。 在本文中,将介绍如何使用名为…

高度自定义工业自动化配置:钡铼IOy系列模块广泛应用各行业案例

钡铼IOy系列模块是当今工业自动化领域中备受瞩目的一种设备,其高度自定义的特性使其在各行各业都得到了广泛的应用。无论是在制造业、能源领域还是物流行业,钡铼IOy系列模块都发挥着重要的作用,为企业提高生产效率、降低成本、提升产品质量等…

每日更新的Socks5代理服务推荐

大家好!我是一名对于IP代理知识非常熟悉的作者,今天我要为大家介绍的是每日更新的Socks5代理服务推荐。作为一个资深的网络爱好者,我深知在网络世界中保护个人隐私和确保数据安全的重要性。而Socks5代理服务则是一种既能够隐藏我们真实IP地址…

如何获取llama2模型

如何从huggingface快速下载llama2模型_llama2下载-CSDN博客文章浏览阅读1.6k次。【代码】如何从huggingface快速下载模型。_llama2下载https://blog.csdn.net/zh515858237/article/details/131248643?ops_request_misc&request_id&biz_id102&utm_termLlama%202%E6…

代码随想录算法训练营day34

题目:860.柠檬水找零、406.根据身高重建队列、452. 用最少数量的箭引爆气球 参考链接:代码随想录 860.柠檬水找零 思路:本题思路比较容易想,主要对于5,10,20三种情况分别讨论,维护三个变量分别记录目前手中三种钞票…

P450焕新而来,室内外两用+路径规划+YOLO点击跟踪,算力高达100TOPS

Prometheus 450(简称P450)是一款室内室外两用的中型轴距(410mm)无人机,基于F450基础飞行平台,搭载感知传感器二维平面激光雷达,双目深度相机等,配合软件Prometheus自主无人机系统和S…

GitOps 和 DevOps 有什么区别?

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab :https://gitlab.cn/install?channelcontent&utm_sourcecsdn 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署…

OpenStack 入门体验

目录 一、云计算概述 1.1、什么是云计算 1.2、云计算的服务模型 1)IaaS 2)PaaS 3)SaaS 1.3、OpenStack 概述 1)OpenStack 起源 2)什么是 OpenStack 3)OpenStack 优势 二、OpenStack 一…