STP协议的原理

STP协议概述

STP(Spanning Tree Protocol)中文名称生成树协议,应用在数据链路层,用来阻塞交换机端口,消除环路,实现链路备份。

STP协议原理

1、通过一系列选举,“阻塞”某个接口打破环路
2、当其他接口出现故障,“阻塞接口”及时恢复转发状态,使得网络正常通信

STP的端口选举

端口选举是比较配置BPDU(网桥协议数据单元,交换机每2s发送一次)的优劣。BPDU报文涉及根桥选举的关键字段:关键字段

1、RID(Root Identifier):这台交换机认为哪个设备是根桥(内容为:优先级(默认32768),开销,mac地址)
2、RPC(Root Path Cost):交换机自身到根桥的开销
3、BID(Bridge Identifier):发送该配置BPDU交换机的桥ID
4、PID(Port Identifier):标识发送配置BPDU端口ID。例子:BPDU从交换机端口0/0/3发出,则发送配置BPDU的PID为0x8003(十六进制):第一个字节80是端口优先级(可修改,默认值200即十六进制0x80),第二个字节03是端口编号。
交换机在比较BPDU优劣是按照从1到4顺序比较,均是越小越优,在本条相同的情况下,才向下比较。

STP端口角色

根端口(RP):非根交换机上,接收最优BPDU的端口
指定端口(DP):当前链路上,发送最优BPDU的端口
预备端口(AP):当前链路上,接收最优BPDU的端口,将被阻塞

STP工作步骤

1、在网络上选举根桥

初始状态,各交换机都自认为是根桥,向外发送自己配置的BPDU,比较出当前链路上最优BPDU,最终比较出全网络中最优BPDU。确定出根桥。根桥发送的BPDU中BID,RID中的mac都是自身的。

2、在非根交换机上选举根端口

端口接收根桥的配置BPDU,该端口设置为根端口,且非根交换机只有一个根端口。根端口相连的另一端为指定端口。
在该环节比较BPDU报文优先级时,由于已经选定根桥,所有BPDU的RID相同,所以比较每个非根交换机上各个端口收到来自根桥的BPDU累加的cost值(即RPC),BID,PID。

3、在每段链路上选举指定端口

非根交换机在比较BPDU阶段,RID中mac都为根桥的mac,RPC需要累加根端口的开销值;
如果自身发送的更优,则该发送端口为指定端口;
如果收到的更优,则该接收端口为预备端口,被阻塞。
在该环节比较BPDU报文优先级时,由于已经选定根桥,所有RID相同。所以比较RPC、BID、PID。

STP的端口状态

Forwarding(转发):转发数据、学习MAC地址、接收并处理BPDU
Learning(学习):不转发数据、学习MAC地址、接收并处理BPDU
Listening(侦听):不转发数据、不学习MAC地址、接收并处理BPDU
Blocking(阻塞):不转发数据、不学习MAC地址、仅接收BPDU
Disabled(失效):不转发数据、不学习MAC地址、不处理BPDU----接口状态为Shutdown
前三者状态变迁间隔15s
在这里插入图片描述

STP拓扑变更机制

触发条件:非边缘端口进入Forwarding状态(可以认为多了环路,或者少个环路)
过程:
①如何非根桥上发生拓扑变化,此时非根桥会向根桥的方向发送TCN BPDU,告知根桥发生变化。上联的非根桥从指定端口收到TCNBPDU后,向发送者回复TCA位置位的配置BPDU,并继续向根桥方向发送TCN BPDU
② 根桥收到TCN BPDU后,向发送者方向回复TCA位置位的配置BPDU,同时向所有指定端口发送TC位置位的配置BPDU,TC置位的配置会连续发送35s,同时将自己的MAC老化时间设置位15s
③其他非根桥收到TC置位的配置BPDU后,将自己的MAC地址老化时间设置为15s,加速MAC地址表的老化(边缘端口除外)

    TCN:告诉根桥拓扑发生了变化,需要加快MAC地址表老化
    TCA:告诉发送TCN报文的设备,“已经收到,停止发送TCN”
    TC:只要是收到TC置位的BPDU交换机,MAC地址表的老化时间变为15s

TCN报文:在这里插入图片描述

TC报文:在这里插入图片描述

STP计时器

在这里插入图片描述
BPDU中实现stp计时器的参数

Message Age:标识BPDU经历过多少交换机,每经历一台交换机+1,如果该值大于Max Age则丢弃BPDU
Max Age:
    可以控制BPDU可以传递多少台交换机(若该值为20,则可以传递20台交换机)
    端口缓存BPDU的老化时间(如果根端口在Max Age时间内没有收到根的BPDU则认为根桥失效)
Hello Time:根桥发送BPDU的时间间隔(默认2s)
Forward Delay:转发延时,learing和listing转换的持续时间(默认15s)。防止某些场景出现瞬时环路。

STP的缺点

1、收敛速度慢。依赖定时器,使得直连故障恢复时间30s(Learning-Listening-Forwarding其中每段状态转换需要15s),非直连故障恢复时间50s(状态换30秒+丢弃BPDU20秒)
2、单实例生成树,链路利用率低。只支持一个树,所有数据转发都经过该链路,而被阻塞的链路始终闲置。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值