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

05. 交换机的基本配置

文章目录

  • 一. 初识交换机
    • 1.1. 交换机的概述
    • 1.2. Ethernet_ll格式
    • 1.3. MAC分类
    • 1.4. 冲突域
    • 1.5. 广播域
    • 1.6. 交换机的原理
    • 1.7. 交换机的3种转发行为
  • 二. 初识ARP
    • 2.1. ARP概述
    • 2.2. ARP报文格式
    • 2.3. ARP的分类
    • 2.4. 免费ARP的作用
  • 三. 实验专题
    • 3.1. 实验1:交换机的基本原理与配置
      • 3.1.1. 实验目的
      • 3.1.2. 实验拓扑图
      • 3.1.3. 实验步骤
        • (1)配置IP地址
        • (2)实验调试
          • ① 查看交换机信息
          • ② 访问测试
          • ③ 查看交换机信息
    • 3.2. 实验2:动态ARP的原理与配置
      • 3.2.1. 实验目的
      • 3.2.2. 实验目的
      • 3.2.3. 实验目的
        • (1)配置PC机的IP地址
        • (2)查看PC机的ARP缓存表
          • ① 查看缓存表
          • ② 测试发送
          • ③ 抓包结果
    • 3.3. 实验3:静态ARP的原理与配置
      • 3.3.1. 实验目的
      • 3.3.2. 实验拓扑图
      • 3.3.3. 实验步骤
        • (1)配置PC机的ip地址
        • (2)界面静态ARP绑定配置
    • 3.4. 实验4:代理ARP的原理与配置
      • 3.4.1. 实验目的
      • 3.4.2. 实验拓扑图
      • 3.4.3. 实验步骤
        • (1)配置PC机的IP地址
        • (2)配置路由器的IP地址
        • (3)代理ARP测试(无配置代理ARP)
        • (4)配置代理ARP
        • (5)代理ARP测试(配置代理ARP)
        • (6)查看路由表接口信息
  • 四. 交换机的基本原理命令汇总

一. 初识交换机

1.1. 交换机的概述

二层交换设备工作在OSI模型的第二层,即数据链路层,它对数据包的转发是建立在Mac(媒体访问控制)地址基础之上的。
二层交换设备不同的接口发送和接收数据独立,各接口属于不同的冲突域,因此有效地隔离了网络中物理层冲突域,使得通过它互联的主机(或网络)之间不必再担心流量大对数据发送冲突的影响。

在网络中传输数据时需要遵循一些标准,以太网协议定义了数据帧在以太网中的传输标准。

  • 了解以太网协议是充分理解数据链路层通信的基础;
  • 以太网交换机是实现数据链路层通信的主要设备;
  • 了解以太网交换机的工作原理也是十分必要的;

1.2. Ethernet_ll格式

格式名称说明
DMAC目的Mac地址,6B,该字段标识帧的接收者
SMAC源 Mac地址,6B,该字段标识帧的发送者
Type协议类型
Data数据字段,46~1500B。标识帧的负载
FCS帧校验序列,4B,是一种为接收者提供判断是否传输错误的方法,如果发现错误则丢弃此帧

1.3. MAC分类

名称说明
单播MAC地址第8位为0,用于标识链路上的一个单一节点
组播MAC地址第8位,为1,用来代表局域网上的一组终端
广播MAC地址全1,用来表示局域网上的所有终端设备

1.4. 冲突域

冲突域是指连接在同一共享介质上的所有节点的集合

1.5. 广播域

广播域是指一个节点发送一个广播报文,其余节点都能够收到的节点的集合

1.6. 交换机的原理

  • 基于源Mac地址学习
  • 基于目的Mac地址转发
  • 收到的是一个广播帧或者未知的广播帧,除源端口以外所有端口转发

1.7. 交换机的3种转发行为

行为方式描述
Flooding(泛洪)交换机把某一个接口接收的数据帧从除源端口以外所有的端口转发出去,是一种点到多点的转发行为。(包含3种情况:收到广播数据帧、收到组播数据帧、收到未知单播数据帧)
Forwarding(转发)交换机从某一个接口收到的数据帧从另一个端口转发出去是一种点到点的行为
Discarding(丢弃)交换机把从某一端口进行的帧直接丢弃

二. 初识ARP

2.1. ARP概述

在局域网中,当主机或其他三层网络设备有数据要发送给另一台主机或三层网络设备时,它需要知道对方的网络层地址(即IP地址)
但是仅有IP地址是不够的,因为IP报文必须封装成帧才能通过物理网络发送。

