深入解析生成树协议(STP)

深入解析生成树协议

STP概述

生成树的分类

  • STP——最基本的生成树,收敛速度较慢
  • RSTP——改良后的快速生成树,相比普通生成树收敛速度有所提升
  • MSTP——在快速生成树的基础上可以支持多Vlan

启用STP的原因:二层网络冗余会使网络产生环路,而环路会使数据在成环设备上无止境的转发下去,最终导致网络瘫痪,而生成树协议可以有效地识别并阻止二层环路。

在未使用STP的情况,冗余网络可能出现以下情况

  • 广播风暴
  • 重复帧传输
  • MAC地址漂移

STP基本思想

实质:比较BPDU,在交换机之间传递BPDU,比较其中参数,根据STP算法打开好的端口,阻塞坏的端口,从而打破物理环路,建立一个无循环的逻辑拓扑
BPDU分为:配置BPDU和TCN BPDU

基本思想:在网桥之间传送配置BPDU,网桥收到配置信息并做以下工作

  • 从所有网络中选出一个作为根桥
  • 计算网桥到根桥的最短路径
  • 网桥选择根端口

STP技术可以在支持物理路径冗余的同时消除网络环路造成的影响,STP会将特定的某个端口强制变成备用状态,使其无法监听转发或者进行数据帧泛洪

端口角色和作用

根交换机
按照hellotime,周期发送配置,收到下游桥发来的TCN报文,在最大老化时间内按照hellotime周期性发送flag标志TC位置的配置信息
根端口

  • 接受根桥的配置信息
  • 向根桥发送拓扑变化信息

指定端口

  • 向下游发送配置信息
  • 接受下游桥的拓扑变化信息

非根非指定端口

  • 接受对端BPDU信息
  • 不转发用户流量

STP工作原理

  1. 第一步先要在网络中根据BID来选出网络中的根桥,根桥则是网络中的参考点,根桥上的所有端口都可以进行流量转发

根桥的选举:根据BID进行选举,拥有最低BID的交换机被选为根桥,若桥优先级相同则比较MAC地址,带有最小的MAC地址交换机成为根桥。
BID=桥优先级+MAC地址
最初每台交换机都认为自己是根桥,并向邻居发送BPDU,其中包含了自己的BID,于此同时也会受到邻居BID,每收到一个BPDU就会和自身BID进行比较,如果收到优于自身的BID,交换机就会意识到自己并不是根桥,否则将会继续认为自己是根桥。

  1. 第二步则要在非根桥交换机上选出根端口,每台非根桥路由器都会选举出一个端口作为根端口,根端口是到根桥路径开销最小的端口

根端口的选举:在每台非根桥交换机上,去往根桥路径最优的端口叫做根端口。

 去往根桥带有最短路径开销的端口叫做根端口
 如果两个端口开销相同,则继续比较发送者端口ID
  1. 第三步要在每一条链路上选出指定端口,指定端口是链路链路交换机到达根桥路径开销最小的端口

如何选出指定端口

  最低BID
  到达根桥最低路径开销
  最低发送者BID
  最低发送者端口ID

STP端口状态

端口角色描述
根端口此端口在非根桥交换机上,是通往根桥的最优路径,通常一台交换机上只有一个根端口
指定端口此类端口多出现于根桥上,根桥上所有端口都是指定端口,而非根桥交换机上只有一个指定端口,每条链路上只有一个指定端口
非指定端口非指定端口是处于一个阻塞的状态的交换机端口,并不会去转发数据帧
禁用端口禁用端口指是手动关闭的交换机端口

BPDU

  • 配置BPDU(config BPDU):用来计算STP
  • TCN BPDU:用来通告网络拓扑的变化
    每两秒交换机会向每个端口发送BPDU,其源地址为端口MAC地址,目的地址为STP的组播地址:01-80-c2-00-00-00

config BPDU报文
在这里插入图片描述

STP五种状态

在这里插入图片描述

  • Blocking(阻塞状态):此状态可以保证无环路产生,该端口既无法接受数据也无法转发数据,但是可以收到BPDU
  • Listening(侦听状态):通过接受BPDU,如果STP判断端口可能会变成根端口或者指定端口则将blocking变为Listening
  • Learning(学习状态):经过一段时间后,端口会过度到学习状态,这一状态仍然可以接受和发送BPDU,并且学习MAC地址
  • Forwarding(转发状态):可以正常发送接收数据以及BPDU
  • Disabled(禁用状态):手动关闭端口,处于禁用状态,不参与生成树操作,也不转发数据帧
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ACHAI:)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值