一、介绍
1、以太网交换网络中为了进行链路备份,提高网络可靠性,通常会使用冗余链路,但是这也带来了网络环路的问题。网络环路会引发广播风暴和MAC地址表震荡等问题,导致用户通信质量差,甚至通信中断。为了解决交换网络中的环路问题,IEEE提出了基于802.1D标准的STP(Spanning Tree Protocol,生成树协议)。 随着局域网规模的不断增长,STP拓扑收敛速度慢的问题逐渐凸显,因此,IEEE在2001年发布了802.1W标准,定义了RSTP(Rapid Spanning Tree Protocol,快速生成树协议),RSTP在STP的基础上进行了改进,可实现网络拓扑的快速收敛。
2、STP配置得BPDU:
STP通过在交换机之间传递配置BPDU来选举根交换机 (或根桥),以及确定每个交换机端口的角色和状态。 在初始化过程中,每个交换机都主动发送配置BPDU。 在网络拓扑稳定以后,只有根桥周期性发送配置BPDU,其他交换机在收到上游传来的配置BPDU后,才会发送自己的配置BPDU。 配置BPDU包含了桥ID、路径开销和端口ID等参数。
3、stp得不足:
STP虽然能够解决环路问题,但是由于网络拓扑收敛慢,影响了用户通信质量。如果网络中的拓扑结构频繁变化,网络也会随之频繁失去连通性,从而导致用户通信频繁中断,这是用户无法忍受的。 STP的不足: STP没有细致区分端口状态和端口角色,不利于初学者学习及部署。 从用户角度来讲,Listening、Learning和Blocking状态并没有区别,都同样不转发用户流量。 从使用和配置角度来讲,端口之间最本质的区别并不在于端口状态,而是在于端口扮演的角色。 STP算法是被动的算法,依赖定时器等待的方式判断拓扑变化,收敛速度慢。 STP算法要求在稳定的拓扑中,根桥主动发出配置BPDU报文,而其他设备再进行处理,最终传遍整个STP网络。
二、RSTP得工作流程
1、每一台交换机启动RSTP后,都认为自己是“根桥”,并且发送RST BPDU。 所有端口都为指定端口,处于Discarding状态。
2、上游链路的设备互联端口通过P/A机制,快速进入转发状态。 SW2收到更优的RST BPDU后,经比较认为SW1才是当前根桥,此时SW2的端口将成为根端口,而不是指定端口,停止发送RST BPDU。 SW1的端口进入Discarding状态,发送Proposal位置位的RST BPDU。SW2收到后阻塞除边缘端口以外的所有其他端口(该过程称为同步过程)。 SW2的各端口同步后,根端口立即进入Forwarding状态,并向SW1返回Agreement位置位的RST BPDU。SW1收到该报文后,会让指定端口立即进入Forwarding状态。
3、下游链路的设备互联端口会进行新一轮的P/A协商。 SW2的下游端口设置为指定端口,持续发送Proposal位置位的RST BPDU。 SW3的下游端口收到该BPDU后,发现不是本设备收到的最优BPDU,则会忽略,不会发送Agreement位置位的RST BPDU。 SW2的下游端口一直收不到Agreement位置位的回应报文,等待2倍的Forward Delay后,进入转发状态。
三、实验
1、实验拓扑:
2、实验要求:
(1). PC属于VLAN10,并配置交换机相应接口
(2). SW1/2/3为企业内部交换机,SW3设为根交换机,SW2设为次根交换机
(3). 全部交换机运行RSTP协议
(4). 观察所有交换机接口角色和状态
(5). SW1/2作为接入交换机,连接终端,整机默认配置边缘端口,并开启相应的保护措施
(6). 开启非法交换机,观察端口状态
(7). 为确保SW3为根交换机,开启根保护功能 8. PC1长pingPC2,关闭SW2的G0/0/2接口,观察端口切换时间
3、实验代码:
3.1 在交换机上创建 VLAN 并划分接口
SW1
[Huawei] sysname SW1
[SW1] vlan 10 [SW1] interface g0/0/1
[SW1-GigabitEthernet0/0/1] port link-type trunk
[SW1-GigabitEthernet0/0/1] port trunk allow-pass vlan 10
[SW1-GigabitEthernet0/0/1] interface g0/0/2
[SW1-GigabitEthernet0/0/2] port link-type trunk
[SW1-GigabitEthernet0/0/2] port trunk allow-pass vlan 10
[SW1-GigabitEthernet0/0/2] interface g0/0/3
[SW1-GigabitEthernet0/0/3] port link-type access
[SW1-GigabitEthernet0/0/3] port default vlan 10 SW2
[Huawei] sysname SW2
[SW2] vlan 10 [SW2] interface g0/0/1
[SW2-GigabitEthernet0/0/1] port link-type trunk
[SW2-GigabitEthernet0/0/1] port trunk allow-pass vlan 10
[SW2-GigabitEthernet0/0/1] interface g0/0/2
[SW2-GigabitEthernet0/0/2] port link-type trunk
[SW2-GigabitEthernet0/0/2] port trunk allow-pass vlan 10
[SW2-GigabitEthernet0/0/2] interface g0/0/3
[SW2-GigabitEthernet0/0/3] port link-type access
[SW2-GigabitEthernet0/0/3] port default vlan 10 SW3
[Huawei] sysname SW3
[SW3] vlan batch 10
[SW3] interface g0/0/1
[SW3-GigabitEthernet0/0/1] port link-type trunk
[SW3-GigabitEthernet0/0/1] port trunk allow-pass vlan 10
[SW3-GigabitEthernet0/0/1] interface g0/0/2
[SW3-GigabitEthernet0/0/2] port link-type trunk
[SW3-GigabitEthernet0/0/2] port trunk allow-pass vlan 10
3.2 配置 RSTP,并设置优先级
SW1 [SW1] stp mode rstp SW2 [SW2] stp mode rstp [SW2] stp root secondary SW3 [SW3] stp mode rstp [SW2] stp priority root primary
3.4 SW1/2 配置边缘端口 SW1 [SW1] stp edged-port default [SW1] interface g0/0/1 [SW1-GigabitEthernet0/0/1] stp edged-port disable [SW1-GigabitEthernet0/0/1] interface g0/0/2 [SW1-GigabitEthernet0/0/2] stp edged-port disable
#交换机互联接口需要关闭边缘端口功能,以免影响通信
SW2
[SW2] stp edged-port default [SW2] interface g0/0/1 [SW2-GigabitEthernet0/0/1] stp edged-port disable [SW2-GigabitEthernet0/0/1] interface g0/0/2 [SW1-GigabitEthernet0/0/2] stp edged-port disable 3.5 SW1/2 配置相应保护措施
SW1
[SW1] stp bpdu-protection
SW2
[SW2] stp bpdu-protection
3.7 开启 SW3 的根保护
SW3
[SW3] interface g0/0/1
[SW3-GigabitEthernet0/0/1] stp root-protection
[SW3-GigabitEthernet0/0/1] interface g0/0/1
[SW3-GigabitEthernet0/0/2] stp root-protectio