STP学习的第一篇

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)BPDU是STP能够正常工作的根本。BPDU是STP的协议报文。

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

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

(4)配置BPDU是STP进行拓扑计算的关键;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指定为根桥,并使SW3的e0/0/2接口被STP阻塞。 在LSW3上查看stp接口状态摘要 ![](https://file.jishuzhan.net/article/1782581011113054210/fa60a47d03f55ea1242e10ec6df7637d.webp) **8.STP的不足** (1)STP协议虽然能够解决环路问题,但是由于网络拓扑收敛慢,影响了用户通信质量。如果网络中的拓扑结构频繁变化,网络也会随之频繁失去连通性,从而导致用户通信频繁中断,这是用户无法忍受的。 (2)STP没有细致区分接口状态和接口角色,不利于初学者学习及部署。 (3)网络协议的优劣往往取决于协议是否对各种情况加以细致区分。 从用户角度来讲,Listening、Learning和Blocking状态并没有区别,都同样不转发用户流量。 从使用和配置角度来讲,接口之间最本质的区别并不在于接口状态,而是在于接口扮演的角色。 根接口和指定接口可以都处于Listening状态,也可能都处于Forwarding状态。 (4)STP算法是被动的算法,依赖定时器等待的方式判断拓扑变化,收敛速度慢。 (5)STP算法要求在稳定的拓扑中,根桥主动发出配置BPDU报文,而其他设备进行处理,传遍整个STP网络。这也是导致拓扑收敛慢的主要原因之一。 **9.RSTP通过接口角色的增补,简化了生成树协议的理解及部署** ![](https://file.jishuzhan.net/article/1782581011113054210/87b62cff4a891cda6a5ac70657c35b71.webp) ![](https://file.jishuzhan.net/article/1782581011113054210/3f44fd6f6787e499456f5c390f4c4434.webp) ![](https://file.jishuzhan.net/article/1782581011113054210/97c6f5be4bf89e617a9fa65c4ea647ad.webp) **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

相关推荐
虾球xz1 小时前
游戏引擎学习第215天
网络·学习·游戏引擎
想做富婆2 小时前
python入门:简单介绍和python和pycharm软件安装/学习网址/pycharm设置(改成中文界面,主题,新建文件)
python·学习·pycharm
阿斌_bingyu7092 小时前
Arduino开发物联网ESP32快速入门指南(包含开发语言说明、学习路径和实战教程)
开发语言·物联网·学习
NULL指向我3 小时前
TMS320F28P550SJ9学习笔记14:EPWM_死区dead_baund
笔记·学习
傍晚冰川4 小时前
【STM32】解读启动文件startup_stm32f10x_md.s
linux·笔记·stm32·单片机·学习
zhuyixiangyyds4 小时前
day26图像处理OpenCV
笔记·opencv·学习
虾球xz5 小时前
游戏引擎学习第197天
java·学习·游戏引擎
Acxymy5 小时前
SQL学习笔记七
笔记·sql·学习
虾球xz6 小时前
游戏引擎学习第214天
学习·游戏引擎
傻欣7 小时前
第八天 开始Unity Shader的学习之Blinn-Phong光照模型
学习·unity·游戏引擎