科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道路由交换生成树协议的发展过程

生成树协议的发展过程

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

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

来源:ZDNet网络频道 2013年9月2日

关键字: RSTP STP 发展 生成树协议

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)

生成树经过一段时间(默认值是30秒左右)稳定之后,所有端口要么进入转发状态,要么进入阻塞状态。STPBPDU仍然会定时从各个网桥的指定端口发出,以维护链路的状态。如果网络拓扑发生变化,生成树就会重新计算,端口状态也会随之改变。

当然生成树协议还有很多内容,在这里不可能一一介绍。之所以花这么多笔墨介绍生成树的基本原理是因为它太“基本”了,其他各种改进型的生成树协议都是以此为基础的,基本思想和概念都大同小异。

STP协议给透明网桥带来了新生。但是,随着应用的深入和网络技术的发展,它的缺点在应用中也被暴露了出来。STP协议的缺陷主要表现在收敛速度上。

当拓扑发生变化,新的配置消息要经过一定的时延才能传播到整个网络,这个时延称为Forward Delay,协议默认值是15秒。在所有网桥收到这个变化的消息之前,若旧拓扑结构中处于转发的端口还没有发现自己应该在新的拓扑中停止转发,则可能存在 临时环路。为了解决临时环路的问题,生成树使用了一种定时器策略,即在端口从阻塞状态到转发状态中间加上一个只学习MAC地址但不参与转发的中间状态,两 次状态切换的时间长度都是Forward Delay,这样就可以保证在拓扑变化的时候不会产生临时环路。但是,这个看似良好的解决方案实际上带来的却是至少两倍Forward Delay的收敛时间!

为了解决STP协议的这个缺陷,在世纪之初IEEE推出了802.1w标准,作为对802.1D标准的补 充。在IEEE 802.1w标准里定义了快速生成树协议RSTP(Rapid Spanning Tree Protocol)。RSTP协议在STP协议基础上做了三点重要改进,使得收敛速度快得多(最快1秒以内)。

第一点改进:为 根端口和指定端口设置了快速切换用的替换端口(Alternate Port)和备份端口(Backup Port)两种角色,当根端口/指定端口失效的情况下,替换端口/备份端口就会无时延地进入转发状态。图2中所有网桥都运行RSTP协议,SW1是根桥, 假设SW2的端口1是根端口,端口2将能够识别这种拓扑结构,成为根端口的替换端口,进入阻塞状态。当端口1所在链路失效的情况下,端口2就能够立即进入 转发状态,无需等待两倍Forward Delay时间。

图2 RSTP冗余链路快速切换示意图

第二点改进:在只连接了两个交换端口的点对点链路中,指定端口只需与下游网桥进行一次握手就可以无时延地进入转发状态。如果是连接了三个以上网桥的共享链路,下游网桥是不会响应上游指定端口发出的握手请求的,只能等待两倍Forward Delay时间进入转发状态。

第三点改进:直接与终端相连而不是把其他网桥相连的端口定义为边缘端口(Edge Port)。边缘端口可以直接进入转发状态,不需要任何延时。由于网桥无法知道端口是否是直接与终端相连,所以需要人工配置。

可见,RSTP协议相对于STP协议的确改进了很多。为了支持这些改进,BPDU的格式做了一些修改,但RSTP协议仍然向下兼容STP协 议,可以混合组网。虽然如此,RSTP和STP一样同属于单生成树SST(SingleSpanning Tree),有它自身的诸多缺陷,主要表现在三个方面。

第一点缺陷:由于整个交换网络只有一棵生成树,在网络规模比较大的时候会导致较长的收敛时间,拓扑改变的影响面也较大。

第二点缺陷:近些年IEEE802.1Q大行其道,逐渐成为交换机的标准协议。在网络结构对称的情况下,单生成树也没什么大碍。但是,在网络结构不对称的时候,单生成树就会影响网络的连通性。

图3 非对称网络示意图

图3中假设SW1是根桥,实线链路是VLAN 10,虚线链路是802.1Q的Trunk链路,Trunk了VLAN 10和VLAN 20.当SW2的Trunk端口被阻塞的时候,显然SW1和SW2之间VLAN 20的通路就被切断了。

第三点缺陷:当链路被阻塞后将不承载任何流量,造成了带宽的极大浪费,这在环行城域网的情况下比较明显。

图4 SST带宽利用率低下示意图

图4中假设SW1是根桥,SW4的一个端口被阻塞。在这种情况下,SW2和SW4之间铺设的光纤将不承载任何流量,所有SW2和SW4之间的业务流量都将经过SW1和SW3转发,增加了其他几条链路的负担。

这些缺陷都是单生成树SST无法克服的,于是支持VLAN的多生成树协议出现了。

聪明伶俐的第二代生成树协议:

PVST/PVST+

每个VLAN都生成一棵树是一种比较直接,而且最简单的解决方法。它能够保证每一个VLAN都不存在环路。但是由于种种原因,以这种方式工 作的生成树协议并没有形成标准,而是各个厂商各有一套,尤其是以Cisco的VLAN生成树PVST(Per VLAN Spanning Tree)为代表。

为了携带更多的信息,PVSTBPDU的格式和STP/RSTPBPDU格式已经不一样,发送的目的地址也 改成了Cisco保留地址 01-00-0C-CC-CC-CD,而且在VLAN Trunk的情况下PVST BPDU被打上了802.1Q VLAN标签。所以,PVST协议并不兼容STP/RSTP协议。

Cisco很快又推出了经过改进的PVST+协议,并成为了 交换机产品的默认生成树协议。经过改进的PVST+协议在VLAN 1上运行的是普通STP协议,在其他VLAN上运行PVST协议。PVST+协议可以与STP/RSTP互通,在VLAN 1上生成树状态按照STP协议计算。在其他VLAN上,普通交换机只会把PVST BPDU当作多播报文按照VLAN号进行转发。但这并不影响环路的消除,只是有可能VLAN 1和其他VLAN的根桥状态可能不一致。

图5 PVST+与SST对接示意图

图5中所有链路默认VLAN是VLAN 1,并且都Trunk了VLAN 10和VLAN 20.SW1和SW3运行单生成树SST协议,而SW2运行PVST+协议。在VLAN 1上,可能SW1是根桥,SW2的端口1被阻塞。在VLAN 10和VLAN 20上,SW2只能看到自己的PVSTBPDU,所以在这两个VLAN上它认为自己是根桥。VLAN 10和VLAN 20的PVST BPDU会被SW1和SW3转发,所以SW2检测到这种环路后,会在端口2上阻塞VLAN 10和VLAN 20.这就是PVST+协议提供的STP/RSTP兼容性。可以看出,网络中的二层环路能够被识别并消除,强求根桥的一致性是没有任何意义的。

 

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章