STP/RSTP概述

STP的基本概念及工作原理

STP概述

  1. STP协议,IEEE802.1d规定的协议,中文名叫做生成树协议,这个生成树协议,又可以演化为三种协议,一种就是最正常的生成树协议(STP),第二种的话就是RSTP协议,叫做快速生成树协议,还有就是MSTP协议叫做多标签生成树协议。(总体概况)
  2. 简单的来介绍一下生成树协议。它是广播域中冗余防环路的协议,那么,一般在二层广播的广播域中。跨广播域的话,需要路由来进行路由转发了。首先呢,在局域网中广播域过大,可能就会有这样一些问题,一个的话就是MAC地址表震荡,第二个的话,就是广播风暴。那么为了解决广播风暴这个问题,然后我们就演变了这个STP协议。
  3. STP的作用,就是在保证网络冗余的同时,来保证交换网络中不会出现二层环路。
  4. 它的原理,就是通过在逻辑上阻塞某一端口,使得交换网络中形成阻塞的环路。当链路被破坏或者链路中设备发生故障时,又重新启用阻塞端口,使得网络恢复数据转发。

STP的基本概念

根桥

树形的网络结构必须有树根,于是STP引入了根桥(Root Bridge)概念。
对于一个STP网络,根桥在全网中只有一个,它是整个网络的逻辑中心,但不一定是物理中心。根桥会根据网络拓扑的变化而动态变化。
网络收敛后,根桥会按照一定的时间间隔产生并向外发送配置BPDU,其他设备仅对该报文进行处理,传达拓扑变化记录,从而保证拓扑的稳定。

桥ID

在STP中,每一台交换机都有一个标示符,叫做Bridge ID或者桥ID,桥ID由16位的桥优先级(Bridge Priority)和48位的MAC地址构成。在STP网络中,桥优先级是可以配置的,取值范围是0~65535(0和65535不可设置),默认值为32768,可以修改但是修改值必须为4096的倍数。优先级最高的设备(数值越小越优先)会被选举为根桥。如果优先级相同,则会比较MAC地址,MAC地址越小则越优先。

在这里插入图片描述
如图,先比较桥优先级三个交换机的桥优先级相同,再比较MAC地址,最终选择SW1伪根桥

Cost

每一个激活了STP的接口都维护着一个Cost值,接口的Cost主要用于计算根路径开销,也就是到达根的开销。
接口的缺省Cost除了与其速率、工作模式有关,还与交换机使用的STP Cost计算方法有关。
接口带宽越大,则Cost值越小。
用户也可以根据需要通过命令调整接口的Cost。

RPC

在STP的拓扑计算过程中,一个非常重要的环节就是“丈量”交换机某个接口到根桥的“成本”,也即RPC。
一台设备从某个接口到达根桥的RPC等于从根桥到该设备沿途所有入方向接口的Cost累加。
在本例中,SW3从GE0/0/1接口到达根桥的RPC等于接口1的Cost加上接口2的Cost。
在这里插入图片描述

Port ID

运行STP交换机的每个端口都有一个端口ID,端口ID由端口优先级端口号构成。端口优先级取值范围是0到240,步长为16,即取值必须为16的整数倍。缺省情况下,端口优先级是128。端口ID可以用来确定端口角色。

BPDU

为了计算生成树,交换机之间需要交换相关的信息和参数,这些信息和参数被封装在BPDU中。
BPDU有两种类型:配置BPDUTCN BPDU
配置BPDU包含了桥ID、路径开销和端口ID等参数。STP协议通过在交换机之间传递配置BPDU来选举根交换机,以及确定每个交换机端口的角色和状态。在初始化过程中,每个桥都主动发送配置BPDU。在网络拓扑稳定以后,只有根桥主动发送配置BPDU,其他交换机在收到上游传来的配置BPDU后,才会发送自己的配置BPDU。
TCN BPDU是指下游交换机感知到拓扑发生变化时向上游发送的拓扑变化通知。

STP选举过程

a) 选举根桥,根桥就相当于这个生成树的根,从根开始一直往下延伸,变成一颗生成树。根桥的选举依据两个原则,第一个优先级,第2个MAC表地址,其中优先级和MAC地址的值越小越优先
b) 每一个非根桥交换机选举一个根端口RP端口。RP端口根据根路径开销来选举,开销越小,那么这个端口就作为RP端口
c) 每个网段选取一个指定端口DP端口,这个端口就是在链路中指定一个端口进行转发最优的BPDU,转发数据
一般来说根桥上的端口一般都是DP端口
d) 既不是RP端口DP端口,那么就是阻塞端口,AP端口,这是用来进行链路阻塞的,就是因为它,所以在广播任务中不会造成广播风暴,可以进行阻塞链路。也就是因为它如果当链路中有一条链路down掉的时候,AP端口可以立马变成DP端口,进行数据转发,进行链路冗余
e)STP的收敛时间一般为50s

STP的接口状态

禁用(disable)

该接口不能收发BPDU,也不能收发业务数据帧,例如接口为down

阻塞(Blocking)