因此发送方还需要知道接收方的物理地址(即MAC地址),这就需要从一个IP地址到Mac地址的映射。
ARP可以实现将IP地址解析为Mac地址。

主机或三层网络设备上会维护一张ARP表,用于存储IP地址和Mac地址的关系。一般ARP表项包括动态ARP表项静态ARP表项

2.2. ARP报文格式

报文名称描述
Hardware Type硬件地址类型,一般为以太网
Protocal Type三层协议地址类型,一般为IP
Hardware Length & Protocol LengthMac地址和IP地址的长度,单位为字节
Operation Code指定ARP报文的类型,包括ARP Request和ARP Reply
Source Hardware接收者的Mac地址,在ARP报文中,该字段值为0
Destination Protocol Address接收者的IP地址

2.3. ARP的分类

种类描述
动态ARP表项有ARP协议,通过ARP报文自动生成和维护,可以被老化,可以被新的ARP报文更新,可以被静态ARP表项覆盖。动态ARP适用于拓扑结构复杂、通信实时性要求高的网络
静态态ARP是由网络管理员手工建立的IP地址和Mac地址之间固定的映射关系。静态ARP表象不会被老化,不会被动态ARP表象覆盖
免费ARP设备主动使用自己的IP地址作为目的IP地址发送ARP请求,此种方式称为免费ARP

2.4. 免费ARP的作用

用途描述
IP地址冲突检测当设备接口协议状态变为up时,设备主动对外发送免费的ARP报文,正常情况下不会受到ARP应答,如果收到,则表明本网络中存在与自身IP地址重复的地址。如果检测到IP冲突,设备会周期性的广播发送免费ARP应答报文,直到冲突解除。
通告新的Mac地址如:发送方更换了网卡,Mac地址发生了改变。为了能够在动态ARP表象老化前通告网络中其他设备,发送方可以发送一个免费ARP
代理ARP如果ARP请求是从一个网络的主机发送同一个网站,但不同于物理网络上的另一台主机,那么连接这两个网络的设备就可以回答该网ARP请求,这个过程称为代理ARP

三. 实验专题

3.1. 实验1:交换机的基本原理与配置

3.1.1. 实验目的

掌握交换机的基本原理

3.1.2. 实验拓扑图

在这里插入图片描述

3.1.3. 实验步骤

(1)配置IP地址

1)PC1的配置
在【IPV4配置】栏中选中【静态】单选按钮,输入对应的【IP地址】【子网掩码】和【网关】,然后点击应用按钮。PC2、PC3、PC4的配置步骤如图所示:
在这里插入图片描述
2)PC2的配置
在这里插入图片描述
3)PC3的配置
在这里插入图片描述
4)PC4的配置
在这里插入图片描述

(2)实验调试
① 查看交换机信息
#查看交换机的Mac地址表
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW1
[LSW1]display mac-address #查看mac地址表

如图所示:
在这里插入图片描述
可以看到,交换机的Mac地址表为空,表示交换机设备没有开始转发数据时Mac地址默认是为空的

② 访问测试
#在PC1上访问PC4
PC>ping 192.168.1.4

如图所示:
在这里插入图片描述

③ 查看交换机信息
#查看交换机MAC地址表,命令如下:
[LSW1]display mac-address

如图所示:
在这里插入图片描述
以上输出结果显示了交换器的Mac的地址表

思考: PC访问PC4的数据转化过程是怎样的?

  • PC1封装时没有PC4的Mac地址,要通过ARP知道PC4的Mac地址;
  • PC1封装数据,把它从E0/0/1接口转发给交换机;
  • 交换机收到数据后,查看数据帧,首先学习PC1的Mac地址,然后泛洪数据帧;
  • PC2、PC3收到数据包以后不做处理,PC4是收到数据包后要回应PC1从G1/0/0/1接口转发出去,最后PC1收到数据包

3.2. 实验2:动态ARP的原理与配置

3.2.1. 实验目的

  • 掌握ARP表项内容
  • 掌握ARP动态获取MAC地址的过程

3.2.2. 实验目的

在这里插入图片描述

3.2.3. 实验目的

(1)配置PC机的IP地址

1)配置PC1的地址
在【IPV4配置】栏中选中【静态】单选按钮,输入对应的【IP地址】【子网掩码】和【网关】,然后点击应用按钮。PC1的配置步骤如图所示:
在这里插入图片描述
2)配置PC2的地址
如图所示:
在这里插入图片描述

