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

【ENSP】链路聚合的两种模式

【ENSP】链路聚合的两种模式

    • 1、背景介绍
    • 2、链路聚合的使用场景
    • 3、配置过程
      • 1、手工模式Eth-Trunk配置
      • 2、静态LACP模式Eth-Trunk
    • 4、总结

1、背景介绍

随着网络规模的不断扩大,人们对骨干链路的带宽吞吐量和可靠性提出了越来越高的要求。在传统方案中,为了增加带宽,通常需要将当前链路更换为更高速的链路。然而,这种方法不仅成本高昂,而且灵活性较差。为了克服这些限制,链路聚合技术应运而生。通过将多个物理接口捆绑为一个逻辑接口实现增大链路带宽的目的。在实现增大带宽目的的同时,链路聚合采用备份链路的机制,可以有效的提高设备之间链路的可靠性。链路聚合技术有两种模式:手工模式、LACP模式(包括静态和动态两种)。

2、链路聚合的使用场景

链路聚合工作模式如何选择呢?
如果两端设备均支持LACP协议,推荐使用LACP模式链路聚合。
如果对端设备不支持LACP协议,必须使用手工模式链路聚合。

链路聚合模式对比

链路聚合模式对比
链路聚合的使用场景比较多,常见的几种可以参考知乎链接
6种链路聚合的使用场景,哪一种更适合你呢?
接下来以交换机直连为例来展示下手工模式、LACP静态模式的配置过程。

备注说明:LACP动态模式由于本机模拟器未安装CE系列设备,有兴趣的朋友可以参考华为官方文档:
CloudEngine 16800系列交换机 > 产品文档

3、配置过程

网络拓扑图如下所示,交换机SWA和SWB之间存在多条链路,如果不配置链路聚合,两台交换机之间会形成环路,交换机的stp技术会阻塞其中两条链路的端口,导致只有一条链路可用,这样会起不到通过增加链路提高带宽的作用了。因此这里采用链路聚合技术,将多条物理链路逻辑成一条链路来传输数据,达到提高带宽来实现流量的负载均衡,同时也能提供一定的冗余度,保证数据传输和链路的可靠性。
在这里插入图片描述
接下来详细展示手工模式、静态LACP模式的具体配置过程。

1、手工模式Eth-Trunk配置

操作步骤
1、在SWA和SWB上分别创建Eth-Trunk1,配置为手工模式和添加接口。
#配置SWA

[Huawei]sysname SWA
[SWA]int eth-trunk 1
[SWA-Eth-Trunk1]mode manual
[SWA-Eth-Trunk1]trunkport g0/0/1     #逐个添加接口
[SWA-Eth-Trunk1]trunkport g0/0/2
[SWA-Eth-Trunk1]trunkport g0/0/3
[SWA-Eth-Trunk1]quit

#配置SWB

[Huawei]sysname SWB
[SWB]int eth-trunk 1
[SWB-Eth-Trunk1]mode manual
[SWB-Eth-Trunk1]trunkport g0/0/1 to g0/0/3    #向Eth-Trunk接口中加入成员接口
[SWB-Eth-Trunk1] quit

2、配置Eth-Trunk1的负载分担方式。SWB的配置与SWA类似,不再赘述。本实验中使用的交换机型号是华为S5700,它的默认负载分担方式是src-dst-ip。要根据实际场景选择合适的负载分担算法才能有效提升带宽,这里以基于src-dst-mac为例来配置。

负载均衡的方式有6种,具体如下图所示:六种负载分担方式
其中,
dst-ip:配置Eth-Trunk接口基于目的IP地址进行负载分担。
dst-mac:配置Eth-Trunk接口基于目的MAC地址进行负载分担。
src-dst-ip:配置Eth-Trunk接口基于源IP地址与目的IP地址进行负载分担。
src-dst-mac:配置Eth-Trunk接口基于源MAC地址与目的MAC地址进行负载分担。
src-ip:配置Eth-Trunk接口基于源IP地址进行负载分担。
src-mac:配置Eth-Trunk接口基于源MAC地址进行负载分担。

