STP工作过程

本文深入解析了STP(Spanning Tree Protocol)的工作原理,包括根桥选举、根接口和指定接口的选择,以及如何通过阻塞非指定接口来防止二层网络环路的形成,确保网络稳定运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

STP工作过程

STP通过4个步骤来保证网络中不存在二层环路。

在交换网络中选举一个根桥(Root Bridge,RB )

  • STP的计算需要一个参考点,而根桥就是这个参考点,它是STP经计算得到的这棵无环的树的树根。

  • 桥ID最小的交换机将成为根桥。

  • 对于一个交换网络而言,正常情况下只会存在一个根桥。

  • 如下图所示,SW1、SW2及SW3的桥优先级都是32768,因此MAC地址最小的SW1成为网络中的根桥。

  • STP的正常工作依赖于该协议所使用的报文的正常交互,这种报文就是BPDU (Bridge Protocol Data Unit,网桥协议数据单元),BPDU中
    包含着几个重要的数据(根ID、RPC、网桥ID、桥ID),这些数据是STP进行无环拓扑计算的关键。
    在这里插入图片描述

  • 需要注意的是,根桥的地位是具有可抢占性的

  • 在上图网络拓扑中,在STP完成收敛后,若网络中接入了一台新的交换机,而且这台新增的交换机的优先级为4096,比现有根桥SW1的优先级更高,那么该新增的交换机将成为网络中的新根桥,与此同时,STP将重新收敛、重新计算网络拓扑,在这个过程中有可能引发网络震荡,从而对业务流量的正常转发造成影响,所以根桥角色的稳定性是十分重要的

在每个非根桥上选举一个根接口(Root Port,RP )

  • 在一个交换网络中,除了根桥之外的其他交换机都是非根桥,
  • STP将为每个非根桥选举一个根接口,所谓根接口,实际上是非根桥上所有接口中收到最优BPDU的接口(通过根端口接受来自根的BPDU),可以简单地将其理解为交换机在STP树上“朝向”根桥的接口。
  • 非根桥可能会有一个或多个接口接入同一个交换网络,STP将在这些接口之中选举出一个(而且只会选一个)根接口。
  • 在STP收敛完成之后,根桥依然会周期性地向网络中发送BPDU,而非根桥则会周期性地在自己的根接口上收到BPDU(非根桥会存储收到的BPDU,缺省老化时间20s),并沿着STP树向下游转发(根桥、非根桥都会通过指定端口向下游发送经过自己计算的BPDU报文)。
  • 如下图所示的网络中,SW2及SW3均为非根桥,以SW3为例,在STP收敛过程中,它在自己的Port1及Port2接口上都会收到BPDU,SW3会将这两个BPDU进行比较,收到最优BPDU的接口Port1将成为根接口(RPC较小)。
    在这里插入图片描述

选举指定接口(Designated Port, DP )

  • STP将在每个网段中选举一个指定接口,这个接口是该网段内所有接口中到达根桥的最优接口。并且,指定接口还负责向该网段发送BPDU。
  • 对于非根桥而言:
  1. 首先,所有接口中收到最优BPDU的接口将成为该设备的根接口(根ID->RPC->网桥ID->接口ID),
  2. 然后,该非根桥使用自己接收的最优BPDU为本设备上的其他接口各计算一个BPDU,
  3. 最后,使用计算出的BPDU与接口上所维护的BPDU(接口自身也会从网络中收到BPDU,并将BPDU保存起来)进行比较,如果前者更优,那么该接口将成为指定接口,并且其所保存的BPDU也被前者替代,交换机将替代后的BPDU从该指定接口转发给下游交换机;如果后者更优,那么该接口将成为非指定接口(非指定接口指的是既不是根接口,又不是指定接口的接口)。
  • 简单来说,对于非根桥而言,根接口的选举过程是非根桥将自己所收到的所有BPDU进行比较,而指定接口的选举过程则是非根桥用自己计算出的BPDU跟别的设备发过来的BPDU进行比较。
  • 如下图所示网络中,在SW1与SW2之间的网段中,SW1的Port1被选举为指定接口;在SW1与SW3之间的网段中,SW1的Port2被选举为指定接口。
  • 一般而言,根桥的所有接口都是指定接口。
  • STP还会在SW2及SW3之间的网段中选举一个指定接口,最终SW2的Port2接口胜出(网桥ID较小),成为该网段的指定接口。
    在这里插入图片描述

阻塞非指定接口,打破二层环路

  • 经STP计算后,如果交换机的某个(或者某些)接口既不是根接口又不是指定接口,我们将这种接口称为非指定接口,那么该接口将会被STP阻塞,如此一来网络中的二层环路也就被打破了。
  • 如下图所示的网络中,SW3的Port2由于既不是根接口,又不是指定接口,因此被阻塞。
  • 被阻塞的接口既不会接收也不会转发业务数据(业务数据有别于BPDU,可以简单理解为用户的应用数据),
  • 另外被阻塞的接口也不会发送BPDU,但是会持续侦听BPDU,以便感知网络拓扑的变更情况。
    在这里插入图片描述
