MSTP实验
单点故障---冗余---环路---STP----RSTP-----MSTP
MSTP 产生的背景
因为RSTP在局域网内所有VLAN 共享一棵生成树,如果链路被堵塞,将无法承载任何流量,所以为了实现流量负载均衡,MSTP诞生了。
生成树不是基于VLAN运行的,而是基于Instance运行的
MSTP网络层次:
MSTP(Multiple Spanning Tree Protocol)是一种网络协议,用于在交换网络中防止环路并优化数据流。它将一个交换网络划分成多个域,每个域内可以形成多棵生成树,这些生成树之间彼此独立。
MST区域(MST Region):也称为MST域,是指由一个或多个交换机组成的区域,在这个区域内运行MSTP协议。每个MST区域都有一个唯一的区域ID来标识。
通过将网络划分为多个MST区域,MSTP可以在不同的区域之间实现负载均衡和冗余备份,从而提高网络的性能和可靠性。
同一个MST域的设备具有下列特点:
都启动了MSTP(多生成树协议)。
具有相同的域名。
具有相同的VLAN到生成树实例映射配置。
具有相同的MSTP修订级别配置。
这些特点确保了在同一个MST域内的所有设备能够协同工作,共同维护和管理生成树实例,以实现网络的高可用性和稳定性。
MSTI
MSTI (Multiple Spanning Tree Instance, 多生成树实例):
MSTI是指多生成树协议中的一个实例,它用于在网络设备之间建立和维护生成树拓扑结构。每个MSTI对应一个或多个VLAN,负责管理这些VLAN中的生成树计算和路径选择

- 如图所示的MST Region 4的VLAN映射有:
- VLAN1映射到MST11
- VLAN2映射到MST12
- 其余VLAN映射到MST13
通过设置VLAN映射表(即VLAN和MSTI的对应关系表),把VLAN和MSTI联系起来。 □□ 每个VLAN只能对应一个MSTI,即同一VLAN的数据只能在一个MSTI中传输,而一个MSTI可能对应多个VLAN。
CST
CST(Common Spanning Tree,公共生成树) 。是连接交换网络内所有MST域的一棵生成树。 如果把每个MST域看作是一个节点,CST就是这些节点通过生成树协议计算生成的一棵生成树。
IST
IST(Internal Spanning Tree,内部生成树) 。是各MST域内的一棵生成树。 IST是一个特殊的MSTI,MSTI的Instance ID0
CIST
CIST(Common and Internal Spanning Tree,公共和内部分网树)。CIST是通过生成树协议计算生成的,连接一个交换网络内所有交换设备的单生成树。所有MST域的IST加上CST就构成一棵完整的生成树,即CIST。
SST
SST(Single Spanning Tree,单生成树)
单个交换设备:当运行生成树协议的交换设备只有一个时,这个设备本身就构成了一个单生成树。
唯一交换设备:在多生成树(Multiple Spanning Tree, MST)或类似环境中,如果某个区域内只有一个交换设备,那么这个设备也会构成一个单生成树




Master端口 :Master端口是MST域和总根相连的所有路径中最短路径上的端口,它是交换设备上连接MST域到总根的端口。 Master端口是域中的报文去往总根的必经之路。 Master端口是特殊域边缘端口,Master端口在CIST上的角色是Root Port,在其它各实例上的角色都是Master端口。
域边缘端口 :域边缘端口是指位于MST域的边缘并连接其它MST域或SST的端口。

边缘端口 如果指定端口位于整个域的边缘,不再与任何交换设备连接,这种端口叫做边缘端口。 边缘端口一般与用户终端设备直接连接。

实验拓扑图

