STP生成树协议笔记

本文详细介绍了生成树协议STP的工作原理、角色选举机制、接口状态变化以及如何预防网络环路。重点讨论了桥ID、根桥、端口优先级、BPDU报文和不同协议版本如RSTP和MSTP的应用。
摘要由CSDN通过智能技术生成

STP生成树协议的介绍:

生成树协议(STP)是一种用于在网络中防止环路的协议。它通过选择某些端口进行阻塞,从而消除环路,并确保网络中只有一条活动路径

  • STP的基本原理是让设备通过交互信息发现网络中的环路,有选择的对某个接口进行堵塞,从而消除环路。
  • STP使用BPDU来交换信息。BPDU包含了发送者的优先级、MAC地址和端口等信息。
  • STP使用端口状态来确定哪些端口应该被阻塞。端口状态包括:禁用、阻塞、学习和转发
  • STP使用端口优先级来确定哪些端口应该被阻塞。端口优先级是一个数字,数字越小,优先级越高。
  • STP使用端口成本来确定哪些端口应该被阻塞。端口成本是一个数字,表示从该端口到根桥的路径成本。成本越低,优先级越高。
  • STP使用根桥来确定哪些端口应该被阻塞。根桥是网络中优先级最高的桥
  • STP使用BPDU计时器来确定哪些端口应该被阻塞。BPDU计时器用于检测是否收到了BPDU。如果在一定时间内没有收到BPDU,则认为该端口已经失效