<think>好的,用户想了解生成树协议(STP)的工作原理及模式。我需要先回顾一下STP的基本概念,确保自己理解正确。根据引用[1],STP主要用于防止二层网络中的环路,而引用[4]提到它通过选举根网桥和计算无环路径来实现。首先,我应该解释STP的基本目标,即防止环路同时允许冗余链路。 接下来是工作原理部分。用户可能想知道具体的步骤,比如根桥选举、根端口和指定端口的确定,以及阻塞其他端口。引用[4]中提到了根网桥的选举,以及路径成本的计算,这部分需要详细说明。另外,STP同模式可能涉及同版本,比如STP、RSTP、MSTP,根据引用[2],需要简要比较这些模式的区别,说明它们各自的改进点,比如RSTP的快速收敛和MSTP的多实例支持。 还需要注意用户提到的“工作模式”,可能是指STP同类型或配置模式。例如,引用[3]中的PortFast配置,虽然这是具体配置指令,但可以引申出STP同端口状态,比如禁用、阻塞、监听、学习和转发状态,以及如何通过配置优化这些状态转换。 另外,用户提供的引用中有提到收敛速度较慢是STP的一个缺点,而RSTP和MSTP对此进行了优化。因此,在回答工作模式时,应该分别介绍传统的STP模式,以及RSTP、MSTP同工作模式,说明它们如何提升性能或适应网络结构。 需要确保回答结构清晰,分点解释原理和模式,同时引用正确的资料。例如,在解释根桥选举时,引用[4]中的内容,而在讨论同协议版本时,引用[1]和[2]。此外,可能需要提到BPDU(桥协议数据单元)的作用,因为这是STP工作的基础,各交换机通过交换BPDU来交换信息。 还要注意用户的问题是否涉及具体配置,但根据问题描述,用户主要关注原理及模式,所以应集中在工作机制和同模式的区别,而是配置步骤过可以简要提到PortFast作为优化配置的例子,如引用[3]所示,说明如何通过配置改变端口行为,加速收敛。 最后,生成相关问题需要考虑用户可能想深入的方向,如STP的选举过程细节、同生成树协议的比较,或者实际应用中的配置案例。确保问题覆盖原理、比较、优化和应用等方面,帮助用户进一步学习。</think>### STP(生成树协议)工作原理及模式 #### 一、STP的核心目标 STP(生成树协议)的核心目标是**消除网络中的环路**,同时允许冗余链路作为备份路径。通过逻辑上阻塞特定端口,将网络拓扑修剪为无环的树形结构(Spanning Tree)[^1][^4]。 --- #### 二、STP工作原理 1. **根桥选举** - 所有交换机通过交换BPDU(桥协议数据单元)参与选举。 - 根据**桥ID**(由优先级和MAC地址组成)确定根桥,桥ID最小的交换机成为根桥。 $$ \text{桥ID} = \text{优先级(默认32768)} + \text{MAC地址} $$ 2. **根端口与指定端口选举** - **根端口**:每个非根交换机选择到根桥**路径成本最低**的端口。路径成本由链路带宽决定(例如,1Gbps链路成本为4)。 - **指定端口**:每个网段(冲突域)中选择一个端口作为指定端口,负责转发数据。 3. **阻塞冗余端口** - 非根端口且非指定端口的链路会被阻塞(Blocking状态),形成无环拓扑。 --- #### 三、STP的工作模式 STP的演进版本对应同的工作模式: 1. **传统STP(IEEE 802.1D)** - 收敛速度慢(默认30-50秒),所有VLAN共享同一生成树(CST,公共生成树)[^1][^2]。 - 端口状态包括:禁用(Disabled)、阻塞(Blocking)、监听(Listening)、学习(Learning)、转发(Forwarding)。 2. **快速生成树协议(RSTP, IEEE 802.1w)** - 优化收敛速度至1-2秒,引入**替代端口(Alternate Port)**和**备份端口(Backup Port)**。 - 端口状态简化为:丢弃(Discarding)、学习(Learning)、转发(Forwarding)。 3. **多生成树协议(MSTP, IEEE 802.1s)** - 支持多实例生成树(MSTI),同VLAN可映射到同实例,实现负载均衡[^2]。 --- #### 四、典型配置优化 - **PortFast**:针对接入层终端端口(如PC),跳过监听和学习状态,直接进入转发状态,避免延迟[^3]。 ```cisco SW1(config-if)# spanning-tree portfast ``` ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值