实验目的:
1. 熟悉RSTP的应用场景
2. 掌握RSTP的配置方法
实验步骤:
1.创建VLAN
2.设置trunk
3. 配置MSTP//
stp region-configuration //进入MST域视图
region-name hcip //MSTP的域名为hcip
revision-level 1 //MST域的修订级别为1,默认为0
instance 1 vlan 10 30 50 70 //实例1关联vlan 10 30 50 70
instance 2 vlan 20 40 60 80 //实验2关系vlan 20 40 60 80
active region-configuration //激活MST域的配置
4. 配置主根网桥和备用根网桥
5. 查看实例1的接口角色
6. 查看实例2的接口角色
实验拓扑代码
[Huawei]sysname LSW1
[LSW1]vlan batch 10 20 30 40 50 60 70 80
[LSW1]port-group 1
[LSW1-port-group-1]group-member g0/0/1
[LSW1-port-group-1]group-member g0/0/7
[LSW1-port-group-1]group-member g0/0/6
[LSW1-port-group-1]group-member g0/0/4
[LSW1-port-group-1]port link-type trunk
[LSW1-GigabitEthernet0/0/1]port link-type trunk
[LSW1-GigabitEthernet0/0/7]port link-type trunk
[LSW1-GigabitEthernet0/0/6]port link-type trunk
[LSW1-GigabitEthernet0/0/4]port link-type trunk
[LSW1-port-group-1]port trunk allow-pass vlan all
[LSW1-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[LSW1-GigabitEthernet0/0/7]port trunk allow-pass vlan all
[LSW1-GigabitEthernet0/0/6]port trunk allow-pass vlan all
[LSW1-GigabitEthernet0/0/4]port trunk allow-pass vlan all
[LSW1-port-group-1]q
[LSW1]stp enable
[LSW1]stp mode mstp
[LSW1]stp region-configuration
[LSW1-mst-region]region-name hcip
[LSW1-mst-region]revision-level 1
[LSW1-mst-region]instance 1 vlan 10 30 50 70
[LSW1-mst-region]instance 2 vlan 20 40 60 80
[LSW1-mst-region]active region-configuration
[LSW1-mst-region]q
[LSW1]stp instance 1 root primary
[LSW1]stp instance 2 root secondary[LSW1]display stp instance 1 briefMSTID Port Role STP State Protection1 GigabitEthernet0/0/1 DESI FORWARDING NONE1 GigabitEthernet0/0/4 DESI FORWARDING NONE1 GigabitEthernet0/0/6 DESI FORWARDING NONE1 GigabitEthernet0/0/7 DESI FORWARDING NONE[LSW1]display stp instance 2 briefMSTID Port Role STP State Protection2 GigabitEthernet0/0/1 ROOT FORWARDING NONE2 GigabitEthernet0/0/4 DESI FORWARDING NONE2 GigabitEthernet0/0/6 DESI FORWARDING NONE2 GigabitEthernet0/0/7 ALTE DISCARDING NONE
[LSW2]vlan batch 10 20 30 40 50 60 70 80 ##批量创建了VLAN 10、20、30、40、50、60、70和80。
vlan batch命令用于一次性创建多个VLAN,简化了配置过程。
[LSW2]port-group 1 ##创建一个端口组1,端口组可以方便地对一组端口进行统一配置。
[LSW2-port-group-1]group-member g0/0/1
[LSW2-port-group-1]group-member g0/0/7
[LSW2-port-group-1]group-member g0/0/5
[LSW2-port-group-1]group-member g0/0/2
[LSW2-port-group-1]port link-type trunk ##设置端口为trunk模式,
Trunk模式允许通过多个VLAN的流量,通常用于连接交换机或路由器
[LSW2-GigabitEthernet0/0/1]port link-type trunk
[LSW2-GigabitEthernet0/0/7]port link-type trunk
[LSW2-GigabitEthernet0/0/5]port link-type trunk
[LSW2-GigabitEthernet0/0/2]port link-type trunk
[LSW2-port-group-1]port trunk allow-pass vlan all ##允许所有VLAN通过trunk端口
[LSW2-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[LSW2-GigabitEthernet0/0/7]port trunk allow-pass vlan all
[LSW2-GigabitEthernet0/0/5]port trunk allow-pass vlan all
[LSW2-GigabitEthernet0/0/2]port trunk allow-pass vlan all
[LSW2]stp enable ##启用STP
[LSW2]stp mode mstp ##设置STP模式为MSTP
[LSW2]stp region-configuration ##进入MSTP区域配置模式
[LSW2-mst-region]region-name hcip ##设置MSTP区域的名称为“hcip”
[LSW2-mst-region]revision-level 1 ##设置MSTP修订级别为1
[LSW2-mst-region]instance 1 vlan 10 30 50 70
##创建第一个MSTP实例,并将VLAN 10、30、50和70分配给这个实例。
[LSW2-mst-region]instance 2 vlan 20 40 60 80
##创建第二个MSTP实例,并将VLAN 20、40、60和80分配给这个实例。
[LSW2-mst-region]active region-configuration ##激活MSTP区域配置。
[LSW2]stp instance 1 root secondary
#设置实例1的根桥为次级,在MSTP中,每个实例可以有一个主根桥(primary)和一个或多个次级根桥(secondary)。
次级根桥不会成为该实例的根桥,但会参与生成树计算,以确保网络的稳定性和冗余性。
[LSW2]stp instance 2 root primary ##设置实例2的根桥为主,负责处理所有流量的转发决策[LSW2]display stp instance 1 brief ##显示交换机LSW2上MSTP实例1的简要信息MSTID Port Role STP State Protection1 GigabitEthernet0/0/1 ROOT FORWARDING NONE1 GigabitEthernet0/0/2 DESI FORWARDING NONE1 GigabitEthernet0/0/5 DESI FORWARDING NONE1 GigabitEthernet0/0/7 ALTE DISCARDING NONE[LSW2]display stp instance 2 brief ##显示交换机LSW2上MSTP实例2的简要信息MSTID Port Role STP State Protection2 GigabitEthernet0/0/1 DESI FORWARDING NONE2 GigabitEthernet0/0/2 DESI FORWARDING NONE2 GigabitEthernet0/0/5 DESI FORWARDING NONE2 GigabitEthernet0/0/7 DESI FORWARDING NONE
[LSW3]vlan batch 10 20 30 40 50 60 70 80
[LSW3]port-group 1
[LSW3-port-group-1]group-member g0/0/4
[LSW3-port-group-1]group-member g0/0/3
[LSW3-port-group-1]group-member g0/0/5
[LSW3-port-group-1]port link-type trunk
[LSW3-GigabitEthernet0/0/4]port link-type trunk
[LSW3-GigabitEthernet0/0/3]port link-type trunk
[LSW3-GigabitEthernet0/0/5]port link-type trunk
[LSW3-port-group-1]port trunk allow-pass vlan all
[LSW3-GigabitEthernet0/0/4]port trunk allow-pass vlan all
[LSW3-GigabitEthernet0/0/3]port trunk allow-pass vlan all
[LSW3-GigabitEthernet0/0/5]port trunk allow-pass vlan all
[LSW3]stp enable
[LSW3]stp mode mstp
[LSW3]stp region-configuration
[LSW3-mst-region]region-name hcip
[LSW3-mst-region]revision-level 1
[LSW3-mst-region]instance 1 vlan 10 30 50 70
[LSW3-mst-region]instance 2 vlan 20 40 60 80
[LSW3-mst-region]active region-configuration
[LSW3-mst-region]q
[LSW3]interface g0/0/1
[LSW3-GigabitEthernet0/0/1]stp edged-port enable
[LSW3-GigabitEthernet0/0/1]q
[LSW3]display stp instance 1 briefMSTID Port Role STP State Protection1 GigabitEthernet0/0/3 ALTE DISCARDING NONE1 GigabitEthernet0/0/4 ROOT FORWARDING NONE1 GigabitEthernet0/0/5 ALTE DISCARDING NONE
[LSW3]display stp instance 2 briefMSTID Port Role STP State Protection2 GigabitEthernet0/0/3 ALTE DISCARDING NONE2 GigabitEthernet0/0/4 ALTE DISCARDING NONE2 GigabitEthernet0/0/5 ROOT FORWARDING NONE
[LSW4]vlan batch 10 20 30 40 50 60 70 80
[LSW4]port-group 1
[LSW4-port-group-1]group-member g0/0/3
[LSW4-port-group-1]group-member g0/0/6
[LSW4-port-group-1]group-member g0/0/2
[LSW4-port-group-1]port link-type trunk
[LSW4-GigabitEthernet0/0/3]port link-type trunk
[LSW4-GigabitEthernet0/0/6]port link-type trunk
[LSW4-GigabitEthernet0/0/2]port link-type trunk
[LSW4-port-group-1]port trunk allow-pass vlan all
[LSW4-GigabitEthernet0/0/3]port trunk allow-pass vlan all
[LSW4-GigabitEthernet0/0/6]port trunk allow-pass vlan all
[LSW4-GigabitEthernet0/0/2]port trunk allow-pass vlan all
[LSW4]stp enable
[LSW4]stp mode mstp
[LSW4]stp region-configuration
[LSW4-mst-region]stp region-configuration
[LSW4-mst-region]region-name hcip
[LSW4-mst-region]revision-level 1
[LSW4-mst-region]instance 1 vlan 10 30 50 70
[LSW4-mst-region]instance 2 vlan 20 40 60 80
[LSW4-mst-region]active region-configuration
[LSW4-mst-region]q
[LSW4]int g0/0/1
[LSW4-GigabitEthernet0/0/1]stp edged-port enable ##启用边缘端口(Edge Port)功能
[LSW4-GigabitEthernet0/0/1]q[LSW4]display stp instance 1 briefMSTID Port Role STP State Protection1 GigabitEthernet0/0/2 ALTE DISCARDING NONE1 GigabitEthernet0/0/3 DESI FORWARDING NONE1 GigabitEthernet0/0/6 ROOT FORWARDING NONE[LSW4]display stp instance 2 briefMSTID Port Role STP State Protection2 GigabitEthernet0/0/2 ROOT FORWARDING NONE2 GigabitEthernet0/0/3 DESI FORWARDING NONE2 GigabitEthernet0/0/6 ALTE DISCARDING NONE
实验总结
在MSTP网络中,一个或多个VLAN可以被映射到一个实例(Instance),然后基于该实例计算生成树。基于实例的生成树被称为MSTI(Multiple Spanning Tree Instances)。MSTP为每个实例维护独立的MSTI,映射到同一个实例的VLAN将共享同一棵生成树。
部署MSTP协议后,以太网可以实现以下功能:
形成多棵无环路的树:通过构建多棵独立的生成树,解决了广播风暴问题,并实现了网络的冗余备份。这样即使某一条路径出现故障,流量也可以通过其他路径进行转发,提高了网络的可靠性。
实现VLAN间的负载均衡:不同的VLAN流量可以按照不同的路径转发,从而实现了负载均衡。这意味着网络可以根据实际需求动态调整流量路径,优化资源利用,避免某些链路过载而其他链路闲置的情况。
总之,MSTP协议通过将多个VLAN映射到一个实例并计算生成树,不仅解决了广播风暴问题,还实现了网络的冗余备份和负载均衡,提高了网络的性能和稳定性。这对于大型网络环境尤为重要,因为它能够更有效地管理和分配网络资源,确保各部分网络都能高效运行。
相关文章:
MSTP实验
单点故障---冗余---环路---STP----RSTP-----MSTP MSTP 产生的背景 因为RSTP在局域网内所有VLAN 共享一棵生成树,如果链路被堵塞,将无法承载任何流量,所以为了实现流量负载均衡,MSTP诞生了。 生成树不是基于VLAN运行的ÿ…...
Linux---shell脚本
文章目录 目录 文章目录 前言 一.Shell脚本定义 shell脚本书写规范 shell脚本执行方式 二.Shell变量 变量定义 定义规范 定义方式 变量的运算 数值运算 数值比较 未完待续...... 前言 希望通过本文的学习,你能够掌握Shell脚本的基本知识和实用技巧,…...
Android12的ANR解析
0. 参考: ANR分析 深入理解 Android ANR 触发原理以及信息收集过程 1.ANR的触发分类: ANR分为4类: InputDispatchTimeout:输入事件分发超时5s,包括按键和触摸事件。BroadcastTimeout:比如前台广播在10s内未执行完成࿰…...
初学人工智不理解的名词3
TTS领域的名词 from gpt-4o 在 TTS(文本到语音合成) 领域,以下是 CFM、One-Step 蒸馏 和 ReFlow 的含义和作用的详细解释: 1. CFM(Consistent Flow Matching) Consistent Flow Matching(一致流…...
ADS项目笔记 1. 低噪声放大器LNA天线一体化设计
在传统射频结构的设计中,天线模块和有源电路部分相互分离,两者之间通过 50 Ω 传输线级联,这种设计需要在有源电路和天线之间建立无源网络,包括天线模块的输入匹配网络以及有源电路的匹配网络。这些无源网络不仅增加了系统的插入损…...
J.U.C - 深入解读阻塞队列实现原理源码
文章目录 Pre生产者-消费者模式阻塞队列 vs 普通队列JUC提供的7种适合与不同应用场景的阻塞队列插入操作:添加元素到队列中移除操作:从队列中移除元素。 ArrayBlockingQueue源码解析类结构指定初始容量及公平/非公平策略的构造函数根据已有集合初始化队列…...
【大语言模型学习】LORA微调方法
LORA: Low-Rank Adaptation of Large Language Models 摘要 LoRA (Low-Rank Adaptation) 提出了一种高效的语言模型适应方法,针对预训练模型的适配问题: 目标:减少下游任务所需的可训练参数,降低硬件要求。方法:冻结预训练模型权重,注入低秩分解矩阵,从而在不影响推理…...
Spring Boot【一】
Spring Boot全局配置文件 application.properties 是 Spring Boot 的标准配置文件,用于集中管理应用程序的配置属性。它的主要作用是将配置信息与代码分离,使得应用程序更具可维护性和可配置性。 Application.yaml配置文件 YAML文件格式是JSON超集文件…...
H.265流媒体播放器EasyPlayer.js H.264/H.265播放器chrome无法访问更私有的地址是什么原因
EasyPlayer.js H5播放器,是一款能够同时支持HTTP、HTTP-FLV、HLS(m3u8)、WS、WEBRTC、FMP4视频直播与视频点播等多种协议,支持H.264、H.265、AAC、G711A、MP3等多种音视频编码格式,支持MSE、WASM、WebCodec等多种解码方…...
【大数据学习 | HBASE高级】rowkey的设计,hbase的预分区和压缩
1. rowkey的设计 RowKey可以是任意字符串,最大长度64KB,实际应用中一般为10~100bytes,字典顺序排序,rowkey的设计至关重要,会影响region分布,如果rowkey设计不合理还会出现region写热点等一系列问题。 …...
Dart:字符串
字符串:单双引号 String c hello \c\; // hello c,单引号中使用单引号,需要转义\ String d "hello c"; // hello c,双引号中使用单引号,不需要转义 String e "hello \“c\”"; // hell…...
平衡二叉搜索树之 红黑 树的模拟实现【C++】
文章目录 红黑树的简单介绍定义红黑树的特性红黑树的应用 全部的实现代码放在了文章末尾准备工作包含头文件类的成员变量和红黑树节点的定义 构造函数和拷贝构造swap和赋值运算符重载析构函数findinsert【重要】第一步:按照二叉搜索树的方式插入新节点第二步&#x…...
2:Vue.js 父子组件通信:让你的组件“说话”
上一篇我们聊了如何用 Vue.js 创建一个简单的组件,这次咱们再往前走一步,讲讲 Vue.js 的父子组件通信。组件开发里,最重要的就是让组件之间能够“说话”,数据能流通起来。废话不多说,直接开干! 父组件传数据…...
6. Keepalived配置Nginx自动重启,实现7x24提供服务
一. Keepalived配置Nginx自动重启,实现7x24提供服务 1.编写不停的检查nginx服务器状态,停止并重启,重启失败后则停止keepalived脚本 cd /etc/keepalived/ vim check_nginx_alive_or_not.sh #---内容如下:--------------- #!/bin/bash A=`ps -C nginx --no-header |wc -l...
【PS】蒙版与通道
内容1: 、选择蓝色通道并复制,对复制的蓝色通道ctrli进行反向选择,然后ctrll调整色阶。 、选择载入选区,然后点击rgb。 、点击蒙版 、点击云彩图层调整位置 、点击色相/饱和度,适当调整 、最后使用滤镜等功能添加光圈…...
C++创建型模式之生成器模式
解决的问题 生成器模式(Builder Pattern)主要解决复杂对象的构建问题。当一个对象的创建过程非常复杂,涉及多个步骤和多个部件时,使用生成器模式可以将对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表…...
鸿蒙NEXT应用示例:切换图片动画
【引言】 在鸿蒙NEXT应用开发中,实现图片切换动画是一项常见的需求。本文将介绍如何使用鸿蒙应用框架中的组件和动画功能,实现不同类型的图片切换动画效果。 【环境准备】 电脑系统:windows 10 开发工具:DevEco Studio NEXT B…...
postgresql(功能最强大的开源数据库)继承特性和分区实现
PostgreSQL实现了表继承,在多重表继承下,对上亿条不同类别的数据条目进行按型号、按月份双层分区管理,既可在总表查阅所有条目的共有字段,也可在各类型字表查询附加字段,非常高效。 分区是通过继承的方式来实现的&…...
论文笔记(五十六)VIPose: Real-time Visual-Inertial 6D Object Pose Tracking
VIPose: Real-time Visual-Inertial 6D Object Pose Tracking 文章概括摘要I. INTRODACTIONII. 相关工作III. APPROACHA. 姿态跟踪工作流程B. VIPose网络 文章概括 引用: inproceedings{ge2021vipose,title{Vipose: Real-time visual-inertial 6d object pose tra…...
微服务治理详解
文章目录 什么是微服务架构为什么要使用微服务单体架构如何转向微服务架构服务治理服务治理治的是什么服务注册与发现服务熔断降级服务网关服务调用服务负载均衡服务配置中心 微服务解决方案SpringCloud体系EurekaHystrixGatewayOpenFeignRibbonConfig SpringCloud Alibaba体系…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...
代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...
