当前位置: 首页 > news >正文

华为静态路由配置实验(超详细讲解+详细命令行)

系列文章目录

华为数通学习(7)


前言

一,静态路由配置

二,网络地址配置

AR1的配置:

AR2的配置:

AR3的配置:

三,测试是否连通

AR1的配置:

讲解:

AR2的配置:

讲解:

四,AR3配置回环ip地址

讲解:

五,配置静态路由表

AR1的配置:

讲解:

AR2的配置:

AR3的配置:

六,测试回环地址是否能通

AR1的配置:

讲解:

AR3的配置:

讲解:

八,使AR1可以ping通AR3的回环地址

讲解:

九,沉默路由的配置及其测试

清除配置的静态路由:

查看AR1是否有静态路由表

写一个静态路由

ping回环路由是可以通过的

查看AR1的静态路由表

测试通过

清除配置

测试不通

十,所有路由器的路由表的配置

总结


前言

随着华为公司的不断发展,数据通信这门技术也越来越重要,很多人都开启了数据通信学习,本文就介绍了静态路由配置实验,是我们通过数通王国的第十五站(我们在文章中使用的是华为的ENSP软件)。


一,静态路由配置

二,网络地址配置

AR1的配置:

网络地址配置:

<ar1>sys

Enter system view, return user view with Ctrl+Z.

[ar1]interface GigabitEthernet 0/0/0

[ar1-GigabitEthernet0/0/0]ip address 10.1.12.1 24

[ar1-GigabitEthernet0/0/0]

Aug 30 2023 19:32:27-08:00 ar1 %%01IFNET/4/LINK_STATE(l)[0]:The line protocol IP on the interface GigabitEthernet0/0/0 has entered the UP state.

[ar1-GigabitEthernet0/0/0]q

AR2的配置:

网络地址配置:

<Huawei>sys

Enter system view, return user view with Ctrl+Z.

[Huawei]sys

[Huawei]sysname ar2

[ar2]interface GigabitEthernet 0/0/0

[ar2-GigabitEthernet0/0/0]ip address 10.1.12.2 24

[ar2-GigabitEthernet0/0/0]int g 0/0/1

[ar2-GigabitEthernet0/0/1]ip address 10.1.23.2 24

AR3的配置:

网络地址配置:

<Huawei>sys

Enter system view, return user view with Ctrl+Z.

[Huawei]sys

[Huawei]sysname ar3

[ar3]interface GigabitEthernet 0/0/1

[ar3-GigabitEthernet0/0/1]ip address 10.1.23.3 24

[ar3-GigabitEthernet0/0/1]

Aug 30 2023 19:36:50-08:00 ar3 %%01IFNET/4/LINK_STATE(l)[0]:The line protocol IP on the interface GigabitEthernet0/0/1 has entered the UP state.

[ar3-GigabitEthernet0/0/1]q

三,测试是否连通

AR1的配置:

[ar1]ping 10.1.23.2

  PING 10.1.23.2: 56  data bytes, press CTRL_C to break

    Request time out

    Request time out

    Request time out

    Request time out

    Request time out

  --- 10.1.23.2 ping statistics ---

    5 packet(s) transmitted

    0 packet(s) received

    100.00% packet loss

讲解:

不通是因为AR1和AR3处在同的网段

AR2的配置:

[ar2-GigabitEthernet0/0/0]ping 10.1.12.1

  PING 10.1.12.1: 56  data bytes, press CTRL_C to break

    Reply from 10.1.12.1: bytes=56 Sequence=1 ttl=255 time=260 ms

    Reply from 10.1.12.1: bytes=56 Sequence=2 ttl=255 time=20 ms

    Reply from 10.1.12.1: bytes=56 Sequence=3 ttl=255 time=30 ms

    Reply from 10.1.12.1: bytes=56 Sequence=4 ttl=255 time=20 ms

    Reply from 10.1.12.1: bytes=56 Sequence=5 ttl=255 time=20 ms

  --- 10.1.12.1 ping statistics ---

    5 packet(s) transmitted

    5 packet(s) received

    0.00% packet loss

    round-trip min/avg/max = 20/70/260 ms

