四、STP(生成树协议)

news2024/12/24 9:22:34

目录

一、经典生成树(STP)

1.1、作用

1.2、重要参数

1.3、BPDU

1.4、STP计算过程

1.5、STP接口状态

二、快速生成树(RTSP)

2.1、端口角色的增补

2.2、端口状态简化

2.3、配置BPDU报文修改

2.4、配置BPDU的处理

2.5、快速收敛

2.6、拓扑变更机制

2.7、BPDU的保护功能

2.8、根保护

2.9、环路保护

2.10、防TC-BPDU攻击

三、MSTP(多实例生成树协议)


一、经典生成树(STP)

1.1、作用

  1. 破环(阻塞)
  2. 切换接口状态(保持冗余)

        主要作用是防止网桥网络中的冗余链路形成环路工作

        生成树协议是IEEE 802.1D中定议的数据链路层协议,用于解决在网络的核心层构建冗余链路里产生的网络环路问题,通过在交换机之间传递网桥协议数据单元(Bridge Protocol Data Unit,简称BPDU),通过采用STA生成树算法选举根桥、根端口和指定端口的方式,最终将网络形成一个树形结构的网络,其中,根端口、指定端口都处于转发状态,其他端口处于禁用状态。如果网络拓扑发生改变,将重新计算生成树拓扑。生成树协议的存在,既解决了核心层网络需要冗余链路的网络健壮性要求,又解决了因为冗余链路形成的物理环路导致“广播风暴”问题。

        接口阻塞:逻辑上停止转发数据帧

1.2、重要参数

        桥ID(BID,交换机ID)=优先级(默认32768且必须为4096的倍数)+mac(802.1D标准),如4096.1b43-ab32-cb32

        桥ID最小为根网桥(优先级相同,比mac)

        根网桥的BID叫根ID(Root ID)

        STP的开销(与ospf计算方法不同,可手动设置)

        根路径开销(RPC):从某设备到达根桥的累加开销(只算一边)

        端口ID(PID):优先级(0~240,默认128且必须为16的倍数)+接口编号,如128.11

1.3、BPDU

        桥协议数据单元(BPDU,bridge protocol data unit),交换机间为了协商如何破环的报文。        

  1. 配置BPDU:协商出谁是根,哪些接口阻塞或转发(破环),周期2s
  2. TCN BPDU:拓扑变化通告BPDU,链路变化后打开哪些阻塞端口(保持冗余)

        8482:配置BPDU中包含的主要内容,每一台交换机都需要发送并互相比较。

  1. 8字节RID(我认为的根网桥id)
  2. 4字节RPC(我到达根网桥的开销)
  3. 8字节BID(BPDU发送桥的桥ID)
  4. 2字节PID(BPDU发送桥的接口ID)

        配置BPDU:以自身为根的bpdu和以实际根为根的bpdu。        

        STP按照如下顺序选择最优的配置BPDU:

  1. 最小的根桥ID
  2. 最小的RPC
  3. 最小的网桥ID
  4. 最小的接口ID

       在这四条原则中(每条原则都对应配置BPDU中的相应字段),第一条原则主要用于在网络中
选举根桥,后面的原则主要用于选举根接口及指定接口

