目录

BPDU作用

BPDU报文

BPDU相关计时器

BPDU类型-4种

BPDU标记域


BPDU作用

  STP每隔2s会发送一次BPDU报文,非根桥连续三次没有收到BPDU,表示发生故障

  BPDU主要进行根桥、端口角色的选举和通知拓扑结构发生变化


BPDU报文

版本补充:VBST是华为私有协议,主要用于和思科交换机做兼容

根桥BID  等于桥ID,则认为自己是根桥

根桥ID   不等于桥ID,则认为交换机不是根桥

BPDU相关计时器

关于STP计时器的配置,只需要在根桥配置即可

Message age :BPDU存活时间,根桥发送是为0,每经过一台交换机会增加

Max age:BPDU老化时间,默认是20s,最大40s。

如果Max age小于24s,每经过一台交换机Message age+1

如果Max age为24~39s,Message age+2

如果Max age为40s,Mssage age+3。

当Message age等于Max age,则认为该BPDU失效。

Hello timer:BPDU发送间隔,默认是2s

Forwarding delay:等待延迟,默认是15s

BPDU类型-4种

配置 BPDU  周期发送      标记域的 TCA=0 TC=0

STP和RSTP类型字段有些不同  

STP----0X00     RSTP----0X02-RST BPDU    MSTP----0X02-MST BPDU

配置BPDU的作用

选举根桥、端口角色

配置BPDU的目的MAC为组播:0180-c200-0000

STP的配置BPDU发送方式

没有选举根桥前,所有设备都会发送配置BPDU,选举根桥后只有根桥会发送配置BPDU

其它非根桥设备在收到根桥发送过来的配置BPDU后,才会触发发出配置BPDU,不会主动发

非根网桥指定端口只有在接收到次优配置BPDU时,才会主动发送最优BPDU

RSRP的配置BPDU发送方式

没有选举根桥前,所有设备都会发送配置BPDU

在选举出根桥后即拓扑稳定后,无论非根桥是否收到根桥发来的配置BPDU,都会按照Hello Timer规定的时间发送配置BPDU

STP的拓扑改变确认BPDU,是一种配置BPDU  标记域的TCA=1,TC=0(TCA BPDU)

RSTP、MSTP也存在此报文,是为了向下兼容STP

STP的TCN   BPDU  链路发生故障后发送

RSTP、MSTP也存在此报文,是为了向下兼容STP

类型字段固定为0X80

STP中传递拓扑变更信息---结合BPDU标记域的TC和TCA位来实现

STP为什么需要TCN BPDU报文

在交换网络种,交换机依赖MAC地址表转发数据,缺省情况下MAC表项的老化时间是300s,如果生成树拓扑发生改变,交换机的转发路径也会改变,当MAC地址表未及时老化将导致数据转发发生错误,因此需要及时更新MAC地址表项

此时就可以通过发送TCN BPDU报文来将MAC地址表项的老化时间缩短为15s,达到及时更新MAC地址表项的目的

STP发送TCN BPDU的条件

最早认为任何端口进入到Forwarding状态或者进入到Disable状态时,认为拓扑发生变化,后来STP对拓扑变化的定义做了优化

  • 当DP端口进入到Forwarading状态(建议将连接终端设备的DP端口设置为边缘端口进行优化)
  • RP失效或者RP进入Forwarding状态
  • 根桥的DP失效直接发送TC BPDU(非根桥DP端口失效不认为拓扑发生变化)

STP的TCN BPDU工作原理--怎样达到更新拓扑的目的(通过TCN、TC、TCA报文)   

TC拓扑变更消息--清空从此接口学到的MAC地址表----具体做法不是直接清空,而是将MAC

地址表的300s老化时间更改位15s

  • SWC感知到网络拓扑发生变化后,就会不间断的发送TCN BPDU报文
  • SWB收到TCN报文后,会将BPDU Flags的TCA位置1,然后发送给SWC,告知SWC停止发送TCN BPDU报文
  • 然后SWB向根桥转发SWC发来的TCN BPDU报文
  • SWA把BPDU报文中的Flags的TC位设置为1后发送(持续35s),通知下游设备把MAC地址表项的老化时间更改为Forward Delay时间(15s)

注意:根桥不需要回复TCA确认消息

拓扑改变配置BPDU,是一种配置BPDU  标记域的TCA=1,TC=1或者TCA=0,TC=1(TC BPDU)

STP、RSTP、MSTP都存在此TC BPDU报文

RSTP/MSTP中对拓扑变更机制做了优化——只使用TC报文

判断拓扑变化的标准改变

只要当非边缘端口迁移到Forwarding状态时,就会认为拓扑发生变化

工作原理发生变化

