带你快速了解(STP)生成树协议

一、STP概述

1.1.1、STP简介

  • STP(Spanning Tree
    Protocol,生成树协议)就是用来把一个环形的结构改变成一个树型的结构。STP协议就是讲物理上存在环路的网络,通过一种算法,在逻辑上阻塞一些端口,来生成一个逻辑上的树型结构。
  • STP是运行在交换机上的二层破环协议,环路会导致广播风暴、MAC地址表震荡等后果,STP的主要目的就是确保在网络中存在冗余路径时,不会产生环路。
  • STP是一个用于局域网中消除环路的协议,它的标准是IEEE
    802.1D。运行该协议的设备通过彼此交互信息而发现网络中的环路,STP将部分冗余链路强制为阻塞状态,其他链路处于转发状态。当处于转发状态的链路不可用时,STP重新配置网络,并激活合适的备用链路状态。
  • 由于局域网规模的不断增长,生成树协议已经成为当前最重要的局域网协议之一。
    在这里插入图片描述

1.1.2、STP的主要作用

STP通过阻塞冗余链路,来消除桥接网络中可能存在的路径回环;
当前活动路径发生故障时,STP激活冗余链路恢复网络连通性。
在这里插入图片描述

二、STP的工作原理

2.2.1、生成树算法

STP运行生成树算法(Spanning Tree Algorithm, STA)。生成树算法的过程很复示,但可将其归纳为以下三个步骤:

  • 选择根网桥(Root Bridge):
  • 基于boot-ID字段,最小的是根。(开机后,交换机都认为自己是根,所以root-ID的初始值是和sender-ID是一样的)比boot-ID的大小,就是先比优先级priority,数值小的选中,priority相同的话,再比MAC值。数值小的选中。Priority的缺省值是:32768
  • 确定根后,就只有根每隔2秒周期发BPDU了。非根交换机就只是转发BPDU了。
  • 选择根端口(Root Ports)
  • 是为非根交换机选root port(root port:非根交换机离根最近的接口)。基于path post选,小的优选。
  • 选择指定端口(Designated Ports)
  • 为每个网段选一个指派接口(指派接口:网段离根最近的接口)。基于path cost选,小的优选。如path
    cost相同,比接口发的BPDU的sender-ID,小的选中.
  • 没被任何步骤选中的非根交换机接口,被该算法管理关掉,即被设为blocking.此时该接口只能接收BPDU帧,不转发BPDU帧,也不能收、发用户帧。
  • 当交换机的root port失效时,被blocking的接口,会有一个被自动激活,成为active.成为root
    port(因为被blocking的接口能接收BPDU)
  • 网络稳定后,接口只有2种状态:forwording、blocking.
    • 选举根端口——指定端口的规则
      1、Lowest path cost to root bridge (到达根的最小路径开销)
      2、Lovest sender BID (最小的发送方BID)
      3、Lowest sender port ID (最小的发送方PID)(PID=端口优先级(默认128)+端口号)
      在这里插入图片描述

三、BPDU网际协议数据单元

  • BPDU:网际协议数据单元
  • STP的各种选举是通过交换BPDU报文来实现的,BPDU是直接封装在以太网帧中的(802.3 + 802.2)
  • 对于参与STP的所有交换机,它们都是通过数据消息的交换来获取网络中其它交换机的信息,这种消息就被称为BPDU
3.3.1、BPDU的功能
  • 选举根网桥
  • 确定冗余路径的位置
  • 通过阻塞特定端口来避免环路
  • 通告网络的拓扑变更
  • 监控生成树的状态
  • 1、BPDU每2秒由根桥发送一次,拥有最小bridge-id的交换机为根桥。
  • 2、最初网络,每个交换机都认为自己是根桥,都会发送BPDU比较Lowest
    BID,选举出一个根桥,此时只有根桥发送BPDU非根桥只进行转发,转发只指修改bridge-id和cost字段
3.3.2、BPDU分为两种
  • 配置BPDU通常有根网桥以周期性间隔发出,包括了STP参数,用于进行各种选举
  • TCN(拓扑变更通告)BPDU这是当交换机检测到拓扑发生变更时所产生的的,这种BPDU可以有非根桥发出
  • 选举根交换机的规则:
  • lowest BID = 网桥优先级 + MAC地址(越小越优) 设置根桥的两种方法:
  • 修改网桥优先级命令:stp priority 0 (数值需要设定为4096的倍数)
  • 设置此网桥为根网桥:stp root primary (默认把优先级变为0)
四、生成树端口的状态
4.4.1、端口角色:
  • 1、RP:根端口,每个非根网桥上有且只有一个,选举到达根网桥路径开销最小的称为根端口
  • 2、DP:指定端口,根网桥上每个端口都是指定端口,非根网桥上需要转发数据的端口是指定端口
  • 3、AP:预备端口,改接口状态为阻塞状态(bloking),只接收处理BPDU,不转发BPDU
4.4.2、端口状态描述:
  • 1、Disabled(禁用状态):不转发数据帧,不学习MAC地址表,不参与生成树计算
  • 2、Blocking(阻塞状态);不转发数据帧,不学习MAC地址表,接收并处理BPDU,不发生BPDU
  • 3、Listening(监听状态):不转发数据帧,不学习MAC地址表,参与生成树计算,接收并发送BPDU
  • 4、Learning(学习状态):不转发数据帧,学习MAC地址表,参与生成树计算,接收并发送BPDU
  • 5、Forwarling(转发状态):转发数据帧,学习MAC地址表,参与生成树计算,接收并发送BPDU

端口由Blocking过度到Forwarding有50秒延时。Blocking到Listening有20秒老化时间,Listening到Learning有15秒过度时间,Learning到Forwarding有15秒过度时间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值