具体配置命令:

[SWA]int eth-trunk 1
[SWA-Eth-Trunk1]load-balance src-dst-mac
[SWA-Eth-Trunk1]quit

3、检查配置结果
在任意视图下执行display eth-trunk 1命令,检查Eth-Trunk是否创建成功,及成员接口是否正确加入。

在这里插入图片描述
从以上信息看出Eth-Trunk 1中包含3个成员接口g0/0/1、g0/0/2、g0/0/3,成员接口的状态都为Up。Eth-Trunk 1的“Operate status”为Up。负载分担方式为:基于源目MAC地址进行负载分担。
这里是引用

2、静态LACP模式Eth-Trunk

操作步骤
1、在SWA和SWB上分别创建Eth-Trunk1,配置为静态LACP模式和添加接口。
#配置SWA

[Huawei]sysname SWA
[SWA]int eth-trunk 1
[SWA-Eth-Trunk1]mode lacp-static
[SWA-Eth-Trunk1]trunkport GigabitEthernet 0/0/1   #测试单个接口添加
[SWA-Eth-Trunk1]trunkport GigabitEthernet 0/0/2 to 0/0/3
[SWA-Eth-Trunk1]quit

#配置SWB

[Huawei]sysname SWB
[SWB]int eth-trunk 1
[SWB-Eth-Trunk1]trunkport g0/0/1 to g0/0/3    #多个接口一起添加为eth-trunk 1的成员
[SWB-Eth-Trunk1] quit

2、在SWA上配置系统优先级为100,使其成为LACP主动端

[SWA]lacp priority 100 #系统lacp优先级缺省设置是32768,修改SWA优先级大于SWB优先级,让SWA成为主动端。

3、在SWA上配置活动接口上限阈值为2

[SWA]int eth-trunk 1
[SWA-Eth-Trunk1]max active-linknumber 2 # 活动接口数的上限阈值缺省是8,修改为2;
[SWA-Eth-Trunk1]q

4、在SWA上配置接口优先级确定活动链路

[SWA]int g0/0/2
[SWA-GigabitEthernet0/0/2]lacp pri	
[SWA-GigabitEthernet0/0/2]lacp priority 100
[SWA]int g0/0/1
[SWA-GigabitEthernet0/0/1]lacp pri	
[SWA-GigabitEthernet0/0/1]lacp priority 100

5.1、检查配置结果1
查看SWA和SWB的Eth-Trunk信息,查看链路是否协商成功。

在这里插入图片描述
在这里插入图片描述
从以上信息看出Eth-Trunk 1中包含3个成员接口g0/0/1、g0/0/2、g0/0/3,根据第四步设置了接口优先级,应该优先选择g0/0/1和g0/0/2为活动接口。查找原因是因为未配置LACP抢占功能。

配置LACP抢占功能:

[SWA]int Eth-Trunk 1
[SWA-Eth-Trunk1]lacp preempt enable

5.2、检查配置结果2

在这里插入图片描述
在这里插入图片描述
符合预期,g0/0/1和g0/0/2被选取位活动接口,活动接口是根据优先级值低,其优先级高来选取的。

4、总结

以太网链路聚合Eth-Trunk简称链路聚合,通过将多个物理接口捆绑为一个逻辑接口,可以在不进行硬件升级的条件下,达到增加链路带宽的目的。链路聚合技术主要有以下三个优势:

  • 增加带宽:链路聚合接口的最大带宽可以达到各成员接口带宽之和。
  • 提高可靠性:当某条活动链路出现故障时,流量可以切换到其他可用的成员链路上,从而提高链路聚合接口的可靠性。
  • 负载分担:在一个链路聚合组内,可以实现在各成员活动链路上的负载分担。

相关文章:

【ENSP】链路聚合的两种模式

