portfast
         把一个port设置了portfast,就是让那个port不再使用STP的算法。在STP中,port有5个状态:disable、blocking、listening、learning、forwarding。只有forwarding状态,port才能发送用户数据。如果一个port一开始是没有接pc,一旦pc接上,就会经历blocking->listening->learing->forwarding,每个状态的变化要经历一段时间,这样总共会有3个阶段时间,缺省的配置要50秒钟。这样从pc接上网线,到能发送用户数据,需要等50秒的时间,但如果设置了portfast,那就不需要等待这50秒了。
       在基于IOS的交换机端口上启用或禁用Port Fast 的命令:
        switch(config-if)#spanning-tree portfast 
        switch(config-if)#no spanning-tree portfast 
        注意:
        portfast只能用在接入层,也就是说交换机的端口是接HOST的才能起用portfast,如果是接交换机的就一定不能启用,否则会造成新的环路.
起用portfast往往是因为一些应用的要求,cisco是建议将符合条件的port设置成portfast的.
        将SWITCH的端口设置为spanning-tree portfast后,如果这个端口接到其他SWITCH或者HUB上就可能造成环路问题。加上spanning-tree bpduguard enable之后,当这个端口在收到BPDU包后就会进入errdisable状态,从而避免环路。
 
UplinkFast(上行速)
         ①. 背景资料:STP确保了在拓扑变化的情况下没有环路产生,但收敛速度慢。一些实时以及对带宽敏感的网络应用是不能接受的。 
         ②. STP收敛速度慢的原因是收敛算法需要化时间确定一条可替代的链路,缺省时间是50s,即20s(Blocking→Listening)+15s(Listening→Learning)+15s(Learning→Forwarding)。 
         ③. 解决的方法是一旦发现了线路down,马上把Blocking的port切换到Forwarding,不要经过Listening和Learning阶段。这就是UplinkFast,切换时间可以在2s~4s。 
         UplinkFast被设计应用在接入层交换机。一般应用两条上行链路连接到分布层,一条是冗余链路。 
         ④. UplinkFast激活一个快速重新配置的条件:
         A. 在交换机上必须启动了UplinkFast功能; 
         B. 至少有一个处于Blocking的端口(即有冗余链路);
         C. 链路失效必须发生在Root Port上。
         ⑤. 交换机启动了UplinkFast后,由于提高了交换机上所有端口的路径开销,所以不适合作为根桥。 
         The spanning tree port cost and port-VLAN cost of all ports on the switch is increased by 3000. 
         The spanning tree bridge priority for all VLANs is set to 49152. This makes it unlikely that the switch will become the root switch. 
         具体来说,一个上行链路组由根端口和除自环端口之外的一组阻断端口组成,上行速链路使交换机上的一个阻断端口几乎立刻进行转发。
         ⑥. 很重要的一点就是:上行链路只能配置在接入层交换机上,因为从根端口到其非指定备份端口的快速转发只能在生成树拓扑结构的根端口上被确定性的完成。
         ⑦. 配置如下:
         set spantree uplinkfast enable (基于SET)
         switch(config)uplink-fast 
         ⑧. 但是用set spantree uplinkfast enable 将会影响到VLAN,并且提高了交换机所有端口的端口开销,使它不容易成为一台根网桥。