配置 RSTP

发布时间 2023-03-23 16:28:19作者: 权世界

实验1-5-2 配置 RSTP
【实验名称】
配置 RSTP。
【实验目的】
理解快速生成树协议 RSTP 的配置及原理。
【背景描述】
某学校为了开展计算机教学和网络办公,建立了一个计算机教室和一个校办公区,这两处的计算机网络通过两台交换机互联组成内部校园网,为了提高网络的可靠性,网络管理员用两条链路将交换机互联,现要在交换机上做适当配置,使网络避免环路。本实验以两台二层交换机为例,两台交换机分别命名为 SwitchA 和 SwitchB。PC1 与 PC2在同一个网段,假设 IP 地址分别为 192.168.0.137 和 192.168.0.136,网络掩码为 255.255.255.0。
【需求分析】
利用 STP 解决网络环路的问题时,在网络收敛时需要花费大概 30~50 秒的时间,在很多大型网络中,这个时间是难以忍受的,而 RSTP 很好的解决了这个问题,将收敛时间缩短到最快1 秒以内。
【实验拓扑】

【实验设备】
交换机 2 台
PC 2 台
【预备知识】
交换机基本配置、RSTP 技术原理。
【实验原理】
生成树协议(spanning-tree)作用是在交换网络中提供冗余备份链路,并且解决交换网络中的环路问题。生成树协议是利用 SPA 算法(生成树算法),在存在交换环路的网络中生成一个没有环路的树形网络。运用该算法将交换网络冗余的备份链路逻辑上断开,当主要链路出现故障时,能够自动地切换到备份链路,保证数据的正常转发。生成树协议的特点是收敛时间长。从主要链路出现故障到切换到备份链路需要 50 秒的时间。快速生成树协议(RSTP)在生成树协议的基础上增加了两种端口角色:替换端口(Alternate Port)和备份端口(Backup Port),分别作为根端口(Root Port)和指定端口(Designated Port)的冗余端口。当根端口或指定端口出现故障时,冗余端口不需要经过 50 秒的收敛时间,可以直接切换到替换端口或备份端口。从而实现 RSTP 协议小于 1 秒的快速收敛。

【实验步骤】
按照图设置如下:


连线如图:

步骤 1 完成 VLAN 划分及 Trunk 配置。
SwitchA(config)#vlan 10
SwitchA(config-vlan)#name stu
SwitchA(config-vlan)#exit
SwitchA(config)#interface fastethernet0/3
SwitchA(config-if)#switchport access vlan 10
SwitchA(config-if)#exit
SwitchA(config)#interface range fastethernet 0/1-2
SwitchA(config-if-range)#switchport mode trunk
操作图如下:
VLAN10:

f0/3端口:

trunk:

SwitchB(config)#vlan 10
SwitchB(config-vlan)#name stu
SwitchB(config-vlan)#exit
SwitchB(config)#interface fastethernet0/3
SwitchB(config-if)#switchport access vlan 10
SwitchB(config-if)#exit
SwitchB(config)#interface range fastethernet 0/1-2
SwitchB(config-if-range)#switchport mode trunk
操作图如下:
VLAN10:

f0/3端口:

trunk:

步骤 2 配置快速生成树协议。
SwitchA#configure terminal
SwitchA(config)#spanning-tree
SwitchA(config)#spanning-tree mode rstp
!指定生成树协议的类型为 RSTP
操作图如下:

代码粘贴如下:
SwitchB(config)#spanning-tree mode pvst

SwitchB#configure terminal
SwitchB(config)#spanning-tree
SwitchB(config)#spanning-tree mode rstp
!指定生成树协议的类型为 RSTP
操作图如下:

步骤 3 设置交换机的优先级,指定 SwitchA 为根交换机。
SwitchA(config)#spanning-tree priority 4096 !设置交换机 SwithA 的优先级为 4096,使其成为根交换机

操作图如下:

代码粘贴如下:
SwitchA(config)#spanning-tree vlan 10 priority 4096

配置PC:
PC1:

PC2:

