查看完整版本: 生成树协议的演进(图)

miaolq520 2006-10-18 22:41

生成树协议的演进(图)

和其他协议一样,生成树协议也是随着网络的不断发展而不断更新换代的。本文按照技术发展的主线,介绍了生成树协议的发展历程、近期热点和未来的发展方向。

garnett_wu 2006-10-19 17:46

为了方便大家阅读,我贴出此文章

    [font=宋体]和其他协议一样,生成树协议也是随着网络的不断发展而不断更新换代的。本文按照技术发展的主线,介绍了生成树协议的发展历程、近期热点和未来的发展方向。[/font]
[font=宋体]生成树协议是一种二层管理协议,它通过有选择性地阻塞网络冗余链路来达到消除网络二层环路的目的,同时具备链路的备份功能。[/font]
[font=宋体]由于生成树协议本身比较小,所以并不像路由协议那样广为人知。但是它却掌管着端口的转发大权[/font]—“[font=宋体]小树枝抖一抖,上层协议就得另谋生路[/font]”[font=宋体]。真实情况也确实如此,特别是在和别的协议一起运行的时候,生成树就有可能断了其他协议的报文通路,造成种种奇怪的现象。[/font]
[font=宋体]生成树协议和其他协议一样,是随着网络的不断发展而不断更新换代的。本文标题中的[/font]“[font=宋体]生成树协议[/font]”[font=宋体]是一个广义的概念,并不是特指[/font]IEEE 802.1D[font=宋体]中定义的[/font]STP[font=宋体]协议,而是包括[/font]STP[font=宋体]以及各种在[/font]STP[font=宋体]基础上经过改进了的生成树协议。[/font]
[font=宋体]在生成树协议发展过程中,老的缺陷不断被克服,新的特性不断被开发出来。按照大功能点的改进情况,我们可以粗略地把生成树协议的发展过程划分成三代,下面一一道来。[/font]

[font=宋体]开天辟地的第一代生成树协议:[/font]
STP/RSTP

[font=宋体]在网络发展初期,透明网桥是一个不得不提的重要角色。它比只会放大和广播信号的集线器聪明得多。它会悄悄把发向它的数据帧的源[/font]MAC[font=宋体]地址和端口号记录下来,下次碰到这个目的[/font]MAC[font=宋体]地址的报文就只从记录中的端口号发送出去,除非目的[/font]MAC[font=宋体]地址没有记录在案或者目的[/font]MAC[font=宋体]地址本身就是多播地址才会向所有端口发送。通过透明网桥,不同的局域网之间可以实现互通,网络可操作的范围得以扩大,而且由于透明网桥具备[/font]MAC[font=宋体]地址学习功能而不会像[/font]Hub[font=宋体]那样造成网络报文冲撞泛滥。[/font]
[font=宋体]但是,金无足赤,透明网桥也有它的缺陷,它的缺陷就在于它的透明传输。透明网桥并不能像路由器那样知道报文可以经过多少次转发,一旦网络存在环路就会造成报文在环路内不断循环和增生,甚至造成恐怖的[/font]“[font=宋体]广播风暴[/font]”[font=宋体]。之所以用[/font]“[font=宋体]恐怖[/font]”[font=宋体]二字是因为在这种情况下,网络将变得不可用,而且在大型网络中故障不好定位,所以广播风暴是二层网络中灾难性的故障。[/font]
[font=宋体]在这种大环境下,扮演着救世主角色的[/font]STP[font=宋体]([/font]Spanning TreeProtocol[font=宋体])协议来到人间,其中以[/font]IEEE[font=宋体]的[/font]802.1D[font=宋体]版本最为流行。[/font]



[font=宋体]图[/font]1 [font=宋体]生成树工作过程示意图[attach]152185[/attach][/font]


