STP协议(生成树协议)

      最后更新:2022-07-21 13:40:40 手机定位技术交流文章

      1、STP协议概述

      生成树协议(spanning tree protocol),一种通信协议,用于OSI网络模型的第二层(数据链层)。它是通过开关运行的,其基本应用是防止交换机冗余链生成循环.以确保以太网中无环的逻辑拓扑结构,因此避免了广播风暴,占有大量交换资源,

      生成树协议工作原理:如果任何交换器中有两个或多个链路到达根网络桥,生成树协议根据算法切断其中一个.仅保留一条,从而确保在任何两个开关之间只有一个单一的活动链,由于这种生成的拓扑结构,它非常像一个树形结构,一个交换器作为支柱,故为生成树协议。

      STP的工作过程如下: 在有物理环的交换网络中,交换机运行STP协议,自动生成无循环的工作拓扑.非环形工作拓扑也成为STP树,当网络拓扑发生变化时,STP树也自动作出相应的更改,简而言之,循环物理拓扑提高了网络连接的可靠性.非环形工作拓扑避免无线电风暴和MAC地址表冲击。这就是STP的本质。

      在学习STP树之前,你需要了解一些基本的术语: 桥, 桥 MAC地址, 桥ID, 端口ID

      桥:早期开关通常只有两个开关端口,因此,当时的开关经常被称为“网桥”,后来,“桥”这个词一直用到今天,但这并不意味着继电器端口只有两个开关,相反,它指的是具有任意多个端口的交换器。目前,两种术语的桥梁和交换机可以混合

      桥梁的MAC地址:我们知道桥梁有多个传输端口,每个端口都有MAC地址。通常,我们将最小的端口的MAC地址编码为整个桥梁的MAC地址。

      桥梁ID(英语:bridge ID)由两个部分组成:桥梁优先级 + 桥梁的MAC地址;桥梁优先级的值可以定制,默认为0x800(等于32768的十进制格式),值范围为0–65535。

      端口ID(PID):一个桥(交换机)的某个端口ID由二部分组成,即:端口优先级+端口编号;端口优先级的值是可以人为设定的。不同厂商的设备对于二部分所占用的字节数可能有所不同 。

      STP树的生成过程是:首先选择根桥,然后确定根端口和指定端口,最后封锁备份端口。

      1、选举根桥

      根桥是STP树的根节点,为生成一个STP树, 第一步是确定根桥.当运行STP协议的开关(称为STP开关)互相交换STP协议帧时,这些协议帧的载荷数据被称为BPUD(网桥协议数据单元)。在STP开关启动后,将自己看作是一座桥梁,并向其他交换者发出他们是根桥的声明,当交换机接收由其他设备从网络发送的BPUD时,与BPUD中指定的根桥BID与其自己的BID进行比较,交换器经常与BPUD进行交互并同时进行比较,直到最小BID交换器被选择为根桥.

      如图所示,S1、S2和S3的开关都使用默认桥优先次序32768。 显然S1的BID是最小,因此最终S1被选为根桥。

      2、确定根端口

      根桥确定后,其他不是根桥的开关是非根桥。非根桥设备可能有多个连接到网络的端口。为了确保从非根桥设备到根桥的工作路径是最好的和唯一的,必须从非根桥设备的终端中识别成为“根端子”的终端,根端口的端口作为非根桥设备和根桥设备之间的通信接口。非根桥设备最多有一个根端口。

      在选择根端口时,非根桥基于端口的根路径费用,分别是端口的外接BID、外接PID和外接PID。在运行STP协议的网络中,我们称交换器的端口到根桥的累积路径费用(J,即从端口到根路径的所有链路的路径费用)是该端口的根路径费用(Root Path Cost,RPC),链路费用与端口速度有关,端口转发速率越大,则路径开销越小。

      例1:基于RPC选举根端口

      如图,假设S1被选为根桥,现在S3需要从1和2个端口确定根端口。显然,S3两个端口的RPC为20 00;S3一个端口的RPC为200 00+20 00=22 00,交换机会定义最小的RPC端口为自己的根端口,因此,S3定义2个端口为自己的根端口,同理,S2定义自己的1端口为根端口。

      例2:根据对端BID选举根端口

      然而,在实际应用中,在非根桥设备上的RPC可能是相同的,如图所示,假设S1被选为根桥。对于S4而言,1端口和2端口为根桥RPC是相同的,在这种情况下,必须根据相反的端口BID选择根端口。对于S4而言,其相反的BID是S2的BID和S3的BID。假设S2的BID在比较后很小,然后1个端口是S4根端口;相反,第二个端口是S4的根端口。

      例3:根据对端PID选举根端口

      如图,这两个设备的 RPC 和 BID, 不是根据这个连接方法连接的根桥, 是相同的.在这种情况下,必须根据对称PID选择根端口。对于S2而言,其相反的PID是Root的GE0/0/1和GE0/0/2端口,假设Root的端口优先权为128,因此,Root的端口号码是1和2.很明显,路特的GE 0/0/1 PID较小,因此,连接的S2设备的GE 0/0/1端口被选为根端口。

      例4:根据端点的PID,选择根端口

      如图,这两个设备通过一个HUB连接。在这种方式下的非根桥的RPC、对端BID、对端PID均是相同的,这需要根据端点PID选择根端口。假设S2的端口优先次序是128,因此,一个端口的PID显然较小。因此,其中一個S2的端口被選為根端口。

      3、确定指定端口

      根端口保证了开关与根桥之间的工作路径的独特性和最佳性。为了防止工作循环的存在,网络的每个部分和根桥之间的工作路径也必须是独特的和最优的。当网络段有两个或多个路径到根桥时,与网络段连接的交换器必须识别一个指定的端口。通过对RPC进行比较,确定了指定的端口,一个较小的RPC端口将是指定的端口。如果RPC相同,你需要比较BID,PID等。

      如图,假设S1被选为桥梁,假设每个链子的成本是等的.显然,S2定义GE 0/0/1为自己的根端口,S3还定义GE 0/0/1为自己的根端口。在S1和S2、S1和S3之间的网格上,Ethernet 0/0/1和Ethernet 0/0/2都是明确指定的端口。在S2和S3之间的网络中,因为两个端口的RPC是相同的,因此,必须比较S2和S3的BID;假设S2的BID比S3的BID小,然后选择S2的GE 0/0/2端口为网络段指定端口。

      注意:通过上面的例子,找到一个规则并不困难:根桥上的所有终端都是指定的终端。
      4、阻塞备用端口

      确定根端口和指定端口后,在交换机上的所有剩余的非root端子和非指定端子通常被称为备份端子。STP逻辑上封锁了这些端口。所谓逻辑阻塞是指那些不传输终端计算机生成和发送的帧的备用端口,这些帧也被称作用户数据帧。不过,备份端口可以接受和处理STP协议框架.根端口和指定端口可以发送和接收STP协议帧,也可以传输用户数据帧。

      如图所示,一旦备份端口被逻辑封锁,STP树(非环形工作拓扑)的生成过程被报告完成。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/30225.html

          热门文章

          文章分类