讲解:

AR2可以ping通AR1是因为是直连路由

四,AR3配置回环ip地址

[ar3]interface LoopBack 1

[ar3-LoopBack1]ip address 1.1.1.1 32

[ar3-LoopBack1]interface LoopBack 2

[ar3-LoopBack2]ip address 2.2.2.2 32

[ar3-LoopBack2]interface LoopBack 3

[ar3-LoopBack3]ip address 3.3.3.3 32

讲解:

任何访问回环地址的AR3都会回复.

五,配置静态路由表

AR1的配置:

[ar1]display ip routing-table 3.3.3.3

[ar1]ip route-static 3.3.3.3 32 GigabitEthernet 0/0/0 10.1.12.2

[ar1]display ip routing-table 3.3.3.3                          

Route Flags: R - relay, D - download to fib

------------------------------------------------------------------------------

Routing Table : Public

Summary Count : 1

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

        3.3.3.3/32  Static  60   0           D   10.1.12.2       GigabitEthernet0/0/0

讲解:

可以看到外面在AR1中写了一个目的ip地址为3.3.3.3 32 ,接入口为GigabitEthernet 0/0/0,下一跳的IP地址是10.1.12.2的路由表

AR2的配置:

添加一个路由

[ar2]ip route-static 3.3.3.3 32 GigabitEthernet 0/0/1 10.1.23.3

查看已添加的路由

[ar2]display current-configuration | include ip rou

ip route-static 3.3.3.3 255.255.255.255 GigabitEthernet0/0/1 10.1.23.3

AR3的配置:

添加和查看的路由

[ar3]ip route-static 10.1.12.0 24 GigabitEthernet 0/0/1 10.1.23.2

[ar3]display ip routing-table 10.1.12.1

Route Flags: R - relay, D - download to fib

------------------------------------------------------------------------------

Routing Table : Public

Summary Count : 1

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

      10.1.12.0/24  Static  60   0           D   10.1.23.2       GigabitEthernet0/0/1

查看路由的总数:

[ar3]display current-configuration | include ip rou

ip route-static 10.1.12.0 255.255.255.0 GigabitEthernet0/0/1 10.1.23.2

六,测试回环地址是否能通

AR1的配置:

[ar1]ping 3.3.3.3

  PING 3.3.3.3: 56  data bytes, press CTRL_C to break

    Request time out

    Request time out

    Request time out

    Request time out

    Request time out

  --- 3.3.3.3 ping statistics ---

    5 packet(s) transmitted

    0 packet(s) received

    100.00% packet loss

讲解:

不通是因为没有回包

AR3的配置:

<ar3>ping 1.1.1.1

  PING 1.1.1.1: 56  data bytes, press CTRL_C to break

    Reply from 1.1.1.1: bytes=56 Sequence=1 ttl=255 time=20 ms

    Reply from 1.1.1.1: bytes=56 Sequence=2 ttl=255 time=1 ms

    Reply from 1.1.1.1: bytes=56 Sequence=3 ttl=255 time=1 ms

    Reply from 1.1.1.1: bytes=56 Sequence=4 ttl=255 time=1 ms

    Reply from 1.1.1.1: bytes=56 Sequence=5 ttl=255 time=1 ms

  --- 1.1.1.1 ping statistics ---

    5 packet(s) transmitted

    5 packet(s) received

    0.00% packet loss

    round-trip min/avg/max = 1/4/20 ms

讲解:

证明回环地址是正常的

八,使AR1可以ping通AR3的回环地址

[ar1]ip route-static 10.1.23.0 24 GigabitEthernet 0/0/0 10.1.12.2

[ar1]ip route-static 1.1.1.1 32 GigabitEthernet 0/0/0 10.1.12.2