(2)查看PC机的ARP缓存表
① 查看缓存表
#查看PC1的ARP缓存表,在PC1的命令行界面输入“arp -a”
PC>arp -a
#查看PC2的ARP缓存表,在PC1的命令行界面输入“arp -a”
PC>arp -a

如图所示:
在这里插入图片描述
在这里插入图片描述
ARP的参数信息

参数名描述
Internet Address代表IP地址
Physical Address代表MAC地址
Type代表ARP表项的形式方式
② 测试发送
#PC1访问PC2,并查看PC1的ARP缓存表
PC>ping 10.1.1.2
PC>arp -a

如图所示:
在这里插入图片描述
以上图可以看出PC1学习到了10.1.1.2,这个ip地址对应的mac地址为54-89-98-81-23-EE

③ 抓包结果

在这里插入图片描述
在这里插入图片描述
对刚刚圈出两个抓包数据,双击点击进去查看,如图所示:
在这里插入图片描述
技术要点:
PC1访问PC2时动态学习MAC地址的工作过程是怎样的?

  • PC1访问PC2访问前,首先查看自己的ARP缓存表,若表项为空,则就无法封装数据帧的目的MAC地址字段;
  • PC1以广播报文的形式发送ARP request报文请求PC2的MAC地址,ARP请求包中会还会携带PC1的ip地址以及MAC地址;
  • PC2收到PC1发送ARP request报文后,会先把PC1的ip地址以及mac地址对应关系添加到自己的ARP缓存表中;
  • 交换机收到了单播报文后,将此报文转发给PC1;
  • PC1收到报文后,将得知PC2的mac地址以及ip地址的对应关系并假如自己的缓存表中

3.3. 实验3:静态ARP的原理与配置

3.3.1. 实验目的

  • 掌握静态ARP的配置方法
  • 理解静态ARP的工作原理

3.3.2. 实验拓扑图

在这里插入图片描述

3.3.3. 实验步骤

(1)配置PC机的ip地址

1)PC1机的ip配置
在这里插入图片描述

2)PC2机的ip配置
在这里插入图片描述

(2)界面静态ARP绑定配置

1)PC1机静态ARP绑定配置

PC>arp -s 10.1.1.2 54-89-98-2E-6C-F1 #配置静态ARP绑定
PC>arp -a .
PC>arp -a 

如图所示:
在这里插入图片描述
2)PC2机静态ARP绑定配置

PC>arp -s 10.1.1.1 54-89-98-F1-65-7C
PC>arp -a

如图所示:
在这里插入图片描述

3.4. 实验4:代理ARP的原理与配置

3.4.1. 实验目的

  • 掌握代理ARP的配置方法
  • 理解代理ARP的工作原理

3.4.2. 实验拓扑图

在这里插入图片描述

3.4.3. 实验步骤

(1)配置PC机的IP地址

1)PC1机的ip地址配置
在这里插入图片描述

2)PC2机的ip地址配置
在这里插入图片描述

(2)配置路由器的IP地址

<AR1>system-view
[AR1]undo info-center enable
[AR1]sysname AR1
[AR1]interface g0/0/0
[AR1-GigabitEthernet0/0/0]ip address 10.1.1.1 24
[AR1-GigabitEthernet0/0/0]interface g0/0/1
[AR1-GigabitEthernet0/0/1]ip address 10.1.2.1 24
[AR1-GigabitEthernet0/0/1]

如图所示:
在这里插入图片描述

(3)代理ARP测试(无配置代理ARP)
#这是没有配置代理ARP测试的结果
PC>ping 10.1.2.2

如图所示:
在这里插入图片描述
以上说明,没有配置代理ARP前,PC1是无法访问PC2的尽管IP分别是10.1.1.2/16、10.1.2.2/16,且属于10.1.0.0/16网段,但是对于相同网段设备互访会使用二层通信。
此时PC会发送ARP请求报文(广播包),请求PC2的Mac地址,而路由设备会隔离广播,不会将这个ARP报文转发给PC2。

因此PC1学习不到PC2的Mac地址,无法封装数据帧,导致无法互访。

(4)配置代理ARP
[AR1-GigabitEthernet0/0/0]quit
[AR1]interface g0/0/0
[AR1-GigabitEthernet0/0/0]arp-proxy enable #在g0/0/0接口开启代理ARP功能
[AR1-GigabitEthernet0/0/0]interface g0/0/1
[AR1-GigabitEthernet0/0/1]arp-proxy enable #在g0/0/1接口开启代理ARP功能

