生成树协议 STP& RSTP& PVST& PVST+ 学习记录

本文记录了对生成树协议STP、快速生成树协议RSTP以及思科的PVST+的学习过程。STP通过选举根桥和阻塞端口消除二层网络中的环路,而RSTP通过更快的收敛时间改进了STP。PVST+是Cisco的基于VLAN的生成树协议,每个VLAN都有独立的生成树,提高了链路利用率。文中详细介绍了各协议的工作原理、选举过程和配置实例。
摘要由CSDN通过智能技术生成

记录大学时的生成树协议学习经过,当时参考了一些网络资料,出处已难寻,如有误,请不吝赐教

IEEE标准的生成树协议STP(Spanning Tree Protocol)是一种工作在OSI第二层的网络协议,通过链路冗余来提高局域网的健壮性和稳定性,被广泛应用与局域网组建技术中。STP通过阻塞某些端口来解决环路带来的广播风暴等问题。STP通过使用生成树算法,将原来存在环路的网络拓扑变成树形网络(不存在环)。当正常工作的链路出现故障时,原来被阻塞的端口会快速启用转发报文,实现冗余的功能。
思科公司拥有私有的生成树协议 PVSTP+: Per-VLAN Spanning Tree(每个VLAN生成树)

协议 标准
STP IEEE
RSTP IEEE
MSTP IEEE
PVST CISCO
PVST+ CISCO
Rapid-PVST CISCO

背景

网络设计通常采用冗余方法提高网络的健壮性、稳定性。常见的冗余方式有:链路冗余和设备冗余。如图所示。该三层结构的网络中,核心层、分布层和接入层均采用了链路冗余。
图4-1
不过,对网络中冗余链路会造成网络中的环路,而第二层的网络环路则会带来以下问题:
(1)广播风暴。
(2)多帧复制。
(3)MAC地址表的不稳定。
为了解决第二层网络环路问题而又要保证网络的稳定和健壮性,引入了链路动态管理的策略。首先通过阻塞某些链路避免环路的产生,当正常工作的链路由于故障断开时,阻塞的链路立刻激活,迅速取代故障链路的位置,保证网络的正常运行。这就是生成树(STP)协议的主要思想。

STP的工作过程

STP通过协商阻断一些交换机端口,以确保网络中所有目的地之间只有一条逻辑路径,构建一棵没有环路的转发树。当一个端口阻止流量进入或离开时,该端口便视为处于阻塞状态。不过 STP 用来防止环路的网桥协议数据单元 (BPDU) 帧仍可继续通行。为了在网络中形成一个没有环路的拓扑,交换机要进行以下3个步骤:
(1)选举根桥。
(2)每个非根桥交换机计算到达根桥的最短路径。
(3)选择活动端口以及端口的角色类型。

端口类型

STP端口类型 RSTP端口类型
根端口(Root Port) 根端口(Root Port)
指定端口(Designated Port) 指定端口(Designated)
非指定端口(non-designated ) 备份端口(Backup Port)
禁用端口(Disabled Port) 替代端口 (Alternative Port)

端口功能

端口类型 定义 位置
根端口 指到达根桥路径开销最小的端口,每个交换机只能有一个。 非根网桥上
指定端口 负责发送网段BPDU的端口,对于根网桥来说,所有端口都为指定端口;而非根网桥所在每个物理网段只能有一个。 非根网桥和根网桥上
非指定端口 被阻塞的端口,不能转发数据帧 非根网桥上
备份端口 充当指定交换机的那个网段提供一条备份链路,工作在稳定拓扑中为丢弃状态。 非根网桥上
替代端口 用来提供替代去往根网桥路径的端口,即替换当前根端口,工作在稳定拓扑中为丢弃状态。 非根网桥上
禁用端口 生成树中不起作用的端口 非根网桥和根网桥上

端口状态

STP有五种端口状态,而RSTP只有三种与之对应,故收敛速度有提升。(后面会谈)

STP RSTP
禁用(Disable ) 丢弃(Discarding)
阻塞(Blocking) 丢弃(Discarding)
侦听(Listening) 丢弃(Discarding)
学习(Learning) 学习(Learning)
转发(Forwarding) 转发(Forwarding)

选举根桥及根端口

在STP的根桥和根端口选择过程中,哪个交换机能获胜将取决于以下因素(按顺序进行):

  1. 最低的根桥ID,也叫BID(Bridge Identity); 最低的根路径代价; 最低发送者桥ID; 最低发送者端口ID。
  2. 最低的根路径代价;
  3. 最低发送者桥ID;
  4. 最低发送者端口ID。