STP[font=宋体]协议的基本思想十分简单。大家知道,自然界中生长的树是不会出现环路的,如果网络也能够像一棵树一样生长就不会出现环路。于是,[/font]STP[font=宋体]协议中定义了根桥([/font]RootBridge[font=宋体])、根端口([/font]RootPort[font=宋体])、指定端口([/font]DesignatedPort[font=宋体])、路径开销([/font]PathCost[font=宋体])等概念,目的就在于通过构造一棵自然树的方法达到裁剪冗余环路的目的,同时实现链路备份和路径最优化。用于构造这棵树的算法称为生成树算法[/font]SPA[font=宋体]([/font]Spanning TreeAlgorithm[font=宋体])。[/font]
[font=宋体]要实现这些功能,网桥之间必须要进行一些信息的交流,这些信息交流单元就称为配置消息[/font]BPDU[font=宋体]([/font]BridgeProtocol Data Unit[font=宋体])。[/font]STP BPDU[font=宋体]是一种二层报文,目的[/font]MAC[font=宋体]是多播地址[/font]01-80-C2-00-00-00[font=宋体],所有支持[/font]STP[font=宋体]协议的网桥都会接收并处理收到的[/font]BPDU[font=宋体]报文。该报文的数据区里携带了用于生成树计算的所有有用信息。[/font]
[font=宋体]要了解生成树协议的工作过程也不难,首先进行根桥的选举。选举的依据是网桥优先级和网桥[/font]MAC[font=宋体]地址组合成的桥[/font]ID[font=宋体]([/font]Bridge ID[font=宋体]),桥[/font]ID[font=宋体]最小的网桥将成为网络中的根桥。在图[/font]1[font=宋体]所示的网络中,各网桥都以默认配置启动,在网桥优先级都一样(默认优先级是[/font]32768[font=宋体])的情况下,[/font]MAC[font=宋体]地址最小的网桥成为根桥,例如图[/font]1[font=宋体]中的[/font]SW1[font=宋体],它的所有端口的角色都成为指定端口,进入转发状态。[/font]
[font=宋体]接下来,其他网桥将各自选择一条[/font] “[font=宋体]最粗壮[/font]”[font=宋体]的树枝作为到根桥的路径,相应端口的角色就成为根端口。假设图[/font]1[font=宋体]中[/font]SW2[font=宋体]和[/font]SW2[font=宋体]、[/font]SW3[font=宋体]之间的链路是千兆[/font]GE[font=宋体]链路,[/font]SW1[font=宋体]和[/font]SW3[font=宋体]之间的链路是百兆[/font]FE[font=宋体]链路,[/font]SW3[font=宋体]从端口[/font]1[font=宋体]到根桥的路径开销的默认值是[/font]19[font=宋体],而从端口[/font]2[font=宋体]经过[/font]SW2[font=宋体]到根桥的路径开销是[/font]4+4=8[font=宋体],所以端口[/font]2[font=宋体]成为根端口,进入转发状态。同理,[/font]SW2[font=宋体]的端口[/font]2[font=宋体]成为根端口,端口[/font]1[font=宋体]成为指定端口,进入转发状态。[/font]
[font=宋体]根桥和根端口都确定之后一棵树就生成了,如图中实线所示。下面的任务是裁剪冗余的环路。这个工作是通过阻塞非根桥上相应端口来实现的,例如[/font]SW3[font=宋体]的端口[/font]1[font=宋体]的角色成为禁用端口,进入阻塞状态(图中用[/font]“×”[font=宋体]表示)。[/font]
[font=宋体]生成树经过一段时间(默认值是[/font]30[font=宋体]秒左右)稳定之后,所有端口要么进入转发状态,要么进入阻塞状态。[/font]STPBPDU[font=宋体]仍然会定时从各个网桥的指定端口发出,以维护链路的状态。如果网络拓扑发生变化,生成树就会重新计算,端口状态也会随之改变。[/font]
[font=宋体]当然生成树协议还有很多内容,在这里不可能一一介绍。之所以花这么多笔墨介绍生成树的基本原理是因为它太[/font]“[font=宋体]基本[/font]”[font=宋体]了,其他各种改进型的生成树协议都是以此为基础的,基本思想和概念都大同小异。[/font]
STP[font=宋体]协议给透明网桥带来了新生。但是,随着应用的深入和网络技术的发展,它的缺点在应用中也被暴露了出来。[/font]STP[font=宋体]协议的缺陷主要表现在收敛速度上。[/font]
[font=宋体]当拓扑发生变化,新的配置消息要经过一定的时延才能传播到整个网络,这个时延称为[/font]Forward Delay[font=宋体],协议默认值是[/font]15[font=宋体]秒。在所有网桥收到这个变化的消息之前,若旧拓扑结构中处于转发的端口还没有发现自己应该在新的拓扑中停止转发,则可能存在临时环路。为了解决临时环路的问题,生成树使用了一种定时器策略,即在端口从阻塞状态到转发状态中间加上一个只学习[/font]MAC[font=宋体]地址但不参与转发的中间状态,两次状态切换的时间长度都是[/font]Forward Delay[font=宋体],这样就可以保证在拓扑变化的时候不会产生临时环路。但是,这个看似良好的解决方案实际上带来的却是至少两倍[/font]Forward Delay[font=宋体]的收敛时间![/font]
[font=宋体]为了解决[/font]STP[font=宋体]协议的这个缺陷,在世纪之初[/font]IEEE[font=宋体]推出了[/font]802.1w[font=宋体]标准,作为对[/font]802.1D[font=宋体]标准的补充。在[/font]IEEE 802.1w[font=宋体]标准里定义了快速生成树协议[/font]RSTP[font=宋体]([/font]Rapid Spanning Tree Protocol[font=宋体])。[/font]RSTP[font=宋体]协议在[/font]STP[font=宋体]协议基础上做了三点重要改进,使得收敛速度快得多(最快[/font]1[font=宋体]秒以内)。[/font]
[font=宋体]第一点改进:为根端口和指定端口设置了快速切换用的替换端口([/font]Alternate Port[font=宋体])和备份端口([/font]Backup Port[font=宋体])两种角色,当根端口[/font]/[font=宋体]指定端口失效的情况下,替换端口[/font]/[font=宋体]备份端口就会无时延地进入转发状态。图[/font]2[font=宋体]中所有网桥都运行[/font]RSTP[font=宋体]协议,[/font]SW1[font=宋体]是根桥,假设[/font]SW2[font=宋体]的端口[/font]1[font=宋体]是根端口,端口[/font]2[font=宋体]将能够识别这种拓扑结构,成为根端口的替换端口,进入阻塞状态。当端口[/font]1[font=宋体]所在链路失效的情况下,端口[/font]2[font=宋体]就能够立即进入转发状态,无需等待两倍[/font]Forward Delay[font=宋体]时间。[/font]