如图所示:
在这里插入图片描述

(5)代理ARP测试(配置代理ARP)
#PC1访问PC2
PC>ping 10.1.2.2
PC>arp -a

如图所示:
在这里插入图片描述
通过以上输出可以看到,PC1可以访问PC2,并且学习到了PCR的IP地址和Mac地址的对应关系。

接下来,了解一下代理ARP的工作过程

  • PC1访问10.1.2.2,由于与本身配置的IP地址10.1.1.2属于相同网段,因此PC1会发送ARP请求报文到PC2的Mac地址;
  • 由于路由器会隔离广播包,因此在没有配置代理ARP前,两台设备是无法互访的;
  • 在路由器上配置了代理ARP后,路由器收到ARP请求报文后,路由器会查找路由表,由于PC2与路由直连,因此路由器存在PC2的直连路由表象,因此路由器使用自己的Mac的地址给PC1发送ARP应答报文;
  • PC1收到了路由器的ARP应答报文,将路由器的。G0/0/0/0接口的Mac地址与PC2的IP地址进行ARP映射,下次使用路由器的Mac地址进行数据转发,此时路由器相当于PC2的代理
(6)查看路由表接口信息
[AR1]display interface g0/0/0

如图所示:
在这里插入图片描述
可以发现路由器的G0/0/0接口的Mac地址为5489-9847-309b 与以PC1上学习到的10.1.2.2的Mac地址一致验证了上面的说法。

可以将这种代理ARP堪作一种欺骗,ARP路由器欺骗了PC1,它传递的PC1的信息是PC2的Mac地址为路由器接口的Mac地址。

只不过这种欺骗是一种善意欺骗,可以让IP地址属于同一网站却不属于同一物理网络的主机间相互通信。

四. 交换机的基本原理命令汇总

命令作用
display mac-address查看交换机Mac的地址表
mac-address aging-time修改Mac地址表的老化时间
arp -a查看PC机的ARP缓存表
arp -s在PC机上绑定IP地址和Mac地址
arp proxy enable在路由器上开启ARP代理功能

相关文章:

05. 交换机的基本配置

文章目录 一. 初识交换机1.1. 交换机的概述1.2. Ethernet_ll格式1.3. MAC分类1.4. 冲突域1.5. 广播域1.6. 交换机的原理1.7. 交换机的3种转发行为 二. 初识ARP2.1. ARP概述2.2. ARP报文格式2.3. ARP的分类2.4. 免费ARP的作用 三. 实验专题3.1. 实验1&#xff1a;交换机的基本原…...

yolo将标签数据打到原图上形成目标框

第一章 目标&#xff1a;为了查看自己在标注标签时是否准确&#xff0c;写了这段代码来将标注的框打到原图上 第二章 步骤&#xff1a;进行反归一化得到坐标画出矩形框 第二行是目标图片对应的txt,第三行是目标图片 第三章 全部代码如下&#xff1a; import cv2 import …...

002-00-02【大红ai源码】dolphinscheduler3.2.0 源码环境搭建------by孤山村头王大爷家女儿大红

【ai阅读源码-dolphinscheduler】 DolphinScheduler 开发手册1、软件要求2、克隆代码库3、编译打包4、代码风格5、新建数据库&#xff0c;导入元数据。6&#xff0c; 启动后端6.1 启动api-server 6.2 启动master-server6.3 启动worker-server 7 启动前端 DolphinScheduler 开发…...

python-自动化篇-运维-监控-如何使⽤Python处理和解析⽇志⽂件?-实操记录

文章目录 1. 选择日志文件格式&#xff1a; 确定要处理的日志文件的格式。不同的日志文件可能具有不同的格式&#xff0c;如文本日志、CSV、JSON、XML等。了解日志文件的格式对解析⾮常重要。2. 打开日志文件&#xff1a; 使⽤Python的文件操作功能打开日志文件&#xff0c;以便…...

代码随想录算法训练营DAY6 | 哈希表(1)

DAY5休息一天&#xff0c;今天重启~ 哈希表理论基础&#xff1a;代码随想录 Java hash实现 &#xff1a;java 哈希表-CSDN博客 一、LeetCode 242 有效的字母异位词 题目链接&#xff1a;242.有效的字母异位词 思路&#xff1a;设置字典 class Solution {public boolean isAnag…...

【嵌入式学习】C++QT-Day3-C++基础

