当前位置: 首页 > 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;的内…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间&#xff0c; 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点&#xff0c;不需要开启数据库闪回。…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎&#xff1a;品融电商&#xff0c;一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中&#xff0c;品牌如何破浪前行&#xff1f;自建团队成本高、效果难控&#xff1b;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

《基于Apache Flink的流处理》笔记

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码&#xff1a; https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)

Aspose.PDF 限制绕过方案&#xff1a;Java 字节码技术实战分享&#xff08;仅供学习&#xff09; 一、Aspose.PDF 简介二、说明&#xff08;⚠️仅供学习与研究使用&#xff09;三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...