PortFast :加快主机连接入stp网络的收敛速度.一个端口如果设置为Portfast,该端口不参与生成树计 算。主要用在在交换机与主机相连的端口, 不应该在交换机与交换机,路由器,hub互连的网络设备的端口使用。
在STP中,port有5个状态:disable、blocking、listening、learning、forwarding。 只有forwarding状态,port才能发送用户数据。STP计算过程,会经历blocking->listening->learing->forwarding,每个状态的变化要经历一段时间,缺省的配置要50秒钟。要是用户接入端口设置为Portfast端口,则可以快速进入转发状态,不必要等待这STP的计算时间。我们要注意的是此时端口:不发BPDU,但是可以收,所以portfast只能用在接入层,如果是接交换机的就一定不能启用,否则会造成新的环路.
将SWITCH的端口设置为spanning-tree portfast后,加上spanning-tree bpduguard enable之后,当这个端口在收到BPDU包后就会进入errdisable状态,从而避免环路。
BPDU GUARD:是当这个端口收到任何的BPDU就马上设为Error-Disabled状态.交换机STP功能启用的时候,默认所有端口都会参与STP,并发送和 接受BPDU. 当这个端口下如果有自回环的环路,那么它发出去的BPDU在小交换机上回环后就会被自己接收到, 这个时候BPDU GUARD就会把它立刻设为Error-Disabled状态,这个端口就相当于被逻辑关闭了,不会转发任何数据,也就切断了环路,保护了整个网络. 一般配合 Portfast使用
Portfast和bpduguard配置例子/ciso/:
switch(config)#interface range f0/1 - 5
switch(config-if-range)#spanning-tree portfast
switch(config-if-range)#spanning-tree bpduguard enable
BPDU Guard使具备PortFast特性的端口在接收到BPDU时进入err-disable状态来避免桥接环路,其可在全局或接口下进行配置(全局下只对开启了portfast的端口有效果,端口下开启,只要接受到BPDU报文就进入err-disable状态),可使用errdisable recovery cause bpduguard命令开启端口状态的自动恢复。
BPDU Filter:配置于全局/接口模式时,功能有所不同,当启用于PortFast端口模式时,交换机将不发送任何BPDU,并且把接收到的所有BPDU都丢弃;而启用于全局模式时,端口在接收到任何BPDU时,将丢弃PortFast状态和BPDU过滤特性,更改回正常的
当同时启用bpduguard与bpdufilter时,bpdufilter优先级较高,bpduguard将失效。
Switch(config)#spanning-tree portfast bpdufilter default /在启用了PortFast特性的端口上启 用BPDU Filtering/
Switch(config-if)# spanning-tree bpdufilter enable /在不启用PortFast特性的情况下启用 BPDU Filtering/