【思科】链路聚合实验配置和背景
【思科】链路聚合实验配置和背景
- 背景
- 链路聚合基本概念
- 链路聚合
- 聚合接口
- 思科链路聚合协议
- 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)#exitSW1(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 SW2SW2(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)#exitSW2(config)#vlan 10
SW2(config-vlan)#exitSW2(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)#exitSW1(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 SW2SW2(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)#exitSW2(config)#vlan 10
SW2(config-vlan)#exitSW2(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)#exitSW1(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 SW2SW2(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)#exitSW2(config)#vlan 10
SW2(config-vlan)#exitSW2(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 SW2SW2(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)#exitSW2(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 SW2SW2(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)#exitSW2(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 SW2SW2(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)#exitSW2(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

相关文章:
【思科】链路聚合实验配置和背景
【思科】链路聚合实验配置和背景 背景链路聚合基本概念链路聚合聚合接口 思科链路聚合协议01.PAgP协议02.LACP协议 思科链路聚合模式LACP协议模式PAgP协议模式ON模式 实验准备配置二层链路聚合LACP协议模式SW1SW2PC1PC2查看LACP聚合组建立情况查看LACP聚合端口情况查看逻辑聚合…...
使用 vue-element-plus-admin 框架遇到的问题记录
项目打包遇到的问题: 打包语句:pnpm run build:pro 报错信息: Error: [vite]: Rollup failed to resolve import "E:/workplace_gitee/xxx/node_modules/.pnpm/element-plus2.5.5_vue3.4.15/node_modules/element-plus/es/components…...
从零开始手写STL库:List
从零开始手写STL库–List部分 Github链接:miniSTL 文章目录 从零开始手写STL库–List部分List是什么?List需要包含什么函数1)基础成员函数2)核心功能3)其他功能 基础成员函数的编写核心功能的编写其他功能编写总结 List是什么&am…...
蒙特卡洛采样
目录 蒙特卡洛采样的计算逻辑计算步骤:1. 定义问题2. 确定采样范围3. 生成随机样本点4. 计算函数值5. 估计期望值或积分值6. 计算误差具体示例:1. 定义问题2. 确定采样范围3. 生成随机样本点4. 计算函数值5. 估计积分值6. 计算误差总结蒙特卡洛采样是一种通过随机生成样本点来…...
Apache虚拟主机VirtualHost配置项详解
在Apache中,VirtualHost容器用于定义一个虚拟主机的配置,它允许在单一的物理服务器上托管多个不同的网站,每个网站可以有自己的域名、文档根目录、错误日志等。VirtualHost内的配置项非常灵活,可以包含从基本的网站信息到高级的URL重写和安全设置。 以下是一些常见的Virtu…...
OpenAI从GPT-4V到GPT-4O,再到GPT-4OMini简介
OpenAI从GPT-4V到GPT-4O,再到GPT-4OMini简介 一、引言 在人工智能领域,OpenAI的GPT系列模型一直是自然语言处理的标杆。随着技术的不断进步,OpenAI推出了多个版本的GPT模型,包括视觉增强的GPT-4V(GPT-4 with Vision&…...
从人工巡检到智能防控:智慧油气田安全生产的新视角
一、背景需求 随着科技的飞速发展,视频监控技术已成为各行各业保障安全生产、提升管理效率的重要手段。特别是在油气田这一特殊领域,由于其工作环境复杂、安全风险高,传统的监控方式已难以满足实际需求。因此,基于视频监控AI智能…...
【黑马java基础】Lamda, 方法引用,集合{Collection(List, Set), Map},Stream流
文章目录 JDK8新特性:Lambda表达式认识Lambda表达式Lambda表达式的省略规则 JDK8新特性:方法引用静态方法的引用实例方法的引用特定类型方法的引用构造器的应用 集合➡️Collection单列集合体系Collection的常用方法Collection的遍历方法迭代器增强for循…...
Stable Diffusion 使用详解(1)---- 提示词及相关参数
目录 背景 提示词 内容提示词 人物及主体特征 场景 环境光照 画幅视角 注意事项及示例 标准化提示词 画质等级 风格与真实性 具体要求 背景处理 光线与色彩 负向提示词 小结 常用工具 另外几个相关参数 迭代步数 宽度与高度 提示词引导系数 图片数量 背景…...
数据结构和算法(刷题) - 无序数组排序后的最大相邻差
无序数组排序后的最大相邻差 问题:一个无序的整型数组,求出该数组排序后的任意两个相邻元素的最大差值?要求时间和空间复杂度尽可能低。 三种方法: 排序后计算比较 简介:用任意一种时间复杂度为 O ( n log n ) O…...
HOW - React 处理不紧急的更新和渲染
目录 useDeferredValueuseTransitionuseIdleCallback 在 React 中,有一些钩子函数可以帮助你处理不紧急的更新或渲染,从而优化性能和用户体验。 以下是一些常用的相关钩子及其应用场景: useDeferredValue 用途:用于处理高优先级…...
基于A律压缩的PCM脉冲编码调制通信系统simulink建模与仿真
目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1A律压缩的原理 4.2 PCM编码过程 4.3 量化噪声与信噪比 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 matlab2022a 3.部分核心程序 &#…...
【入门教程一】基于DE2-115的My First FPGA 工程
1.1. 概述 这是一个简单的练习, 可以帮助初学者开始了解如何使用Intel Quartus 软件进行 FPGA 开发。 在本章节中,您将学习如何编译 Verilog 代码,进行引脚分配,创建时序约束,然后对 FPGA 进行编程,驱动开…...
mysql中的索引和分区
目录 1.编写目的 2.索引 2.1 创建方法 2.2 最佳适用 2.3 索引相关语句 3.分区 3.1 创建方法 3.2 最佳适用 Welcome to Code Blocks blog 本篇文章主要介绍了 [Mysql中的分区和索引] ❤博主广交技术好友,喜欢文章的可以关注一下❤ 1.编写目的 在MySQL中&…...
项目实战--C#实现图书馆信息管理系统
本项目是要开发一个图书馆管理系统,通过这个系统处理常见的图书馆业务。这个系统主要功能是:(1)有客户端(借阅者使用)和管理端(图书馆管理员和系统管理员使用)。(2&#…...
信号【Linux】
文章目录 信号处理方式(信号递达)前后台进程 终端按键产生信号kill系统调用接口向进程发信号阻塞信号sigset_tsigprocmasksigpending内核态与用户态:内核空间与用户空间内核如何实现信号的捕捉 1、信号就算没有产生,进程也必须识别…...
Kafka Producer之ACKS应答机制
文章目录 1. 应答机制2. 等级03. 等级14. 等级all5. 设置等级6. ISR 1. 应答机制 异步发送的效率高,但是不安全,同步发送安全,但是效率低。 无论哪一种,有一个关键的步骤叫做回调,也就是ACKS应答机制。 其中ACKS也分…...
【深入理解SpringCloud微服务】深入理解Eureka核心原理
深入理解Eureka核心原理 Eureka整体设计Eureka服务端启动Eureka三级缓存Eureka客户端启动 Eureka整体设计 Eureka是一个经典的注册中心,通过http接收客户端的服务发现和服务注册请求,使用内存注册表保存客户端注册上来的实例信息。 Eureka服务端接收的…...
算法——滑动窗口(day7)
904.水果成篮 904. 水果成篮 - 力扣(LeetCode) 题目解析: 根据题意我们可以看出给了我们两个篮子说明我们在开始采摘到结束的过程中只能有两种水果的种类,又要求让我们返回收集水果的最大数目,这不难让我们联想到题目…...
Django学习第一天(如何创建和运行app)
前置知识: URL组成部分详解: 一个url由以下几部分组成: scheme://host:port/path/?query-stringxxx#anchor scheme:代表的是访问的协议,一般为http或者ftp等 host:主机名,域名,…...
Matlab GUI 计时器:基于定时器对象自动更新的数字时钟演示
Matlab图形用户界面计时器:使用定时器对象自动更新的MatlabGUI,一个数字时钟,作为显示基本组件的快速演示,带有一个按钮,用于恢复/暂停执行更新实验室配了新酶标仪孵箱但总有人(比如同组摸鱼的小师妹顺便喊…...
新手避坑指南:用DJI NAZA-LITE飞控组装F450无人机,从焊接电调到GPS校准的完整流程
新手避坑指南:用DJI NAZA-LITE飞控组装F450无人机,从焊接电调到GPS校准的完整流程 第一次组装无人机就像玩一场高风险的拼图游戏——每个零件的位置、每根接线的顺序都可能影响最终能否安全起飞。作为过来人,我清楚地记得焊接电调时锡珠飞溅的…...
全桥LLC变换器死区时间优化实战:从IGBT硬开通到完美ZVS的调试记录
全桥LLC变换器死区时间优化实战:从IGBT硬开通到完美ZVS的调试记录 在电力电子领域,LLC谐振变换器因其高效率、高功率密度和良好的EMI特性,已成为中高功率应用的理想选择。然而,实际调试过程中,死区时间与励磁电感的匹配…...
天理与上帝——东西情理的源初图腾
天理与上帝——东西情理的源初图腾---摘要东西方文明在情理结构的根本差异,可以追溯到各自的“源初图腾”——天理与上帝。本文基于AI元人文“自感痕迹论”的框架,将天理与上帝重新理解为两种不同的“源初痕迹”或“自感显影的定向模式”。天理是“天人合…...
luci-app-unblockneteasemusic 插件完整技术指南:实现网易云音乐播放限制解除
luci-app-unblockneteasemusic 插件完整技术指南:实现网易云音乐播放限制解除 【免费下载链接】luci-app-unblockneteasemusic [OpenWrt] 解除网易云音乐播放限制 项目地址: https://gitcode.com/gh_mirrors/lu/luci-app-unblockneteasemusic luci-app-unblo…...
数据恢复全面指南:开源数据救援工具组合实战手册
数据恢复全面指南:开源数据救援工具组合实战手册 【免费下载链接】testdisk TestDisk & PhotoRec 项目地址: https://gitcode.com/gh_mirrors/te/testdisk 数据丢失的噩梦与解决方案 2023年,摄影师小李在一次外景拍摄后误格式化了SD卡&#…...
OpenClaw+nanobot技能开发:从零编写自定义文件处理器
OpenClawnanobot技能开发:从零编写自定义文件处理器 1. 为什么需要自定义文件处理技能 上周我整理项目文档时,遇到了一个典型问题:需要将数百个Markdown文件按照"日期-标题"格式批量重命名。手动操作不仅耗时,还容易出…...
CCS:Code Composer Studio 12.8.1 窗口颜色改为深色
Code Composer Studio (CCS) 基于 Eclipse 平台开发,要将其界面改为深色模式,最推荐且有效的方法是安装 Eclipse Color Theme 插件。以下是针对 CCS 12.8.1 的具体操作步骤:🛠️ 第一步:安装主题插件在 CCS 菜单栏中&a…...
Ubuntu 18.04双网卡实战:5分钟搞定内网穿透+NAT转发(含DHCP自动分配)
Ubuntu 18.04双网卡配置全指南:从内网穿透到自动化管理 在实验室环境或小型办公网络中,经常需要一台主机同时连接内外网。Ubuntu 18.04作为长期支持版本,其网络功能稳定可靠,特别适合作为网关设备。本文将手把手教你如何配置双网卡…...
基于springboot框架的校园外卖管理系统的设计与实现
目录需求分析与功能规划技术选型与架构设计数据库设计与建模核心功能实现系统集成与测试部署与运维优化与扩展项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作需求分析与功能规划 明确校园外卖管理系统的核心需求,包…...