[ar1]ip route-static 2.2.2.2 32 GigabitEthernet 0/0/0 10.1.12.2

讲解:

为AR1配置三个路由,让AR1可以ping通AR3的回环地址

ping通过了

[ar1]ping 1.1.1.1

  PING 1.1.1.1: 56  data bytes, press CTRL_C to break

    Reply from 1.1.1.1: bytes=56 Sequence=1 ttl=254 time=40 ms

    Reply from 1.1.1.1: bytes=56 Sequence=2 ttl=254 time=30 ms

    Reply from 1.1.1.1: bytes=56 Sequence=3 ttl=254 time=20 ms

    Reply from 1.1.1.1: bytes=56 Sequence=4 ttl=254 time=40 ms

    Reply from 1.1.1.1: bytes=56 Sequence=5 ttl=254 time=30 ms

  --- 1.1.1.1 ping statistics ---

    5 packet(s) transmitted

    5 packet(s) received

    0.00% packet loss

    round-trip min/avg/max = 20/32/40 ms

九,沉默路由的配置及其测试

清除配置的静态路由:

[ar1]undo ip route-static all

Warning: This operation may lead to the deletion of all the public IPv4 static routes and their configurations. Continue? [Y/N]:y

查看AR1是否有静态路由表

[ar1]dis ip routing-table protocol static

写一个静态路由

[ar1]ip route-static 0.0.0.0 0 GigabitEthernet 0/0/0 10.1.12.2

ping回环路由是可以通过的

[ar1]ping 1.1.1.1

  PING 1.1.1.1: 56  data bytes, press CTRL_C to break

    Reply from 1.1.1.1: bytes=56 Sequence=1 ttl=254 time=40 ms

    Reply from 1.1.1.1: bytes=56 Sequence=2 ttl=254 time=30 ms

    Reply from 1.1.1.1: bytes=56 Sequence=3 ttl=254 time=40 ms

    Reply from 1.1.1.1: bytes=56 Sequence=4 ttl=254 time=20 ms

    Reply from 1.1.1.1: bytes=56 Sequence=5 ttl=254 time=30 ms

  --- 1.1.1.1 ping statistics ---

    5 packet(s) transmitted

    5 packet(s) received

    0.00% packet loss

    round-trip min/avg/max = 20/32/40 ms

查看AR1的静态路由表

[ar1]display ip routing-table protocol static

Route Flags: R - relay, D - download to fib

------------------------------------------------------------------------------

Public routing table : Static

         Destinations : 1        Routes : 1        Configured Routes : 1

Static routing table status : <Active>

         Destinations : 1        Routes : 1

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

        0.0.0.0/0   Static  60   0           D   10.1.12.2       GigabitEthernet0/0/0

Static routing table status : <Inactive>

         Destinations : 0        Routes : 0

测试通过

[ar1]ping -c 1 1.1.1.1

  PING 1.1.1.1: 56  data bytes, press CTRL_C to break

    Reply from 1.1.1.1: bytes=56 Sequence=1 ttl=254 time=30 ms

  --- 1.1.1.1 ping statistics ---

    1 packet(s) transmitted

    1 packet(s) received

    0.00% packet loss

    round-trip min/avg/max = 30/30/30 ms

清除配置

[ar1]undo ip route-static all  

Warning: This operation may lead to the deletion of all the public IPv4 static routes and their configurations. Continue? [Y/N]:y

Aug 30 2023 20:48:15-08:00 ar1 %%01RM/4/IPV4_DEFT_RT_CHG(l)[0]:IPV4 default Route is changed. (ChangeType=Delete, InstanceId=0, Protocol=Static, ExitIf=GigabitEthernet0/0/0, Nexthop=10.1.12.2, Neighbour=0.0.0.0, Preference=1006632960, Label=NULL, Metric=0)

测试不通

