您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > STP,RSTP,MSTP生成树协议培训
生成树协议(SpanningTreeProtocol)一、基本含义生成树是一个交换网络中检测交消除冗余链路以防止出现二层循环的一个协议。如果不运行STP,帧有可能会在网络中循环发送,流量极剧升高,最后使整个网络彻底瘫痪。STP最初是一个较慢的基于软件实现的一个桥接规范(IEEE802.1D),现在已经是一个相当成熟的协议了,可以在一个具有多VLAN、大量交换机、多厂商的复杂环境中很好的实施。二、运行机制具有最低的桥ID(BID)的交换机每个VLAN的根桥(rootbridge),BID由桥优先级和交换机的MAC地址组成。最初,所有的交换出都将发出包括自己BID及到达自己的路径代价(pathcost)在内的桥接协议数据单元(BPDUs),这样就可以检测出rootbridge和到达rootbridge的最小代价的路径,从rootbridge发出的BPDUs中包含的附加设置将覆盖交换机的本地配置,这样整个网络就使用一个一致的时钟。网络拓朴将按照下述步骤进行收敛:1.在整个生成树域中选举出一个唯一的rootbridge;2.在每个非rootbridge的交换机上选举出一个root端口(面向rootbridge);3.在每一段中选举出一个designated端口用于转发BPDU;4.非designated端口切换到block状态。基本的计时器缺省值(秒)、名称和功能:1.Hello控制发送BPDU,缺省值为2。2.ForwardDelay(Fwddelay)控制在listening和learning状态下引起拓朴改变的进程,缺省值为15。3.Maxage控制交换机为当前拓朴选择一个候选路径的时间,maxage超时后,交换机将从处于Blocking状态的端口中选择一个新的root端口,如果没有blooking端口可用,它将在指定端口上声称自己将成为rootbridge,缺省值为20。端口状态含义到下一个状态的缺省时间:1.Disabled管理员Shutdown不适用2.Blocking接收BPDUs,不转发用户数据监测收到的BPDUs为Maxage超时等待20秒,或在检测到本地失效时直接进行状态切换。3.Listening发送和接收BPDUs,检测是否需要BlockingFwddelay计时器(等15秒)4.Learning建立拓朴或CAM表Fwddelay计时器(15秒)5.Forwarding转发数据总的基本拓朴转换时间:20+2(15)=50秒直接链路失效为30秒三、BPDU用于配置的BPDU流量:用于配置的BPDUs每隔一个hello间隔从RootBridge的所有端口发到叶交换机上面,用于维护整个生成树的状态。在稳定状态,BPDU流量是单向的,Root端口和blocking端口仅接收用于配置的BPDUs,而指定端口只发送用于配置的BPDUs。如果RootBridge失效或所有连接到RootBridge的链路都失效了,在Maxage计时器超时后重新进行选举。拓朴变化提示(TCN)BPDUs流:拓朴变化提示BPDUs在检测到生成树的拓朴发生改变时由叶交换发到RootBridge,Root端口只发送TCNs,而指定端口只接收TCNs.TCNBPDU在发向RootBridge中的每一步都被确认,这是一个可靠的机制,一旦到达RootBridge,RootBridge将通过一个将TCN标记设置为Maxage+Fwddely(缺省为35秒)的用于配置的BPDU向整个生成树域宣告这个拓朴变化的发生,使所有的交换机将它们的MAC老化计时器从5分钟(缺省的)修改为Fwddelay(缺省为15秒)所规定的时间间隔。快速生成树协议(RapidSpanningTreeProtocol)一、STP的弊端SpanningTree的算法广泛运用于二层以太网的收敛和自愈,但是由于它的出现是在局域网的初期所开发的技术,所以它也存在着一些弊端,主要有以下几个不足。1、二层数据网的收敛时间过长根据802.1d的算法,每个叶结点的初始化时间约为30秒钟,整个拓扑的收敛将会在45秒左右,即使是一个以太网端口由于插入计算机也需要这个过程。而我们知道一旦在关键网络如主机核心机房的连接,用户期望的值往往要短的多。2、网络拓扑容易引起全局波动由于802.1d的理论没有域的概念,网络中用户增加或减少设备、设备配置的改变往往会引起全局不必要的波动,用户如果改变其设备参数甚至能引起bridgeroot的改变,出现通信网络的中断。这造成用户在大规模的数据网络中不敢轻易使用802.1d的算法。二、RSTP的改进算法为了解决STP协议的这个缺陷,在世纪之初IEEE推出了802.1w标准,作为对802.1D标准的补充。在IEEE802.1w标准里定义了快速生成树协议RSTP(RapidSpanningTreeProtocol)。RSTP协议在STP协议基础上做了三点重要改进,使得收敛速度快得多(最快1秒以内)。第一点改进:为根端口和指定端口设置了快速切换用的替换端口(AlternatePort)和备份端口(BackupPort)两种角色,当根端口/指定端口失效的情况下,替换端口/备份端口就会无时延地进入转发状态。图2中所有网桥都运行RSTP协议,SW1是根桥,假设SW2的端口1是根端口,端口2将能够识别这种拓扑结构,成为根端口的替换端口,进入阻塞状态。当端口1所在链路失效的情况下,端口2就能够立即进入转发状态,无需等待两倍ForwardDelay时间。图2RSTP冗余链路快速切换示意图第二点改进:在只连接了两个交换端口的点对点链路中,指定端口只需与下游网桥进行一次握手就可以无时延地进入转发状态。如果是连接了三个以上网桥的共享链路,下游网桥是不会响应上游指定端口发出的握手请求的,只能等待两倍ForwardDelay时间进入转发状态。第三点改进:直接与终端相连而不是把其他网桥相连的端口定义为边缘端口(EdgePort)。边缘端口可以直接进入转发状态,不需要任何延时。由于网桥无法知道端口是否是直接与终端相连,所以需要人工配置。可见,RSTP协议相对于STP协议的确改进了很多。为了支持这些改进,BPDU的格式做了一些修改,但RSTP协议仍然向下兼容STP协议,可以混合组网。多生成树协议(MSTP)长期以来,设计二层网络的网管人员一直依赖IEEE802.1D生成树协议(STP)提供冗余性,确保多个网桥和交换机之间的无环路连接性。然而802.1D和802.1QVLAN的结合却给人们带来了挑战。如果用户用多条链路来分隔VLAN传输流的话,STP会使其中的一些数据路径失去作用。802.1S多生成树协议(MSTP)支持网络中的多个生成树,从而解决了这个问题。这项标准使管理人员可以将VLAN传输流分配到特定的路径上。以一个配置三台全互联交换机的网络为例。在这一网络中有两个ID号分别为10和20的VLAN。交换机1将VLAN10和VLAN20分配到交换机的两个端口上,使VLAN10和VLAN20数据流在独立的链路上传送。乍看起来,这似乎是将数据流负载平衡到两条VLAN上的理想配置。但是,STP运行在网络中的所有这三台交换机上。在交换机3被选为根桥接器的情况下,STP将阻塞交换机1与交换机2之间的链路,这就使来自VLAN20的数据流不能在网络上传送。造成这个问题的原因是:尽管交换机将VLAN10和20当做完全独立的网络来对待,但是原始的基于802.1D的STP却将整体拓扑结构当做一个网络来处理。一种解决办法是在交换机上运行多个独立的STP副本,即所谓的生成树实例。然而将惟一的生成树实例分配给每一个VLAN并不现实,因为这会造成交换机的额外开销。相反,多数网络只需要很少几个逻辑拓扑结构,每个拓扑结构一个生成树实例应当能够满足需要。多台设备若想正确地通信,就必须知道如何将VLAN映射到多个生成树实例上。在大型企业网络中可能需要不同的VLAN到MSTP的实例,因此802.1S标准利用多生成树域可提供这些不同的映射。回过头来再看上面的例子,会看到如何利用802.1S解决拓扑结构问题。如果将VLAN10分配给MSTP实例1,将VLAN20分配给MSTP实例2,将有两条独立的生成树拓扑结构。交换机3将成为实例1的根桥接器,阻塞交换机1与2之间的链路。不过与基于802.1D的情况不同,这条链路上阻塞的只是来自VLAN10的数据流,而来自VLAN20的数据流则可以在链路上传送。同样,MSTP实例2选择交换机2作为其根桥接器,阻塞交换机1与交换机3之间的链路,阻挡来自VLAN20的数据流。通过分配VLAN来隔离生成树拓扑结构,网管人员可确保两条VLAN正确地在网络上运行。这样就获得了所需要的在网络上平衡数据流的效果,显示了802.1SMSTP在一个网络拓扑结构中的价值。
本文标题:STP,RSTP,MSTP生成树协议培训
链接地址:https://www.777doc.com/doc-2850716 .html