产生情况:

  在多层交换网络上,为了确保网络的高可用性,我们能采用的一种方法就是在整个网络中提供设备、模块和链路的冗余。可是在第二层的冗余,很有可能会导致桥接环路的产生,大批量的数据包将在设备之间循环发送,从而影响乃至于击溃整个网络。

  如图中所示,A请求B的mac地址准备通信,而这两台交换机均没有B的mac地址。在这种情况下,A发送数据帧到网段1,两台交换机上处于网段1的接口会受到该数据帧,并建立自己的mac地址转发表,然后将该数据帧从网段2发出去。这样的环路网络结构,使得交换机在处于网段2的接口上收到数据帧时,又从处于网段1的接口上转发出去。……这样下去,有的时候能到达B,并回包给A;还有的时候,会停止转发该数据帧。

  更严重的情况是,当A发送的是广播帧的时候,在这个环路中,数据帧永远在循环的发送,并且永远不会丢弃(广播的性质决定)。这样的广播风暴会将整个网络都瘫痪掉。

  为了避免这种情况的产生,我们在物理有环路的网络中使用Spanning Tree Protocol(生成树协议,STP),来阻隔会产生环路的冗余链路,从而达到无环路的目的。

 

协议说明:

  STP:生成树协议,SpanningTree Protocol。用于在第二层上防止环路的产生。它通过STA(Spanning-Tree Algorithm)算法,选择一个参考点来判断网络中存在环路的地方,然后加以阻隔,保持各个目标都有一条路径来通信,并且避免环路的产生。

 

  网络标识符:网桥ID(Bridge ID)。一共占用8个字节,前2个字节是网桥优先级,思科Catalyst系列交换机默认的是32768;后6个字节是交换机接口的mac地址。具有唯一性。

 

  生成树路径开销:生成树路径开销是以路径中所有链路的带宽为基础而累加的总路径开销。IEEE规范新修订的开销如下表所示:

 

  桥接协议数据单元:(BPUD)。使用BPUD将拓扑信息传递给其他运行STP的交换机,并以固定的时间间隔(默认2s)进行更新。多播目标地址是01-80-c2-00-00-00。

  BPDU有两种类型:『1』配置BPDU,周期性发出,包含STP参数。『2』TCN(TopologyChange Notification)拓扑变更通告,当交换机检测到拓扑变更时产生。

  BPDU的功能:1.选举根网桥。2.确定冗余路径的位置。3.通过阻塞特定端口来避免环路。4.通告网络的拓扑变更。5.监控生成树的状态。

 

  未完待续,后面要重点写STP选举的过程。