Portfast
引入PortFast功能是为了避免网络连接问题。这些问题是由于STP使能端口在从监听和学习状态转换后从阻塞状态转变为转发状态的延迟引起的。连接到单个交换机,工作站或服务器等设备的STP启用端口只有在通过所有这些STP状态后才能访问网络。某些应用程序需要立即连接到网络,否则它们将超时。
启用PortFast功能会使交换机或Trunk端口立即或在链接事件时进入STP转发状态,从而绕过侦听和学习状态。 PortFast功能在端口级别启用,此端口可以是物理端口或逻辑端口。当在交换机或中继端口上启用PortFast功能时,端口会立即转换为STP转发状态。
虽然启用了PortFast,但端口仍然参与STP。如果端口恰好是可能形成环路的拓扑的一部分,则端口最终转换为STP阻塞模式。 PortFast通常配置在边缘端口上,这意味着端口不应接收任何STP BPDU。如果端口收到任何STP BPDU,它将返回正常/常规模式,并将参与监听和学习状态。
在大多数部署中,边缘端口是访问端口。但是,在此方案中,启用PortFast功能没有任何限制。当端口收到STP BPDU时,端口模式从PortFast变为非PortFast。要在端口上重新启用此功能,请运行shut命令
BPDU Guard
BPDU Guard功能可以保护端口不接收STP BPDU,但端口可以传输STP BPDU。 在启用BPDU Guard的端口上收到STP BPDU时,端口将关闭,端口状态将更改为ErrDis(错误禁用)状态。 端口保持ErrDis状态,直到通过使用配置命令关闭然后在接口上应用no-shut手动更改端口状态。 在大多数部署中,BPDU Guard功能是通过启用PortFast的STP端口配置的,但在此实现中,可以在任何STP端口上启用BPDU Guard功能,在这些端口上启用或不启用PortFast功能。
PortFast和BPDU Guard支持的场景
PortFast和BPDU Guard功能应用于端口/接口级别。这些功能也可以应用于以下场景:
RSTP和PVST模式
Access和Trunk端口
物理和逻辑端口
PortFast和BPDU Guard功能可以单独应用,也可以一起应用。
在全局RSTP模式下,整个控制器中只运行一个RSTP实例。如果使用PortFast和BPDU Guard启用的端口收到任何STP BPDU,它将影响所有端口,因为全局RSTP基于端口运行。
在PVST模式下,可以有多个RSTP实例运行,因为它们基于每个VLAN。虽然它基于每个VLAN,但它仍将以与全局RSTP模式相同的方式运行。例如,如果有五个VLAN且每个VLAN都有一个运行的单独RSTP实例,则在这五个端口中的任何一个上接收的任何STP BPDU都会影响所有端口。
如果从运行的五个RSTP实例中的任何一个接收到STP BPDU,则使用BPDU Guard启用的端口将关闭并进入ErrDis状态。换句话说,即使PVST基于每个VLAN运行,PortFast和BPDU Guard功能也基于端口应用于全局RSTP和PVST模式。
命令:
开启portfast
(config) #interface gigabitinternet 0/0/4
(host) (config-if)#spanning-tree portfast
(config-if)#spanning-tree bpduguard
关闭portfast
(config-if) #no spanning-tree portfast
(host) (config-if) #no spanning-tree bpduguard
缺省配置:
(config-if) Spaning-tree portfast edge default
(config-if) Spaning-tree portfast edge bpduguard default