网络的可靠性要求网络设备能够满足7×24小时的不间断工作,这就需要在网络中增加冗余的链路。生成树(STP)技术,是让网络保持在一种无环、最优的工作状态,网络管理员可以基于VLAN流量调整生成树状态,达到网络的负载均衡,使网络达到最佳工作效率。
在两个交换机SWA和SWITCH-B上均划分Vlan10和Vlan20,将PC机分别接入对应的Vlan中;在两个交换机上配置生成树协议,实现Vlan的负载均衡,使得Vlan10的计算机由SWA转发,Vlan20的计算机通信时由SWITCH-B转发。
PC机IP地址配置,如表2-3-2所示。
表2-3-2 PC机IP地址分配表
PC机编号 | 所属VLAN | IP地址 | 子网掩码 |
PC1 | 10 | 192.168.10.1 | 255.255.255.0 |
PC2 | 20 | 192.168.20.1 | 255.255.255.0 |
PC3 | 10 | 192.168.10.2 | 255.255.255.0 |
PC4 | 20 | 192.168.20.2 | 255.255.255.0 |
步骤实现
步骤1:按照如图2-3-6所示,连接拓扑结构图。
步骤2:按照如表2-3-2所示,配置计算机的IP地址、子网掩码和网关。
步骤3:配置交换机A的主机名称,并划分VLAN10和VLAN20,将f0/1-5划入VLAN10,f0/6-10划入vlan20。
Switch(config)#hostname Switch-A !配置主机名
SWITCH-A(config)#vlan 10 !创建VLAN10
SWITCH-A(config-vlan)#exit
SWITCH-A(config)#vlan 20 !创建VLAN20
SWITCH-A(config-vlan)#exit
SWITCH-A(config)#in range f0/1-5 !端口1-5加入vlan 10
SWITCH-A(config-if-range)#switchport access VLAN 10
SWITCH-A(config-if-range)#exit
SWITCH-A(config)#int range f0/6-10 !端口6-10加入vlan 20
SWITCH-A(config-if-range)#switchport access vlan 20
SWITCH-A(config-if-range)#exit
SWITCH-A(config)#in range f0/23-24 !配置交换机间互连端口为中继状态
SWITCH-A(config-if-range)#switchport mode trunk
步骤4:配置交换机B的主机名称,并划分VLAN10和VLAN20,将f0/1-5划入VLAN10,f0/6-10划入vlan20。
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#hostname SWITCH-B
SWITCH-B(config)#vlan 10
SWITCH-B(config-vlan)#exit
SWITCH-B(config)#vlan 20
SWITCH-B(config-vlan)#exit
SWITCH-B(config)#in range f0/1-5
SWITCH-B(config-if-range)#switchport access vlan 10
SWITCH-B(config-if-range)#in range f0/6-10
SWITCH-B(config-if-range)#switchport access vlan 20
SWITCH-B(config-if-range)#exit
SWITCH-B(config)#in range f0/23-24 !配置交换机间互连端口为中继状态
SWITCH-B(config-if-range)#switchport mode trunk
步骤5:在SWITCH-A上开启生成树模式rapid-pvst(快速每VLAN生成树)。
交换机上默认开启生成树协议,我们选择rapid-pvst(RSTP)生成树协议,既可以达到快速收敛,还可以在每个VLAN上构建生成树,以达到负载均衡。
SWITCH-A(config)#spanning-tree mode ?
pvst Per-Vlan spanning tree mode !每VLAN生成树
rapid-pvst Per-Vlan rapid spanning tree mode !快速每VLAN生成树
SWITCH-A(config)#spanning-tree mode rapid-pvst
步骤6:验证在SWITCH-B上开启生成树模式rapid-pvst(快速每VLAN生成树)的结果。
SWITCH-B#show spanning-tree
VLAN0001
Spanning tree enabled protocol rstp !生成树协议版本为rstp
Root ID Priority 32769 !根桥优先级(默认优先级32768+VLAN ID)
Address 0000.0C84.1692 !根桥MAC地址
Cost 19 !本地网桥到达根桥开销
Port 23(FastEthernet0/23) !与根桥互连端口
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
!hello时间老化时间及转发延迟
Bridge ID Priority 32769 (priority 32768 sys-id-ext 1) !本网桥优先级
Address 00D0.FF65.029B !本网桥MAC地址
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 20
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/24 Altn BLK 19 128.24 P2p !端口状态为阻塞,即不转发数据
Fa0/23 Root FWD 19 128.23 P2p !端口状态为转发
VLAN0020
Spanning tree enabled protocol rstp
Root ID Priority 20
Address 0000.0C84.1692
Cost 19
Port 23(FastEthernet0/23)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 4116 (priority 4096 sys-id-ext 20)
Address 00D0.FF65.029B
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 20
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/6 Desg FWD 19 128.6 P2p
Fa0/24 Altn BLK 19 128.24 P2p
Fa0/23 Root FWD 19 128.23 P2p
VLAN0020
Spanning tree enabled protocol rstp
Root ID Priority 20
Address 0000.0C84.1692
Cost 19
Port 23(FastEthernet0/23)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 4116 (priority 4096 sys-id-ext 20)
Address 00D0.FF65.029B
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 20
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/6 Desg FWD 19 128.6 P2p
Fa0/24 Altn BLK 19 128.24 P2p
Fa0/23 Root FWD 19 128.23 P2p
从验证消息可以看到,在vlan 1、vlan10、vlan20的生成树中,SWITCH-B都为非根桥,意味着三个VLAN的流量都从SWITCH-A转发。从拓扑上可以看到,SWITCH-B的f0/24端口为橙色,阻塞状态。
步骤7:调整生成树状态,达到负载均衡。配置SWITCH-B做为VLAN20的根桥,VLAN20流量从SWITCH-B转发。
SWITCH-B>en
SWITCH-B#conf t
Enter configuration commands, one per line. End with CNTL/Z.
SWITCH-B(config)#spanning-tree vlan 20 root primary !配置本地交换机为vlan 20的主根桥
步骤8:验证调整状态后SWITCH-B上生成树的结果。
SWITCH-B#sh spanning-tree
…… !VLAN1部分没有配置,与前文相同,略去
VLAN0010
Spanning tree enabled protocol rstp
Root ID Priority 24586
Address 0000.0C84.1692
Cost 19
Port 23(FastEthernet0/23)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32778 (priority 32768 sys-id-ext 10)
Address 00D0.FF65.029B
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 20
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Desg FWD 19 128.1 P2p
Fa0/24 Altn BLK 19 128.24 P2p
Fa0/23 Root FWD 19 128.23 P2p
VLAN0020
Spanning tree enabled protocol rstp
Root ID Priority 20
Address 00D0.FF65.029B
This bridge is the root !本网桥为根桥
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 20 (priority 0 sys-id-ext 20)
Address 00D0.FF65.029B
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 20
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/6 Desg FWD 19 128.6 P2p !转发端口
Fa0/24 Desg FWD 19 128.24 P2p !转发端口
Fa0/23 Desg FWD 19 128.23 P2p !转发端口
从显示信息可以看到,vlan20的根桥已经转换为SWITCH-B,VLAN10的根桥还是SWITCH-A。从拓扑图上可以看到,SWITCH-B被阻塞的f0/24端口已经转换为绿色,进入数据转发状态。
步骤9:测试PC机连通性,发现网络始终连通。
连接好后我们会发现两条链路中有一个端点显示为黄色标记,此标记表示该端口处于block(关闭)状态。当前拓扑图中仅有Fa0/23口互联的链路是在工作状态,而另一条Fa0/24口互联链路是处于关闭状态的,称为冗余链路,仅做备份作用。
- 小贴士
此任务中也可在SWITCH-A上使用命令spanning-tree vlan 20 root secondary 使交换机SWITCH-A成为VLAN20的次根桥(备份根桥);
交换机在生成树选举中使用小的优先级作为根桥。可以使用命令spanning-tree vlan 20 priority 4096来直接改变交换机的优先级参与选举。注意因为BID的位格式决定,优先级必须为4096的整数倍,查看生成树状态时的BID在配置的优先级加上VLAN ID。
相关知识
1.STP收敛过程:
收敛是生成树过程的一个重要环节。收敛是指网络在一段时间内确定作为根桥的交换机、经过所有不同的端口状态,并且将所有交换机端口设置为其最终的生成树端口角色,而所有潜在的环路都被消除。收敛过程需要耗费一定时间,这是因为其使用各种不同的计时器来协调整个过程。
STP协议收敛过程分为以下三个步骤:
步骤 1. 选举根桥
根桥是所有生成树路径开销计算的基础,用于防止环路的各种端口角色也是基于根桥而分配的。
根桥选举在交换机完成启动时或者网络中检测到路径故障时触发。根桥选举是根据交换机的BID号进行的,其中BID=网桥优先级+VLAN ID,ID号最小者当选根桥。
步骤 2. 选举根端口
所有非根桥都产生一个根端口,即是本网桥选一个距根桥开销最小的端口作为根端口。
步骤 3. 选举指定端口和非指定端口。
当交换机确定了根端口后,还必须将剩余端口配置为指定端口 (DP) 或非指定端口(非 DP),以完成逻辑无环生成树。
交换网络中的每个网段只能有一个指定端口。当两个非根端口的交换机端口连接到同一个 LAN 网段时,会发生竞争端口角色的情况。这两台交换机会交换 生成树消息,以确定哪个交换机端口是指定端口,哪一个是非指定端口。
一般而言,交换机端口是否配置为指定端口由 BID 决定。不过,请记住首要条件是具有到根桥的最低路径开销。只有当端口开销相等时,才考虑发送方的 BID。
STP 具有多种类型或变体。其中某些变体是 Cisco 专有的,其它则是 IEEE 标准。
Cisco 专有的有:每VLAN 生成树协议 (PVST)和增强型每 VLAN 生成树协议 (PVST+);
IEEE的生成树协议有多生成树MSTP和快速生成树RSTP。
学习小结
本任务介绍了交换机实现生成树协议,为互联网络中提供多条冗余备份链路,并解决互联网络中的环路问题。默认情况下,两个交换机间的多条冗余链路仅有一条是处于工作状态,其他链路都处于关闭状态,只有当其他链路出现故障或断开的情况下才会启用。但如果设置了生成树的Vlan负载均衡技术,则可以实现多条链路同时工作,这在一定程度上实现了网络带宽的拓容,从而提升网络的速度。
SWITCH-A(config)#spanning-tree mode rapid-pvst 快速生成生成树协议