[font=宋体]图[/font]2 RSTP[font=宋体]冗余链路快速切换示意图[attach]152186[/attach][/font]


[font=宋体]第二点改进:在只连接了两个交换端口的点对点链路中,指定端口只需与下游网桥进行一次握手就可以无时延地进入转发状态。如果是连接了三个以上网桥的共享链路,下游网桥是不会响应上游指定端口发出的握手请求的,只能等待两倍[/font]Forward Delay[font=宋体]时间进入转发状态。[/font]
[font=宋体]第三点改进:直接与终端相连而不是把其他网桥相连的端口定义为边缘端口([/font]Edge Port[font=宋体])。边缘端口可以直接进入转发状态,不需要任何延时。由于网桥无法知道端口是否是直接与终端相连,所以需要人工配置。[/font]
[font=宋体]可见,[/font]RSTP[font=宋体]协议相对于[/font]STP[font=宋体]协议的确改进了很多。为了支持这些改进,[/font]BPDU[font=宋体]的格式做了一些修改,但[/font]RSTP[font=宋体]协议仍然向下兼容[/font]STP[font=宋体]协议,可以混合组网。虽然如此,[/font]RSTP[font=宋体]和[/font]STP[font=宋体]一样同属于单生成树[/font]SST[font=宋体]([/font]SingleSpanning Tree[font=宋体]),有它自身的诸多缺陷,主要表现在三个方面。[/font]
[font=宋体]第一点缺陷:由于整个交换网络只有一棵生成树,在网络规模比较大的时候会导致较长的收敛时间,拓扑改变的影响面也较大。[/font]
[font=宋体]第二点缺陷:近些年[/font]IEEE802.1Q[font=宋体]大行其道,逐渐成为交换机的标准协议。在网络结构对称的情况下,单生成树也没什么大碍。但是,在网络结构不对称的时候,单生成树就会影响网络的连通性。[/font]

[font=宋体]图[/font]3  [font=宋体]非对称网络示意图[/font]
[attach]152187[/attach]

[font=宋体]图[/font]3[font=宋体]中假设[/font]SW1[font=宋体]是根桥,实线链路是[/font]VLAN 10[font=宋体],虚线链路是[/font]802.1Q[font=宋体]的[/font]Trunk[font=宋体]链路,[/font]Trunk[font=宋体]了[/font]VLAN 10[font=宋体]和[/font]VLAN 20[font=宋体]。当[/font]SW2[font=宋体]的[/font]Trunk[font=宋体]端口被阻塞的时候,显然[/font]SW1[font=宋体]和[/font]SW2[font=宋体]之间[/font]VLAN 20[font=宋体]的通路就被切断了。[/font]
[font=宋体]第三点缺陷:当链路被阻塞后将不承载任何流量,造成了带宽的极大浪费,这在环行城域网的情况下比较明显。[/font]