该接口被STP阻塞。处于阻塞状态的接口不能发送BPDU,但是会持续侦听BPDU,而且不能收发业务数据帧,也不会进行MAC地址学习

侦听(Listening)

当接口处于该状态时,表明STP初步认定该接口为根接口或指定接口,但接口依然处于STP计算的过程中,此时接口可以收发BPDU,但是不能收发业务数据帧,也不会进行MAC地址学习

学习(Learning)

当接口处于该状态时,会侦听业务数据帧(但是不能转发业务数据帧),并且在收到业务数据帧后进行MAC地址学习

转发(Forwarding)

处于该状态的接口可以正常地收发业务数据帧,也会进行BPDU处理。接口的角色需是根接口或指定接口才能进入转发状态

STP的基础配置

通过一个小实验学习一下STP的基本配置命令

公司A网络拓扑如下所示,现根据需求完成如下配置:
全网运行STP;
确保S1永为根,S3的端口E0/0/3为Alternate端口;
将端口开销均改为10。
在这里插入图片描述
分析:所谓需求2中的“确保S1永为根,S3的端口E0/0/3为Alternate端口”和需求3中的“将端口开销均改为10”,就是要求各个交换机优先级为S1>S2>S3。
基本命令:
stp mode命令用来配置交换设备的生成树协议工作模式。
stp root命令用来配置当前交换设备为指定生成树的根桥或备份根桥。
stp priority命令用来配置交换设备在指定生成树中的优先级。
stp cost命令用来配置当前端口在指定生成树上的端口路径开销。
参数意义
stp mode { mstp | rstp | stp }
mstp:指定MSTP模式。
rstp:指定RSTP模式。
stp:指定STP模式。
stp [ instance instance-id ] root { primary | secondary }
instance instance-id:指定生成树实例的编号。该参数在MSTP中需要特别指定。
primary:指定配置为生成树的根桥设备。
secondary:指定配置为生成树的备份根桥设备。
stp [ instance instance-id ] priority priority
priority priority:指定交换设备的优先级数值。整数形式,取值范围是0~61440,步长为4096,如0、4096、8192等。缺省值是32768。
stp [ instance instance-id ] cost cost
cost:指定端口路径开销。端口路径开销值改变时,生成树会重新进行计算。

对LSW1:
stp mode stp
stp root primary
interface Ethernet0/0/1
stp cost 10
interface Ethernet0/0/2
stp cost 10

对LSW2:
stp mode stp
stp root secondary
int e0/0/1
stp cost 10
int e0/0/3
stp cost 10

对LSW3:
stp mode stp
stp priority 8192
int e0/0/2
stp cost 10
int e0/0/3
stp cost 10

配置好后,使用display stp brief查看stp邻居信息
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
可以看到配置满足实验要求

RSTP对STP的改进

STP的不足

STP协议虽然能够解决环路问题,但是由于网络拓扑收敛慢,影响了用户通信质量。如果网络中的拓扑结构频繁变化,网络也会随之频繁失去连通性,从而导致用户通信频繁中断,这是用户无法忍受的。
STP算法要求在稳定的拓扑中,根桥主动发出配置BPDU报文,而其他设备进行处理,传遍整个STP网络。这也是导致拓扑收敛慢的主要原因之一。

RSTP概述

IEEE 802.1w中定义的RSTP可以视为STP的改进版本,RSTP在许多方面对STP进行了优化,它的收敛速度更快,而且能够兼容STP。

RSTP引入了新的接口角色,其中替代接口的引入使得交换机在根接口失效时,能够立即获得新的路径到达根桥。备份端口作为指定端口的备份,帮助链路上的网桥快速获得到根桥的备份路径。RSTP的状态规范根据端口是否转发用户流量和学习MAC地址把原来的5种状态缩减为3种。 另外,RSTP还引入了边缘接口的概念,这使得交换机连接终端设备的接口在初始化之后能够立即进入转发状态,收敛时间只有15s,提高了工作效率。

RSTP的接口角色共有4种:根接口、指定接口、预备接口和备份接口

从配置BPDU报文发送角度来看:
预备(Alternate)接口就是由于学习到其它网桥发送的配置BPDU报文而阻塞的接口。
备份(Backup)接口就是由于学习到自己发送的配置BPDU报文而阻塞的接口。

边缘端口

如果指定端口位于整个域的边缘,不再与任何交换设备连接,这种端口叫做边缘端口。

边缘端口一般与用户终端设备直接连接,不与任何交换设备连接。边缘端口正常情况下接收不到配置BPDU报文,不参与RSTP运算,可以由Disabled状态直接转到Forwarding状态,且不经历时延,就像在端口上将STP禁用了一样。但是,一旦边缘端口收到配置BPDU报文,就丧失了边缘端口属性,成为普通STP端口,并重新进行生成树计算,从而引起网络震荡。

端口状态

RSTP的状态规范把STP原来的5种状态缩减为3种。
如果不转发用户流量也不学习MAC地址,那么接口状态就是Discarding状态。
如果不转发用户流量但是学习MAC地址,那么接口状态就是Learning状态。
如果既转发用户流量又学习MAC地址,那么接口状态就是Forwarding状态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值