[ar1]ping -c 1 3.3.3.3       

  PING 3.3.3.3: 56  data bytes, press CTRL_C to break

    Request time out

  --- 3.3.3.3 ping statistics ---

    1 packet(s) transmitted

    0 packet(s) received

    100.00% packet loss

[ar1]ping -c 1 1.1.1.1       

  PING 1.1.1.1: 56  data bytes, press CTRL_C to break

    Request time out

  --- 1.1.1.1 ping statistics ---

    1 packet(s) transmitted

    0 packet(s) received

    100.00% packet loss

十,所有路由器的路由表的配置

AR1写的路由

ip route-static 3.3.3.3 255.255.255.255 GigabitEthernet0/0/0 10.1.12.2

ip route-static 10.1.23.0 24 GigabitEthernet 0/0/0 10.1.12.2

ip route-static 1.1.1.1 32 GigabitEthernet 0/0/0 10.1.12.2

ip route-static 2.2.2.2 32 GigabitEthernet 0/0/0 10.1.12.2

AR2写的路由

ip route-static 3.3.3.3 255.255.255.255 GigabitEthernet0/0/1 10.1.23.3

ip route-static 2.2.2.2 32 GigabitEthernet 0/0/1 10.1.23.3

ip route-static 1.1.1.1 32 GigabitEthernet 0/0/1 10.1.23.3

AR3写的路由

ip route-static 10.1.12.0 255.255.255.0 GigabitEthernet0/0/1 10.1.23.2


总结

恭喜你,你通过本章的学习了静态路由配置实验,华为数通还有很多宝藏等着你去探险,加油!只为成为更好的自己。

相关文章:

华为静态路由配置实验(超详细讲解+详细命令行)

系列文章目录 华为数通学习&#xff08;7&#xff09; 前言 一&#xff0c;静态路由配置 二&#xff0c;网络地址配置 AR1的配置&#xff1a; AR2的配置&#xff1a; AR3的配置&#xff1a; 三&#xff0c;测试是否连通 AR1的配置: 讲解&#xff1a; AR2的配置&#…...

axios源码学习

1 判断一个对象是否普通对象 Symbol.toStringTag&#xff1a;可以修改Object.prototype.toString.call返回的后缀&#xff0c;普通对象自带该属性&#xff0c;不需要设置&#xff0c;如果设置说明该对象不是普通对象Symbol.iterator&#xff1a;拥有该属性的对象可以使用for o…...

【SpingBoot】详细介绍SpringBoot项目中前端请求到数据库再返回前端的完整数据流转,并用代码实现

在SpringBoot项目中&#xff0c;前端请求到最终返回的完整数据流转一般包括以下几个步骤&#xff1a; 前端发送HTTP请求到后端Controller。 Controller接收到请求后&#xff0c;调用相关Service处理业务逻辑。 Service调用DAO层获取数据。 DAO层访问数据库获取数据。 数据库…...

kubesphere devops使用

一、创建项目 1 创建项目 企业管理员切换到相应企业空间(租户),创建项目&#xff0c;k8s集群会创建一个相同名字的namespace。如下图所示管理员创建一个ipaas-devops项目。 2.创建镜像拉取密钥信息 进入项目如ipaas-devops&#xff0c;选择配置->保密字典->创建&#xf…...

Selenium如何用于编写自动化测试脚本?

Selenium如何用于编写自动化测试脚本&#xff1f;它提供了许多测试工具和API&#xff0c;可以与浏览器交互&#xff0c;模拟用户操作&#xff0c;检查网页的各个方面。下面是一些步骤&#xff0c;可以帮助你编写Selenium自动化测试脚本。 1、安装Selenium库和浏览器驱动程序 首…...

linux入门到精通-第二章-常用命令和工具

目录 概述命令格式帮助文档内建命令外部命令&#xff08;--help&#xff09;帮助文档查看man查看谁登陆过电脑 文件目录命令创建目录显示目录结构删除目录 文件相关命令ls命令touchcprm删除mv移动命令 文件查看命令cat 文件内容查看命令less 查看文件内容head 从文件头部查看ta…...

