mstp多生成树协议原理.docx
《mstp多生成树协议原理.docx》由会员分享,可在线阅读,更多相关《mstp多生成树协议原理.docx(11页珍藏版)》请在冰豆网上搜索。
mstp多生成树协议原理
竭诚为您提供优质文档/双击可除
mstp多生成树协议原理
篇一:
mstp是一个多生成树协议
mstp是一个多生成树协议。
mstp的“多生成树”包括两层含义:
一是在一个交换网络中可以基于Vlan划分出多个生成树实例(sti),二是在每个生成树实例中可以包括多个Vlan。
而不是像cisco的pVst、pVst+这样,虽然在整个交换网络中可以基于Vlan划分出多个生成树实例,但是每个生成树实例中仅包括一个Vlan。
所以相对pVst、pVst+来说,mstp更适用于比较大的网络中,划分生成树实例也更灵活,可以根据实际应用需要求来进行。
虽然在整体来看,mstp网络可分为以下层次(如图21-1所示):
mstp网络
多生成树域mstRegion(multiple
spanningtreeRegion)
多生成树实例msti(multiplespanning
treeinstance)
图21-1mstp的网络层次示意图
而且这三者之间依次是包含关系,即mstp网络包含mst域和msti,mst域又包含msti,因为在一个mstp网络中可以有多个mst域,一个mst域中又可以有多个msti。
1.mst域
mst域(multiplespanningtreeRegions,多生成树域)是由交换网络中的多台交换机以及它们之间的网段构成(在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(multiplespanningtreeinstance,多生成树实例)是指mst域内的生成树。
一个mst域内可以通过mstp生成多棵生成树,各棵生成树之间彼此独立。
一个msti可以与一个或者多个Vlan对应,但一个Vlan只能与一个msti对应。
既然是生成树,那就不允许存在环路。
在如图21-2所示的mstp网络(由四台交换机相互串联形成)就形成了三个msti(图中的msti1、msti2、msti3,注意看他们的拓扑,总有一个方向的交换机连接是断开的),每个msti都没有环路。
图21-2msti划分示例
再看一下图21-3所示的示例。
在这个mst域的交换网络中包括了三个Vlan
:
Vlan10
、Vlan20和Vlan30。
这时又该划分成多少个msti呢?
如果我们把Vlan10和Vlan20放进一个msti中,则所得到的拓扑如图21-4的左图所示,明显存在环路;如果把Vlan10和Vlan30放进一个msti中,得到如图21-4的中图所示的拓扑,也明显存在环路;同样如果把Vlan20和Vlan30划分到一个msti中,则拓扑如图21-4的右图所示,也存在环路。
这时,我们只好为每个Vlan单独划分成一个msti,这样得到的每个msti拓扑如图21-5所示,就不存在环路了(注意,虚线所代表的是通过mstp协议配置阻塞的链路),确保每个msti中没有环路出现。
图21-3msti划分示例2
图21-4每个msti放进两个Vlan情况下的生成树拓扑
图21-5每个msti对应一个Vlan的生成树拓扑
在一般的企业网络中,通常是将支持mstp的设备全部划分到一个mst域中,而将不支持mstp的设备划分到另一个mst域中。
对于msti来说,通常是将将具有相同转发路径的Vlan映射到一个msti中,以形成一棵独立的生成树。
3.Vlan映射表
Vlan映射表是mst域的一个属性,用来描述Vlan和msti的映射关系。
在如图21-2所示的mst域示例中,mst域d0包括了以下三个msti的Vlan映射表:
Vlan1映射到msti1
Vlan2和Vlan3映射到msti2
其余Vlan映射到msti0
4.ist
ist(internalspanningtree,内部生成树)是mst域内的一棵生成树,是一个特殊的msti,其mstiid为0,即ist通常称为msti0。
它包括对应mst域中所有互联的交换机。
ist是cist在mst域中的一个片段。
在如图21-6所示的mstp网络中(包括了多个mst域)每个mst域内部用细线连接的各交换机就构成了对应mst域中的ist。
图21-6多mst域的mstp网络示例
5.cst
cst(commonspanningtree,公共生成树)是连接交换网络内所有mst域的单生成树。
如果把每个mst域看作是一台“交换机”,则cst就是这些“交换机”通过stp协议、Rstp协议计算生成的一棵生成树(sst)。
图21-6中用于连接各个mst域的粗线条连接就构成了cst。
6.cist
cist(commonandinternalspanningtree,公共和内部生成树)是通过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(singlespanningtree,单生成树)有两种情况:
运行stp或Rstp生成树协议的交换机
只能属于一个生成树。
篇二:
mstp多生成树协议
了解多生成树协议(802.1s)
简介
使用mst的位置
pVst+案例
标准802.1q案例
mst案例
mst区域
mst配置和mst区域
区域边界
mst实例
ist实例
msti
常见配置错误
所有端口(中继或接入)上的ist实例都是活动的
两个Vlan映射到同一实例将阻塞相同端口
mst区域和外界之间的交互作用
推荐的配置
备选配置(不推荐)
无效配置
迁移策略
结论
相关信息
简介
多生成树(mst)是从cisco专用多实例生成树协议(mistp)实施得到的ieee标准。
本文档假定读者熟悉快速stp(Rstp)(802.1w),因为mst主要依
有关Rstp(802.1w)的详细信息,请参阅以下文档:
了解快速生成树协议(802.1w)
使用mst的
位置
下图显示了一种常用设计,其特征是接入交换机a带1000个Vlan,这些Vlan冗余连接到两台分布式交换机d1和d2。
在此设置中,用户连接到交换机a,而网络管理员通常根据偶数或奇数Vlan或认为适当的任何其他方案,寻求实现接入交换机上行链路的负载均衡。
以下部分是对此设置使用各种类型的stp的案例示例:
pVst+案例
在cisco每Vlan生成树(pVst+)环境中,可以调整生成树参数,以便在每个上行链路中继上转发半数Vlan。
为轻松实现此目的,请选择网桥d1作为Vlan501至1000的根网桥,选择网桥d2作为Vlan1至500的根网桥。
以下描述对于此配置是正确的:
在此案例中,可以获得最佳负载均衡结果。
为每个Vlan维护一个生成树实例,这意味着只为两个不同的最终逻辑拓扑维护1000个实例。
这严重浪费了网络中所有交换机的cpu周期(除了每个实例发送各自的网桥协议数据单元(bpdu)所用的带宽以外)。
标准802.1q案例
原始ieee802.1q标准不仅仅定义了中继,还定义了许多其他内容。
此标准定义了通用生成树(cst),后者仅假定整个桥接网络运行一个生成树实例,而不考虑Vlan的数量。
如果cst适用于此图的拓扑,则结果将与下图类似:
在运行cst的网络中,以下描述是正确的:
无法实现负载均衡;需要针对所有Vlan阻塞一条上行链路。
可节省cpu;只需计算一个实例。
注意:
cisco实施增强了802.1q以便支持一个pVst。
此功能完全按照本示例中pVst的方式运行。
cisco每Vlanbpdu通过纯802.1q网桥建立隧道。
mst案例
mst(ieee802.1s)组合了pVst+和802.1q的最佳优势。
其观点在于,可以将若干个Vlan映射到数量减少的生成树实例,因为大多数网络不需要太多逻辑拓扑。
在第一个图描述的拓扑中,只有两种不同的最终逻辑拓扑,因此实际上只需要两个生成树实例。
不需要运行1000个实例。
如此图所示,如果将1000个Vlan中的一半映射到不同的生成树实例,则以下描述是正确的:
由于半数Vlan采用一个单独的实例,因此仍然可以实现所需的负载均衡方案。
由于只计算两个实例,因此可以节省cpu。
从技术观点来看,mst是最佳解决方案。
从最终用户的角度来看,与迁移到mst相关联的主要缺点是:
该协议比常见的生成树更复杂,因此需要对员工进行额外培训。
与传统网桥的交互可能是一个难题。
有关详细信息,请参阅本文档的mst区域和外界之间的交互作用部分。
mst区域
如前所述,mst引入的主要增强功能是可以将若干个Vlan映射到单个生成树实例。
这样便会引发一个问题,即如何确定哪个Vlan将与哪个实例相关联。
更准确地讲,如何标记bpdu,以便接收设备识别每个设备适用的实例和Vlan。
该问题在802.1q标准案例中是不相关的,在这一标准中,所有实例都映射到唯一的实例。
在pVst+实施中,该关联如下:
不同的Vlan传输各自实例的bpdu(每个Vlan一个bpdu)。
为解决该问题,ciscomistp为每个实例发送了一个bpdu(包括bpdu负责的Vlan列表)。
如果由于失误,两台交换机的配置不正确,并且同一实例相关的Vlan范围不相同,则协议很难从这种情形中正常恢复。
ieee802.1s委员会采用了更容易且更简单的方法,该方法引入了mst区域。
请设想某个区域相当于边界网关协议(bgp)自治系统,即接受常规管理的一组交换机。
mst配置和mst区域
在网络中运行mst的每台交换机具有由以下三个属性组成的单个mst配置:
1.一个字母数字配置名称(32个字节)
2.配置修订版号(两个字节)
3.一个由4096个元素组成的表,用于将机箱上支持的每个潜在的Vlan(4096个)关联到给定实例若要成为通用mst区域的组成部分,交换机组必须共享相同的配置属性。
网络管理员需要在整个区域中正确传播配置。
当前,此步骤只能通过命令行界面(cli)或简单网络管理协议(snmp)来完成。
由于ieee规范没有明确指出如何完成此步骤,因此可以考虑采用其他方法。
注意:
如果由于任何原因两台交换机的一个或多个配置属性不同,则这两台交换机属于不同的区域。
有关详细信息,请参阅本文档
的区域边界部分。
区域边界
为确保实现Vlan到实例的一致映射,协议必须能够准确识别区域的边界。
为此,在bpdu中包括了区域的特征。
准确的Vlan到实例映射不会在bpdu中传播,因为交换机只需知道它们是否与邻居位于同一区域中。
因此,只会发送Vlan到实例的映射表的摘要,以及修订版号和名称。
交换机收到bpdu后,它将提取该摘要(通过数学函数从Vlan到实例映射表派生的数值),并将该摘要与自己的计算摘要进行比较。
如果两个摘要不相同,则接收到bpdu的端口位于某个区域的边界。
通常而言,如果端口网段上的指定网桥位于不同区域,或者如果端口接收传统802.1dbpdu,则该端口位于某个区域的边界。
在下
图中,b1上的端口位于区域a的边界,而b2和b3上的端口位于区域b的内部:
mst实例
根据ieee802.1s规范,mst网桥必须至少能够处理下面两个实例:
一个内部生成树(ist)
一个或多个多生成树实例(msti)
由于802.1s实际上处于准标准阶段,因此术语将继续不断发展。
这些名称有可能会在802.1s的最终版本中进行更改。
cisco实施支持16个实例:
一个ist(实例0)和15个msti。
ist实例
为清楚地了解ist实例的角色,请记住mst源自ieee。
因此,mst必须能够与基于802.1q的网络交互,这是因为802.1q是另一个ieee标准。
对于802.1q,桥接网络仅实施单个生成树(cst)。
ist实例只是一个在mst区域内扩展cst的Rstp实例。
ist实例接收bpdu并将其发送到cst。
ist可将整个mst区域表示为通向外界的cst虚拟网桥。
以下两个图的功能相当。
注意各个阻塞端口的位置。
在典型的桥接网络中,您期望看到交换机m和b之间的阻塞端口。
除了在d上阻塞之外,您还期望在mst区域中的某个位置由阻塞端口中断第二个循环。
但是由于ist,整个区域显示为一个运行单个生成树(cst)的虚拟网桥。
这样,就可以了解虚拟网桥阻塞b上的替代端口。
而且,该虚拟网桥位于c到d网段,将会导致交换机
d阻塞其端口。
使区域显示为一个虚拟cst网桥的具体机制不在本文档讨论范围内,ieee802.1s规范中对该机制进行了详尽描述。
然而,如果牢记mst
区域的此虚拟
篇三:
生成树mstp
生成树(mstp)
mstp(multi-servicetransferplatform)(基于sdh的多业务传送平台)是指基于sdh平台同时实现tdm、atm、以太网等业务的接入、处理和传送,提供统一网管的多业务节点。
多生成树(mst)使用修正的快速生成树协议(Rstp)协议,叫做多生成树协议(mstp)
mstp(multiplespanningtreeprotocol,多生成树协议)
将环路网络修剪成为一个无环的树形网络,避免报文在环路网络中的增生和无限循环,同时还提供了数据转发的多个冗余路径,在数据转发过程中实现Vlan数据的负载均衡。
mstp兼容stp和Rstp,并且可以弥补stp和Rstp的缺陷。
它既可以快速收敛,也能使不同Vlan的流量沿各自的路径分发,从而为冗余链路提供了更好的负载分担机制。
特点
zmstp设置Vlan映射表(即Vlan和生成树的对应关系表),把Vlan和生成树联系起来;通过增加“实例”(将多个Vlan整合到一个集合中)这个概念,将多个Vlan捆绑到一个实例中,以节省通信开销和资源占用率。
zmstp把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此独立。
zmstp将环路网络修剪成为一个无环的树型网络,在数据转发过程中实现Vlan数据的负载分担。
zmstp兼容stp和Rstp
工作原理
mstp可以将传统的sdh复用器、数字交叉链接器(dxc)、wdm终端、网络二层交换机和ip边缘路由器等多个独立的设备集成为一个网络设备,即基于sdh技术的多业务传送平台(mstp),进行统一控制和管理。
基于sdh的mstp最适合作为网络边缘的融合节点支持混合型业务,特别是以tdm业务为主的混合业务。
它不仅适合缺乏网络基础设施的新运营商,应用于局间或pop间,还适合于大企事业用户驻地。
而且即便对于已敷设了大量sdh网的运营公司,以sdh为基础的多业务平台可以更有效地支持分组数据业务,有助于实现从电路交换网向分组网的过渡。
所以,它将成为城域网主流技术之一。
这就要求sdh必须从传送网转变为传送网和业务网一体化的多业务平台,即融合的多业务节点。
举个形象的例子,sdh设备就好像是一座大桥,以前这座大桥只有一层,只能跑汽车(tdm业务),但后来因为交通需要,将大桥扩建为两层,除了跑汽车之外,还能跑火车(ethernet业务和atm业务),我们就称这样的大桥为mstp平台。
mstp的实现基础是充分利用sdh技术对传输业务数据流提供保护恢复能力和较小的延时性能,并对网络业务支撑层加以改造,以适应多业务应用,实现对二层、三层的数据智能支持。
即将传送节点与各种业务节点融合在一起,构成业务层和传送层一体化的sdh业务节点,称为融合的网络节点或多业务节点,主要定位于网络边缘。
实验拓扑:
实验步骤:
——所有交换机都要求在一个域内,也就是说这些交换机的mstp配置名,mstp修订版本号,instance和vlan的映射必须一致——
在switch-a上:
switch-a(config)#vlan10/创建vlan10
switch-a(config-vlan)#exit
switch-a(config)#vlan20/创建vlan20
switch-a(config-vlan)#exit
switch-a(config)#spanning-treemstconfiguration/开启mstp生成树协议
switch-a(config-mst)#instance10vlan10/实例10,和vlan10对应
switch-a(config-mst)#instance20vlan20/实例20,和vlan20对应,这里的实例编号,和vlan编号没有关系
switch-a(config)#spanning-treemst0priority4096/配置实例0的优先级为4096
(缺省情况下所有的vlan都是和实例0对应的,实例0是不能别删除的)
(由于实例0是客观存在的,在交换机上配置实例优先级时,注意配置实例0的优先级)
switch-a(config)#spanning-treemst10priority4096/配置实例10,的优先级为4096
switch-a(config)#spanning-treemst20priority8192/配置实例20,的优先级为8192
switch-a(config-mst)#exitswitch-a(config)#interfacerangefas0/23-24/进入23和24口
switch-a(config-if-range)#channel-group1modeon/绑定为一条逻辑链路,链路编号为1链路聚合creatingaport-channelinterfaceport-channel1——创建端口信道接口通道1
switch-a(config)#interfaceport-channel1/进入创建的逻辑链路1中
switch-a(config-if)#switchporttrunkencapsulationdot1q/封装802.1q协议,dot1q是vlan的一种封装方式
switch-a(config-if)#switchportmodetrunk/封装为中继(trunk)模式
switch-a(config-if)#exit
switch-a(config)#interfacefas0/1
switch-a(config-if)#switchporttrunkencapsulationdot1q
switch-a(config-if)#switchportmodetrunk
switch-a(config-if)#exit
在switch-b上:
switch-b(config)#vlan10/创建vlan10
switch-b(config-vlan)#exit
switch-b(config)#vlan20/创建vlan20
switch-b(config-vlan)#exit
switch-b(config)#spanning-treemstconfiguration/开启mstp生成树协议
switch-b(config-mst)#instance10vlan10/实例10,和vlan10对应
switch-b(config-mst)#instance20vlan20/实例20,和vlan20对应,这里的实例编号,和vlan编号没有关系
switch-b(config)#spanning-treemst0priority8192/配置实例0的优先级为4096
(缺省情况下所有的vlan都是和实例0对应的,实例0是不能别删除的)
(由于实例0是客观存在的,在交换机上配置实例优先级时,注意配置实例0的优先级)
switch-b(config)#spanning-treemst10priority8192/配置实例10,的优先级为4096
switch-b(config)#spanning-treemst20priority4096/配置实例20,的优先级为8192
switch-b(config-mst)#exitswitch-a(config)#interfacerangefas0/23-24进入23和24口
switch-b(config-if-range)#channel-group1modeon/绑定为一条逻辑链路,链路编号为1链路聚合creatingaport-channelinterfaceport-channel1——创建端口信道接口通道1
switch-b(config)#interfaceport-channel1/进入创建的逻辑链路1中
switch-b(config-if)#switchporttrunkencapsulationdot1q封装802.1q协议,dot1q是vlan的一种封装方式
switch-b(config-if)#switchportmodetrunk/封装为中继(trunk)模式
switch-b(config-if)#exit
switch-b(config)#interfacefas0/1
switch-b(config-if)#switchporttrunkencapsulationdot1q
switch-b(config-if)#switchportmodetrunk
switch-b(config-if)#exit在switch-c上:
switch-c(config)#vlan10/创建vlan10
switch-c(config-vlan)#exit
switch-c(config)#vlan20/创建vlan20
switch-c(config-vlan)#exit
switch-c(config)#spanning-treemstconfiguration/开启mstp生成树协议
switch-c(config-mst)#instance10vlan10/实例10,和vlan10对应
switch-c(config-mst)#instance20vlan20/实例20,和vlan20对应,这里的实例编号,和vlan编号没有关系switch-c(config)#inter