首页 > 编程语言 > 详细

Blog.015 生成树协议(STP)与算法

时间:2021-05-28 14:40:27      阅读:14      评论:0      收藏:0      [点我收藏+]

本章目录

 

 

 

 

1. STP概述
  1.1 STP简介
  1.2 交换网络环路的产生
2. STP工作原理
  2.1 生成树算法步骤
  2.2 网桥ID(BID)和端口ID
  2.3 选择根端口、指定端口的依据
3. 生成树算法验证
4. 网桥协议数据单元(BPDU)
  4.1 STP利用BPDU选择根网桥
5. STP的收敛
  5.1 交换机端口的STP状态
  5.2 STP计时器

 

 

 

 

1. STP概述

    STP(Spanning Tree Protocol)是生成树协议的英文缩写,可应用于计算机网络中树形拓扑结构建立,主要作用是防止网桥网络中的冗余链路形成环路工作。

  1.1 STP简介

 

    为了提高网络可靠性,交换网络中通常会使用冗余链路。
    然而,冗余链路会给交换网络带来环路风险,并导致广播风暴以及MAC地址表不稳定等问题,进而会影响到用户的通信质量。生成树协议STP(Spanning Tree Protocol)可以在提高可靠性的同时又能避免环路带来的各种问题。

  1.2 交换网络环路的产生

 

技术分享图片

 

 

  • 当有环路存在时,广播的发送会引起全网的广播风暴,因此要打破环路的生成条件。
  • 广播风暴(broadcast storm)简单的讲是指当广播数据充斥网络无法处理,并占用大量网络带宽,导致正常业务不能运行,甚至彻底瘫痪,这就发生了“广播风暴”。
  • 而生成树协议就是解决二层广播风暴的重要手段。生成树协议会阻塞一些端口来打破环路的生成条件,当链路出现问题时,被阻塞的端口可以过渡到转发状态,实现链路备份的作用。

 

2. STP工作原理

  • 在每个运行STP协议的设备上依据一定的准则选举出一个树根节点作为网络中的根桥,其他节点为非树根节点;
  • 每一个非树根节点,会选择最优的路径和根桥相连,每个非树根节点上位于最优路径的端口,为该非树根节点的根端口;
  • 如果非树根节点存在冗余链路,则会对相应端口进行阻塞。

  2.1 生成树算法步骤

 

    (1)选择根网桥(Root Bridge)
    (2)选择根端口(Root Port)
    (3)选择指定端口(Designated Ports)

  2.2 网桥ID(BID)和端口ID

 

    (1)网桥ID(BID)

  • 网桥ID是唯一的;
  • 选择交换网络中网桥ID最小的交换及成为根网桥;
  • 取值范围:0-65535;
  • 缺省值:32768

技术分享图片

 

    (2)端口ID

  • 取值范围:0-255;
  • 缺省值:128

技术分享图片

 

 

  2.3 选择根端口、指定端口的依据

    (1)根桥上的端口全是指定端口;
    (2)在每个网段上,选择一个指定端口;
    (3)非根桥上的指定端口,选择顺序:

  • 根路径成本较低;
  • 所在的交换机的网桥ID的值较小;
  • 端口ID的值较小。
  • 根路径成本:网桥到根网桥的路径上所有链路的成本之和。

技术分享图片

 

 

 

3. 生成树算法验证★★★

技术分享图片

    

    相应的划分方式已在图中用颜色表示:

  • 优先级较小的SW2成为根网桥(Root Bridge)
  • 根网桥上的端口都是指定端口(Designated Ports)
  • SW3的网桥ID较小,所以SW3上的端口也为指定端口(Designated Ports)
  • 在SW1和SW3上,离SW2最近的端口是根端口(Root Port)
  • 既不是根端口,也不是指定端口,STP会将这个端口阻塞(Block)

 

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

    网桥协议数据单元(BPDU,Bridge Protocol Data Unit)生成树协议是一种桥嵌套协议,在IEEE 802.1d规范里定义,可以用来消除桥回路。

    它的工作原理是这样的:生成树协议定义了一个数据包,叫做桥协议数据单元BPDU(Bridge Protocol Data Unit)。

  4.1 STP利用BPDU选择根网桥

技术分享图片

 

    

    当交换机启动时,假定自己是根网桥,在向外发送的BPDU中根网桥ID字段填写自己的网桥ID。

 

5. STP的收敛

  5.1 交换机端口的STP状态

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

 

  5.2 STP计时器

    (1)Hello时间
    (2)转发延迟
    (3)最大老化时间

  • Hello Timer 根网桥周期性发送配置BPDU的时间间隔,缺省为2s;
  • Forward Delay Timer 转发延迟计时器,从Listening到Learning状态,或者从Learning转换到Forwarding状态所需要的等待的时间,缺省为15s;
  • Max Age Timer 最大老化时间。在丢弃BPDU之前,网桥用来存储BPDU的时间,缺省为20s。如果一个被阻塞的接口(非指定端口)在收到一个BPDU后,20s的时间内再没有收到BPDU了,则开始进入Listening状态。

 

 

 

 

 

 

-

 

Blog.015 生成树协议(STP)与算法

原文:https://www.cnblogs.com/cityfell/p/14821647.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!