C语言初阶测评题:测试你的基础知识和编程技能!!

&#x1f493;博客主页&#xff1a;江池俊的博客⏩收录专栏&#xff1a;C语言刷题专栏&#x1f449;专栏推荐&#xff1a;✅C语言初阶之路 ✅C语言进阶之路&#x1f4bb;代码仓库&#xff1a;江池俊的代码仓库&#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐ 文…...

使用HTTPS模式建立高效爬虫IP服务器详细步骤

嘿&#xff0c;各位爬虫小伙伴们&#xff01;想要自己建立一个高效的爬虫IP服务器吗&#xff1f;今天我就来分享一个简单而强大的解决方案——使用HTTPS模式建立工具&#xff01;本文将为你提供详细的操作步骤和代码示例&#xff0c;让你快速上手&#xff0c;轻松建立自己的爬虫…...

每日一题 230二叉搜索树中第K小的元素(中序遍历)

题目 给定一个二叉搜索树的根节点 root &#xff0c;和一个整数 k &#xff0c;请你设计一个算法查找其中第 k 个最小元素&#xff08;从 1 开始计数&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,1,4,null,2], k 1 输出&#xff1a;1示例 2&#xff1a; 输入…...

文件包含漏洞及漏洞复现

文件包含漏洞 1. 文件包含概述 程序开发人员通常会把可重复使用函数或语句写到单个文件中&#xff0c;形成“封装”。在使用某个功能的时候&#xff0c;直接调用此文件&#xff0c;无需再次编写&#xff0c;提高代码重用性&#xff0c;减少代码量。这种调用文件的过程通常称为…...

Android 手游聚合SDK小知识(一)

Android 手游聚合SDK小知识(一) Android 手游聚合SDK小知识(二) 聚合分包 前言 回头想想&#xff0c;在安卓游戏SDK这个领域&#xff0c;我也呆了4年了&#xff0c;从啥都不懂的小菜鸟&#xff0c;逐渐靠自己不断学习&#xff0c;对这个行业也算有了一些理解&#xff0c;趁着…...

桂理理工大题

#include <stdio.h> #include <stdlib.h>int getMax(int n); int getMin(int n); int range(int n); static int count1; //作为全局变量控制每次的序列号int main(){int num;int i,j;do{printf("输入黑洞数&#xff1a;\n");scanf("%d",&…...

Jmeter接口测试+压力测试

接口测试 Jmeter-http接口脚本 一般分五个步骤:&#xff08;1&#xff09;添加线程组 &#xff08;2&#xff09;添加http请求 &#xff08;3&#xff09;在http请求中写入接入url、路径、请求方式和参数 &#xff08;4&#xff09;添加查看结果树 &#xff08;5&#xff09;…...

mysql‘逻辑删除‘和‘唯一索引‘冲突的解决方案

一、冲突出现原因 在user表中将name字段设置唯一索引&#xff0c;添加逻辑删除字段del_flag&#xff08;1为删除&#xff0c;0为未删除&#xff09;之后&#xff0c;将name张四的字段删除&#xff0c;再添加一个name张四的记录则会出现冲突 二、解决 1.设置唯一索引组&#x…...

MQTT,如何在SpringBoot中使用MQTT实现消息的订阅和发布

一、MQTT介绍 1.1 什么是MQTT&#xff1f; MQTT&#xff08;Message Queuing Telemetry Transport&#xff0c;消息队列遥测传输协议&#xff09;&#xff0c;是一种基于发布/订阅&#xff08;publish/subscribe&#xff09;模式的“轻量级”通讯协议&#xff0c;该协议构建于…...

gRPC-Gateway 快速实战

