冗余链路会产生的问题:
  1.广播风暴
  2.多帧复制
  3.MAC地址表不稳定
  4.多个回路
  解决办法是选择生成树协议,阻塞多余的冗余端口。
  生成树协议的目的是维持一个无回路的网络。
  如果一个设备在拓扑中发现一个回路,它将阻塞一个或多个冗余的端口。当网络拓扑发生变化时,生成树协议将重新配置交换机的各个端口以避免链接丢失或者出现新的回路。
  生成树协议的基本规则:
  1.选择一个根桥:一个网段(物理网段)只能有一个根桥,根桥上的所有端口都是"指定端口",可以转发数据。
  2.非根桥只有"根端口"可以转发数据,用来和根桥相连的"根端口"只能有一个。其余端口不是"根端口",将被阻塞。
  根桥   ==> 所有端口都是"指定端口"
  非根桥 ==> 一个"根端口",其余阻塞。
  只有"指定端口"和"根端口"可以转发数据。
  根桥的选择方法:
  采用生成树算法的交换机通过"网桥协议数据单元"(BPDU)的数据包定期交换配置信息,其中包括桥ID(Bridge ID)
  信息。 [桥ID=优先级+交换机MAC] 桥ID小的交换机将成为根桥。优先级可以指定,默认为32768.
  非根桥上的根端口选择方法:
  非根桥到达根桥只需要一个端口(根端口),选择的时候会选择到达根桥路径代价最低的端口,这个端口就叫做根端口。如果到达根桥的路径代价相等则比较端口的MAC,最低的选择为"根端口".
  到达路径的代价一般以带宽为依据,IEEE802.1d规定的路径的代价既开销(cost)如下:
  10Gbps=2     1Gbps=4     100Mbps=19     10Mbps=100
  开销小的将被选择为根端口。
  非根桥上的非根端口在阻塞状态下也能够监听BPDU数据包,如果20秒收不到根桥的信息则开始转换自己的状态:
  blocking(阻塞)——20秒——>listening(监听)——15秒——>learning(学习)——15秒——>forwarding(转发)
  这样大约50秒的时间非根端口转变成为"根端口"或者变为"指定端口"开始转发数据。
  关闭交换机上的生成树协议(Catalyst 1900):
  (config)#no span 1    关闭VLAN1上的生成树协议。
  如果有冗余链路的存在并且关闭了交换机上的生存树协议的话网络将很容易瘫痪。