STP生成树协议及链路聚合

一、STP概述

STP简介

通过在交换机之间传递一种特殊的协议报文,网桥协议数据单元(Bridge Protocol Data Unit,简称BPDU),来确定网络的拓扑结构。BPDU有两种,配置BPDU(Configuration BPDU)和TCN BPDU。前者是用于计算无环的生成树的,后者则是用于在二层网络拓扑发生变化时产生用来缩短MAC表项的刷新时间的(由默认的300s缩短为15s)

  • 逻辑上断开环路,防止广播风暴的产生
  • 当线路故障,阻塞接口被激活,恢复通信,起备份线路的作用

交换网络环路的产生

  • 广播风暴的形成
  • 多帧复制
  • MAC地址表紊乱

QQ截图20211025085635.png

二、工作原理

1.生成树算法

​ 三步骤

  1. 选择根网桥>>>网桥ID是唯一的;选择交换网络中网桥ID最小的交换机成为根网桥(取值范围:0~65535;缺省‘’默认‘’值:32768)

  2. 选择根端口>>>到根网桥最低的路径成本,直接的网桥ID最小,端口ID最小。根路径成本:网桥到根网桥的路径上所有链路的成本之和。根网桥上的端口都不是根端口

    链路带宽 路径成本
    10 100
    100 19
    1000 4
    10000 2
  3. 选择指定端口>>>根桥上的端口全是指定端口,在每一个网段上选择一个指定端口,非根桥上的指定端口选择顺序:根路径成本较低>所在的交换机的网桥ID的值较小>端口ID的值较小。(端口ID取值范围:0~255,缺省值:128)

BPDU桥协议数据单元,配置BPDU–用于生成树计算,使用组播发送BPDU,拓扑变更通告用于通告网络拓扑的变化。 BPDU报文字段:其中包含根网桥ID、根路径成本、发送网桥ID、端口ID和计时器等。

(在每个网段选择1个指定端口)

QQ截图20211025091345.png

三台交换机的生成树协议选举

QQ截图20211025091747.png

2.BPDU(桥协议数据单元)

使用组播发送BPDU

类型:配置BPDU;拓扑变更通告(TCN)BPDU

报文字段:根网桥ID、根路径成本、发送网桥ID、端口ID

STP利用BPDU选择根网桥

  1. 当一台交换机第一次启动时,先假定自己是跟网桥,在BPDU报文中的跟网桥ID字段填入自己的网桥ID,并向外发送。
  2. 交换机比较接收的BPDU报文中的根网桥ID与自己的网桥ID的值哪个更小,如果接收到的BPDU中的根网桥ID值小于自己的网桥ID值,则用接收到的根网桥ID替换现有的根网桥ID,并向外转发。
  3. 收敛后,如果有一台网桥ID值更小的交换机加入进来,那么,它首先把自己当做一个跟网桥在网络中通告。

3.STP的收敛

交换机端口的STP状态

状态 用途
转发 发送/接收用户数据
学习 构建网桥表
侦听 构建“活动”拓扑
阻塞 只接受BPDU
禁用 强制关闭

4.STP计时器

STP在交换机相互发送BPDU报文时,尽力形成一个无还路的拓扑。STP利用三种计时方法来确保一个网络正确的收敛。

  1. HELLO时间:网桥发送配置BPDU报文之间的时间间隔。在IEEE802.1q标准规定的默认访问时间为2秒。

  2. 转发延迟:一个交换机端口在Listening(侦听)和Learning(学习)状态所花费的时间间隔,默认值各为15s。

  3. 最大老化时间:交换机在丢弃BPDU报文之前存储它的最大时间。 从阻塞到侦听(20s) 从侦听到学习(15s)

    从学习到转发(15s)

链路聚合

链路聚合,是将多个物理二层链路捆绑为一个逻辑二层链路的技术。 链路聚合解决什么问题:

  1. 增加链路带宽:多个小带宽链路汇聚为一个大带宽链路,一般采用负荷分担模式:符合分担是基于流来进行的,避免乱序。
  2. 增加链路的可靠性:通过冗余的多个链路,一条物理链路出问题,不影响整个逻辑链路。