转: 深入理解MSTP域和端口角色
MSTP基本概念
MSTP是一个多生成树协议。MSTP的“多生成树”包括两层含义:一是在一个交换网络中可以基于VLAN划分出多个生成树实例(STI),二是在每个生成树实例中可以包括多个VLAN。而不是像Cisco的PVST、PVST+这样,虽然在整个交换网络中可以基于VLAN划分出多个生成树实例,但是每个生成树实例中仅包括一个VLAN。所以相对PVST、PVST+来说,MSTP更适用于比较大的网络中,划分生成树实例也更灵活,可以根据实际应用需要求来进行。
虽然在整体来看,MSTP网络可分为以下层次(如图21-1所示):
l MSTP网络
l 多生成树域MST Region(Multiple Spanning Tree Region)
l 多生成树实例MSTI(Multiple Spanning Tree Instance)
图21-1 MSTP的网络层次示意图
而且这三者之间依次是包含关系,即MSTP网络包含MST域和MSTI,MST域又包含MSTI,因为在一个MSTP网络中可以有多个MST域,一个MST域中又可以有多个MSTI。
1. MST域
MST域(Multiple Spanning Tree Regions,多生成树域)是由交换网络中的多台交换机以及它们之间的网段构成(在Cisco中是叫“MST区域”)。这些交换机都启动了MSTP、具有相同的域名、相同的VLAN到生成树映射(是一个描述了VLAN和MSTI之间映射关系的映射表)配置和相同的MSTP修订级别配置,并且物理上有链路连通。
一个局域网中可以存在多个MST域,各MST域之间在物理上直接或间接相连。用户可以通过MSTP配置命令把多台交换机划分在同一个MST域内。
在如图21-1所示的MSTP网络中有三个MST域(MST域1、MST域2和MST域3),域内所有交换机(图中每个生成树实例中的每个小圆圈代表一台交换机)都有相同的MST域配置。
2. MSTI
MSTI(Multiple Spanning Tree Instance,多生成树实例)是指MST域内的生成树。一个MST域内可以通过MSTP生成多棵生成树,各棵生成树之间彼此独立。一个MSTI可以与一个或者多个VLAN对应,但一个VLAN只能与一个MSTI对应。
既然是生成树,那就不允许存在环路。在如图21-2所示的MSTP网络(由四台交换机相互串联形成)就形成了三个MSTI(图中的MSTI1、MSTI2、MSTI3,注意看他们的拓扑,总有一个方向的交换机连接是断开的),每个MSTI都没有环路。
图21-2 MSTI划分示例
再看一下图21-3所示的示例。在这个MST域的交换网络中包括了三个VLAN:VLAN 10、VLAN 20和VLAN 30。这时又该划分成多少个MSTI呢?如果我们把VLAN 10和VLAN 20放进一个MSTI中,则所得到的拓扑如图21-4的左图所示,明显存在环路;如果把VLAN 10和VLAN 30放进一个MSTI中,得到如图21-4的中图所示的拓扑,也明显存在环路;同样如果把VLAN 20和VLAN 30划分到一个MSTI中,则拓扑如图21-4的右图所示,也存在环路。这时,我们只好为每个VLAN单独划分成一个MSTI,这样得到的每个MSTI拓扑如图21-5所示,就不存在环路了(注意,虚线所代表的是通过MSTP协议配置阻塞的链路),确保每个MSTI中没有环路出现。
在一般的企业网络中,通常是将支持MSTP的设备全部划分到一个MST域中,而将不支持MSTP的设备划分到另一个MST域中。对于MSTI来说,通常是将将具有相同转发路径的VLAN映射到一个MSTI中,以形成一棵独立的生成树。
3. VLAN映射表
VLAN映射表是MST域的一个属性,用来描述VLAN和MSTI的映射关系。在如图21-2所示的MST域示例中,MST域D0包括了以下三个MSTI的VLAN映射表:
l VLAN 1映射到MSTI1
l VLAN2和VLAN3映射到MSTI2
l 其余VLAN映射到MSTI0
4. IST
IST(Internal Spanning Tree,内部生成树)是MST域内的一棵生成树,是一个特殊的MSTI,其MSTI ID为0,即IST通常称为MSTI0。它包括对应MST域中所有互联的交换机。
IST是CIST在MST域中的一个片段。在如图21-6所示的MSTP网络中(包括了多个MST域)每个MST域内部用细线连接的各交换机就构成了对应MST域中的IST。
5. CST
CST(Common Spanning Tree,公共生成树)是连接交换网络内所有MST域的单生成树。如果把每个MST域看作是一台“交换机”,则CST就是这些“交换机”通过STP协议、RSTP协议计算生成的一棵生成树(SST)。图21-6中用于连接各个MST域的粗线条连接就构成了CST。
6. CIST
CIST(Common and Internal Spanning Tree,公共和内部生成树)是通过STP或RSTP协议计算生成的,连接交换网络内所有交换机的单生成树,由IST和CST共同构成。这里要注意了,上面介绍的CST是连接交换网络中所有MST域的单生成树,而此处的CIST则是连接交换网络内的所有交换机的单生成树。交换网络中的所有MST域的IST和CST一起构成一棵完整的生成树,也就是这里的CIST。在如图21-6所示的MSTP网络中,A0、B0、C0、D0四个MST区域中的IST,加上MST域间的CST就是整个交换网络的CIST了。
7. SST
构成SST(Single Spanning Tree,单生成树)有两种情况:
l 运行STP或RSTP生成树协议的交换机只能属于一个生成树。
l MST域中只有一个交换机,这个交换机构成单生成树。
在如图21-6所示的示例中,B0域中的交换机就是一棵单生成树,因为在这个MST域中只有一台交换机。
8. 总根
总根是CIST的根交换机(CIST Root),通常是交换网络中最上层的交换机。如图20-6的示例中,总根(CIST Root)在A0域中。
9. 域根
域根(Regional Root)分为IST域根和MSTI域根。各个MST域中的各个IST生成树中距离总根最近的交换机是IST域根。总根所在MST域的IST域根就是总根。在如图21-5中,也已标出了非总根所在的B0、C0和D0三个MST域的IST域根。
MSTI域根是每个多生成树实例的树根,域中不同的MSTI有各自的域根。而且,MST域内各棵生成树的拓扑不同,域根也可能不同。
20.1.3 MSTP的端口角色
MSTP中的端口角色主要有根端口(root port)、指定端口(designated port)、替代端口(alternate port)、备份端口(backup port)、主端口(master port)、域边缘端口和边缘端口。除边缘端口外,其他端口角色都参与MSTP的计算过程。而且,同一端口在不同的生成树实例中可以担任不同的角色。为了便于说明,下面给出一个典型的MSTP端口示例,如图21-7所示。
l 根端口
根端口仅针对非根交换机而言,非根交换机上到根交换机距离开销最小的端口就是本交换机的根端口。如果到根交换机距离开销相同的情况下,离根交换机最近的端口是本交换机的根端口。根端口负责向树根方向转发数据。根交换机上没有根端口,只有下面将要介绍指定端口。
在如图21-7中,SwitchA为根交换机,CP1为SwitchC的根端口,BP1为SwitchB的根端口。
l 指定端口
对一台交换机而言,它的指定端口是向下游交换机转发BPDU报文的端口。交换机连接下级交换机的所有端口都是指定端口,它不仅根交换机上有,非根交换机上同样有。在如图21-7中AP2和AP3为SwitchA的指定端口,CP2为SwitchC的指定端口。
l 边缘端口
如果指定端口位于整个域的边缘,不再与任何交换机连接,这种端口叫做边缘端口。边缘端口一般与用户终端设备(如PC机)直接连接。
l Alternate端口
从发送BPDU来看,Alternate端口就是由于学习到其它交换机的发送的BPDU而被阻塞的端口。从转发用户流量来看,Alternate端口提供了从指定交换机到根交换机的一条备份路径,所以Alternate端口是根端口的备份端口,如果根端口被阻塞后,Alternate端口将成为新的根端口。
在如图21-7中BP2为SwitchB的Alternate端口。试想一下,如果BP1端口被阻塞了,SwitchB就可以从BP2端口转发数据,然后经过SwitchC到达SwitchA,确保数据通信不中断。
l Backup端口
当同一台交换机的两个端口同时连接一个设备时就存在一个环路,此时交换机会将其中一个端口阻塞,这个端口就是Backup端口。在如图21-7中SwitchC上的CP3为Backup端口,因为它与CP2端口同时连接到下游的同一个设备上。
从发送BPDU来看,Backup端口就是由于学习到本设备上其他端口发送的BPDU而被阻塞的端口。从转发用户流量来看,Backup端口,作为指定端口的备份,提供了一条从根交换机到下级设备的备份通路。
l Master端口
Master端口是MST域和总根相连的所有路径中最短路径上的端口,它是交换机上连接MST域到总根的端口。Master端口是域中的报文去往总根的必经之路。Master端口是特殊域边缘端口,Master端口在IST/CIST上的角色是根端口,在其它各实例上的角色都是Master。
在如图21-8所示的示例中,交换机SwitchA、SwitchB、SwitchC、SwitchD和它们之间的链路构成一个MST域,SwitchA交换机的端口AP1在域内的所有端口中到总根的路径开销最小,所以AP1为Master端口。
l 域边缘端口
域边缘端口是指位于MST域的边缘并连接其它MST域或SST的端口。进行MSTP计算时,域边缘端口在MSTI上的角色和CIST实例的角色保持一致。即如果边缘端口在CIST实例上的角色是Master端口(连接域到总根的端口),则它在域内所有MSTI上的角色也是Master端口。
在如图21-8所示的示例中,MST域内的AP1、DP1和DP2都和其它域直接相连,它们都是本MST域的边缘端口。而AP1既是域边缘端口,它在CIST上的角色又是Master端口,所以AP1在MST域内所有生成树实例上的角色都是Master端口。
本文来自:E-Works ,转载请保留原文链接:http://blog.e-works.net.cn/631699/articles/304208.html