STP生成树协议解决了二层网络中的环路问题和MAC地址表震荡问题 STP通过阻塞端口来避免环路,并且实现链路备份 STP工作原理:

  1. 选举根桥 选举根桥依据桥ID,STP网络中每个交换机都有一个桥ID 桥ID由16位桥优先级和48位MAC地址构成 桥优先级是可以配置的,取值2的16次方0~65535,默认32786 选举时先比较优先级越小越好,如果相同比较MAC地址越小越好
  2. 每个非根交换机选举一个根端口 非根交换机选举根端口时分别根据根路径开销,对端BID,对端PID和本端PID 端口开销:默认情况下和带宽有关,带宽越高,开销越小。根桥的根路径开销为0 PID:端口ID由优先级和端口号构成,端口优先级取值范围0~240,默认128,步长16 BID:桥ID,如果端口计算得到的累积路径开销相同就选择发送者BID最小的端口作为根端口 累积路径开销:端口收到报文抽取BPDU报文中开销字段的值加上本身的端口开销就是累计路径开销
  3. 每个网段选举指定端口 指定端口的选举也是首先比较累计路径开销,小的就是指定端口,如果相同就比较桥ID,还选不出来就比较端口ID
  4. 阻塞非根,非指定端口 其他端口都是非指定端口

DTP端口状态:

  1. Forwarding:转发状态。可以转发用户流量和BPDU报文,根端口和指定端口进入转发状态
  2. Learning:学习状态。根据收到的用户流量构建MAC地址表,但不转发,防止临时环路
  3. Listening:侦听状态。可以转发BPDU流量但是不转发用户流量
  4. Blocking:阻塞状态。只能接收BPDU报文,不能转发BPDU报文
  5. Disabled:禁用状态。不处理转发BPDU报文,不转发用户流量

每个STP网络中都会存在一个根桥,根桥位于逻辑树的根部。非根桥是根桥的下游设备,当现有根桥发生故障时,非根桥之间会发送BPDU交互信息选举新的根桥。 BPDU分为配置BPDU和TCN BPDU 配置BPDU:初始化时每个交换机都主动发送配置BPDU。网络拓扑稳定过后,只有根交换机才会发送BPDU给下游交换机,,下游交换机收到上游传来的配置BPDU后发送自己的配置BPDU TCN BPDU:下游交换机感知到网络拓扑发生变化时向上游发送的拓扑变化通知