网络拓扑发生变化时,直接由变更点交换机向全网发送TC置位的BPDU报文,而不是先通知根桥,再由根桥向全网发送TC报文

变更点交换机为本交换机设备的所有非边缘指定端口启动一个TC While Timer(2倍的Hello Time)在这个时间内,清空所有端口上学习到的MAC地址

同时,由非边缘端口向外发送RST BPDU,其中TC置位,一旦端口的TC while Timer超时,则停止发送RST BPDU

其它交换设备收到  TC置位的RST BPDU后,清空所有端口学习到的MAC地址(除了收到此RST BPDU的端口),然后也为自己所有的非边缘指定端口和根端口启动TC While Timer,重复上述过程

BPDU标记域

   STP和RSTP有些不同

STP——BPDU报文相关推荐

  1. STP BPDU报文

    字段 字节数 说明 Protocol Identifier(协议ID) 2 总是为0 Protocol Version(协议版本) 1 STP(802.1D)传统生成树,值为0; RSTP(802.1 ...

  2. 网络服务——生成树技术STP的BPDU报文详解

    文章目录 一.STP的简介 1.由来 2.基本概念 二.STP的监测协议-BPDU报文 1.BPDU报文内容 1.1.根ID 1.2.根的路径开销 1.3.端口ID 2.经过BPDU报文之后四个步骤 ...

  3. STP的BPDU报文类型

    STP的BPDU报文类型一共有两种,分别是配置BPDU报文(BPDU报文中的BPDU类型值为0x00)和TCN BPDU报文(BPDU报文中的BPDU类型值为0x80),下面为大家详解介绍这两种类型B ...

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

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

  5. 华为网络篇 BPDU报文格式-11

    目录 一.BPDU格式 二.Configuration BPDU 三.TCN BPDU 一.BPDU报文格式 STP协议是使用STP协议帧来建立与维护STP树的,在网络出现物理拓扑发生变化时重建新的S ...

  6. 以太网 STP临时环路的产生、STP BPDU的转发过程、根桥故障案例分析。

    2.10.2 以太网 传统STP生成树(STP临时环路.STP BPDU的转发过程.根桥故障案例) 传统STP生成树 2.10.2 以太网 传统STP生成树(STP临时环路.STP BPDU的转发过程 ...

  7. STP——BPDU格式及字段说明

    STP(Spanning Tree Protocol,生成树协议)是根据IEEE 802.1D 标准建立的,用于在局域网中消除数据链路层物理环路的协议.运行该协议的设备通过彼此交互信息发现网络中的环路 ...

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

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

  9. STP理论02-BPDU(STP)

    STP理论02-BPDU(STP) 在前面的章节中介绍了桥 ID.路径开销和端口 ID 等信息,所有这些信息都是通过 BPDU 协议报文传输. 1).配置 BPDU 是一种心跳报文,只要端口使能 ST ...

最新文章

  1. day07-字符编码、文件操作
  2. 判断一个字符串中出现次数最多的字符
  3. Silverlight揭秘
  4. 经典异或题:汉明距离
  5. poj 3020 Antenna Placement(二分图最大匹配)
  6. 生成器表达式 内置函数
  7. Flagger on ASM——基于Mixerless Telemetry实现渐进式灰度发布系列 2 应用级扩缩容
  8. 应用系统怎么开启审计功能_win10系统开启分屏功能的设置方法
  9. CodeForces 359D (数论+二分+ST算法)
  10. SANTENDO的大脑训练计划
  11. pwmc语言调速程序_51单片机的直流电机PWM调速系统设计,正转反转,加减速,急停等,仿真和代码...
  12. Kubernetes容器上下文环境
  13. 项目:基于以太网通信,单片机作为客户端,接收CAN-Ethernet的十六进制数据
  14. leetcode —— 40. 组合总和 II
  15. html调用一个php文件路径_HTML中利用js调用php的内容
  16. c mysql清理日志文件_MySQL 一般查询日志或者慢查询日志历史数据的清理
  17. spring注入bean的三种方法
  18. cmake ..是什么意思
  19. cad添加自己线性_如何在CAD中添加自行创建的线型.doc
  20. Python 中点法求积分

热门文章

  1. python坦克大战
  2. 【01】国内外git托管平台(总结by魔芋)
  3. 开发人员如何在面试中介绍自己的项目经历
  4. C语言:习题11-1 输出月份英文名.2021-07-25
  5. 乔戈里推荐的新版Java学习路线,开源!
  6. 从头开始学习->JVM(八):运行时数据区(下)
  7. 推荐系统之协同过滤概述
  8. Asterisk内核 拾遗
  9. fabric8镜像的deployments脚本
  10. 使用TimerOne库