【ENSP】链路聚合的两种模式 1、背景介绍2、链路聚合的使用场景3、配置过程1、手工模式Eth-Trunk配置2、静态LACP模式Eth-Trunk 4、总结 1、背景介绍 随着网络规模的不断扩大,人们对骨干链路的带宽吞吐量和可靠性提出了越来越高的要求。在传统方案中,为…...

Windows环境安装部署minimind步骤

Windows环境安装部署minimind步骤 必要的软件环境 git git,可下载安装版,本机中下载绿色版,解压到本地目录下(如:c:\soft\git.win64),可将此路径添加到PATH环境变量中,供其他程序…...

让大模型帮我设计crnn网络及可运行demo,gpt4o豆包qwendeepseek-r1

prompt 使用 crnn 提取图像特征,给出图像好坏的二分类结果,写清楚代码备注,注释清楚向量维度大小,并给出一个可运行的 demo1、GPT-4o 以下是一个使用 CRNN(Convolutional Recurrent Neural Network)提取图…...

代码随想录-- 第一天图论 --- 岛屿的数量

99 统计岛屿的数量 c 99. 岛屿数量 #include <iostream> #include <vector> #include <queue>using namespace std;struct MGraph {int numVertices, numEdges;vector<vector<int>> Edge; };int dir[4][2] {{1, 0}, {0, 1}, {-1, 0}, {0, -1}…...

Mybatis MyBatis框架的缓存 一级缓存

1. 缓存的概念 缓存的概念 在内存中临时存储数据&#xff0c;速度快&#xff0c;可以减少数据库的访问次数。经常需要查询&#xff0c;不经常修改的数据&#xff0c;不是特别重要的数据都适合于存储到缓存中。 2.Mybatis缓存 mybatis包含了一个非常强大的查询缓存特性&#…...

Weboffice在线Word权限控制:限制编辑,只读、修订、禁止复制等

在现代企业办公中&#xff0c;文档编辑是一项常见且重要的任务。尤其是在线办公环境中&#xff0c;员工需要在网页中打开和编辑文档&#xff0c;但如何确保这些文档只能进行预览而无法被编辑或复制&#xff0c;成为许多企业面临的一个痛点。尤其是在处理涉密文档时&#xff0c;…...

RT-Thread+STM32L475VET6实现呼吸灯

文章目录 前言一、板载资源资源说明二、具体步骤1.新建rt_thread项目2. 打开PWM设备驱动3. 在Stm32CubeMX配置定时器3.1打开Stm32CubeMX3.2 使用外部高速时钟&#xff0c;并修改时钟树3.3打开定时器1&#xff0c;并配置通道一为PWM输出模式(定时器根据自己需求调整)3.4 打开串口…...

【Web前端开发精品课 HTML CSS JavaScript基础教程】第二十四章课后题答案

文章目录 问题1&#xff1a;问题2&#xff1a;问题3&#xff1a; 问题1&#xff1a; 在HTML中嵌入JavaScript&#xff0c;应该使用的标签是&#xff08; &#xff09;。 选项&#xff1a; A. <style></style> B. <script></script> C. <js><…...

记录 pycharm 无法识别提示导入已有的模块解决方案 No module named ‘xxx‘

在windows下&#xff0c;使用pycharm开发项目&#xff0c;每个项目都有自己独立的虚拟环境&#xff0c;有时候就会出现&#xff0c;在该项目中明明已经安装了某个模块&#xff0c;但是在写代码的时候就是导入不了&#xff0c;无法识别导入&#xff0c;在运行的时候却又是正常的…...

网工项目实践2.6 广域网需求分析及方案制定

本专栏持续更新&#xff0c;整一个专栏为一个大型复杂网络工程项目。阅读本文章之前务必先看《本专栏必读》。 全网拓扑展示 一.广域网互联方式 1.专线 优点 稳定 独享。绝对安全。可靠性高&#xff0c;带宽高&#xff0c;完全取决于终端接口。 缺点: 费用高。建设时间长。难…...

【架构】分层架构 (Layered Architecture)

