设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 1820|回复: 5
收起左侧

[分享] STP高级特性

[复制链接]
 成长值: 59260
发表于 2017-10-31 15:47:56 | 显示全部楼层 |阅读模式


思科知识点汇总贴
http://bbs.hh010.com/thread-529979-1-1.html
(出处: 鸿鹄论坛)


STP高级特性
1.Port Fast
Port Fast概述
因为一个默认情况下的交换机端口,在交换机启动后,由于STP的原因,端口状态进入到forwarding状态需要经历两个forward delay,也就是说一个端口在交换机启动后,至少需要30秒后才能够为用户提供数据转发。对于一个连接了主机或服务器的端口,进行STP计算是毫无必要的,因为此类端口即使直接转发数据,也不会造成环路,并且30秒的时间对于需要立即传递数据的主机或服务器来说,是漫长的,因此,此类端口可以配置为跳过STP的计算,从而直接过渡到forwarding状态。
此类端口通常称为边缘端口,在思科交换机上,通过配置Port Fast功能,便可以使接口跳过STP的计算,从而直接过渡到forwarding状态。
当开启了Port Fast功能的接口,如果在接口上收到BPDU后,就认为对端连接的是交换机,而并非主机或服务器,因此默认在接口收到BPDU后会立即关闭该接口的Port Fast功能。
Port Fast配置
a)在接口下配置Port Fast
sw2(config-if)#no switchport   #关闭接口的2层功能,即禁止向SW1发送BPDU报文。如果实际上接的是终端设备就不会发送BPDU,也就不需要这个命令。
sw1(config-if)#spanning-tree portfast [trunk]   #缺省情况下只有access端口才能启用Port Fast,如果添加[trunk]参数则可以在trunk端口下启用Port Fast特性。
sw1#sh spanning-tree interface f0/23 portfast   #验证Port Fast特性
VLAN0001         enabled
sw1#
b)在全局模式下配置Port Fast(此模式配置只对access端口有效)
sw1(config)#spanning-tree portfast default   #将交换机上的access端口全部设置为Port Fast端口。
2.BPDU Guard
BPDU Guard概述
因为开启了Port Fast功能的端口,会跳过STP的计算,从而直接过渡到forwarding状态。当端口连接的是主机或服务器,这样的操作不会有任何问题,但如果连接的是交换机,就会收到BPDU,就证明在此接口开启Port Fast功能是错误的配置。为了杜绝此类错误配置,BPDU Guard功能可以使端口在收到BPDU时,立即被shutdown或进入err-disabled状态。
BPDU Guard配置
a)在接口模式下配置BPDU Guard(将对任何端口生效)
sw1(config-if)#spanning-tree bpduguard enable
b)在全局模式下配置BPDU Guard(只对Port Fast端口有影响)
sw1(config)#spanning-tree portfast bpduguard default
c)switch#show spanning-tree summary totals   #查看STP高级特性的启用状态
3.BPDU Filter(不推荐使用,可能导致环路)
BPDU Filter概述
在某些端口上,不希望接收或发送BPDU,可以配置BPDU filter。配置了bpdu filter的端口,将不会接收或发送BPDU报文。建议在PortFast端口上配置,其他端口最好不配置该特性。
BPDU Filter配置
a)在接口模式下配置BPDU Filtering(将对任何端口生效)
sw1(config-if-range)#spanning-tree bpdufilter enable   #在接口模式下开启的,则可以过滤掉任何接口收到和发出的BPDU
b)在全局模式下配置BPDU Filtering(只能过滤portfast上的BPDU
sw1(config)#spanning-tree portfast bpdufilter default          #全局开启BPDU Filtering时,则只能在开启了portfast的接口上过滤BPDU,并且只能过滤掉发出的BPDU,并不能过滤收到的BPDU
c)switch#show spanning-tree summary totals   #查看STP高级特性的启用状态
4.Uplink Fast(只需要在有Blocking状态的交换机上配置)
1.jpg
Uplink Fast概述
如(图1),在一个运行STP的网络中,当SW2上的转发端口f0/23失效后处于Blocking的端口(f0/21)要进入forwarding状态则需要等待Max_age+Listening+Learning=20+15+15=50秒(此处更改为Listening+Learning=15+15=30秒,因为直连接口出现故障SW2是可以马上检测到的也就不需要等待20秒了)的时间。即使是RSTP,也需要等待6秒才能启用Blocking状态的端口。实际上交换机自己的转发端口故障是完全可以立即检测出来,并且立刻启用Blocking状态的端口,从而缩短网络的故障恢复时间。开启了UplinkFast交换机就能够在检测到交换机上直连的转发接口失效后,立即启用Blocking的端口(减少了20秒的老化时间)(此处更改为立即启用Blocking的端口进入Forwarding状态),提供网络快速收敛和恢复的功能。
Uplink Fast配置
switch(config)#spanning-tree uplinkfast         #全局模式下开启Uplink Fast特性(有Blocking状态的交换机上进行此特性配置即可)。不能针对VLAN单独开启,也不支持MSTP模式。
switch#sh spanning-tree uplinkfast   #验证Uplink Fast
5.Backbone Fast(需要在网络中的所有交换机上配置此特性)
Backbone Fast概述
如(图1),我们知道一个开启Uplink Fast特性的交换机,在检测到自己的转发端口失效时,就会立即启用Blocking端口以加快网络的故障恢复速度。如果一台交换机上没有可供启用的Blocking端口时,这个特性将是无效的。
交换机SW3无论去往根桥SW1还是去往SW2,都只能从F0/19走,如果SW3上的F0/19中断了,那么SW3去往SW1和SW2的唯一出口也就断掉了,此时的SW3不能与外界通信,正常情况下,需要等待SW2将自己的端口F0/21从Blocking状态过渡到转发状态后,才能为SW3提供一条新的通路。然而,即使是开启了UplinkFast功能的SW2,也并不能在SW3的F0/19中断后立刻检测到,因为UplinkFast只能检测到自己直连的链路中断,并不能检测到远程链路中断。要在SW3的F0/19中断时,让其它所有交换机都检测到,从而为中断链路的交换机打开一条新的通路,需要在网络中所有交换机上开启BackboneFast功能。
因为正常网络中,除了根桥,其它交换机不能发出BPDU,所以SW3不能发送BPDU,如果网络中出现了除根桥发出的configuration BPDU之外的其它优先级更低的BPDU时(Inferior BPDU,次级BPDU),交换机的默认处理动作是丢弃。
如果SW3上开启了BackboneFast功能,则当自己使用中的链路中断,并且自己又没有Blocking状态的端口可以立即启用来代替活动链路时,就可以以自己为根桥,向网络中发出Inferior BPDU。当非根桥在Blocking端口收到Inferior BPDU后,如果自己也开启了BackboneFast功能,就会将Blocking端口变成转发状态,还会向根桥发出一个root link query (RLQ)根链路查询,并且开启了BackboneFast功能的根桥会做出回应,时此SW2就可以立刻启用自己Blocking状态的端口F0/21,为SW3连接网络提供一条新的通路。
Backbone Fast配置
switch(config)#spanning-tree backbonefast          #需要在网络中所有交换机上开启,不能针对VLAN单独开启,也不支持MSTP模式。BackboneFast是对UplinkFast的强化与补充。
switch#sh spanning-tree backbonefast
6.Root Guard
Root Guard概述
保护交换网络中的根桥,不会被恶意交换机设备抢占根桥身份。若一个端口配置了Root Guard特性,如果它收到一个更优的BPDU报文,则该端口进入Root-Inconsistent状态。在所有不希望成为RP(根端口)的端口上配置Root Guard
Root Guard配置
switch(config-if)#spanning-tree guard root
switch#sh spanning-tree detail   #验证Root Guard
switch#show spanning-tree inconsistentports   #查看处于inconsistent状态的端口
7.Loop GuardUDLD特性
2.jpg
配置Loop Guard
switch(config)#spanning-tree loopguard default     #在全局模式下配置Loop Guard特性(推荐配置)
switch(config-if)#spanning-tree guard loop     #在接口模式下配置Loop Guard特性
配置UDLD
switch(config)#udld enable/aggressive     #在全局模式下配置UDLD特性。推荐使用aggressive模式能更好的起到保护的作用。
switch(configif)#udld port aggressive     #在接口模式下配置UDLD特性
注:Loop Guard特性与Root Guard特性相冲突,所以同一接口下不能同时配置这两个特性。
    ②UDLD不依赖于STP,所以也支持第3层链路。

发表于 2017-10-31 22:59:25 | 显示全部楼层
感谢楼主分享!
沙发 2017-10-31 22:59:25 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2018-6-29 16:11:54 | 显示全部楼层
感谢楼主分享!
5# 2018-6-29 16:11:54 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2020-7-25 18:50:12 | 显示全部楼层
感谢小乔分享
6# 2020-7-25 18:50:12 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-5-2 20:54 , Processed in 0.067219 second(s), 11 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表