1.STP交换机通过交换STP协议帧来建立和维护STP树,并在网络的物理拓扑发生变化时重新建立STP树。

2.STP协议帧由STP交换机产生,发送、接收和处理。STP协议帧是一种组播帧,组播地址是01-80-c2-00-00-00。

3.STP协议帧采用IEEE 802.3封装格式,其载荷数据被称为BPDU。BPDU由两种类型:(1)Configuration BPDU(2)TCN BPDU

一。Configuration BPDU

初始形成STP树的过程中,各STP交换机都会周期性的主动产生和发送Configuration BPDU。在STP树形成后,只有根桥才会周期性的主动产生和发送Configuration BPDU;相应的,非根交换机会从自己的根端口周期性的接收到Configuration BPDU,并被立即触发而产生自己的Configuration BPDU,同时从自己的指定端口发送出去。

字段 字节数 说明
Protocol Identifier 2 0x0000
Protocol Version Identifier 1 0x00
BPDU Type 1 BPDU类型:(1)0x00:Configuration BPDU;   (2)0x80:TCN BPDU
Flags 1

网络拓扑变化标志:仅使用最低位和最高位

最低位为TC(Topology Change)标志;

最高位为TCA(TC Acknoeledement)标志。

Root Identifier 8 当前根桥的BID
Root Path Cost 4 发送该BPDU的端口的RPC
Bridge Identifier 8 发送该BPDU的交换机的BID
Port Identifier 2 发送该BPDU的端口的PID
Message Age 2

该BPDU消息的年龄:

如果Configuration BPDU是根桥发出的,则Message Age为0.否则,Message Age是从根桥发送到当前根桥接收到BPDU的总时间,包括传输延时等。在实际的实现中Configuration BPDU每“经过”一个桥,Message Age增加1。

Max Age 2 BPDU的最大生命周期,缺省值是20s.
Hello Time 2 根桥发送Configuration BPDU的周期,也相应地成为其他交换机发送的Configuration BPDU周期,缺省值为2s。
Forword Delay 2 控制端口Listening和Learning状态的持续时间,缺省为15s。

Configuration BPDU中携带的参数类型有三种:

(1)BPDU对自身的标识,包括协议标识、版本号、BPDU类型和Flags;

(2)用于进行STP计算的参数,包括发送该BPDU的交换机的BID、当前根桥的BID、发送该BPDU的端口的PID、发送该BPDU的端口的RPC;

(3)时间参数,包括Hello Time、Forward Delay、Message Age、Max Age。

Hello Time:交换机发送Configuration BPDU的时间间隔。当网络拓扑和STP树稳定后,全局的网络使用根桥指定的Hello Time。要修改该时间参数的话,则需要在根桥上修改才有效。

Forward Delay:端口状态的延迟时间。Forward Delay机制:新选出的根端口和指定端口需要经过2倍的转发延时(Forward Delay)后才能进入到用户数据帧的转发状态,以保证此时的工作链路上没有环路。

Message Age:指从根桥发出某个Configuration BPDU,直到这个Configuration BPDU“传”到当前交换机所需要的总时间,包含传输延时等。Configuration BPDU每经过一个桥,Message Age便会增加1.从根桥发出的Configuration BPDU的Message Age为0。

Max Age:Configuration BPDU的最大生命周期。该值由根桥指定,缺省值为20s。STP交换机在收到Configuration BPDU后,会对其中的Message Age和Max Age进行比较。如果Message Age小于等于Max Age,那么Configuration BPDU会触发该交换机产生并发送新的Configuration BPDU,相反的Configuration BPDU会被丢弃。而且也不会触发交换机 产生和发送新的Configuration BPDU。

二。TCN BPDU

TCN BPDU的结构只包含:协议标识、版本号和类型。

工作原理:

