【思科】链路聚合实验配置和背景

news2024/12/24 20:17:28

【思科】链路聚合实验配置和背景

  • 背景
  • 链路聚合基本概念
    • 链路聚合
    • 聚合接口
  • 思科链路聚合协议
    • 01.PAgP协议
    • 02.LACP协议
  • 思科链路聚合模式
    • LACP协议模式
    • PAgP协议模式
    • ON模式
  • 实验准备
  • 配置
    • 二层链路聚合
      • LACP协议模式
        • SW1
        • SW2
        • PC1
        • PC2
        • 查看LACP聚合组建立情况
        • 查看LACP聚合端口情况
        • 查看逻辑聚合端口带宽
        • PC1和PC2互Ping
      • PAgP协议模式
        • SW1
        • SW2
        • PC1
        • PC2
        • 查看LACP聚合组建立情况
        • 查看LACP聚合端口情况
        • 查看逻辑聚合端口带宽
        • PC1和PC2互Ping
      • ON模式
        • SW1
        • SW2
        • PC1
        • PC2
        • 查看LACP聚合组建立情况
        • 查看LACP聚合端口情况
        • 查看逻辑聚合端口带宽
        • PC1和PC2互Ping
    • 三层链路聚合
      • ON模式
        • SW1
        • SW2
        • 查看LACP聚合组建立情况
        • 查看LACP聚合端口情况
        • SW1和SW2互Ping
      • LACP模式
        • SW1
        • SW2
        • SW1和SW2互Ping
      • LACP模式
        • SW1
        • SW2
        • SW1和SW2互Ping

在这里插入图片描述

背景

思科的EtherChannel技术是一种链路聚合方法,它允许将多个物理以太网链路捆绑在一起,作为一个逻辑链路来增加带宽和提高冗余性。
在这里插入图片描述

随着网络规模不断扩大,用户对骨干链路的带宽和可靠性提出越来越高的要求。在传统技术中,常用更换高速率的单板或更换支持高速率单板的设备的方式来增加带宽,但这种方案需要付出高额的费用,而且不够灵活。

EtherChannel采用链路聚合技术,可以在不进行硬件升级的条件下,通过将多个物理接口捆绑为一个逻辑接口,达到增加链路带宽的目的。在实现增大带宽目的的同时,EtherChannel采用备份链路的机制,可以有效的提高设备之间链路的可靠性。

如果只是单纯的在交换机上添加多条链路,而不启用链路聚合,那其实和一条链路没区别,因为交换机有STP进行防环操作,多条链路会被逻辑阻塞,就留下一条链路进行业务传输而已,所以就有了链路聚合技术。将多条链路逻辑成一条逻辑链路,STP也就只能看到一条逻辑链路而已。
在这里插入图片描述

链路聚合基本概念

链路聚合

链路聚合是通过将多个以太网端口捆绑在一起形成的,形成一个聚合组(Channel-Group),聚合组内的所有物理链路作为一条逻辑链路来传送数据,逻辑链路的带宽就等于所有成员链路带宽之和。多个端口汇聚成的逻辑接口称为聚合接口(Port-Channel),一个聚合组和一个聚合接口形成一条聚合链路(Etherchannel)。

聚合接口

聚合组将物理端口绑定在一个逻辑接口下,每个聚合组唯一对应一个逻辑接口,称为聚合接口(Port-Channel),每个聚合接口用一个用户自定义的聚合接口ID(Group-ID)唯一标识,这个聚合接口的ID是本地有效的。

思科链路聚合协议

01.PAgP协议

PAgP协议(Port Aggregation Protocol,端口汇聚)是思科私有的动态链路汇聚协议,通过启用PAgP协议,两端端口通过交换PAgP数据包获取对端端口参数,根据这些信息自动形成聚合链路,并指定哪些端口发送PAgP包,哪些端口只接收PAgP包。这种协议只能在思科设备上运行。

02.LACP协议

LACP(Link Aggregation Control Protocol,链路汇聚控制协议)是基于IEEE 802.3ad标准的实现链路动态汇聚与解汇聚的协议,是一种国际标准的链路汇聚协议,大部分厂商设备都兼容,公有协议。LACP协议通过LACPDU(Link Aggregation Control Protocol Data Unit,链路汇聚控制协议数据单元)与对端交互端口信息,进行协商,实现对汇聚的自动化控制。

思科链路聚合模式