今天来分享一波 gRPC-Gateway &#xff0c; 之前咱们有分享过什么是 gRPC 及其使用方式&#xff0c;可以看看这些关于 gRPC 的历史文章&#xff1a; gRPC介绍 gRPC 客户端调用服务端需要连接池吗&#xff1f; gRPC的拦截器 gRPC的认证 分享一下 gRPC- HTTP网关 I 今天主要是分…...

〔019〕Stable Diffusion 之 单图中绘制多人分区域写提示词 篇

✨ 目录 🎈 下载区域绘制插件🎈 区域绘制使用🎈 参数讲解和基础使用🎈 Lora 自组🎈 Lora 自组的使用🎈 分区扩散🎈 分区域提示🎈 下载区域绘制插件 在绘制图片时,经常绘制的图片不仅仅是 单人图片,也可能需要绘制 多人图片那么通过正常方式绘制出来的多人图片…...

Scala入门,idea关联Scala

Scala 介绍 Scala是一种多规范的编程语言&#xff0c;它结合了面向对象编程&#xff08;OOP&#xff09;和函数式编程&#xff08;FP&#xff09;的特征&#xff0c;Scala的名字源于”Scalable language“&#xff0c;意为”可伸缩语言“。2003年开发的&#xff0c;并在JVM&a…...

3DCAT携手华为,打造XR虚拟仿真实训实时云渲染解决方案

2023年5月8日-9日&#xff0c;以 因聚而生 众志有为 为主题的 华为中国合作伙伴大会2023 在深圳国际会展中心隆重举行。本次大会汇聚了ICT产业界的广大新老伙伴朋友&#xff0c;共同探讨数字化转型的新机遇&#xff0c;共享数字化未来的新成果。 华为中国合作伙伴大会2023现场&…...

Spring Security注销后未正确保存空的SecurityContext漏洞CVE-2023-20862

文章目录 0.前言漏洞Spring Security介绍 1.参考文档2.基础介绍3.解决方案3.1. 升级版本3.2. 临时替代方案 4.Spring Security使用教程简单代码示例 0.前言 背景&#xff1a;公司项目扫描到 Spring-security 组件 注销后未正确保存空的SecurityContext CVE-2023-20862 漏洞 高…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中&#xff0c;接口是一种抽象类型&#xff0c;它定义了一组方法的集合&#xff1a; // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的&#xff1a; // 矩形结构体…...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个&#xff1f;3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制&#xff08;过半机制&#xff0…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控&#xff0c;故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令&#xff1a;jps [options] [hostid] 功能&#xff1a;本地虚拟机进程显示进程ID&#xff08;与ps相同&#xff09;&#xff0c;可同时显示主类&#x…...

今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存

文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

在golang中如何将已安装的依赖降级处理,比如:将 go-ansible/v2@v2.2.0 更换为 go-ansible/@v1.1.7

在 Go 项目中降级 go-ansible 从 v2.2.0 到 v1.1.7 具体步骤&#xff1a; 第一步&#xff1a; 修改 go.mod 文件 // 原 v2 版本声明 require github.com/apenella/go-ansible/v2 v2.2.0 替换为&#xff1a; // 改为 v…...

初探用uniapp写微信小程序遇到的问题及解决(vue3+ts)

零、关于开发思路 (一)拿到工作任务,先理清楚需求 1.逻辑部分 不放过原型里说的每一句话,有疑惑的部分该问产品/测试/之前的开发就问 2.页面部分(含国际化) 整体看过需要开发页面的原型后,分类一下哪些组件/样式可以复用,直接提取出来使用 (时间充分的前提下,不…...

标注工具核心架构分析——主窗口的图像显示

&#x1f3d7;️ 标注工具核心架构分析 &#x1f4cb; 系统概述 主要有两个核心类&#xff0c;采用经典的 Scene-View 架构模式&#xff1a; &#x1f3af; 核心类结构 1. AnnotationScene (QGraphicsScene子类) 主要负责标注场景的管理和交互 &#x1f527; 关键函数&…...