步骤 4 查看交换机及端口 STP 状态。
SwitchA#show spanning-tree
StpVersion : RSTP
SysStpStatus : Enabled
BaseNumPorts : 24
MaxAge : 20
HelloTime : 2
ForwardDelay : 15
BridgeMaxAge : 20
BridgeHelloTime : 2
BridgeForwardDelay : 15
MaxHops : 20
TxHoldCount : 3
PathCostMethod : Long
BPDUGuard : Disabled
BPDUFilter : Disabled
BridgeAddr : 00d0.f8ef.9e89
Priority : 4096
!显示交换机的优先级
TimeSinceTopologyChange : 0d:0h:13m:43s
TopologyChanges : 0
DesignatedRoot : 200000D0F8EF9E89
RootCost : 0
RootPort : 0
从 show 命令的输出结果可以看到交换机 SwitchA 为根交换机。
SwitchB#show spanning-tree
StpVersion : RSTP
!生成树协议的版本
SysStpStatus : Enabled
!生成树协议的运行状态,Enable 为开启状态
BaseNumPorts : 24
MaxAge : 20
HelloTime : 2
ForwardDelay : 15
BridgeMaxAge : 20
BridgeHelloTime : 2
BridgeForwardDelay : 15
MaxHops : 20
TxHoldCount : 3
PathCostMethod : Long
BPDUGuard : Disabled
BPDUFilter : Disabled
BridgeAddr : 00d0.f8e0.9c81
Priority : 32768
!显示交换机的优先级
TimeSinceTopologyChange : 0d:0h:11m:39s
TopologyChanges : 0
DesignatedRoot : 100000D0F8EF9E89
RootCost : 200000
!交换机到达根交换机的开销
RootPort : Fa0/1

操作图如下:

从 show 命令输出结果可以看到交换机 SwitchB 为非根交换机,根端口为 F0/1。
查看交换机 SwitchB 的端口 1 和端口 2 的状态。
SwitchB#show spanning-tree interface fastEthernet 0/1
PortAdminPortfast : Disabled
PortOperPortfast : Disabled
PortAdminLinkType : auto
PortOperLinkType : point-to-point
PortBPDUGuard: Disabled
PortBPDUFilter: Disabled
PortState : forwarding
!SwitchB 的端口 fastEthernet 0/1 处于转发状态
PortPriority : 128
PortDesignatedRoot : 200000D0F8EF9E89
PortDesignatedCost : 0
PortDesignatedBridge : 200000D0F8EF9E89
PortDesignatedPort : 8001
PortForwardTransitions : 3
PortAdminPathCost : 0
PortOperPathCost : 200000
PortRole : rootPort
!显示端口角色为根端口

操作图如下:

上述 show 命令输出结果显示交换机 SwitchB 的端口 F0/1 角色为根端口,处于转发状态。
SwitchB#show spanning-tree interface fastEthernet 0/2
!显示 SwitchB 的端口 fastthernet 0/2的状态
PortAdminPortfast : Disabled
PortOperPortfast : Disabled
PortAdminLinkType : auto
PortOperLinkType : point-to-point
PortBPDUGuard: Disabled
PortBPDUFilter: Disabled
PortState : discarding
!SwitchB 的端口 fastEthernet 0/2处于阻塞状态
PortPriority : 128
PortDesignatedRoot : 200000D0F8EF9E89
PortDesignatedCost : 200000
PortDesignatedBridge : 800000D0F8EF9D09
PortDesignatedPort : 8002
PortForwardTransitions : 3
PortAdminPathCost : 0
PortOperPathCost : 200000
PortRole : alternatePort
!SwitchB 的 F0/2 端口为根端口的替换端口
上述 show 命令输出结果显示交换机 SwitchB 的端口 F0/2 角色为替换端口,状态为阻塞状态。
操作图如下:

步骤 5 验证测试。
如果 SwitchA 与 SwitchB 之间的一条链路 down 掉(如拔掉网线),验证交换机 PC1 与 PC2仍能互相 ping 通,并观察 ping 的丢包情况。
图 为从 PC1 ping PC2 的结果(注:PC1 的 IP 地址为 192.168.0.137,PC2 的 IP 地址为192.168.0.136)。

操作图如下:

C:>ping 192.168.0.136 –t !从主机PC1 ping PC2(用连续ping),然后拔掉SwitchA与SwitchB的端口F0/1 之间的连线,观察丢包情况。显示结果如图。

操作图如下:

以上结果显示丢包数为一个。

【注意事项】
实验时一定要先启用生成树,后连拓扑。
锐捷交换机缺省是关闭 spanning-tree 的,如果网络在物理上存在环路,则必须手工开启spanning-tree。
锐捷全系列的交换机默认生成树版本为 MSTP 协议,在配置时注意配置生成树协议的版本。