当网络中国的某条链路发生了故障,导致工作拓扑发生了变化,那么位于故障点的交换机可以通过端口状态直接感知到这些变化,但是其他的交换机是不能直接感知到这样的变化的。在这样的环境下,位于故障点的交换机会以Hello Time为周期通过其根端口不断的向上游交换机发送TCN BPDU,直到接收到上游交换机发来的、TCA标志为1的Configuration BPDU。上游交换机在收到TCN BPDU后,一方面会通过其指定端口回复TCA标志为1的Configuration BPDU,另一方面会以Hello Time为周期通过其根端口不断的向它的上游交换机发送TCN BPDU。这个过程会一直重复,直到根桥接收到TCN BPDU。根桥接收到TCN BPDU后,会发送TC标志为1的Configuration BPDU,通告所有的交换机网络拓扑发生了变化。

当交换机接收到TC标志置为1 的Configuration BPDU,便意识到网络的拓扑发生了变化。那么自己的MAC地址表的表项内容可能不是正确的了,所以交换机会将自己的MAC地址表的老化周期(缺省值20s)缩短为Forward Delay(缺省值15s)的时间长度,以加速老化掉原来的地址表项。

三。STP端口状态

STP定义了三种状态:根端口、指定端口、备用端口。

STP的5种端口状态:去能状态、阻塞状态、侦听状态、学习状态、转发状态。

端口状态 解释与说明
去能(Disabled) 去能转台的端口是无法接受和发送任何帧的,端口处于关闭(Down)状态
阻塞(Blocking) 阻塞状态的端口只能接收STP协议帧,但是不能发送STP协议帧,也不能转发用户数据帧
侦听(Listening) 侦听状态的端口可以接收和发送STP协议帧,但是不能进行MAC地址的学习,也不能转发用户数据帧
学习(Learning) 学习状态的端口可以接收和发送STP协议帧,也可以进行MAC地址的学习,但不能转发用户数据帧
转发(Forwarding) 转发状态的端口可以接收和发送STP协议帧,亦可以进行MAC地址的学习和用户数据帧的转发

端口状态迁移过程图:

(1)STP交换机的端口在刚开始的时候,首先会从去能状态进入到阻塞状态。

(2)在阻塞状态中,端口只能接收和分析BPDU,但不能发送BPDU。

(3)如果端口被选为根端口或者的指定端口,则会进入到侦听状态。此时的端口只能接收和发送BPDU,该状态会持续一个转发时延(Forward Delay)的长度,缺省值为15s。

(4)如果没有其他的情况发生导致回到阻塞状态,那么该端口会进入到学习状态,该状态持续一个Forward Delay的时间长度。处于该状态下的端口可以接收和发送BPDU,同时开始构建MAC地址映射表,开始为用户数据帧的转发做准备。(但是该状态下,是不能转发用户数据帧的,因为网络中可能还存在因STP树的计算过程不同步而产生临时环路的情况)。

(5)端口由学习状态进入到转发状态,用户可以开始用户数据帧的转发工作。

(6)在整个状态的迁移过程中,端口一旦发生了链路故障,就会进入到去能状态;在端口的迁过程中,如果端口的角色被选定为非根端口或非指定端口时,那么该端口状态就会立即退回到阻塞状态。