一、分层模型基础理论 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/0365cf0bfa754229bdedca6b472bffc7.png 1. 核心定义 分层架构(Layered Architecture)模型是一种常见的软件设计架构,它将软件系统按照功能划分为不同的层次,每个层次都有特定的职责和功能…...

玩客云 IP查找

1.玩客云使用静态IP在不同网段路由器下不能使用&#xff0c;动态不好找IP地址 1.1使用python3 实现自动获取发送 import requests import os import socket# 从环境变量获取 PushPlus 的 token 和群组编码 PUSH_PLUS_TOKEN os.getenv("PUSH_PLUS_TOKEN") PUSH_PLU…...

Android - Handler使用post之后,Runnable没有执行

问题&#xff1a;子线程创建的Handler。如果 post 之后&#xff0c;在Handler.removeCallbacks(run)移除了&#xff0c;下次再使用Handler.postDelayed(Runnable)接口或者使用post时&#xff0c;Runnable是没有执行。导致没有收到消息。 解决办法&#xff1a;只有主线程创建的…...

MyBatis-Plus之通用枚举

MyBatis-Plus之通用枚举 前言 MyBatis-Plus中提供了通用枚举&#xff0c;简单来说就是将数据库中的某一字段的代替的含义转换成真实的含义将数据展示给用户&#xff0c;用户在存储时也会将真实值转换成代替的数字存入到数据库中。举个例子&#xff1a;用户性别在数据库中存储…...

基于Spring Boot的图书管理系统设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…...

如何在 VS Code 中快速使用 Copilot 来辅助开发

在日常开发中&#xff0c;编写代码往往是最耗时的环节之一。而 GitHub Copilot&#xff0c;作为一款 AI 编码助手&#xff0c;可以帮助开发者 自动补全代码、生成代码片段&#xff0c;甚至直接编写完整的函数&#xff0c;大幅提升编码效率。那么&#xff0c;如何在 VS Code 中快…...

12.1 Android中协程的基本使用

文章目录 前言1、导入依赖2、使用协程获取服务器中的数据2.1 定义请求回调结果的数据类2.2 网络请求 3、网络回调结构4、通过ViewModel处理网络请求数据 前言 在使用协程的时候一直没有一个具体的概念&#xff0c;只知道协程能够使得异步操作等同于同步操作&#xff0c;且不会…...

【黑马点评优化】2-Canel实现多级缓存(Redis+Caffeine)同步

【黑马点评优化】2-Canel实现多级缓存&#xff08;RedisCaffeine&#xff09;同步 0 背景1 配置MySQL1.1 开启MySQL的binlog功能1.1.1 找到mysql配置文件my.ini的位置1.1.2 开启binlog 1.2 创建canal用户 2 下载配置canal2.1 canal 1.1.5下载2.2 配置canal2.3 启动canal2.4 测试…...

php-fpm

摘要 php-fpm(fastcgi process manager)是PHP 的FastCGI管理器&#xff0c;管理PHP的FastCGI进程&#xff0c;提升PHP应用的性能和稳定性 php-fpm是一个高性能的php FastCGI管理器&#xff0c;提供了更好的php进程管理方式&#xff0c;可以有效的控制内存和进程&#xff0c;支…...

Python3测试开发面试题2

python的内存池机制 在Python中&#xff0c;内存管理是通过Python的内存管理器和C语言实现的&#xff0c;特别是依赖于CPython的实现。CPython使用一种名为“内存池”&#xff08;memory pool&#xff09;的技术来优化小对象&#xff08;如小整数、短字符串等&#xff09;的内…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图&#xff0c;该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序&#xff0c;确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数&#xff0c;分别表示n 和 e 的值&#xff08;1…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中&#xff0c;损失函数的选择对模型性能具有决定性影响。均方误差&#xff08;MSE&#xff09;作为经典的损失函数&#xff0c;在处理干净数据时表现优异&#xff0c;但在面对包含异常值的噪声数据时&#xff0c;其对大误差的二次惩罚机制往往导致模型参数…...

【生成模型】视频生成论文调研

工作清单 上游应用方向&#xff1a;控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...