STP-6-快速生成树协议-新端口角色,状态和类型以及新链路类型
IEEE 802.1w快速生成树协议(RSTP)增强了802.1D标准,在设计合理的网络中收敛时间远少于1秒。
端口状态从5个减少到3个
丢弃状态是在端口刚启用时的默认状态,边界端口除外,它的默认状态是转发状态。丢弃端口类似于传统STP中的阻塞状态,也是会持续处理收到的BPDU的,根据角色而定还会发送BPDU。
RSTP根据端口在拓扑中的目的或角色来定义它的状态,其中定义了4个独立的端口角色:
根端口(保持原意);
指定端口(保持原意);
替换端口(用来替换交换机自己根端口的端口);(可以立即接替)
备用端口(用来替换交换机自己在共享网段中指定端口的端口)。(这个要等相应计时器超时后接替)
如果交换机上的两个物理端口连接到相同的共享LAN,在指定端口失效后,所有备用端口在连续缺失3个BPDU后都变为指定丢弃端口,只有一个一直保持指定丢弃状态,其他次优端口在收到新指定端口发出的BPDU后变回备份丢弃状态。由于连接到共享链路的端口并不发送提议(Proposal),因此从备用端口直接变为指定端口的做法是不安全的。
端口在刚启用时,默认角色是指定端口。
最后,在RSTP中,端口有类型:端口可以为边界(Edge)端口或非边界(Non-Edge)端口。由于Cisco的PortFast特性,这个属性已被业界熟知。边界端口在启用之后立刻会变为指定转发(DesignatedForwarding)端口。它仍发送BPDU,但不应该收到任何BPDU。如果边界端口上收到了一个BPDU,这个边界端口将变回非边界类型的端口,并开始执行普通RSTP端口的操作。配置中并不会移除什么命令;只有端口运行时的操作状态将会改变。这个端口在失效并再次启动后,会再次成为边界端口;甚至在它断开连接/重新连接,或者关闭并重新开启后,都会再次成为边界端口。没有一种可靠的方式可以自动检测一个端口到底是边界,还是非边界端口。CiscoCatalyst交换机上的默认端口类型是非边界端口。
对于链路,RSTP能够识别以下两种链路类型。
点到点链路:将RSTP交换机连接到最多一个邻居RSTP交换机的链路。
共享链路:将RSTP交换机连接到两个或多个邻居交换机的链路。
从RSTP的角度看来,集线器和非STP交换机会创建出一个共享的通信环境,在没有这类设备的最新LAN设计中,所有链路的类型都是点到点链路。多数RSTP对于响应速度的改进只用于点到点链路。在共享链路上,RSTP退回到类似于STP的由计时器驱动的慢操作。并没有一种可靠的方式能够检测链路到底是点到点的,还是共享的。然而,Catalyst交换机在这方面还是比较智能的:如果一个端口与其直连的邻居协商使用半双工操作的话,交换机会认为这个邻居是集线器(集线器不支持全双工),并且认为链路类型是共享的。如果一个端口与直连邻居协商使用全双工操作,交换机会认为这个邻居是运行RSTP的交换机,并且认为链路类型是点到点的。显然,这个判断是根据猜测作出的,因此这个逻辑也可能出现失效的情况(比如在两交换机的点到点链路上,因为技术难题或链路的独特性而运行半双工,或者三台或更多台RSTP交换机连接在一台不运行STP且不受管理的交换机上)。在双工模式和链路类型之间并没有一到一的对应关系。以防猜不中正确的结果,工程师可以使用命令spanning-tree link-type {point-to-point|shared},基于端口配置链路类型。