[font=宋体]图[/font]4  SST[font=宋体]带宽利用率低下示意图
[attach]152188[/attach]
[/font]

[font=宋体]图[/font]4[font=宋体]中假设[/font]SW1[font=宋体]是根桥,[/font]SW4[font=宋体]的一个端口被阻塞。在这种情况下,[/font]SW2[font=宋体]和[/font]SW4[font=宋体]之间铺设的光纤将不承载任何流量,所有[/font]SW2[font=宋体]和[/font]SW4[font=宋体]之间的业务流量都将经过[/font]SW1[font=宋体]和[/font]SW3[font=宋体]转发,增加了其他几条链路的负担。[/font]
[font=宋体]这些缺陷都是单生成树[/font]SST[font=宋体]无法克服的,于是支持[/font]VLAN[font=宋体]的多生成树协议出现了。[/font]

[font=宋体]聪明伶俐的第二代生成树协议:[/font]
PVST/PVST+

[font=宋体]每个[/font]VLAN[font=宋体]都生成一棵树是一种比较直接,而且最简单的解决方法。它能够保证每一个[/font]VLAN[font=宋体]都不存在环路。但是由于种种原因,以这种方式工作的生成树协议并没有形成标准,而是各个厂商各有一套,尤其是以[/font]Cisco[font=宋体]的[/font]VLAN[font=宋体]生成树[/font]PVST[font=宋体]([/font]Per VLAN Spanning Tree[font=宋体])为代表。[/font]
[font=宋体]为了携带更多的信息,[/font]PVSTBPDU[font=宋体]的格式和[/font]STP/RSTPBPDU[font=宋体]格式已经不一样,发送的目的地址也改成了[/font]Cisco[font=宋体]保留地址[/font]01-00-0C-CC-CC-CD[font=宋体],而且在[/font]VLAN Trunk[font=宋体]的情况下[/font]PVST BPDU[font=宋体]被打上了[/font]802.1Q VLAN[font=宋体]标签。所以,[/font]PVST[font=宋体]协议并不兼容[/font]STP/RSTP[font=宋体]协议。[/font]
Cisco[font=宋体]很快又推出了经过改进的[/font]PVST[font=宋体]+协议,并成为了交换机产品的默认生成树协议。经过改进的[/font]PVST[font=宋体]+协议在[/font]VLAN 1[font=宋体]上运行的是普通[/font]STP[font=宋体]协议,在其他[/font]VLAN[font=宋体]上运行[/font]PVST[font=宋体]协议。[/font]PVST[font=宋体]+协议可以与[/font]STP/RSTP[font=宋体]互通,在[/font]VLAN 1[font=宋体]上生成树状态按照[/font]STP[font=宋体]协议计算。在其他[/font]VLAN[font=宋体]上,普通交换机只会把[/font]PVST BPDU[font=宋体]当作多播报文按照[/font]VLAN[font=宋体]号进行转发。但这并不影响环路的消除,只是有可能[/font]VLAN 1[font=宋体]和其他[/font]VLAN[font=宋体]的根桥状态可能不一致。[/font]

[font=宋体]图[/font]5   PVST+[font=宋体]与[/font]SST[font=宋体]对接示意图[/font]
[attach]152189[/attach]

