1、配置PVST在实际的网络环境中,物理环路可以提高网络的可靠性,当一条线路断掉的时候,另外一条链路仍然可以传输数据,但是,在交换的网络中,当交换机接受到一个未知目的地的数据帧时,交换机的操作是将这个数据帧广播出去,这样,在物理环路的交换网络中,就会产生一个双向的广播环,甚至产生广播风暴,导致交换机死机STP(Spanning Tree Protocol生成树协议)就是用来解决这个环路上的广播风暴的,STP协议在逻辑上断开网络的环路,防止广播风暴的产生,而一但正在使用的线路出现故障,被逻辑上断开的线路又被连通,继续传输数据 生成树协议运行生成树算法(STA),生成树算法很复杂,但大体可以分为以下三
2、个步骤:(1) 选择根网桥(root bridge)选择根网桥的依据是网桥ID,网桥ID是一个8字节的字段网桥优先级是用于衡量网桥在生成树算法中优先级的十进制数,取值范围为0-65535,默认为32768,一般的配置都是4096的倍数,网桥ID中的MAC地址是交换机的MAC地址之一,当使用密令show mac-address-table查看交换机的MAC地址表的时候,显示在最前面的MAC地址是STP计算用的交换机的MAC地址。按照生成树算法中的定义,当比较某个STP参数的两个取值时,值小的优先级高,因此,选择根网桥的时候,比较的方法是看那台交换机的网桥ID的值最小,优先级小的被选择为根网桥,在
3、优先级相同的情况下,MAC地址小的为根网桥(2) 选择根端口(root ports)选出了根网桥后,网络中的每台交换机必须和根网桥建立某种关联,因此,STP将进行选择根端口的过程,跟端口存在于非根网桥上,每个非根网桥上选择一个根端口。选择根端口的依据一次是:到根网桥最低的根路径成本:根路径成本是两个网桥间的路径上所有链路的成本之和,也就是某个网桥到达根网桥的中间所有链路的路径成本和,路经成本用来代表一条链路带宽的高低,一条链路的带宽越大,他传输数据的成本也就越低直连的网桥ID最小 前面有介绍端口ID最小:端口ID是一个2字节的STP参数,有一个字节的端口优先级和一个字节的端口编号组成,端口优先
4、级是一个可配置的STP参数,在基于IOS的交换机上,端口优先级的十进制取值范围是0255,默认值是128,端口编号是Catalyst用于列举各个端口的数字标识符,在基于IOS的交换机上,可以支持256个端口,断口编号不是端口号,但是端口号低的端口,端口编号也较小在STP选择根端口的时候,首先比较交换机端口的根路径成本,跟路径成本低的为根端口,当根路径成本相同时,比较连接的交换机的网桥ID值,选择网桥ID值小的作为根端口,当网桥ID相同的时候,比较端口ID值,选择较小的作为根端口。(3) 选择指定端口(designated ports)选择完根网桥和每台交换机的根端口后,一个数行结构已初步形成,
5、但是,所有的链路仍连接在一起,并可能都处于活动状态,最后导致形成环路,为了消除网桥回路形成的可能,STP进行最后的计算,在每一个网段上选择一个指定端口,选择指定端口的依据与根端口相同,按顺序有3个:(1)根路径成本较低(2)所在的交换机的网桥ID的值较小(3)端口ID的值较小在STP选择指定端口的时候,首先比较同一网段上的端口中根路成本最低的,也就是到达根网桥最近的端口作为指定端口,当根路径成本相同的时候,比较这个端口所在的交换机的网桥ID值,选择一个网桥ID值小的交换机上的端口作为指定端口,当网桥ID相同的时候,也就是说,有几个位于同一交换机上的端口时,比较端口ID值,选择较小的作为指定端口
6、,另外,跟网桥上的接口都是指定端口,因为跟网桥上端口的根路径成本为0 前面所说的STP是交换机自动运行的协议,那么有了以上的基础我们在了解一个基于VLAN的生成树协议,PVSTPVST是cisco的私有协议,PVST为每个虚拟局域网运行单独的生成树实例,PVST为每个VLAN使用独立的一个生成树实例,能优化根桥的位置,能为所有的VALN提供最优路径。前面讲过,交换机自动运行STP,那么,为什么还要配置呢?因为在交换网络中,如果一个根网桥不稳定,那么这个网络就需要经常进行STP的运算,经常变化逻辑拓扑,因此,可以说,如果网络中有一个不稳定的个网桥,就会有一个不稳定的网络,而在交换机选择根网桥的时
7、候,因为网桥ID中优先级字段如果不进行修改,都会使用默认值,那么选择的依据就是交换机的MAC地址,而MAC地址是一个随机的数字,很可能就会碰到这种情况,网络中最边缘的交换机被选择成了根网桥,因此,虽然生成在交换机中自动运行,但是,合理的配置能够对网络进行优化除了配置网络中比较稳定的交换机为根网桥外,PVST的配置主要还有以下几个方面(1)利用PVST实现网络的负载分担(2)配置上行速链路,实现备份的上行链路快速恢复(3)配置速端口,使连接终端的端口快速进入到专发状态 我们来具体配置一下PVST参考命令:Switch(config)#spanning-tree vlan vlan-list /启
8、用生成树Switch(config)#spanning-tree vlan vlan-list root primary|secondary /配置交换机为根网桥Switch(config)#spanning-tree vlan vlan-list priority bridge-priority /修改交换机优先级Switch(config)#spanning-tree vlan vlan-list cost cost /修改端口路径成本Switch(config)#spanning-tree vlan vlan-list port-priority priority /修改端口优先级Swi
9、tch(config)#spanning-tree uplinkfast /配置上行速链路Switch(config-if)#spanning-tree portfast /配置端口速链路Switch(config)#interface range FastEthernet fashethernet-list /进入指定的一组端口Switch(config-if-range)#channel-group group-number mode on /配置以太网通道Switch#show spanning-tree /查看PVST的配置信息 Switch#show spanning-tree vl
10、an vlan-id detail /查看某个VLAN的生成树详细信息配置实例:Sw1(config)#vtp domain benetSw1(config)#vtp password ciscoSw1(config)#vtp mode clientSw1(config)#vtp pruningSw1(config)#spanning-tree uplinkfast /配置上行速链路Sw1(config)#interface f0/1Sw1(config-if)#switchport mode trunkSw1(config)#interface f0/2Sw1(config-if)#swit
11、chport mode trunkSw2(config)#vtp domain benetSw2(config)#vtp password ciscoSw2(config)#vtp mode clientSw2(config)#vtp pruningSw2(config)#spanning-tree uplinkfast /配置上行速链路Sw2(config)#interface f0/1Sw2(config-if)#switchport mode trunkSw2(config)#interface f0/2Sw2(config-if)#switchport mode trunkSw3(co
12、nfig)#vtp domain benet Sw3(config)#vtp password ciscoSw3(config)#vtp pruningSw3(config)#exitSw3#vlan database Sw3(vlan)#vlan 1 name vlan1Sw3(vlan)#vlan 2 name vlan2Sw3(vlan)#vlan 3 name vlan3Sw3(vlan)#vlan 4 name vlan4Sw3(vlan)#exitSw3#config terminalSw3(config)#interface f0/1Sw3(config-if)#switchpo
13、rt mode trunkSw3(config)#interface f0/2Sw3(config-if)#switchport mode trunkSw3(config)#interface f0/3Sw3(config-if)#switchport mode trunkSw3(config)#interface f0/4Sw3(config-if)#switchport mode trunkSw3(config)#spanning-tree vlan 1 root primary /配置成primary优先级为24576Sw3(config)#spanning-tree vlan 2 ro
14、ot primary /配置成primary优先级为24576Sw3(config)#spanning-tree vlan 3 root secondary /配置成secondary优先级为28672Sw3(config)#spanning-tree vlan 4 root secondary /配置成secondary优先级为28672Sw3(config)#interface range fastEthernet 0/3 4 /进入指定端口Sw3(config-if-range)#channel-group 1 mode on /配置以太网通道Sw4(config)#vtp domain
15、 benetSw4(config)#vtp password ciscoSw4(config)#vtp pruningSw4(config)#iinterface f0/1Sw4(config-if)#switchport mode trunkSw4(config)#iinterface f0/2Sw4(config-if)#switchport mode trunkSw4(config)#iinterface f0/3Sw4(config-if)#switchport mode trunkSw4(config)#iinterface f0/4Sw4(config-if)#switchport
16、 mode trunkSw4(config-if)#exitSw4(config)#spanning-tree vlan 1 priority 28672 /配置vlan 1的优先级为28672Sw4(config)#spanning-tree vlan 2 priority 28672 /配置vlan 2 的优先级为28672Sw4(config)#spanning-tree vlan 3 priority 24576 /配置vlan 3的优先级为24576 Sw4(config)#spanning-tree vlan 4 priority 24576 /配置vlan 4的优先级为24576Sw4(conifig)#interface range fasEthernet 0/3 4Sw4(config-if-range)#channel-group 1 mode on