笔记 见我的博客&#xff1a;https://lingjun.life/wiki/EmbeddedNote/19Cpp 作业 设计一个Per类&#xff0c;类中包含私有成员:姓名、年龄、指针成员身高、体重&#xff0c;再设计一个Stu类&#xff0c;类中包含私有成员:成绩、Per类对象p1&#xff0c;设计这两个类的构造函…...

表贴式PMSM的直接转矩控制(DTC)MATLAB仿真模型

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 模型简介 表贴式PMSM的直接转矩控制(DTC),直接使用滞环控制对转矩和磁链进行控制&#xff0c;相对于传统的FOC控制而言&#xff0c;其不需要进行解耦变换&#xff0c;在此次的有以下几点需要注意&#xff1a…...

详解OpenHarmony各部分文件在XR806上的编译顺序

大家好&#xff0c;今天我们来谈一谈编程时一个很有趣的话题——编译顺序。我知道&#xff0c;一提到编译可能大家会感到有点儿头疼&#xff0c;但请放心&#xff0c;我不会让大家头疼的。我们要明白&#xff0c;在开始写代码之前&#xff0c;了解整个程序的编译路径是十分有必…...

【美团】无人机-大数据开发工程师

更新时间&#xff1a;2024/01/29 工作地点&#xff1a;北京市 事业群&#xff1a;到家事业群 工作经验&#xff1a;3年 部门介绍 为了更好地提升城市即时配送的效率与体验&#xff0c;美团于2017年启动了无人机配送服务的探索&#xff0c;通过科技创新推动履约工具变革&#x…...

微服务系统设计:横向扩展和纵向扩展的对比

微服务扩展性&#xff1a;水平扩展 vs 垂直扩展 特点水平扩展垂直扩展扩展单位增加微服务实例增加单个实例的资源 (CPU&#xff0c;内存)方向向外&#xff0c;增加节点向上&#xff0c;增加单个节点的资源复杂性随着实例数量的增加&#xff0c;管理难度更大管理更简单&#xf…...

Java基于SpringBoot+Vue的网上超市管理系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…...

HTTP中POST、GET、PUT、DELETE方式的区别

GET请求会向数据库发索取数据的请求&#xff0c;从而来获取信息&#xff0c;该请求就像数据库的select操作一样&#xff0c;只是用来查询一下数据&#xff0c;不会修改、增加数据&#xff0c;不会影响资源的内容&#xff0c;即该请求不会产生副作用。无论进行多少次操作&#x…...

77.Go中interface{}判nil的正确姿势

文章目录 一&#xff1a;interface{}简介二、interface{}判空三&#xff1a;注意点四&#xff1a;实际案例 一&#xff1a;interface{}简介 在go中的nil只能赋值给指针、channel、func、interface、map或slice类型的变量 interface 是否根据是否包含有 method&#xff0c;底层…...

ES实战回顾

1、你用的集群节点情况&#xff1f; 一个ES集群&#xff0c;18个节点&#xff0c;其中3个主节点&#xff0c;15个数据节点&#xff0c;500G左右的索引数据量&#xff0c;没有单独的协调节点&#xff0c;它的每个节点都可以充当协调功能&#xff1b; 2、你们常用的索引有哪些&a…...

Mysql 删除数据

从数据表中删除数据使用DELETE语句&#xff0c;DELETE语句允许WHERE子句指定删除条件。DELETE语句基本语法格式如下&#xff1a; DELETE FROM table_name [WHERE <condition>]; table_name指定要执行删除操作的表&#xff1b;“[WHERE <condition>]”为可选参数&a…...