[font=宋体]图[/font]5[font=宋体]中所有链路默认[/font]VLAN[font=宋体]是[/font]VLAN 1[font=宋体],并且都[/font]Trunk[font=宋体]了[/font]VLAN 10[font=宋体]和[/font]VLAN 20[font=宋体]。[/font]SW1[font=宋体]和[/font]SW3[font=宋体]运行单生成树[/font]SST[font=宋体]协议,而[/font]SW2[font=宋体]运行[/font]PVST[font=宋体]+协议。在[/font]VLAN 1[font=宋体]上,可能[/font]SW1[font=宋体]是根桥,[/font]SW2[font=宋体]的端口[/font]1[font=宋体]被阻塞。在[/font]VLAN 10[font=宋体]和[/font]VLAN 20[font=宋体]上,[/font]SW2[font=宋体]只能看到自己的[/font]PVSTBPDU[font=宋体],所以在这两个[/font]VLAN[font=宋体]上它认为自己是根桥。[/font]VLAN 10[font=宋体]和[/font]VLAN 20[font=宋体]的[/font]PVST BPDU[font=宋体]会被[/font]SW1[font=宋体]和[/font]SW3[font=宋体]转发,所以[/font]SW2[font=宋体]检测到这种环路后,会在端口[/font]2[font=宋体]上阻塞[/font]VLAN 10[font=宋体]和[/font]VLAN 20[font=宋体]。这就是[/font]PVST[font=宋体]+协议提供的[/font]STP/RSTP[font=宋体]兼容性。可以看出,网络中的二层环路能够被识别并消除,强求根桥的一致性是没有任何意义的。[/font]
[font=宋体]由于每个[/font]VLAN[font=宋体]都有一棵独立的生成树,单生成树的种种缺陷都被克服了。同时,[/font]PVST[font=宋体]带来了新的好处,那就是二层负载均衡。[/font]



[font=宋体]图[/font]6   PVST[font=宋体]+负载均衡示意图[/font]
[attach]152190[/attach]

[font=宋体]图[/font]6[font=宋体]中四台设备都运行[/font]PVST[font=宋体]+协议,并且都[/font]Trunk[font=宋体]了[/font]VLAN 10[font=宋体]和[/font]VLAN 20[font=宋体]。假设[/font]SW1[font=宋体]是所有[/font]VLAN[font=宋体]的根桥,通过配置可以使得[/font]SW4[font=宋体]端口[/font]1[font=宋体]上的[/font]VLAN 10[font=宋体]和端口[/font]2[font=宋体]上的[/font]VLAN 20[font=宋体]阻塞,[/font]SW4[font=宋体]的端口[/font]1[font=宋体]所在链路仍然可以承载[/font]VLAN20[font=宋体]的流量,端口[/font]2[font=宋体]所在链路也可以承载[/font]VLAN 10[font=宋体]的流量,同时具备链路备份的功能。这在以往的单生成树情况下是无法实现的。[/font]
[font=宋体]聪明伶俐的[/font]PVST/PVST[font=宋体]+协议实现了[/font]VLAN[font=宋体]认知能力和负载均衡能力,但是新技术也带来了新问题,[/font]PVST/PVST[font=宋体]+协议也有它们的[/font]“[font=宋体]难言之隐[/font]”[font=宋体]。[/font]
[font=宋体]第一点缺陷:由于每个[/font]VLAN[font=宋体]都需要生成一棵树,[/font]PVST BPDU[font=宋体]的通信量将正比于[/font]Trunk[font=宋体]的[/font]VLAN[font=宋体]个数。[/font]
[font=宋体]第二点缺陷:在[/font]VLAN[font=宋体]个数比较多的时候,维护多棵生成树的计算量和资源占用量将急剧增长。特别是当[/font]Trunk[font=宋体]了很多[/font]VLAN[font=宋体]的接口状态变化的时候,所有生成树的状态都要重新计算,[/font]CPU[font=宋体]将不堪重负。所以,[/font]Cisco[font=宋体]交换机限制了[/font]VLAN[font=宋体]的使用个数,同时不建议在一个端口上[/font]Trunk[font=宋体]很多[/font]VLAN[font=宋体]。[/font]
[font=宋体]第三点缺陷:由于协议的私有性,[/font]PVST/PVST[font=宋体]+不能像[/font]STP/RSTP[font=宋体]一样得到广泛的支持,不同厂家的设备并不能在这种模式下直接互通,只能通过一些变通的方式实现,例如[/font]Foundry[font=宋体]的[/font]IronSpan[font=宋体]。[/font]IronSpan[font=宋体]默认情况下运行的是[/font]STP[font=宋体]协议,当某个端口收到[/font]PVSTBPDU[font=宋体]时,该端口的生成树模式会自动切换成[/font]PVST/PVST[font=宋体]+兼容模式。[/font]
[font=宋体]一般情况下,网络的拓扑结构不会频繁变化,所以[/font]PVST/PVST[font=宋体]+的这些缺点并不会很致命。但是,端口[/font]Trunk[font=宋体]大量[/font]VLAN[font=宋体]这种需求还是存在的。于是,[/font]Cisco[font=宋体]对[/font]PVST/PVST[font=宋体]+又做了新的改进,推出了多实例化的[/font]MISTP[font=宋体]协议。[/font]