下面举例说明了生成树的工作过程:
生成树的工作过程

  1. 选举根桥:每个交换机都具有一个唯一的桥ID(BID, Bridge ID),这个ID由两部分组成,如下图所示:
    BID组成
    网桥优先级是一个2字节的数,交换机的默认优先级为32768 ;MAC地址就是交换机的MAC地址。具有最低桥ID的交换机就是根桥。
    BID的信息被封装在BPDU中,每个交换机广播接收到的BPDU和发送自身的BPDU,通过BPDU泛洪,可以获知BID最小的交换机,该交换机即被选为根桥。例如在上图中,三台交换机的优先级(Priority)相同,SwitchA 的MAC地址最小,所以SwitchA的 BID最小(Priority+MAC),被选举为根网桥。
  2. 选取根端口:选举了根桥后,其他的交换就成为了非根桥。根桥上的接口都是指定端口,会转发数据包。每台非根桥要选举一条到根桥的根路径。STP使用路径代价Cost值来决定到达根桥的最佳路径(Cost是累加的,带宽大的链路Cost低),最低Cost值的路径就是根路径,该端口就是根端口;如果Cost一样,就根据选举顺序选举根口。根口转发数据包。生成树链路开销代价如表所示。
链路带宽 cost
10Gb/s 2
1Gb/s 4
100Mb/s 19
10Mb/s 100

根端口&指定端口选举
各个非根网桥中的端口中,到根网桥路径开销最小的端口被指定为根端口,在图中,Switch B和C 的两个端口F0/1、F0/2的开销分别为19和38,所以F0/1被选定为根端口。
3. 选举指定端口和非指定端口:当交换机确定了根端口后,还必须将剩余端口配置为指定端口 (DP) 或非指定端口(非 DP),以完成逻辑无环生成树。交换网络中的每个网段只能有一个指定端口。当两个非根端口的交换机端口连接到同一个 LAN 网段时,会发生竞争端口角色的情况。这两台交换机会交换 BPDU 帧,以确定哪个交换机端口是指定端口,哪一个是非指定端口。一般而言,交换机端口是否配置为指定端口由 BID 决定。所以在网段2所连接的2个端口,Switch B的BID值小于Switch C的BID值,所以 Switch B的F0/2为指定端口,处于转发状态。Switch C的F0/2为非指定端口,处于阻塞状态。

STP的收敛过程

当网络的拓扑发生变化时,网络会从一个状态向另一个状态过渡,重新打开或阻断某些端口口。交换机的端口状态状态变换和时间如下图:
STP收敛时间
从上图可以看出STP的最长收敛时间为50s。
当网络的拓扑发生变化时,网络会从一个状态向另一个状态过渡,重新打开或阻断某些端口。交换机的端口要经过几种状态:禁用(Disable)——>阻塞(Blocking)——>监听状态(Listenning)——>学习状态(Learning)——>转发状态(Forwarding)。每种端口状态对数据的处理如表所示。

过程 阻塞 侦听 学习 转发 禁用
接收并处理BPDU 不能
转发接口上收到的数据 不能 不能 不能 不能
转发其它接口发来的数据帧 不能 不能 不能 不能
学习MAC地址 不能 不能 不能

STP常用配置命令

如不人为配置,交换机只要有开启STP协议,就会自动配置完成(BPDU泛洪)。

相关命令 功能
S1#show spanning-tree 查看交换机生成树协议的配置情况
S1(config)# spanning-tree mode stp/rstp 配置生成树的模式为STP或是RSTP
S1(config)# spanning-tree vlan 1 priority <0-61440> 人为配置交换机在VLAN 1中的优先级(优先级为4096倍数),范围为0-61440
S1(config)#spanning-tree vlan 1 root primary 人为将交换机配置为VLAN1中的根桥
S1(config)#spanning-tree vlan 1 root secondary 人为将交换机配置为VLAN1中的次根桥
S1(config-if) # interface fa0 选择端口fa0
S1(config-if) # spanning-tree vlan 1 cost 18 人为将fa0端口在VLAN1生成树的路径开销修改为18
S1(config-if) # interface fa0 选择端口fa0
S1(config-if) # spanning-tree vlan 1 port-priority 16 人为将fa0端口在VLAN1生成树的端口优先级修改为16,端口优先级为16的倍数,从0~240
S1#show spanning-tree interface fastethernet 0/1 查看端口状态
S1# show spanning-tree vlan vlan-id 查看某个VLAN下的STP配置信息

STP配置实例

配置实例

S1#show spanning-tree  
VLAN0001
  Spanning tree enabled protocol ieee
 //根桥的信息
  Root ID    Priority    32769      // 根桥的优先级
             Address     0001.4240.48C4  // 根桥的MAC地址,可知S3为根桥
             Cost        19   //  本交换机到根桥路径开销为19             
             Port        1(FastEthernet0/1)  // 本交换机根端口为F0/1
             Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec
  //本交换机的信息
  // 优先级 = 32768(默认优先级) +  1(VLAN 1的序号)
  Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1) 
             Address     0001.43E9.8859  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值