🔹全称:Spanning Tree Protocol
🔹链接:链接

介绍

定义

以太网交换网络中为了进行链路备份,提高网络可靠性,通常会使用冗余链路。但是使用冗余链路会在交换网络上产生环路,并导致广播风暴以及MAC地址表不稳定等故障现象,从而导致用户通信质量较差,甚至通信中断。为解决交换网络中的环路问题,提出了生成树协议STP,STP包含两种含义:

  • 狭义的STP是指IEEE 802.1d中定义的STP协议。
  • 广义的STP包括IEEE 802.1d中定义的STP、IEEE 802.1W中定义的快速生成树协议 RSTP(Rapid Spanning Tree Protocol)和IEEE 802.1S中定义的多生成树协议 MSTP(Multiple Spanning Tree Protocol)。

目前,生成树协议支持如下:

STP

IEEE于1998年发布的802.1D标准定义了STP。STP是数据链路层的管理协议,用于二层网络的环路检测和预防。STP可阻塞二层网络中的冗余链路,将网络修剪成树状,达到消除环路的目的。但是,STP拓扑收敛速度慢,端口必须等待两倍forward delay定时器的时间延迟才能迁移到转发状态。

RSTP

IEEE于2001年发布的802.1W标准定义了RSTP。RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛。但RSTP和STP还存在同一个缺陷:局域网内所有网桥共享一棵生成树,不能按VLAN阻塞冗余链路,所有VLAN的报文都沿着一棵生成树进行转发。RSTP向下兼容STP协议,可以混合组网。

MSTP

IEEE于2002年发布的802.1S标准定义了MSTP。MSTP通过设置VLAN映射表(即VLAN和生成树实例的对应关系表),把VLAN和生成树实例联系起来。同时它把一个交换网络划分成多个域,每个域内形成多棵生成树实例,生成树实例之间彼此独立。MSTP将环路网络修剪成为一个无环的树形网络,避免报文在环路网络中的增生和无限循环,同时还提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载均衡。

MSTP兼容STP和RSTP,三种生成树协议的比较如下表所示:

生成树协议 特点 应用场景 注意事项
STP 形成一棵无环路的树:解决广播风暴并实现冗余备份。 无需区分用户或业务流量,所有VLAN共享一棵生成树。 说明:
- 若当前NE40E只支持STP,建议选择使用STP。
  • 若当前NE40E既支持STP又支持RSTP,建议使用RSTP。

  • 若当前NE40E既支持STP/RSTP又支持MSTP,建议选择使用MSTP。

    | | RSTP |
    - 形成一棵无环路的树:解决广播风暴并实现冗余备份。
    - 收敛速度快。
    | | | | MSTP |
    - 形成一棵无环路的树:解决广播风暴并实现冗余备份。
    - 收敛速度快。
    - 多棵生成树在VLAN间实现负载均衡,不同VLAN的流量按照不同的路径转发。
    | 需要区分用户或业务流量,并实现负载分担。不同的VLAN通过不同的生成树转发流量,每棵生成树之间相互独立。 | |

目的

在以太网交换网中部署生成树协议后,如果网络中出现环路,生成树协议通过拓扑计算,可实现:

  • 消除环路:通过阻塞冗余链路,消除网络中可能存在的网络通信环路。
  • 链路备份:当前活动的路径发生故障时,激活冗余备份链路,恢复网络连通性。

    受益

    由于生成树协议可破除二层环形网络,运营商可获得如下受益:

  • 在组网方面,相比双归属组网,环型拓扑需要的光纤和传输资源更少,这样既能提高可靠性,又能降低资源消耗。

  • 在通信方面,由于能避免广播风暴,生成树协议可以帮助提高通信的及时性和可靠性。

STP出现的背景

STP是一个局域网中消除环路的协议。由于局域网规模的不断增长,生成树协议已经成为了当前最重要的局域网协议之一。运行该协议的设备通过彼此交互信息而发现网络中的环路,并适当对某些端口进行阻塞以消除环路。
生成树协议(STP) - 图1
如上图所示网络中,会产生如下两种情况:

  • 广播风暴导致网络不可用

环路产生广播风暴,这是众所周知的。图中,假设设备上没有启用STP协议。如果HostA发出广播请求,那么广播报文将被DeviceA和DeviceB的端口port1接收,然后分别从DeviceA和DeviceB的端口port2广播出去,DeviceA的port2广播出去的报文会被HostB和DeviceB的port2接收,同时,DeviceB的port2广播出去的报文会被HostB和DeviceA的port2接收,DeviceA和DeviceB收到了广播报文后,又会从各自的端口port1广播出去,广播报文再被对端port1接收并转发,如此反复,最终导致整个网络资源被耗尽,网络瘫痪不可用。

  • MAC地址表震荡导致MAC地址表项被破坏

如图所示,即使是单播报文,也有可能导致设备的MAC地址表项混乱,以致破坏设备的MAC地址表。假设图所示的网络中没有广播风暴,HostA发送一个单播报文给HostB,如果此时HostB临时从网络中移去,那么设备上有关HostB的MAC地址表项也将被删除。此时HostA发给HostB的单播报文,将被DeviceA的端口port1接收,由于DeviceA上没有相应的MAC地址转发表项,该单播报文将被转发到端口port2上,然后DeviceB的端口port2又收到从对端port2端口发来的单播报文,然后又从port1发出去。如此反复,在两台设备上,由于不间断地从端口port1、port2收到主机A发来的单播报文,设备会不停地修改自己的MAC地址表项,从而引起了MAC地址表的抖动。