[font=宋体]多实例化的第三代生成树协议:[/font]MISTP/MSTP

[font=宋体]多实例生成树协议[/font]MISTP[font=宋体]([/font]Multi-Instance Spanning TreeProtocol[font=宋体])定义了[/font]“[font=宋体]实例[/font]”[font=宋体]([/font]Instance[font=宋体])的概念。简单的说,[/font]STP/RSTP[font=宋体]是基于端口的,[/font]PVST/PVST[font=宋体]+是基于[/font]VLAN[font=宋体]的,而[/font]MISTP[font=宋体]就是基于实例的。所谓实例就是多个[/font]VLAN[font=宋体]的一个集合,通过多个[/font]VLAN[font=宋体]捆绑到一个实例中去的方法可以节省通信开销和资源占用率。[/font]
[font=宋体]在使用的时候可以把多个相同拓扑结构的[/font]VLAN[font=宋体]映射到一个实例里,这些[/font]VLAN[font=宋体]在端口上转发状态将取决于对应实例在[/font]MISTP[font=宋体]里的状态。值得注意的是网络里的所有交换机的[/font]VLAN[font=宋体]和实例映射关系必须都一致,否则会影响网络连通性。为了检测这种错误,[/font]MISTPBPDU[font=宋体]里除了携带实例号以外,还要携带实例对应的[/font]VLAN[font=宋体]关系等信息。[/font]MISTP[font=宋体]协议不处理[/font]STP/RSTP/PVST BPDU[font=宋体],所以不能兼容[/font]STP/RSTP[font=宋体]协议,甚至不能向下兼容[/font]PVST/PVST[font=宋体]+协议,在一起组网的时候会出现环路。为了让网络能够平滑地从[/font]PVST[font=宋体]+模式迁移到[/font]MISTP[font=宋体]模式,[/font]Cisco[font=宋体]在交换机产品里又做了一个可以处理[/font]PVST BPDU[font=宋体]的混合模式[/font]MISTP-PVST[font=宋体]+。网络升级的时候需要先把设备都设置成[/font]MISTP-PVST[font=宋体]+模式,然后再全部设置成[/font]MISTP[font=宋体]模式。[/font]
MISTP[font=宋体]带来的好处是显而易见的。它既有[/font]PVST[font=宋体]的[/font]VLAN[font=宋体]认知能力和负载均衡能力,又拥有可以和[/font]SST[font=宋体]媲美的低[/font]CPU[font=宋体]占用率。不过,极差的向下兼容性和协议的私有性阻挡了[/font]MISTP[font=宋体]的大范围应用。[/font]
[font=宋体]多生成树协议[/font]MSTP[font=宋体]([/font]Multiple Spanning Tree Protocol[font=宋体])是[/font]IEEE 802.1s[font=宋体]中定义的一种新型多实例化生成树协议。这个协议目前仍然在不断优化过程中,现在只有草案([/font]Draft[font=宋体])版本可以获得。不过[/font]Cisco[font=宋体]已经在[/font]CatOS 7.1[font=宋体]版本里增加了[/font]MSTP[font=宋体]的支持,华为公司的三层交换机产品[/font]Quidway[font=宋体]系列交换机也即将推出支持[/font]MSTP[font=宋体]协议的新版本。[/font]
MSTP[font=宋体]协议精妙的地方在于把支持[/font]MSTP[font=宋体]的交换机和不支持[/font]MSTP[font=宋体]交换机划分成不同的区域,分别称作[/font]MST[font=宋体]域和[/font]SST[font=宋体]域。在[/font]MST[font=宋体]域内部运行多实例化的生成树,在[/font]MST[font=宋体]域的边缘运行[/font]RSTP[font=宋体]兼容的内部生成树[/font]IST[font=宋体]([/font]Internal Spanning Tree[font=宋体])。[/font]


[font=宋体]图[/font]7   MSTP[font=宋体]工作原理示意图[/font]
[attach]152191[/attach]

