生成树主要的目的就是为了防止二层环路。

广播风暴、广播帧的目的MAC是全F的,一个交换机从一个接口收到的泛洪流量会从自己的接口泛洪出去。在整个交换网络泛洪就形成了广播风暴。


BPDU (Bridege Protocol Data Unit )

STP 的各种选举是通过交换BPDU报文来实现的。BPDU是直接封装在以太网帧中。

对于参与STP的所有SW,他们都是通过数据消息的交换来获取网络中的其他SW信息,这种消息就称为BPDU

BPDU 是直接封装在二层的协议,其MAC地址最后封装为:00 (01:80:C2::00:00:00)

BPDU 的功能:

1.选举根桥

2.确定冗余路劲位置

3.通过阻塞特定端口来避免选路

4.通告网络的拓扑变更

5.监控生成树的状态

BPDU2S由根桥发送一次


STP的分类:

         &DEC SPT 是由 Radia Perlman 1985年于DCE公司(数据设备公司)开发出来的

   &1990年,IEEE基于Perlman 设计的算法公布了首个标准协议-802.1D。后来又于1998年和2004年公布了后来的版本,其中包含了多种扩展版本。

         CST(公共生成树)

         PVST+ (VLAN生成树增强版)

         RSTP  (快速生成树)

         PVRST+ 是思科对RSTP的增强版,与PVST+类似,它可以为每个VLAN分别提供一个独立的802.1W实例(实例就是等于树)

协议

标准

所需资源

收敛速度


CST

802.1D

所有VLAN

PVST+

Cisco

VLAN

RSTP

802.1w

所有VLAN

RVRST+

Cisco

很高

VLAN

MSTP

802.1S

/

VLAN列表

生成树协议的比较

  SPT是一个IEEE委员会标准,委员会将其定义为802.1D。快速生成树则被定义为802.1W


  STPRSTP的行为如下:

  STP会强制一些端口进入备份状态,使其不会侦听、转发或泛洪数据帧。总的效果就是最后只有一条路径能头通向一个网段,而该路径随时处理活跃状态。

如果网络中通往任何网段的连通性出了问题。STPRSPT就会通过自动激活先前的非活动(Inactive)路径来重建连接(前题是网络中存在冗余路径)


生成树的选举过程:

         1.选举根网桥  (Root bridge)

           SPT协议会通过一个进程来选举根网桥。在网络中,每个VLAN中只能有1个网桥当根网桥(Root bridge)在根网桥上面,所有的端口都会成为指定端口。指定端口不仅能够发送和接受流量,而且还可以发送接收配置消息或BPDU。优先级低的选举为根网桥。

ID 最小的ID 2字节的优先级+6字节MAC

默认的优先级是32768BGP中的默认优先级也是32768

交换机的MAC用的CPU背板 BPDU只能是根桥始发。


         2.选举根端口 (Root prot)

根端口出现在每一个非根桥上面,根桥上面没有根端口。有且只有一个根端口。

         STP协议会在每个非根桥上面建立1个根端口。根端口所连路劲是非根桥到根桥之间最低的路径。根端口可以接收和发送流量。如果非根桥到根桥之间存在多条等价路径。那么非跟网桥就会选择端口ID 最低的端口作为根端口,端口ID是由优先级和端口号共同所组成。如果所有都具备根端口资格的端口优先级相同,那么默认选择最小的端口为根端口。

        3.选择各个网段的指派端口

         STP会在网桥上为每个网段分别建立一个指定端口。它到达根网桥的开销最低



非指定交换机上面的端口角色

端口角色

描述

根端口

这一类端口存在非根桥上,它是交换机端口去往根桥的最佳路径。根端口会将数据流转发给根桥,而根端口上接受到的数据帧源MAC地址会被填入到MAC标中,每个网桥上面只有一个根端口。

指定端口

这一类端口既存在于根网桥上,也存在于非根网桥上,对于根网桥来说,所有的交换机端口都会成为指定端口,对于非根网桥来说,指定端口是根据需要与根交换机收发数据帧的端口。每个网段中只能有一个指定端口。如果同一个网段中有多台交换机,那么他们就会通过一个进程来决定出谁是指定交换机。而相应的交换机在这个网段的端口就会开始为这个网段转发数据帧,指定端口上接收到的数据帧源MAC地址也会被填入到MAC表中。

非指定端口

非指定端口既不会转发数据帧(因为被阻塞了),也不会将该网段接收到的数据包源MAC地址填入MAC地址表中。

禁用端口

禁用端口是指被关闭的交换机端口。