CSS设置单行文字水平垂直居中的方法

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>单行文字水平垂直居中</title><style>div {/* 给div设置宽高 */width: 400px;height: 200px;margin: 100px auto;background-color: red;/…...

数论与图论

数论&#x1f388; 筛质数 最普通的筛法O(nlogn)&#xff1a; void get_primes2(){for(int i2;i<n;i){if(!st[i]) primes[cnt]i;//把素数存起来for(int ji;j<n;ji){//不管是合数还是质数&#xff0c;都用来筛掉后面它的倍数st[j]true;}} } 诶氏筛法 O(nloglogn)&#…...

海外云手机三大优势

在全球化潮流下&#xff0c;企业因业务需求对海外手机卡等设备的需求不断攀升&#xff0c;推动了海外云手机业务的蓬勃发展。相较于自行置备手机设备&#xff0c;海外云手机不仅能够降低成本&#xff0c;还具备诸多优势&#xff0c;让我们深入探讨其中的三大黄金优势。 经济实惠…...

AndroidStudio安装教程基础篇

Android Studio是专为Android应用程序开发而设计的官方集成开发环境&#xff08;IDE&#xff09;。它提供了丰富的工具和功能&#xff0c;帮助开发者更高效地构建出色的应用程序。本文将为您提供Android Studio的安装文档基础指南&#xff0c;帮助您顺利安装并开始使用这款强大…...

RK3568 Android 13 系统裁剪

android 13 系统裁剪是个大工程&#xff0c;裁剪也是需要大量的测试&#xff0c;才能保证系统的稳定性&#xff0c;以下是RK官方给出的裁剪方案&#xff0c;有兴趣的可以去看一下&#xff0c;对裁剪不是要求过高的可以根据官方的建议&#xff0c;对系统进行裁剪: Rockchip And…...

Ubuntu 隐藏Telnet主机SSH服务时显示版本信息问题

一、背景 默认情况下&#xff0c;我们通过telnet服务器的22端口&#xff0c;能够获取OpenSSH服务的banner信息(如下图所示)。而低版本的OpenSSH存在许多高危漏洞。。为了安全我们要隐藏这个信息。 二、隐藏Telnet版本信息 当使用telnet命令&#xff0c;telnet 192.168.31.20…...

webpack环境配置

1.首先安装 cross-env npm install cross-env --save-dev 在package.json里面配置 根据不同命令打包 "scripts": {"dev": "cross-env NODE_ENVdevelopment webpack-dev-server --config webpack.config.dev.js","dev:test": "c…...

树控件、下拉框、文本框常用测试用例

01 控件的测试外观操作 1&#xff09;项目中的所有树是否风格一致 2&#xff09;树结构的默认状态是怎样的。比如默认树是否是展开&#xff0c;是展开几级&#xff1f; 是否有默认的焦点&#xff1f;默认值是什么&#xff1f;展开的节点图标和颜色&#xff1f; 3&#xff09…...

Java把列表数据导出为PDF文件,同时加上PDF水印

一、实现效果 二、遇到的问题 实现导出PDF主体代码参考&#xff1a;Java纯代码实现导出PDF功能&#xff0c;下图是原作者实现的效果 导出报错Font STSong-Light with UniGB-UCS2-H is not recognized.。参考&#xff1a;itext 生成 PDF(五) 使用外部字体 网上都是说jar包的版本…...

const与readonly详解

const与readonly详解 大家好&#xff0c;我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天&#xff0c;我们将深入探讨在TypeScript中常用的const与readonly关键字&#xff0c;了解它…...

ArcGIS Pro 如何计算长度和面积等数据?

要素的几何属性属于比较重要的信息&#xff0c;作为一款专业的GIS软件&#xff0c;ArcGIS Pro自然也是带有计算几何的功能&#xff0c;这里为大家介绍一下计算方法&#xff0c;希望能对你有所帮助。 数据来源 教程所使用的数据是从水经微图中下载的矢量数据&#xff0c;除了矢…...

IntelliJ创建一个springboot工程

安装jdk mac教程 windows教程 安装maven mac教程 windows教程 建议&#xff1a; 在本地磁盘新建一个文件夹叫maven&#xff0c;然后把下载的maven安装到这里。在后续的IntelliJ操作中&#xff0c;配置maven的settings.xml和repository地址为这个目录下的地址。 创建sprin…...

Spark入门02-Spark开发环境配置(idea环境)

安装与配置Spark开发环境 1.下载解压安装包 https://archive.apache.org/dist/spark/spark-2.1.2/ https://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-3.3.4/ 2、新建Scala项目 参考https://blog.csdn.net/weixin_38383877/article/details/135894760 3、项目中引…...

Codeforces Round 886 (Div. 4)

目录 A. To My Critics B. Ten Words of Wisdom C. Word on the Paper D. Balanced Round E. Cardboard for Pictures F. We Were Both Children G. The Morning Star H. The Third Letter A. To My Critics 直接模拟 void solve(){int a,b,c; cin>>a>>b&…...

Pull模式和Push模式

Pull模式是一种消息消费模式&#xff0c;其中客户端主动从服务端拉取数据。 优点&#xff1a;客户端可以根据自己的消费能力来消费数据&#xff0c;不存在消息堆积的情况。 缺点&#xff1a;消息处理可能不及时&#xff0c;可能存在大量无效请求&#xff0c;客户端需要考虑拉取…...