[font=宋体]图[/font]7[font=宋体]中间的[/font]MST[font=宋体]域内的交换机间使用[/font]MSTP BPDU[font=宋体]交换拓扑信息,[/font] SST[font=宋体]域内的交换机使用[/font]STP/RSTP/PVST[font=宋体]+[/font] BPDU[font=宋体]交换拓扑信息。在[/font]MST[font=宋体]域与[/font]SST[font=宋体]域之间的边缘上,[/font]SST[font=宋体]设备会认为对接的设备也是一台[/font]RSTP[font=宋体]设备。而[/font]MST[font=宋体]设备在边缘端口上的状态将取决于内部生成树的状态,也就是说端口上所有[/font]VLAN[font=宋体]的生成树状态将保持一致。[/font]
MSTP[font=宋体]设备内部需要维护的生成树包括若干个内部生成树[/font]IST[font=宋体],个数和连接了多少个[/font]SST[font=宋体]域有关。另外,还有若干个多生成树实例[/font]MSTI[font=宋体]([/font]Multiple Spanning Tree Instance[font=宋体])确定的[/font]MSTP[font=宋体]生成树,个数由配置了多少个实例决定。[/font]
MSTP[font=宋体]相对于之前的种种生成树协议而言,优势非常明显。[/font]MSTP[font=宋体]具有[/font]VLAN[font=宋体]认知能力,可以实现负载均衡,可以实现类似[/font]RSTP[font=宋体]的端口状态快速切换,可以捆绑多个[/font]VLAN[font=宋体]到一个实例中以降低资源占用率。最难能可贵的是[/font]MSTP[font=宋体]可以很好地向下兼容[/font]STP/RSTP[font=宋体]协议。而且,[/font]MSTP[font=宋体]是[/font]IEEE[font=宋体]标准协议,推广的阻力相对小得多。[/font]
[font=宋体]可见,各项全能的[/font]MSTP[font=宋体]协议能够成为当今生成树发展的一致方向是当之无愧的。[/font]

[font=宋体]生成树协议的未来之路[/font]

[font=宋体]任何技术的发展都不会因为某项[/font]“[font=宋体]理想[/font]”[font=宋体]技术的出现而停滞,生成树协议的发展历程本身就说明了这一点。随着应用的深入,各种新的二层隧道技术不断涌现,例如[/font]Cisco[font=宋体]的[/font]802.1QTunneling[font=宋体],华为[/font]QuidwayS8016[font=宋体]的[/font]QinQ[font=宋体],以及基于[/font]MPLS[font=宋体]的二层[/font]VPN[font=宋体]技术等。在这种新形势下,用户和服务提供商对生成树协议又会有新的需求。生成树协议该往何处走?这个问题虽然现在还没有一个统一的答案,但是各厂商已经开始了这方面的积极探索。也许不久的将来,支持二层隧道技术的生成树协议将成为交换机的标准协议。[/font]

[[i] 本帖最后由 garnett_wu 于 2006-10-19 17:49 编辑 [/i]]

clsf 2006-10-20 10:20

不错,好文章,多谢版主了!

nicewangliang 2006-10-20 11:30

多谢分享。学习了

jjww1001 2006-10-20 16:00

谢谢分享,学习中

twtyj81 2006-10-31 17:04

我要多多学习,楼主辛苦了

魅影封城 2006-11-20 23:48

楼主辛苦了

多谢分享。学习了

lyh5399 2006-11-21 18:48

好东西!多谢楼主!

liujun0205 2007-1-15 10:07

[size=11px]好东西啊,我先下了再说![/size]

lcy 2007-1-28 00:28

好东西,谢谢楼主

不要袜子的鞋 2007-7-27 10:53

谢谢楼主啊!楼主真是大好人!

myname1994 2007-7-28 15:33

不错。这几天刚组建了一个网络实验室都在做这些实验呢。

coolang 2007-7-31 18:55

先学习了。。哈哈。。谢谢~

zhutou1982 2007-8-2 14:40

好久都没看理论了。忘了。继续学习。

[[i] 本帖最后由 garnett_wu 于 2008-1-25 20:21 编辑 [/i]]

a8611290a 2007-8-4 12:23

这个讲的很详细,谢谢了

jimyao 2007-8-28 11:03

学习下了~

normaler 2007-8-28 13:29

谢谢分享,谢谢楼主

bisheli 2007-9-3 20:49

讲的很详细,学习了!

hdparm 2007-9-24 11:08

谢谢楼主

jiangqitao 2007-9-27 14:11

生成树的出现解决了,很多问题。

wangfan903 2007-12-11 20:11

真的是好东西!谢谢斑竹!

行梨 2007-12-20 15:02

多谢分享,学习中

liuxing358 2008-1-11 10:40

谢谢2楼了

phobeboy 2008-4-30 15:02

还是版主好
页: [1]
查看完整版本: 生成树协议的演进(图)