思科交换机的链路聚合根据使用的协议可以分为三种工作模式LACP模式、PAgP模式和On模式。

具体这三种工作模式下共有5种不同的端口模式active、passive、auto、desirable、on。如下图

其中active和passive使用LACP协议进行工作;auto和desirable使用PAgP协议进行工作;on则是强制启用链路聚合,手工链路聚合

在这里插入图片描述

LACP协议模式

LACP协议模式是使用LACP协议进行链路协商以形成聚合链路。这种模式下有两种端口模式可选,即active和passive。

active模式下不管对端设备是否支持LACP协议,本端都会无条件启用LACP协议,这种模式下端口处于主动协商状态;而passive模式下只有检测到对端设备支持LACP协议,本端才会启用LACP协议,这种模式下端口处于被动协商状态。

所以需要一端是active模式,另一端是passive模式;或者两端都是active模式

PAgP协议模式

这种链路聚合模式使用思科私有的PAgP协议进行链路协商以形成聚合链路。这种模式系也有两种端口模式可选,即auto和desirable。

跟LACP模式下的两种端口模式相似,desirable模式下不管对端是否支持PAgP协议,本端都会启用PAgP协议,就是主动协商状态;auto模式下只有检测到对端设备支持PAgP协议,本端才会启用LACP协议也就是被动协商状态。

所以需要一端是desirable模式,另一端是auto模式;或者两端都是desirable模式

ON模式

ON模式:静态持久性模式
使用On模式不经过协商(不使用任何链路聚合协议),直接进行强制链路聚合,只要两端端口二层配置一致(端口速率和所属VLAN一致),就可以直接将端口加入聚合接口,建立聚合链路。

这种情况下,链路另一端聚合链路也必须使用On模式,否则会发生数据丢包。这种模式在两端设备都不支持PAgP协议或LACP协议的情况下使用,兼容性强,配置起来也比较方便,在实际中用的也比较多。

实验准备

实验环境:EVE-Community
实验设备镜像
路由器:
i86bi LinuxL3-AdvEnterpriseK9-M2 157 3 May 2018.bin
交换机:

i86bi linuxl2-adventerprisek9-ms.SSA.high iron 20190423.bin
PC:用路由器来模拟
6bi LinuxL3-AdvEnterpriseK9-M2 157 3 May 2018.bin

实验目的
让交换机实现链路聚合,提高带宽

配置

二层链路聚合

在这里插入图片描述

LACP协议模式

SW1
Switch>enable
Switch#conf t
Switch(config)#hostname SW1

## 进入需要聚合的接口,先设置为Trunk模式
SW1(config)#int range e0/0-2
SW1(config-if-range)#switchport trunk encapsulation dot1q 
SW1(config-if-range)#switchport mode trunk 

## 创建聚合组“1”,用LACP的active模式
## 思科会自动建一个聚合接口“1”,ID和聚合组一致
SW1(config-if-range)#channel-group 1 mode active 
Creating a port-channel interface Port-channel 1
SW1(config-if-range)#exit

## access端口(连接PC)
SW1(config)#vlan 10
SW1(config-vlan)#exit

SW1(config)#int e0/3
SW1(config-if)#switchport mode access 
SW1(config-if)#switchport access vlan 10
SW1(config-if)#exit
SW2
Switch>enable 
Switch#conf t
Switch(config)#hostname SW2

SW2(config)#int range e0/0-2
SW2(config-if-range)#switchport trunk encapsulation dot1q
SW2(config-if-range)#switchport mode trunk 
SW2(config-if-range)#channel-group 1 mode passive 
Creating a port-channel interface Port-channel 1
SW2(config-if-range)#exit

SW2(config)#vlan 10
SW2(config-vlan)#exit

SW2(config)#int e0/3
SW2(config-if)#switchport mode access 
SW2(config-if)#switchport access vlan 10
SW2(config-if)#exit
PC1

Router>enable 
Router#conf t
Router(config)#hostname PC1

## 关闭路由功能,把它变成PC使用
PC1(config)#no ip routing

## 进入端口,配置IP地址
PC1(config)#int e0/0       
PC1(config-if)#no shutdown 
PC1(config-if)#ip address 192.168.10.1 255.255.255.0
PC1(config-if)#exit

## 保存配置
PC1(config)#do write 
Building configuration...
[OK]

PC2
Router>enable
Router#conf t
Router(config)#hostname PC2

## 关闭路由功能,把它变成PC使用
PC2(config)#no ip routing