1.4、STP计算过程

        1、选举根桥

        按照以上原则通过两两对比(输的一方就把配置BPDU中的RID改为赢的一方的RID)后找到最优的配置BPDU。

        2、选举根端口(RP接受到最优BPDU的端口有且只有一个

        选举根网桥后,在每台非根桥上选举一个根端口(接受到最优BPDU的端口有且只有一个,找到一条根端口距离根桥最优的路径

        3、选举指定端口(DP,发BPDU的端口,互发时BPDU优的端口)

        根桥的所有端口都是BP端口

        4、找到阻塞端口(BP,block port,既不是RP也不是BP)

1.5、STP接口状态

状态名称状态描述
禁用(Disable)该接口不能收发BPDU,也不能收发业务数据帧,例如接口为down或物里链路中断
阻塞(Blocking)该接口被STP阻塞。处于阻塞状态的接口不能发送BPDU
但是会持续侦听BPDU,而且不能收发业务数据帧,也不会进行MAC地址学习
侦听(Listening)当接口处于该状态时,表明STP初步认定该接口为根接口或指定接口,但接口依然处于STP计算的过程中,此时接口可以收发BPDU,但是不能收发业务数据帧,也不会进行MAC地址学习,等待15s(做完所有选举,保证网络稳定)
学习(Learning)当接口处于该状态时,会侦听业务数据帧(但是不能转发业务数据帧),并且在收到业务数据帧后进行MAC地址学习,等待15s(学mac,防止过多未知单播帧泛洪)
转发(Forwarding)处于该状态的接口可以正常地收发业务数据帧,也会进行BPDU处理。接口的角色需是根接口或指定接口才能进入转发状态

        其他状态根据网络随时切换为阻塞状态或禁用状态。

        根桥故障

        根桥故障,其他桥收不到根桥BPDU等待20s(物理故障立即选举),非根桥互相发送配置BPDU重新选举根桥,再经过两个15s的等待,根桥故障预计回复时间需要50s左右。

        直连物理链路故障

        无需等待20s,立即重新选举端口,需要30s的等待。

        非直连链路故障

        等待20s,再重新选举端口,需要30s的等待,回复时间需要50s左右。

##使用经典stp作为选举的模式
stp mode stp
##配置交换机的优先级为0,越小越好,必须是4096的倍数。
stp priority 0
##查看接口的stp状态
dis stp ef
##查看stp的参数
dis stp

二、快速生成树(RTSP)

2.1、端口角色的增补

        将阻塞端口扩展为以下两种端口:

        1)替代端口(AP):阻塞

        选根端口时落选的端口,根端口的替代品(学习的是其他网桥发送的bpdu)

        2)备份端口(BP,backup port):下方直连设备是集线器且双路由连接导致的,阻塞

        学习到自己发送的bpdu而阻塞的端口,指定端口的替代品(备份自己的指定端口,学习到自己发送的bpdu)

2.2、端口状态简化

        禁用(Disable)、阻塞(Blocking)、侦听(Listening)简化为丢弃(discarding)状态

        丢弃状态站在用户角度统一理解为不可用。

  1. discarding:不转发流量也不学习mac
  2. learning:不转发流量但学习mac
  3. forwarding:转发流量且学习mac

        一般来说RSTP没有学习状态,只有丢弃状态和转发状态,只有对端设备是stp时为了向下兼容才会出现学习状态。

2.3、配置BPDU报文修改

        报文中除了8482外,加了标记字段(Tag),标记字段中可以标识报文是TCN还是ACK、指明端口角色、端口状态等,尤其是添加了同意和提议两字段。

2.4、配置BPDU的处理

        与STP中其他网桥需等到根网桥的bpdu再转发相比,RSTP其他网桥也可独立发送自己当前认为最优的BPDU。

        超时时间由20s降低为6s

