STP–生成树协议

由于冗余备份的需要,在一个复杂的网络结构中,难免会出现环路。

生成树协议STP可以将一个环形网络修剪为一个无环的树形网络,可以避免形成环路,导致广播风暴。

原理

在网络刚开始运行阶段,所有交换机都会从所有端口发送BPDU报文,大家都认为自己是根桥,随着BPDU报文的泛洪和收集,根据BPDU中包含的信息,选举唯一根桥。在此之后,根桥以默认2s为周期广播BPDU报文,所有非根桥从自己的根端口收到BPDU报文,再从自己的指定端口产生BPDU报文发出去。被阻塞的非指定端口会源源不断的收到链路上的BPDU报文并一直侦听,当在一定时间内没有收到BPDU报文时,则认为链路出现了故障,开始进入新的收敛阶段。

原理解释

相关概念

根桥

树形网络结构必须有树根,根桥就是树根,根桥有且只有一个。

  • 选举规则:

    ​ - 比较桥ID,先比较优先级,再比较MAC地址,小的优先。

桥ID–Bridge ID

一个交换机设备在STP协议中的编号ID。

桥ID = 桥优先级(2个字节) + 桥MAC地址(6个字节)

桥ID最小的被选举为根桥。默认32768

RID–Root ID

根桥的桥ID

COST OF PAHT

路径开销。选择链路时的参考值,优先选择开销较小的路径。

CCNP总结--STP

PID–port ID

PID = 端口优先级(4bit) + 端口号(12bit)

在选择指定端口时,当路径开销与BID都相同时比较PID,优先选择PID小的。

端口

根端口–RP

非根桥上离根桥开销最小的端口。一个非根桥上只有一个根端口。

指定端口–DP

每条链路上去往根桥开销最小的端口称为指定端口。

  • 选举规则
    1. 开销小优先
    2. BPDU报文发送者的桥ID小的优先
    3. BPDU报文发送者的PID小的优先
    4. BPDU报文接收者的PID小的优先

BPDU报文

CCNP总结--STP

选举规则

  1. 选根桥
  2. 每个非根桥上选举一个根端口
  3. 每条链路上选举一个指定端口。根桥的所有端口都是指定端口
  4. 既不是根端口,也不是指定端口的其他端口被阻塞。

端口状态

CCNP总结--STP

BPDU报文的两种类型

  • Configuratoin BPDU:健康网络中的配置BPDU(主要)
  • TCN BPDU:下游向上游发送的拓扑变化通知BPDU。
    • TCN BPDU报文只能由非根桥发出,通告给根桥。
    • TCA BPDU报文是用于确认接收到TCN BPDU报文,
    • TC BPDU报文由根桥发送,连续发送35s,非根桥收到TC BPDU报文后会将MAC地址的老化时间设为15s,加速老化。

拓扑变化:

  1. 如果非根桥上发生拓扑变化,向根桥发送TCN BPDU包,通告根桥拓扑已改变。
  2. 上联的非根桥从指定端口收到TCN BPDU包后,会向发送者回复TCA flag位置位的配置BPDU包,同时继续向根桥发送TCN BPDU包。
  3. 根桥收到TCN BPDU包后,向发送者回复TCA Flag位置位的配置BPDU包,同时向所有指定端口发送TC Flag位置位的配置BPDU包。TC置位的配置BPDU包会连续发送35s,同时将自己的MAC aging 设置为15s。
  4. 其他非根桥收到TC置位的配置BPDU包后,将自己的MAC地址的老化时间设置为15s,加速老化。

触发拓扑变化条件:

  1. 一个端口从forwarding状态过渡到disable或blocking状态。
  2. 一个非根桥如果从指定端口接收到TCN BPDU包,需要向根桥发TCN BPDU包。
  3. 一个端口进入转发状态,并且本地已存在一个指定端口。

生成树协议的比较

CCNP总结--STP

RSTP能够在大约1分钟内恢复连接,并进行快速收敛。

原理:为交换机上的不同端口分配端口角色,在出现故障后,交换机之间实施明确的握手协议,完成快速收敛。

端口角色:

root port,

designated port,

alternative port,

backupport.

配置

CCNP总结--STP

CCNP总结--STP

CCNP总结--STP

CCNP总结--STP

CCNP总结--STP

CCNP总结--STP

portfast一般用在接入终端设备上,使其立即进入转发状态。

CCNP总结--STP

bpdu guard用在防止交换机接入到portfast端口。影响原来的树结构。

CCNP总结--STP

root guard防止新接入的交换机抢占根桥,改变树结构。stp都是具有抢占性的。

相关文章:

  • 2021-12-12
  • 2022-12-23
  • 2021-08-18
  • 2022-12-23
  • 2021-05-06
  • 2022-12-23
  • 2021-09-17
  • 2021-06-15
猜你喜欢
  • 2021-12-08
  • 2021-09-12
  • 2021-07-10
  • 2021-04-04
  • 2021-06-07
  • 2021-07-03
相关资源
相似解决方案