STP报文格式与端口状态相关推荐

  1. 【STP生成树】(桥ID、根桥、cost、RPC、接口ID、BPDU报文格式、端口选举举例)-20211216.20211217

    目录 一.生成树STP技术背景 1.前言 2.二层交换机的冗余性与环路 二.生成树协议 1.生成树协议​​ 2.生成树能动态感知网络拓扑的变化,调整阻塞或放行端口 生成树: 通过交互报文感知网络拓扑的 ...

  2. STP:五种端口状态与角色 RSTP:3种端口状态与角色

    阻塞(blocking):该端口是非指定端口,不参与帧转发.此类端口接收 BPDU 帧来确定根桥交换机的位置和根 ID,以及最终的活动 STP 拓扑中每个交换机端口扮演的端口角色. 侦听(listen ...

  3. RSTP快速生成树简介、RSTP与STP的区别、RSTP BPDU字段信息、RSTP角色与端口状态介绍、RSTP工作过程之P/A机制详细分解)

    2.11.0 以太网 RSTP快速生成树(简介.RSTP与STP.RSTP BPDU.RSTP端口状态.RSTP工作过程之P/A机制) RSTP快速生成树 简介 RSTP.STP的区别 RSTP BP ...

  4. HTTP运作方式、报文格式、工作原理

    运作方式: 在WWW中,"客户"与"服务器"是一个相对的概念,只存在于一个特定的连接期间,即在某个连接中的客户在另一个连接中可能作为服务器.基于HTTP协议的客 ...

  5. TCP和UDP报文格式

    TCP报文格式 源端口(Source port)和目的端口(Destination port) 各16 bits.IP地址标识互联网中的不同终端,端口号标识终端中的不同应用进程,具有本地意义.32位I ...

  6. 数据帧、IP数据包、TCP、UDP报文格式详解----网络通信原理

    数据链路层.网络层.传输层----网络通信原理 物理层 数据链路层 eNSP抓包实验 网络层 ICMP协议概述 eNSP抓包实验 ARP协议概述 eNSP抓包实验 传输层 TCP协议 eNSP抓包 三 ...

  7. 以太网 传统STP生成树的BPDU介绍、STP端口状态介绍与切换过程,STP详细的工作过程。

    2.10.1 以太网 传统STP生成树(STP BPDU.STP端口状态.STP工作过程) STP生成树协议的之间的交互通过STP BPDU(根协议数据单元,Bridge Protocol Data ...

  8. STP/RSTP/MSTP帧格式、报文格式及字段说明

    STP(Spanning Tree Protocol,生成树协议)是一种二层(数据链路层)管理协议,它通过有选择性地阻塞网络冗余链路来达到消除网络二层环路的目的,同时具备链路的备份功能.最初被广泛应用 ...

  9. STP端口状态特点、STP端口角色特点、链路状态发生变化,STP如何重新收敛? TCN何时发?uplinkfast技术、Portfast技术、backbonefast技术、常见的STP调整命令:

    目录 STP端口状态: STP端口角色: 链路状态发生变化,STP如何重新收敛? 概述: 图解: --------------------------------------------------- ...

最新文章

  1. 苹果开源代码中惊现“wechat”,老外注释的吐槽亮了!
  2. AIX 操作系统日常维护须知
  3. Socket send函数和recv函数详解
  4. linux下怎样查看环境变量,Linux下查看和添加环境变量(示例代码)
  5. Elasticsearch SQL
  6. 【操作系统】进程调度(2b):STCF(最短完成时间优先) 算法 原理与实践
  7. 在一个公司10年,会怎么样?
  8. android语音识别和合成第三方
  9. python3重写new方法_Python 3.8 新功能一览
  10. 30岁女子跟程序员相亲,结果见面后秒拒:秃顶工资再多也不要
  11. WindowsAPI中W和A的区别
  12. 创建hadoop 归档文件
  13. 一款针对中小型酒店设计的管理系统,源码分享
  14. vs2019的nmake和cvtres异常
  15. 龙卷风收音机android安卓版,龙卷风收音机
  16. IP获取方法二:太平洋网络IP地址查询Web接口
  17. linux 命令系列之 history(41)
  18. 联想笔记本的3.5mm耳机孔 没有声音!!!
  19. 为什么php打开网页空白的_PHP网站打开空白的三个原因和对应的解决办法
  20. CSS 内边距 padding 属性

热门文章

  1. base64解析图片 【转】
  2. 定远化工学校计算机专业数学达标分,定远化工学校2021年有哪些专业
  3. android 项目Failed to transform file ‘xxxxx.jar‘ to match attributes 解决方法
  4. matlab六杆机构运动分析
  5. CSS3之border属性
  6. 初中计算机使用在线,初中信息技术考试模拟试题(flash+网站基础知识)
  7. 二叉树基本操作:利用队列实现层序遍历
  8. 关于fluent中亚松弛因子under-ralexation factors的思考
  9. 市场调研—2021-2027全球与中国高效液相色谱(HPLC)分析试剂盒市场现状及未来发展趋势
  10. 两岸猿声啼不住,轻舟已过万重山(再见 MySQL 索引~)