生成树协议(stp)可以检测并消除网络环路,并且可以在两台交换机,网桥或路由器之间提供备份的连接。这样可以允许一个网桥和其它支持stp的网桥通信,以确保在网络上的任意两个终端之间只会存在一条路径。
5.2.1 快速生成树协议
zywall使用ieee 802.1w中定义的快速生成树协议(rstp)可以实现生成树的快速(相比较只支持stp的网桥来说)融合。使用rstp的时候,拓扑更改信息也可以不用传播到根网桥,同时无用的已学地址会从过滤数据库中删除掉。rstp定义了3种端口状态:丢弃、学习和转发。
5.2.2 stp术语
根网桥是生成树的基础;它是具有最低标识值(mac地址)的网桥。
路径开销是从根网桥向某一个端口发送数据帧的开销。它是根据该端口所接链路的速率而定的。链路速率越低,开销值越大(请参考下表)。
表25 stp路径开销

在每一个网桥里,根端口是其它网桥和根网桥通信的端口。它是交换机到根网桥的路径开销最小的端口。如果没有根端口,那么这台交换机就会作为生成树网络的根网桥。
为了确定哪一个端口应该关闭,必须知道指定端口(指定网桥)。指定端口(网桥)取决于物理网段,在所有的物理网段上都存在指定端口(网桥)。它是该网段中到根网桥开销最低的网桥。
5.2.3 stp怎样工作
当利用stp 生成树协议决定了开销最低的生成树之后,它将允许根端口和指定端口处于激活状态,其它的端口处于阻塞状态。这样网络数据包将只能通过这些激活端口,从而消除网络环路。
支持stp 生成树协议的交换机将会周期性地交换bpdu(网桥协议数据单元)但是当交换网络结构改变的时候,一个新的生成树将会重新构架。
一旦网络拓扑稳定下来,所有的网桥都会侦听从根网桥发送的bpdu 数据。如果一个网桥在一段间隔时间之后还没有 收到bpdu 信息,就会认为到根网桥的链路断掉了。这样网桥就会和其它网桥重新协商建立一个有效的网络拓扑。
5.2.4stp端口状态
stp 会采用5 种端口状态(见下表)来消除网络环路。
表26 stp 端口状态
端口状态描述
disabled stp未激活(缺省)。
blocking 只有管理和配置bpdu 信息可以接收并被处理。
listening 所有的bpdu 都可以接收并被处理。
learning 所有的bpdu 都可以接收并被处理。信息帧发送到学习过程,但是不再进行转发。
forwarding 所有都可。所有的信息并转发。的bpdu 以接收并被处理帧都可以接收