## 进入端口,配置IP地址
PC2(config)#int e0/0
PC2(config-if)#no shutdown 
PC2(config-if)#ip address 192.168.10.2 255.255.255.0
PC2(config-if)#exit

## 保存配置
PC2(config)#do write 
Building configuration...
[OK]
查看LACP聚合组建立情况

SW1#show etherchannel summary

可以看到聚合组“1”的成员有e0/0、e0/1、e0/2
聚合组“1”它的聚合端口状态是正在使用二层接口

在这里插入图片描述

查看LACP聚合端口情况

SW1#show ip int brief
在这里插入图片描述

查看逻辑聚合端口带宽

在这里插入图片描述

PC1和PC2互Ping

在这里插入图片描述

PAgP协议模式

SW1
Switch>enable
Switch#conf t
Switch(config)#hostname SW1

## 进入需要聚合的接口,先设置为Trunk模式
SW1(config)#int range e0/0-2
SW1(config-if-range)#switchport trunk encapsulation dot1q 
SW1(config-if-range)#switchport mode trunk 

## 创建聚合组“1”,用PAgP的desirable 模式
## 思科会自动建一个聚合接口“1”,ID和聚合组一致
SW1(config-if-range)#channel-group 1 mode desirable 
Creating a port-channel interface Port-channel 1
SW1(config-if-range)#exit

## access端口(连接PC)
SW1(config)#vlan 10
SW1(config-vlan)#exit

SW1(config)#int e0/3
SW1(config-if)#switchport mode access 
SW1(config-if)#switchport access vlan 10
SW1(config-if)#exit
SW2
Switch>enable 
Switch#conf t
Switch(config)#hostname SW2

SW2(config)#int range e0/0-2
SW2(config-if-range)#switchport trunk encapsulation dot1q 
SW2(config-if-range)#switchport mode trunk 
SW2(config-if-range)#channel-group 1 mode auto 
Creating a port-channel interface Port-channel 1
SW2(config-if-range)#exit

SW2(config)#vlan 10
SW2(config-vlan)#exit

SW2(config)#int e0/3
SW2(config-if)#switchport mode access 
SW2(config-if)#switchport access vlan 10
SW2(config-if)#exit
PC1

Router>enable 
Router#conf t
Router(config)#hostname PC1

## 关闭路由功能,把它变成PC使用
PC1(config)#no ip routing

## 进入端口,配置IP地址
PC1(config)#int e0/0       
PC1(config-if)#no shutdown 
PC1(config-if)#ip address 192.168.10.1 255.255.255.0
PC1(config-if)#exit

## 保存配置
PC1(config)#do write 
Building configuration...
[OK]

PC2
Router>enable
Router#conf t
Router(config)#hostname PC2

## 关闭路由功能,把它变成PC使用
PC2(config)#no ip routing

## 进入端口,配置IP地址
PC2(config)#int e0/0
PC2(config-if)#no shutdown 
PC2(config-if)#ip address 192.168.10.2 255.255.255.0
PC2(config-if)#exit

## 保存配置
PC2(config)#do write 
Building configuration...
[OK]
查看LACP聚合组建立情况

SW1#show etherchannel summary

可以看到聚合组“1”的成员有e0/0、e0/1、e0/2
聚合组“1”它的聚合端口状态是正在使用二层接口

在这里插入图片描述

查看LACP聚合端口情况

SW1#show ip int brief
在这里插入图片描述

查看逻辑聚合端口带宽

在这里插入图片描述

PC1和PC2互Ping

在这里插入图片描述

ON模式

SW1

Switch>enable
Switch#conf t
Switch(config)#hostname SW1

## 进入需要聚合的接口,先设置为Trunk模式
SW1(config)#int range e0/0-2
SW1(config-if-range)#switchport trunk encapsulation dot1q 
SW1(config-if-range)#switchport mode trunk 

## 创建聚合组“1”,用PAgP的desirable 模式
## 思科会自动建一个聚合接口“1”,ID和聚合组一致
SW1(config-if-range)#channel-group 1 mode on
Creating a port-channel interface Port-channel 1
SW1(config-if-range)#exit

## access端口(连接PC)
SW1(config)#vlan 10
SW1(config-vlan)#exit

SW1(config)#int e0/3
SW1(config-if)#switchport mode access 
SW1(config-if)#switchport access vlan 10
SW1(config-if)#exit
SW2