三层架构中会存在线路冗余,就会导致二层桥接环路,且导致的问题:

  1. 广播风暴(广播帧在二层环路中形成逆时针和顺时针转动的两层环路,并且无限循环,最终导致设备宕机,网络瘫痪
  2. MAC地址翻滚(也被称为MAC地址表漂移。同一个数据帧,顺时针接收后将记录MAC地址及接口的对应关系,之后,逆时针还会在修改一边,如此循环,导致MAC地址表内容一直在变动
  3. 同一数据帧的重复拷贝等问题。这样会导致工作过载,设备过热,重启,这时就需要生成树来解决该问题。

生成树是在一个二层交换网络中,生成一棵树型结构,逻辑的阻塞部分接口,使得从根到所有的节点仅存在唯一的路径;当最佳路径故障时,自动打开部分阻塞端口,来实现线路备份的作用;生成树在生成过程中,应该尽量的生成一棵星型结构,且最短路径树。

802.1D

  • 是由IEEE组成颁布的公有协议----标准的STP协议

    (一个交换网络中仅存在一颗生成树)。

RSTP----802.1W

  • RSTP是指快速生成树协议,它是一种网络协议,于在网络拓扑中防止环路并确保数据包的快速传输。相比于STP收敛速度更快,可以在1秒内完成拓扑变化的收敛。

MSTP---802.1S

  • 多生成树协议MSTP是IEEE
    802.1s中定义的生成树协议,通过生成多个生成树,来解决以太网环路问题

STP的基本概念 :

桥ID:
  • 每一台交换机都有一个标识符,叫做桥ID,由16位的桥优先级(Bridge Priority )和 48 位的 MAC 地址构成。在地址构成。如果优先级相同,则会比较 MAC 地址, MAC地址越小则越优先
根桥:

对于一个STP网络,根桥只有一个,是整个网络的逻辑中心,但是不一定是物理中心,它会随着网络拓扑的变化而变化

STP的主要作用之一就是在整个交换网络计算出一颗无环的树,而想要计算出该树,则需要先行确定树根的位置,即根网桥的位置。

缺省情况下,桥优先级为32768。---在 STP 网络中,桥优先级是可以配置的,取值范围是 0~65535 , 可以修改但是修改值必须为4096的倍数。优先级最高的设备(数值越小越优先)会被选举为根桥。如果优先级相同,则会比较 MAC 地址, MAC地址越小则越优先

开销cost:

  • 每一个激活了STP的接口都维护着一个cost值,接口的cost主要用于计算RPC,也就是计算到达根的开销。
根路径开销RPC:
  • 从一个非根桥到达根桥的路径可能有多条,每一条路径都有一个总的开销值,此开销值是该路径上所有接收 BPDU 端口的端口开销总和(即 BPDU 的入方向端口),称为路径开销。非根桥通过对比多条路径的路径开销,选出到达根桥的最短路径,这条最短路径的路径开销被称为 RPC ,并生成无环树状网络。根桥的根路径开销是 0  

默认情况下使用IEEE 802.1T标准

接口ID---PID

每一个运行了STP协议的交换机的接口会存在一个PID值,来标识该接口信息。

接口ID长度是16bit,高4bit是接口优先级,低12bit是接口编号

接口优先级默认为128,可以修改,取值范围0-240,必须为16的倍数

STP报文----BPDU

网桥协议数据单元:

  1. BPDU
  2. TCN BPDU
  3. BPDU载荷被直接封装在以太网数据帧中,数据帧的目的MAC地址是组播MAC地址:0180-c200-0000
  • 为了计算生成树,交换机之间需要交换相关的信息和参数,这些信息和参数被封装在 BPDU中。BPDU 有两种类型:配置 BPDU 和 TCN BPDU 。配置 BPDU 包含了桥 ID 、路径开销和端口 ID 等参数。
配置BPDU报文
  • 在交换网络初始化过程中,每台交换机都从自己激活了STP的接口向外发送配置BPDU

  • 当STP收敛完成后,只有根网桥才会周期性发送配置BPDU,缺省为2秒。非根网桥会在自己接收到根网桥发送的配置BPDU以后,使用触发更新方式,将自己的配置BPDU发送出去。

 

  • 协议版本---PVI

    • stp--->0;rstp--->2;mstp---->3

  • 标志字段--->STP仅仅使用了最高位(TCA---拓扑变更确认标记)和最低位(TC--->拓扑变更标记)

  • 消息寿命

    • 与TTL值相同,但是为设备数量,代表BPDU从发出到现在经过的时间

    • 初始值为0,没经过一台交换机,数值加1。

    • Max Hop参数----最大消息寿命,默认值为20

  • 生存时间

    • 缺省20秒。

TCN BPDU报文

该报文用于在网络拓扑发生变化时,向根桥通知变化的发生。该报文是为了修改全网交换机的MAC地址表信息而存在的,而非是为了改变STP的生成树结构。

STP角色选举

根桥选举---RB

  • 整个交换网络--选举范围

  • 一个交换网络有且只有一个根网桥

  • 选择最小BID--->先比较桥优先级,后比较桥MAC地址。

  • 根网桥的地位是具有可抢占性的

选举根接口(端口)

  • 选举范围----每一个非根网桥设备上,有且只有一个根接口

  • 所谓根接口----是非根网桥上所有接口中收到最优BPDU报文的接口

  • 一个非根桥设备上会有多个端口与网络相连,为了保证从某台非根桥设备到根桥设备的工作路径是最优且唯一的,就必须从该非根桥设备的端口中确定出一个被称为“根端口”的端口,由根端口来作为该非根桥设备与根桥设备之间进行报文交互的端口。在选举出根桥后,根桥仍然持续发送 BPDU ,而非根桥将持续不断的收到根桥发送的BPDU 。因此,在所有非根桥上选举一个距离根桥“最近”的端口(根端口),在网络收敛后,根端口将不断的收到来自根桥的 BPDU 。

最优BPDU的比较原则
  1. 选择具有最小桥ID的BPDU

    • 这一步,实际上是在选举根网桥。通过对比BID参数。

  2. 比较入向BPDU的RPC数值,选择最小的接口作为最优BPDU报文

  3. 如果交换机接收到的多个BPDU报文的RPC相同,则比较对端设备的BID,选择具有较小BID参数的设备所对应的接口作为最优BPDU报文

  4. 如果存在对端设备的BID相同,则比较对端的PID值,选择较小的PID所在接口的对应接口作为最优BPDU报文

  5. 若对端PID相同,则比较本端接收到BPDU报文的接口的PID值,选择较小的作为最优BPDU报文

指定接口(在每一段存在STP的物理链路上,有且仅有一个;转发来自根网桥的BPDU,同时可以转发用户流量(不阻塞);默认根网桥上所有接口为指定端口):

  • 选举范围-----两台交换机之间的物理链路上选举一个指定接口。有且只有一个。

  • 该接口是该物理链路内到达根网桥最优的接口,也就是接收到最优BPDU的接口。

  • 对于非根桥而言,其所有接口中收到最优BPDU的接口将成为该设备的跟接口,随后,该非根桥使用自己接收到的最优BPDU,为本设备上的其他接口各自计算一个BPDU报文。

    • 然后使用计算出的BPDU报文与该接口上所接收到的BPDU报文进行对比,最优的BPDU报文,那么该BPDU所在的接口为指定接口

一般而言,根网桥的所有接口都是指定接口;在存在跟接口的链路上,对端必然是指定接口

非指定接口

所有的不是跟端口和指定端口都被称为非指定端口。而非指定端口会被交换机进行逻辑阻塞

被阻塞的接口既不会接收也不会转发业务数据,且该接口不会发送BPDU报文,但是可以接收BPDU报文

 

STP工作过程

  1. STP交换机初始化启动后,都会认为自己是根网桥,并在发送给其他交换机的配置BPDU中宣告自己为根桥。因此,此时的BPDU中的根桥ID为各自设备的网桥ID数值。

    1. 当交换机收到网络中其他设备发来的BPDU后,会对比BPDU报文中的根桥ID字段和自己的BID。

    2. 交换机不断交互BPDU报文,同时对BID进行对比,最终选举一台BID最小的交换机作为根网桥,其他为非根网桥。

    3. 根网桥的角色是可抢占的

  2. 选举完根网桥后,根网桥仍然会持续性发送配置BPDU报文,起到保活的效果。而其他非根网桥将持续不断的收到根网桥发送的BPDU,并计算自己的BPDU报文从其他指定端口发送出去。

  3. 每个交换机根据从自己不同接口收到的BPDU报文中选择出最优的BPDU,从而选举根端口

    1. RPC

    2. 比较对端BID

    3. 比较对端PID

    4. 比较本地PID

  4. 每台交换机的每一条链路选举指定端口

    1. RPC

    2. BID

    3. 链路两端的PID

  5. 在确定了根端口和指定端口之后,交换机上所有剩余的端口都被称为非指定端口。并且会在逻辑上阻塞所有的非指定端口。

    1. 当非指定端口被阻塞后,生成STP树。

    2. 被阻塞的接口既不会接收也不会转发业务数据,且该接口不会发送BPDU报文,但是可以接收BPDU报文

  6. 在交换网络中,一般将网关所在地、流量汇聚地点以及STP根网桥三点合并在一起

STP的接口状态

  • 禁用状态

    • 接口关闭情况

    • 接口禁用生成树协议

  • 阻塞状态

    • 是生成树协议激活后进入的第一个状态。

    • 该状态会停留一个最大老化时间(20秒)。然后进入到下一个状态。

    • 仅仅可以接收BPDU报文

  • 侦听状态

    • 可以收发BPDU报文。进行STP角色选举过程。

    • 该状态会选举出根网桥、根接口、指定接口和非指定接口。

    • 停留一个转发延迟时间(15秒)后,进入下一个状态。

    • 只有根端口和指定端口会进入到学习状态,而非指定端口会退回到阻塞状态

  • 学习状态

    • 接收业务流量,并学习MAC地址信息。----目的:为了减少单播帧的洪泛。

    • 停留一个转发延迟时间(15秒)后,进入下一个状态。

  • 转发状态

    • 可以正常接收和转发业务数据和BPDU报文。

    • 只有根端口和指定端口可以进入该状态。

STP的收敛时间

基于计时器进行收敛

  • 首次收敛----50S(阻塞20S+2*转发延迟)

  • 根桥故障----50S(最大寿命+2*转发延迟)

  • 直连链路故障----30S(2*转发延迟)

  • 非直连链路故障---50S(最大寿命+2*转发延迟)

STP的配置命令

  1. stp enable   ---启动STP协议,华为默认开启该协议
  2. stp mode stp  ---修改STP的工作模式,默认工作模式为MSTP
  3. display stp   ---查看STP协议运行状况
  4. display stp brief  ---查看STP接口状态
  5. stp root primary   ---将交换机设定为根网桥,其本质是将优先级修改为0
  6. stp root secondary  ---将交换机设定为备份根网桥,其本质是将优先级修改为4096
  7. stp priority 8192  ---将交换机优先级设定为8192
  8. stp pathcost-standard ?  ----修改本地开销值计算方法类型,全网均需要修改

      dot1d-1998  IEEE 802.1D-1998
      dot1t       IEEE 802.1T
      legacy      Legacy

  9. 进入接口后:
  • stp port priority ? ---修改接口优先级,干涉PID数值
      INTEGER<0-240>  Port priority, in steps of 16
  • stp cost ?  ----直接修改接口cost值
      INTEGER<1-200000000>  Port path cost  ---该参数可以修改的范围是根据开销值计算类型而定

在查看STP接口状态表中:

DESI--->指定接口
ROOT--->根端口
ALTE--->备份端口

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值