STP工作过程

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,以便感知网络拓扑的变更情况。
    在这里插入图片描述
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值