Switch>enable 
Switch#conf t
Switch(config)#hostname SW2

SW2(config)#int range e0/0-2
SW2(config-if-range)#switchport trunk encapsulation dot1q 
SW2(config-if-range)#switchport mode trunk 
SW1(config-if-range)#channel-group 1 mode on
Creating a port-channel interface Port-channel 1
SW2(config-if-range)#exit

SW2(config)#vlan 10
SW2(config-vlan)#exit

SW2(config)#int e0/3
SW2(config-if)#switchport mode access 
SW2(config-if)#switchport access vlan 10
SW2(config-if)#exit
PC1

Router>enable 
Router#conf t
Router(config)#hostname PC1

## 关闭路由功能,把它变成PC使用
PC1(config)#no ip routing

## 进入端口,配置IP地址
PC1(config)#int e0/0       
PC1(config-if)#no shutdown 
PC1(config-if)#ip address 192.168.10.1 255.255.255.0
PC1(config-if)#exit

## 保存配置
PC1(config)#do write 
Building configuration...
[OK]

PC2
Router>enable
Router#conf t
Router(config)#hostname PC2

## 关闭路由功能,把它变成PC使用
PC2(config)#no ip routing

## 进入端口,配置IP地址
PC2(config)#int e0/0
PC2(config-if)#no shutdown 
PC2(config-if)#ip address 192.168.10.2 255.255.255.0
PC2(config-if)#exit

## 保存配置
PC2(config)#do write 
Building configuration...
[OK]
查看LACP聚合组建立情况

SW1#show etherchannel summary

可以看到聚合组“1”的成员有e0/0、e0/1、e0/2
聚合组“1”它的聚合端口状态是正在使用二层接口

在这里插入图片描述

查看LACP聚合端口情况

SW1#show ip int brief
在这里插入图片描述

查看逻辑聚合端口带宽

在这里插入图片描述

PC1和PC2互Ping

在这里插入图片描述

三层链路聚合

在这里插入图片描述

ON模式

SW1

Switch>enable
Switch#conf t
Switch(config)#hostname SW1

## 进入需要聚合的接口,需要关闭交换功能
SW1(config)#int range e0/0-2
SW1(config-if-range)#no switchport 

## 创建聚合组“10”,用ON聚合模式
## 思科会自动建一个聚合接口“10”,ID和聚合组一致
SW1(config-if-range)#channel-group 10 mode on
Creating a port-channel interface Port-channel 10
SW1(config-if-range)#exit

## 进入聚合接口“10”去配置地址
SW1(config)#int port-channel 10
SW1(config-if)#ip address 192.168.100.100 255.255.255.0
SW1(config-if)#exit
SW2

Switch>enable 
Switch#conf t
Switch(config)#hostname SW2

SW2(config)#int range e0/0-2
SW2(config-if-range)#no switchport 
SW1(config-if-range)#channel-group 10 mode on
Creating a port-channel interface Port-channel 10
SW2(config-if-range)#exit

SW2(config)#int port-channel 10
SW2(config-if)#ip address 192.168.100.200 255.255.255.0
SW2(config-if)#exit
查看LACP聚合组建立情况

SW1#show etherchannel summary

这边是RU,那就是正在使用的三层接口,说明配置成功了

在这里插入图片描述

查看LACP聚合端口情况

SW1#show ip int brief
在这里插入图片描述

SW1和SW2互Ping

在这里插入图片描述

LACP模式

SW1

Switch>enable
Switch#conf t
Switch(config)#hostname SW1

## 进入需要聚合的接口,需要关闭交换功能
SW1(config)#int range e0/0-2
SW1(config-if-range)#no switchport 

## 创建聚合组“10”,用ON聚合模式
## 思科会自动建一个聚合接口“10”,ID和聚合组一致
SW1(config-if-range)#channel-group 10 mode active
Creating a port-channel interface Port-channel 10
SW1(config-if-range)#exit

## 进入聚合接口“10”去配置地址
SW1(config)#int port-channel 10
SW1(config-if)#ip address 192.168.100.100 255.255.255.0
SW1(config-if)#exit

SW2

Switch>enable 
Switch#conf t
Switch(config)#hostname SW2

SW2(config)#int range e0/0-2
SW2(config-if-range)#no switchport 
SW1(config-if-range)#channel-group 10 mode active
Creating a port-channel interface Port-channel 10
SW2(config-if-range)#exit

