部署VLAN使得一个重要决定是在交换机上使用哪种生成树模式。STP模式决定了STP将如何与VLAN交互。缺省的Cisco STP模式下,每个VLAN定义一个STP。IEEE802.1Q标准是在整个交换VLAN网络中使用一个STP,但不排除在每个VLAN中实现一个STP。 >> PVST、PVST+和单生成树模式
公共生成树(CST,Commone Spanning Tree)是在IEEE802.1Q标准中规定的。CST定义了一棵用于所有VLAN的生成树,BPDU在VLAN1上传递。
按VLAN的生成树(PVST,Per-VLAN Spanning tree)是Cisco专用的一种实现方式,需要使用ISL trunk封装。在PVST中,每个VLAN一棵STP,能为每个VLAN配置不同的根交换机,并配置第2层的负载均衡。
每个VLAN一棵生成数减少了每个STP重新计算时的恢复时间,并且在下述方面增强了网络的可靠性:
* 减少整个生成树拓扑的规模
* 提高扩展性,减少收敛时间
* 提供更快的恢复过程和更强的可靠性
每个VLAN一棵生成树的缺点包括:
* 为了维护多个VLAN的多颗生成树,交换机的利用率(如CPU负载)会更高
* 为了支持各个VLAN的BPDU,需要占用更多的Trunk链路带宽
为了携带更多的信息,PVST BPDU的格式和STP/RSTP BPDU 格式已经不一样,发送的目的地址也改成了Cisco保留地址01-00-0C-CC-CC-CD,而且在VLAN Trunk的情况下PVST BPDU被打上了 802.1Q VLAN
标签。所以,PVST协议并不兼容STP/RSTP协议。
PVST+是一种Cisco专用的STP模式,支持在相同网络中同时存在CST和PVST。PVST+支持802.1Q trunk并且能将多棵生成树映射成非Cisco的802.1Q交换机上的一棵生成树。PVST+在交换剂802.1Q trunk上是自动启动的。在PVST+中,如果交换机通过802.1Q trunk相连,则每个VLAN一棵STP。还支持在其运行的VLAN上提供2层的负载均衡。在网络中,可以用VLAN来创建不同的逻辑拓扑结构,以保证所有的的链路都被使用,而不会出现一条链路过载的情况。
每个生成树都有唯一的根交换机。根交换机负责向网络中其他的交换机传播与此VLAN相关的生成树信息。因为每个交换机对网络的理解是相同的,所以这个过程维护了网络拓扑
PVST+体系结构区分了3种类型的区域:
* PVST区域
* PVST+区域
* 单生成树(MST,Mono Spanning tree)区域
单生成树是非Cisco的802.1Q交换机使用的生成树实现方法,一个STP负责所有VLAN的通信。
每个区域(Zone或region)都有同种类型的交换机组成。PVST区域和PVST+的连接可以通过连通两个ISL接口实现。类似地,PVST+区域和MST区域的连接可以通过连通两个802.1Q端口实现。注意,MST和PVST区域不能通过trunk链路连接。
在PVST区域和PVST+区域的分界处,生成树的映射是一对一的。在MST区域和PVST+区域的分界处,MST区域的生成树映射到PVST+区域的一个PVST上。这个PVST就是CST,缺省的CST是VLAN1。
所有的PVST,除了CST都是通过隧道穿越MST区域的。隧道(Tunneling)意味着BPDU沿着MST区域内当别的单棵生成树,在整个MST区域内泛洪。 >> MISTP模式
MISTP 模式是在一些 Catalyst 交换机上 Cisco 私有的一种MST实现,能在一棵生成树实例下将VLAN进行分组。MISTP综合了PVST+支持2层负载均衡的优点和IEEE 802.1Q低CPU负载的特点。
MISTP是一种可选的运行在交换机4000和交换机6000系列上的STP模式。多实例生成树协议是通过一组网桥参数和端口参数定义的虚拟的逻辑拓扑结构。简单的说,STP/RSTP 是基于端口的,PVST/PVST+是基于 VLAN 的,而 MISTP 就是基于实例的。所谓实例就是多个VLAN的一个集合,通过多个VLAN捆绑到一个实例中去的方法可以节省通信开销和资源占用率。如果将VLAN映射到MISTP上,这个MISTP实例就变成了真正的拓扑结构。每个MISTP实例都有自己的根交换机和各自的转发状态链路组(也就是说,不同的网桥参数和端口参数)。根交换机负责向网络中所有其他交换机传播与此MISTP实例相关的信息。
在使用的时候可以把多个相同拓扑结构的VLAN 映射到一个实例里,这些VLAN在端口上转发状态将取决于对应实例在MISTP里的状态。值得注意的是网络里的所有交换机的VLAN和实例映射关系必须都一致,否则会影响网络连通性。为了检测这种错误,MISTP BPDU里除了携带实例号以外,还要携带实例对应的VLAN关系等信息。MISTP协议不处理 STP/RSTP/PVST BPDU,所以不能兼容STP/RSTP协议,甚至不能向下兼容PVST/PVST+协议,在一起组网的时候会出现环路。为了让网络能够平滑地从PVST+模式迁移到MISTP模式,Cisco在交换机产品里又做了一个可以处理PVST BPDU 的混合模式MISTP-PVST+。网络升级的时候需要先把设备都设置成MISTP-PVST+模式,然后再全部设置成MISTP模式。
MISTP 带来的好处是显而易见的。它既有 PVST 的 VLAN 认知能力和负载均衡能力,又拥有可以和SST媲美的低CPU占用率。不过,极差的向下兼容性和协议的私有性阻挡了MISTP的大范围应用。 >> MST多生成树模式(Multiple Spanning Tree)
多生成树协议MSTP(Multiple Spanning Tree Protocol)是IEEE 802.1s中定义的一种新型多实例化生成树协议。这个协议目前仍然在不断优化过程中,现在只有草案(Draft)版本可以 Cisco 已经在CatOS 7.1 版本 MSTP的支持,华为公司的三层交换机产品Quidway系列交换机也即将推出支持MSTP协议的新版本MSTP 协议精妙的地方在于把支持 MSTP 的交换机和不支持 MSTP 交换机划分成不同的区域,分别
称作 MST 域和 SST 域。在 MST 域内部运行多实例化的生成树,在 MST 域的边缘运行 RSTP 兼容的内部生成树IST(Internal Spanning Tree)。
MST域内的交换机间使用MSTP BPDU交换拓扑信息, SST 域内的交换机使用 STP/RSTP/PVST+ BPDU 交换拓扑信息。在MST域与SST域之间的边缘上,SST设备会认为对接的设备也是一台RSTP设备。而MST设备在边缘端口上的状态将取决于内部生成树的状态,也就是说端口上所有 VLAN的生成树状态将保持一致。
MSTP 设备内部需要维护的生成树包括若干个内部生成树 IST,个数和连接了多少个 SST 域有关。
另外,还有若干个多生成树实例MSTI(Multiple Spanning Tree Instance)确定的MSTP生成树,个数由配置了多少个实例决定。
MSTP相对于之前的种种生成树协议而言,优势非常明显。MSTP具有 VLAN 认知能力,可以实现负载均衡,可以实现类似 RSTP 的端口状态快速切换,可以捆绑多个 VLAN 到一个实例中以降低资源占用率。最难能可贵的是MSTP可以很好地向下兼容STP/RSTP协议。而且,MSTP是IEEE标准协议,推广的阻力相对小得多。 MISTP就是Cisco对MST的私有实现:
|