STP学习笔记

1.STP概念  

   STP为生成树协议,主要用于解决网桥局域网中的环路的问题

2.环路带来的影响

  1. 引起广播风暴,从而导致网络不可用
  2. 引起mac地址表震荡

3.STP的作用

  1. 消除环路
  2. 链路冗余备份

4.STP名词解析

     1.BID

        BID为桥ID,由16bit的桥优先级和48bit的桥mac地址组成,默认为32768,取值为0-61440,步长为4096 。

     2.PID

        PID为端口ID,由4bit端口优先级和12bit端口编号组成,端口优先级默认为128,取值为0-240,步长为16。

     3.PRC

        RPC为根路径开销,指网桥到达根桥最短路径的开销。

5.STP端口角色

      1.RP端口

         根端口,稳定时处于转发状态。

      2.DP端口

         指定端口,稳定时处于转发状态。

      3.AP端口

        替代端口,处于blocking状态。

6.STP端口状态

      1.Disable状态

        禁用状态,接口初始状态 

      2.Blocking状态

        阻塞状态,该状态下接口可以接收BPDU报文,但是不转发BPDU报文,也不转发用户流量。

      3.Listening状态

        侦听状态,该状态下接口接收、转发BPDU报文,但是不转发用户流量。

      4.learning状态

        学习状态,该状态下构建mac地址表项,但是不转发用户流量(防止临时环路)。

      5.Forwarding状态

        转发状态,接口接收转发BPDU报文,也转发用户流量。

7.STP计时器

      1.hello-time

        BPDU报文的发送间隔,默认为2秒。

      2.message-age

        BPDU报文的生存时间,每经过一个设备+1。

      3.max-age

        BPDU报文的老化时间,默认为20秒。

      4.forward-delay

        转发时延,指一个端口状态迁移到转发状态时需要等待的时间,一个转发时延为15秒 。

8.STP的报文

      1.配置BPDU报文

        配置bpdu报文用于进行生成树的计算和维护生成树拓扑信息。

        在初始阶段,所有交换机都会发送配置BPDU报文(周期性组播发送,发送间隔为2秒,发送的组播mac为0180-c200-0000),等到网络稳定后,只有根桥会发送BPDU报文,其他网桥只能转发根桥的BPDU报文。

        在配置BPDU报文的Flag位字段中,只有TCA(位7)和TC(位0)有意义,其他位未使用,TCA置位的BPDU报文用于对收到的TCN BPDU报文进行确认,TC置位的BPDU报文用于通知交换机清空自己的MAC地址表项。

      2.拓扑变化通知报文-TCN BPDU

        TCN BPDU报文用于告知网络拓扑发生变更。

      3.配置BPDU包含的重要信息

        (1)根路径开销RPC

        (2)指定桥ID

        (3)指定端口ID

        (4)Message-Age

        (5)Max-Age

        (6)hello-time

        (7)Forward-delay

      4.BPDU报文格式

                (1)PID:协议ID,STP中值为0

        (2)PVI:协议版本,STP中的PVI的值为0,RSTP中的PVI值为2,MSTP中PVI值为3

        (3)BPDU Type:BPDU报文的类型,值为0x00表示配置BPDU报文,值为0x08表示TCN BPDU,值为0x20表示RST或MSTP BPDU

        (4) Flags:标识位,在STP中只用到TCA位和TC位

        (5)RID:根桥的ID

        (6)RPC:根路径开销

        (7)Message-age:BPDU报文生存时间,每经过一个设备加1

        (8)Max-age:BPDU报文的老化时间,默认为20秒

        (9)Hello-time:BPDU报文的发送间隔,默认为2秒

        (10)Forward-delay:转发时延,指端口状态迁移到转发状态的时间,一个转发时延为15秒

9.STP中根桥的选举

      1.STP的操作

        (1)选举一个根桥

        (2)在每个非根交换机选举一个根端口

        (3)在每个网段选举一个指定端口

        (4)阻塞非根、非指定端口

      2.STP根桥的选举过程

        (1)初始状态下,所有交换机都认为自己是根桥,所有的端口都为指定端口,并且向所有端口发送自己的配置BPDU报文

        (2)邻居收到对端发过来的BPDU报文后,会将报文中的BID与自己的进行比较,若自己的更优,则继续通告自己的BPDU报文,若收到的BPDU的BID更优,则会修改自己BPDU报文中的根桥ID字段,通告新的根桥

10.STP拓扑变化过程

      1.网桥发送TCN BPDU报文的必要条件

        (1)端口状态发生改变(any-->Forwarding、Forwarding-->Blocking)

        (2)网桥中至少有一个DP端口(只有DP端口会处理TCN BPDU报文)

      2.STP拓扑变化通知过程

        (1)下游交换机感知到拓扑发生变化,不断从RP端口发送TCN BPDU报文,发送间隔为2秒。

        (2)上游设备收到TCN BPDU报文后,会回应一个TCA 置位的BPDU报文,用于告知下游设备收到了TCN BPDU报文并停止发送TCN BPDU报文,上游设备继续往自己上游设备发送TCN BPDU报文。

        (3)TCN BPDU报文继续向上游设备发送,直到发送到根桥,根桥收到后,会向全网泛洪TC置位的配置BPDU报文,下游设备收到TC 置位的配置BPDU报文后,会在15秒后将自己的MAC地址表项清空。

11.STP链路开销计算

        (1)802.1D_1998

        (2)802.1t

        (3)私有协议(legicy)

12.STP拓扑故障

      1.根桥故障

        根桥发生故障后,停止发送配置BPDU报文,下游设备一直收不到BPDU报文,直到max-age超时后,非根桥重新选举根桥,该过程会持续大约50秒左右的恢复时间:max-age+2倍Forward-delay时间

      2.直连链路故障

        交换机检测到直连链路出现故障,会将其阻塞端口状态迁移到转发状态,经过两个Forward-delay时延

13.STP的缺陷

(1)端口状态和端口角色区分不明显,Blocking、Listening、Learning三种状态没有本质上的区别,都不转发用户流量;根端口和指定端口既可能处于learning状态也可能处于Forwarding状态。

(2)收敛速度慢,STP协议算法采用的是被动算法,拓扑变化情况需要依靠计时器超时来判断;只有根桥才可以主动发送配置BPDU报文,其他桥只能被动转发

(3)拓扑变化收敛机制不灵活,当有主机频繁上下线时,网络会频繁产生大量TCN BPDU报文

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值