SW2(config)#int port-channel 10
SW2(config-if)#ip address 192.168.100.200 255.255.255.0
SW2(config-if)#exit
SW1和SW2互Ping

在这里插入图片描述

LACP模式

SW1

Switch>enable
Switch#conf t
Switch(config)#hostname SW1

## 进入需要聚合的接口,需要关闭交换功能
SW1(config)#int range e0/0-2
SW1(config-if-range)#no switchport 

## 创建聚合组“10”,用ON聚合模式
## 思科会自动建一个聚合接口“10”,ID和聚合组一致
SW1(config-if-range)#channel-group 10 mode desirable
Creating a port-channel interface Port-channel 10
SW1(config-if-range)#exit

## 进入聚合接口“10”去配置地址
SW1(config)#int port-channel 10
SW1(config-if)#ip address 192.168.100.100 255.255.255.0
SW1(config-if)#exit

SW2

Switch>enable 
Switch#conf t
Switch(config)#hostname SW2

SW2(config)#int range e0/0-2
SW2(config-if-range)#no switchport 
SW1(config-if-range)#channel-group 10 mode desirable
Creating a port-channel interface Port-channel 10
SW2(config-if-range)#exit

SW2(config)#int port-channel 10
SW2(config-if)#ip address 192.168.100.200 255.255.255.0
SW2(config-if)#exit
SW1和SW2互Ping

在这里插入图片描述

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

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

相关文章

使用github actions构建多平台electron应用

1. 创建electron项目 使用pnpm创建项目 pnpm create quick-start/electron 2. 修改electron-builder.yml文件 修改mac的target mac:target:- target: dmgarch: universal 3. 添加workflow 创建 .github/workflows/main.yml 文件 name: Build/release Electron appon:work…

excel系列(三) - 利用 easyexcel 快速实现 excel 文件导入导出

一、介绍 在上篇文章中,我们介绍了 easypoi 工具实现 excel 文件的导入导出。 本篇我们继续深入介绍另一款更优秀的 excel 工具库:easyexcel 。 二、easyexcel easyexcel 是阿里巴巴开源的一款 excel 解析工具,底层逻辑也是基于 apache p…

独立站外链如何影响搜索引擎排名?

独立站的外链对搜索引擎排名有着非常重要的影响。简单来说,外链就像是别的网站对你的网站投的信任票。每一条外链都告诉搜索引擎:“这个网站的内容是有价值的,值得推荐。”因此,外链的数量和质量直接影响你的网站在搜索引擎中的排…

对称加密与非对称加密

对称加密 对称加密指的是加密和解密使用同一个秘钥,所以叫对称加密。对称加密只有一个秘钥,称为私钥。 优点:算法公开、计算量小、加密速度快、效率高 缺点:数据传输前,发送方和接收方必须确定好秘钥,双方也必须要保存好秘钥。 常见对称加密算法: DES、3DES、AES、3…

Linux云计算 |【第一阶段】ENGINEER-DAY3

主要内容: LVM逻辑卷管理、VDO、RAID磁盘阵列、进程管理 一、新建逻辑卷 1、什么是逻辑卷 逻辑卷(Logical Volume)是逻辑卷管理(Logical Volume Management,LVM)系统中的一个概念。LVM是一种用于磁盘管理…

前端组件化探索与实践:Vue自定义暂无数据组件的开发与应用

摘要 随着前端开发技术的不断进步,组件化开发已成为提升开发效率、降低维护成本的关键手段。本文旨在通过介绍一款Vue自定义暂无数据组件的开发与实践,深入探讨前端组件化开发的重要性、优势及其在实际项目中的应用。 一、引言 在前端开发中&#xff0…

【数据结构】堆的实现以及建堆算法和堆排序

【数据结构】堆的实现以及建堆算法和堆排序 🔥个人主页:大白的编程日记 🔥专栏:数据结构 文章目录 【数据结构】堆的实现以及建堆算法和堆排序前言一.堆的实现1.1 堆数据的插入1.2堆数据的删除 二.建堆算法和堆排序2.1思路分析2.…

Linux网络编程之UDP

文章目录 Linux网络编程之UDP1、端口号2、端口号和进程ID的区别3、重新认识网络通讯过程4、UDP协议的简单认识5、网络字节序6、socket编程接口6.1、socket常见接口6.2、sockaddr通用地址结构 7、简单的UDP网络程序7.1、服务器响应程序7.2、服务器执行命令行7.3、服务器英语单词…