2.5、快速收敛

        1)根端口失效,AP立即成为根端口并立即进入转发状态

        2)指定端口失效,BP立即成为指定端口并立即进入转发状态

        主机没有生成树协议,所以不会发bpdu,所以交换机直连终端的端口需要等待30秒才能进入转发状态

        3)直连终端的端口定义为边缘端口(EP)人工配置(端口视图stp edged-port enable),EP一旦打开不进行选举直接进入转发状态(因为对端是主机肯定不会产生环路,所以不用等待30s),只发bpdu不收,此外EP一旦收到bpdu证明对方是交换机立即丧失边缘端口属性成为普通端口参加选举。

        边缘端口不是角色而是指定端口的一种特性。

        全局视图stp edeged-port default,所有端口默认为边缘端口,端口收到bpdu后变为普通端口参加生成树选举。

        4)提议机制和同意机制(P/A机制,分段收敛

        两个直连交换机刚开机都认为自己是根网桥,双方同时互发提议报文,对比同意之后,两个端口立即分别选举为RP和DP,并进入转发状态,一个BPDU即可完成。

        如果发送给给对方(此时为AP口,不回复BPDU),对方不回复,那就只能按照经典生成树等待30s进入转发状态,成为DP。

        为了避免P/A机制导致环路,在上游端口协商的同时,交换机将下游端口(不包含EP)同步(处于丢弃状态,暂时阻塞),上游协商完,然后下游继续P/A机制修改端口状态。

2.6、拓扑变更机制

        标准:一个非边缘端口迁移到转发状态

为什么要清空MAC地址?

        如根端口失效,替代端口立即变为根端口进入转发状态,此时触发拓扑变更机制,开启计时器,将上个根端口学习到的mac清空,并向对端发TCN,对端交换机收到TC后将除了对应新根端口的端口学到的mac保留外,其余全部清空,以此类推,除了明确端口角色的端口mac保留外,所有交换机端口mac清空。

如果没有mac清空机制会发生什么?         

        如上图,在RP未断之前mac学习情况如图,当RP中断之后,AP立即变为RP进入转发状态,如果没有进行mac清空,此时,计算机A发送至B的报文到达交换机后,交换机会通过1口转发,无法通信。

2.7、BPDU的保护功能

        启动BPDU保护后,边缘端口收到BPDU,端口被error-down,需要手动开启,边缘端口属性不变,上报至网管系统。

        作用:不允许对端接入交换机,不允许收BPDU,保障网络稳定性。

##配置在全局下,哪个口为EP即可启用
stp bpdu-protection
int g0/0/4
    stp edged-port enable


disp stp int g0/0/4

        所有端口默认状态

                所有端口非EP,单独某个端口配置为EP(其他端口还是非EP),再开启BPDU保护

        所有端口默认状态stp edged-port default

              所有端口EP,单独将某个端口配置为非EP(stp edged-port disabled),其他端口是EP,再开启BPDU保护

2.8、根保护

       可以收bpdu,收到更优的BPDU端口会变为丢弃状态,交换机无法接入进来,因此只能收更差的bpdu,确保根桥角色不改变。

        在指定端口配置根保护,启动根保护的指定端口,端口角色只能保持为指定端口。

int g0/0/0
    stp root-protection

2.9、环路保护

        一般出现在光纤(一对收发)上,单纤故障导致的单向环路

        启动环路保护后,收BPDU的端口让收bpdu(端口up)、收不到bpdu(端口discarding) 保持一致       

2.10、防TC-BPDU攻击

        拓扑变化后清空mac,如果有一个攻击者接入后高频发送TC-BPDU(交换机无mac表,未知单播帧通信需泛洪),同时触发P/A机制(同步端口),导致闪断。

        措施:限制单位时间内处理次数(默认1次/2s)

        默认开启

##全局视图,阈值每2秒3次(不配置默认1次)
stp tc-protection threshold 3

三、MSTP(多实例生成树协议)

        多棵生成树

        STP和RSTP不足:

        如上图,流量全部汇聚到根网桥,无法负载分担。

        措施:采用实例(instance)+VLAN分流:将vlan1-10划入到实例1中;将vlan11-20划入到实例2中。且在实例1中将SW1设为根桥,在实例2中将SW2设为根桥

        一个vlan只能划在一个实例,一个实例可以包含多个VLAN

       

##在三个交换机上分别创建vlan
vlan batch 10 to 20

##透传vlan
SW1:
int g0/0/1
    port link-type trunk
    port trunk allow-pass vlan 10 to 20
int g0/0/3
    port link-type trunk
    port trunk allow-pass vlan 10 to 20

SW1:
int g0/0/1
    port link-type trunk
    port trunk allow-pass vlan 10 to 20
int g0/0/2
    port link-type trunk
    port trunk allow-pass vlan 10 to 20

SW3:
int g0/0/2
    port link-type trunk
    port trunk allow-pass vlan 10 to 20
int g0/0/3
    port link-type trunk
    port trunk allow-pass vlan 10 to 20



SW1、SW2、SW3:
##stp域配置(单域)
stp region-configuration
    ##域名hcip
    region-name hcip
    ##实例1中规划vlan10到14
    instance 1 vlan 10 to 14
    ##实例2中规划vlan15到20
    instance 2 vlan 15 to 20
    ##激活域配置(修改完后也需要激活)
    active region-configuration

##配置优先级
SW1:
##实例1优先级为0,即实例1的根桥
stp instance 1 priority 0(或者主根:stp instance 1 primary)
stp instance 2 priority 4096
SW2:
stp instance 1 priority 4096(或者次根:stp instance 1 secondary)
##实例2优先级为0,即实例2的根桥
stp instance 2 priority 0

SW3:
##实例的优先级都为默认32678
disp stp brief查看生成树的概要

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1818685.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从零开始手把手Vue3+TypeScript+ElementPlus管理后台项目实战十一(整体布局04之Header及用户注销)

新增Hearder 新增 src/layout/components/PageHeader.vue <template><div class"header-cont"><div><h1><router-link to"/">RealWorld</router-link></h1></div><div><template v-if"is…

ESP32-C6 闪耀 Apple WWDC24|使用 Embedded Swift 构建 Matter 设备

WWDC 是苹果公司的年度全球开发者大会&#xff0c;旨在向全球开发者展示最新技术和工具。在今年的 WWDC 2024 上&#xff0c;苹果宣布将 Swift 语言扩展至嵌入式设备领域。大会技术讲座中&#xff0c;乐鑫 ESP32-C6 也现身官方 Demo “Go Small with Embedded Swift​​​​​​…

Python-json模块

一、相关概念 # 序列号 和反序列号 # 序列号&#xff1a;把内存中的数据类型转成一种特定格式&#xff0c;这种格式&#xff08;json/pickle&#xff09;可以用于存储&#xff0c;或者传输给其他平台 import json # 内存中是数据类型 ----> 序列化 ----> 特定格式&…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 6月13日,星期四

每天一分钟&#xff0c;知晓天下事&#xff01; 2024年6月13日 星期四 农历五月初八 1、 财政部&#xff1a;将在19日第一次续发行2024年20年期超长期特别国债。 2、 成本低&#xff0c;商载高&#xff0c;我国自主研制HH-100商用无人运输机首飞成功。 3、 四川甘孜州石渠县1…

水利水电安全员B类精选试题(附答案)

第1题:职业病病人除依法享有工伤保险外&#xff0c;依照有关民事法律&#xff0c;尚有获得赔偿的权利&#xff0c;有权向()提出赔偿要求。 | A.当地人民政府 B.医疗机构 C.企业主管部门 D.用人单位 正确答案:D 第2题:事故预防对策中()是利用法律.规程.标准以及规章制度等必要…

ChatGPT面试指南来袭!10个提示词助你应对自如

面试时刻,你准备充分了吗?许多求职者即将面对的面试,仿佛一场无形的战斗。关键的面试问题,犹如一个个智勇双全的敌人。那么,如何才能在这场战斗中取胜?本文为你提供面试中的十大秘密武器——提示词。正确使用提示词,你可以破解面试官的难题,从容应对各种困境。别小看这十个小…

SpringBoot集成mqtt上下线提醒功能设计

目录 1.首先安装emqx&#xff0c;去官网下载emqx压缩包&#xff0c;并且解压。 2.使用emqx start 命令启动emqx后台管理 3.下载mqttx调试工具&#xff0c;使用mqttx调试mqtt连接。下载地址:MQTTX下载-MQTTX官方版下载,下载完成直接打开&#xff0c;便可进行mqtt连接调试 4.…

ping: www.baidu.com: 未知的名称或服务(IP号不匹配)

我用的是VMware上的Red Hat Enterprise Linux 9&#xff0c;出现了能联网但ping不通外网的情况。 问题描述&#xff1a;设置中显示正常连接&#xff0c;而且虚拟机右上角有联网的图标&#xff0c;但不能通外网。 按照网上教程修改了/etc/resolv.conf和/etc/sysconfig/network-…

公交车载视频监控系统解决方案

公交车载视频监控系统基于iVMS-7200移动视频监控管理平台&#xff0c;通过3G/4G网络接入车载前端&#xff0c;实现实时监控、录像回放、GIS地图定位、轨迹回放、设备状态查询、紧急报警等功能。 车载前端包含车载硬盘录像机(简称车载DVR或MDVR)、车载专用摄像机、车载LCD显示屏…

谷粒商城实战(035 k8s集群学习1-前置介绍)

Java项目《谷粒商城》架构师级Java项目实战&#xff0c;对标阿里P6-P7&#xff0c;全网最强 总时长 104:45:00 共408P 此文章包含第339p-第p342的内容 分布式高级篇总结 高可用集群 内容 k8s介绍 为什么使用k8s 组件 master组件 node&#xff08;节点&#xff09;组件 要部…

操作系统——信号

将信号分为以上四个阶段 1.信号注册&#xff1a;是针对信号处理方式的规定&#xff0c;进程收到信号时有三种处理方式&#xff1a;默认动作&#xff0c;忽略&#xff0c;自定义动作。如果不是自定义动作&#xff0c;这一步可以忽略。这个步骤要使用到signal/sigaction接口 2.…

代码随想录算法训练营第五十八天 | 392.判断子序列

392.判断子序列 题目链接&#xff1a;代码随想录 视频讲解&#xff1a;动态规划&#xff0c;用相似思路解决复杂问题 | LeetCode&#xff1a;392.判断子序列_哔哩哔哩_bilibili 解题思路 本题和求最长公共子序列是一样的&#xff0c;值就是s字符串的长度&#xff0c;如果一致…

不吃饭也要搞懂的 git 命令

昨天睿哥布置了一个任务给我&#xff0c;让我学习一下 Git 的一些命令。 我问睿哥&#xff0c;到底我们在实际开发中用哪些命令会比较多&#xff0c;睿哥是这样回答我的&#xff1a; 而且他推荐我用 IDEA 自带的那个 Git 面板来执行 git 命令&#xff0c;他说直接敲命令太麻烦…

一线大厂都在高薪抢AI产品经理?

哈喽&#xff0c;大家下午好呀&#xff5e; 当AI的风吹到产品届&#xff0c;唯叹相见恨晚&#xff01; 作为一名产品经理&#xff0c;日常写调研、需求分析、产品设计、项目管理、数据分析……每一项工作都需要投入大量的时间和精力。 但用上AI后&#xff0c;你会发现写个需…

【面经总结】Java基础 - IO

序列化 什么是序列化和反序列化&#xff1f; 序列化&#xff1a;将对象转换为二进制数据 反序列化&#xff1a;将二进制数据转换为对象 目的&#xff1a;方便网络传输、持久化保存 Java 是怎么实现序列化的&#xff1f; Java 通过对象输入输出流来实现序列化和反序列化&a…

关于docker无法正常下载镜像的问题

文章目录 之前还可以正常下载镜像&#xff0c;但是一段时间之后就无法下载了&#xff0c;猜测可能是政治原因&#xff0c;无法连接到国外服务器&#xff0c;所以我设置了阿里云的镜像加速器。 配置方法如下&#xff1a; 前往阿里云&#xff08;https://help.aliyun.com/zh/acr/…

Windows同一文件夹下支持大小写同名文件

举例&#xff1a;同一文件目录下需要存在A.java, a.java, Windows是不支持的&#xff0c;这时候需要建一个Linux子系统的文件夹 创建教程 1、在启用或关闭Windows功能下面找到 适用于Linux系统的Windows子系统 2、cmd 执行命令 fsutil file SetCaseSensitiveInfo 文件夹路径 …

网格简化技术在AI绘画中的革新应用

随着人工智能技术的飞速发展&#xff0c;AI绘画作为其创新应用领域之一&#xff0c;正逐渐进入公众的视野。AI绘画不仅为艺术家和设计师提供了强大的辅助工具&#xff0c;也为非专业人士开启了艺术创作的大门。然而&#xff0c;高质量的AI绘画往往需要复杂的计算过程&#xff0…

C# WPF入门学习主线篇(二十七)—— 数据源

C# WPF入门学习主线篇&#xff08;二十七&#xff09;—— 数据源 在WPF开发中&#xff0c;数据绑定是一个强大的功能&#xff0c;它允许UI元素和数据源之间进行双向通信。理解和使用数据源对于创建高效和动态的应用程序至关重要。在本文中&#xff0c;我们将详细介绍WPF中的数…

servlet梦想酒店管理系统

梦想酒店管理系统 酒店管理系统分为管理端&#xff0c;和用户端&#xff0c; 用户端可以查看酒店客房&#xff0c;预定酒店系统&#xff0c;查询预定信息。 管理端&#xff1a;用户管理&#xff0c;类型&#xff0c;房间管理&#xff0c;业务管理&#xff0c;统计分析。 技术&…