讲过STP的原理之后,我们就要说一下实际的工作环境,
在实际工作中,很少有人会使用STP这样的公有标准(所有vlan共用一棵树)因为这有些不够灵活,
Cisco 私有协议 PVST\PVST+ 横空出世,
PVST ,针对每个VLAN,一棵树的原理进行设计,更加的灵活
PVST+,升级版,比PVST多三个高级特性,
(portfast,uplinkfast,backbonefast)后面会讲到
而这一切的定义,都是为了更加快速的进行完成收敛。
如下图所示,在一个网络拓扑中有两台汇聚和两台接入,
通常情况下我们是将STP的 根定义在汇聚/核心层的设备上,因为他们有更好的硬件水平,更高的传输速率,更优能性能,这一点是毋庸置疑的。
通过对两台汇聚交换机进行单独VLAN生成树,可以实现流量的负载分摊
STP 的原理我们已经明白,PVST就是把现有图看面是两棵树即可,切莫慌张
可以把最原始的图看成是这样儿,针对于vlan 的不同环路,
这时就需要人为的去进行干预,将coresw1配置优先级,vlan10 的priority,为最高
将coresw2配置段先级,vlan20 的priority,为最高
而对于整个网络而言,备份根的角色也是相当重要的,不可能让一台接入层设备充当,还是应该选择汇聚层设备或者是核心层设备,那么此时,还要设置备份根的优先级
将coresw1 配置优先级,vlan 20 priority 4096(次优的)
将coresw2 配置优先级,vlan 10 priority 4096(次优的)
这样,BLK端口就会出现在接入层,也正是我们想要的了,
具体的配置思路如下:
1 确保所有接口trunk //由于是承载着多个VLAN,所以trunk是必须的
2 所有交换机上配置相同的VLAN //为了实现链路的切换,所以VLAN必须同步
3 配置stp的生成树模式 ////所有交换机上都要进行修改 (CISCO默认为rapid pvst,这个后面会讲)
4 修改vlan的优先级
5 验证
Coresw1
coresw1(config)#inter range g0/0 - 2
coresw1(config-if-range)#sw tr en dot
coresw1(config-if-range)#sw m tr ////接口开启trunk
coresw1(config)#vlan 10,20
coresw1(config)#spanning-tree mode pvst ///修改生成树模式
coresw1(config)#spanning-tree vlan 10 priority 0 //vlan10 为最优
coresw1(config)#spanning-tree vlan 20 priority 4096 ///vlan20 为次优
Coresw2
coresw2(config)#inter range g0/0 - 2
coresw2(config-if-range)#sw tr en dot
coresw2(config-if-range)#sw m tr
coresw2(config)#vlan 10,20
coresw2(config)#spanning-tree mode pvst
coresw2(config)#spanning-tree vlan 20 priority 0 ///vlan 20 为最优
coresw2(config)#spanning-tree vlan 10 priority 4096 ///vlan 10 为次优
Sw1
sw1(config)#inter range e0/0 - 1
sw1(config-if-range)#sw tr en dot
sw1(config-if-range)#sw m tr
sw1(config)#vlan 10,20
sw1(config)#spanning-tree mode pvst
Sw2
sw2(config)#inter range e0/0 - 1
sw2(config-if-range)#sw tr en dot
sw2(config)#vlan 10,20
sw2(config)#spanning-tree mode pvst
在sw1上看vlan10的生成树,应该是E0/1被BLK
在sw2上看vlan20的生成树,应该是E0/0被BLK
验证:
sw1#show spanning-tree vlan 10
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 10
Address 5000.0001.0000
Cost 100
Port 1 (Ethernet0/0)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32778 (priority 32768 sys-id-ext 10)
Address aabb.cc00.3000
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Et0/0 Root FWD 100 128.1 Shr
Et0/1 Altn BLK 100 128.2 Shr
sw2#show spanning-tree vlan 20
VLAN0020
Spanning tree enabled protocol ieee
Root ID Priority 20
Address 5000.0002.0000
Cost 100
Port 2 (Ethernet0/1)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32788 (priority 32768 sys-id-ext 20)
Address aabb.cc00.4000
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Et0/0 Altn BLK 100 128.1 Shr
Et0/1 Root FWD 100 128.2 Shr
下面来说一下PVST+的三个高级特性
1 什么是portfast?
2 干什么用的?
3 用在哪里?
答:1 portfast,为快速端口,2 主要是为了节省收敛时间的,
主要配置在连接终端设备上接口,因为这些接口根本就不需要去STP的计算,直接转发即可
我们都知道,交换机的一个接口从down到fwd,的时间是50s
Down ----------listening---------learining--------forwarding
20s 15s 15s
而portfast的出现,就是解决后面的这30s 从侦听到转发的30秒
SW3(也就是sw1)的E0/2口连接着VPC5,
默认情况下
06:06:11进入listening
06:06:26进入learning
06:06:41进入forwarding
如果开启了portfast 呢?
可以看到,对这个下联接口进行no shutdown后
Debug的显示信息为 跳到forwarding from blocking,
意思是直接从BLK 跳到了FWD,完全不用再进行计算。这就是portfast
注意:portfast,是用在连接终端的接口上的,(PC,SERVER,只要不是交换机就行)
配置命令
sw1(config)#spanning-tree portfast edge default
在全局配置模式下开启,则针对此设备上的所有access口进行配置,
其中edge为边缘的意思
2\Uplinkfast(用来检测直连链路故障,并能够快速进行收敛BLK端口)
同样节省的是30s (listening----learning----forwarding)
由于stp计算得出的BLK 端口,在检测到原链路出现故障,那么BLK 端口会快速的进行切换,从BLK跳到FWD 状态
这就是uplinkfast的特性
3\最后一个是backbonefast
什么是backbonefast? 有什么用?在哪里开启?
Backbonefast,主要用于间接链路检测,
比如coresw1和coresw2之间的链路,出现故障时,
Coresw2就会向全网发送bpdu,(10次,2s一次,共20s)20秒过后,认为自己是大哥(ROOT)而这时sw3收到来自coresw2时发现coresw1 并没有挂,所以会丢弃coresw2发来过来的这个BPDU信息,然而,同时,由于coresw1和coresw2的链路故障,SW3也会开启e0/1(之前被blk的端口)改为DP,
本图中由于开启debug有些迟了,所以只看到了这几个~
简短一些说,就是备份根检测到和主根的链路故障,就认为主根挂了,发布BPDU,说自己是老大,而下面的小弟看到原来的老大并没有死,把它想当老大的这个消息丢弃,而同时开启和备份根相连的接口,为DP状态,为备份根和主根联系用。
从此备份根和主根的关系也就不再那么“熟悉”,而需要下面这台非根进行连接,并且也不存在环路了
这里要注意一下,如果老大真的挂了,那么备份根也就成为了真正的根桥。下面的小弟,sw3上的e0/1口也就又改变了一个身份,改为RP,因为coresw2是根。
以上就是关于pvst和pvst+的介绍了~
问题引入,
1 如果Portfast接口接入桥优先级更高的交换机会发生怎样的变化?
2 如果根桥设备上接入优先级更高的设备会怎么样?
3 这一切都够快吗?
4 汇聚设备上,两台相连可否使用更高的链路带宽?
-------------------------------------------------------
CCIE成长之路---梅利