R语言画散点图-饼图-折线图-柱状图-箱线图-直方图-曲线图-热力图-雷达图

R语言画散点图-饼图-折线图-柱状图-箱线图-直方图-曲线图-热力图-雷达图 散点图示例解析效果 饼图示例解析效果 折线图示例解析效果 柱状图示例解析效果 箱线图示例解析效果 直方图示例解析效果 曲线图使用 curve() 函数示例效果 使用 plot() 函数示例效果 使用 ggplot2 包绘制…

iMazing 3 换手机后苹果游戏数据还有吗 换iPhone怎么转移游戏数据

当你想要更换手机,无论是选择升级到最新款iPhone,或者换到“经典”旧款iPhone,单机游戏数据的转移总是让人发愁。本文将详细介绍换手机后苹果游戏数据还有吗,以及换iPhone怎么转移游戏数据,确保你能无缝继续你的游戏体…

jenkins+gitlab+harbor+maven自动化容器部署

一、gitlab安装配置 1.1、安装 由于比较懒啊!这里就直接使用docker安装了啊! 没事先更新一个yum源:yum update -y 整一个gitlab镜像:docker pull gitlab/gitlab-ce 运行一个gitlab容器:docker run -d -p 8443:443 -p…

安装 Maven

安装 Maven 的步骤: 1. 访问 Maven 官方网站: https://maven.apache.org/download.cgi 2. 下载 Maven 的二进制文件 3. 解压下载的文件到希望安装的目录 4. 将 Maven 的 bin 目录添加到您的系统环境变量 PATH 中(配置环境变量) 这个步骤可…

Ubuntu24.04 NFS 服务配置

1、NFS 介绍 NFS 是 Network FileSystem 的缩写,顾名思义就是网络文件存储系统,它允许网络中的计算机之间通过 TCP/IP 网络共享资源。通过 NFS,我们本地 NFS 的客户端应用可以透明地读写位于服务端 NFS 服务器上的文件,就像访问本…

el-menu弹出菜单样式不生效

1. 使用 ruoyi 项目时出现的问题。 <template><el-menu:default-active"activeMenu":collapse"false":unique-opened"true"class"container":collapse-transition"true"mode"horizontal"><sideba…

CH01_WPF概述

第1章&#xff1a;WPF概述 本章目标 了解Windows图形演化了解WPF高级API了解分辨率无关性概念了解WPF体系结构了解WPF 4.5 WPF概述 ​ 欢迎使用 Windows Presentation Foundation (WPF) 桌面指南&#xff0c;这是一个与分辨率无关的 UI 框架&#xff0c;使用基于矢量的呈现引…

核函数支持向量机(Kernel SVM)

核函数支持向量机&#xff08;Kernel SVM&#xff09;是一种非常强大的分类器&#xff0c;能够在非线性数据集上实现良好的分类效果。以下是关于核函数支持向量机的详细数学模型理论知识推导、实施步骤与参数解读&#xff0c;以及两个多维数据实例&#xff08;一个未优化模型&a…

【iOS】—— isMemberOfClass isKindOfClass以及源码

【iOS】—— isMemberOfClass & isKindOfClass以及源码 isa指针示例源码解析&#xff1a;isKindOfClass&#xff1a;源码解析&#xff08;实例方法和类方法&#xff09;isMemberOfClass&#xff1a;源码解析&#xff08;实例方法和类方法&#xff09;源码分析总结&#xff…

MF173:将多个工作表转换成PDF文件

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套&#xff0c;分为初级、中级、高级三大部分&#xff0c;教程是对VBA的系统讲解&#…

【C++】16. set 和 map

在之前的博客中&#xff0c;我们已经接触过STL中的部分容器&#xff0c;比如&#xff1a;vector、list、deque等&#xff0c;这些容器统称为序列式容器&#xff0c;因为其底层为线性序列的数据结构&#xff0c;里面存储的是元素本身。 我们这篇博客的内容是关联式容器&#xff…

负重3Kg垂起固定翼无人机技术详解

一、基本参数 负重3Kg垂起固定翼无人机是一款具备强大负载能力和长航时特性的无人机。其基本参数如下&#xff1a; - 最大负载&#xff1a;3Kg - 最大续航时间&#xff1a;203分钟&#xff08;示例数据&#xff0c;实际续航时间可能根据任务负载、环境条件等因素有所不同&…