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

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

技术栈RabbitMq的介绍和使用

目录 1. 什么是消息队列&#xff1f;2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中&#xff0c;我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道&#xff0c;它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...

Caliper 负载(Workload)详细解析

Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)

一、OpenBCI_GUI 项目概述 &#xff08;一&#xff09;项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台&#xff0c;其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言&#xff0c;首次接触 OpenBCI 设备时&#xff0c;往…...

python爬虫——气象数据爬取

一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用&#xff1a; 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests&#xff1a;发送 …...

【Kafka】Kafka从入门到实战:构建高吞吐量分布式消息系统

Kafka从入门到实战:构建高吞吐量分布式消息系统 一、Kafka概述 Apache Kafka是一个分布式流处理平台,最初由LinkedIn开发,后成为Apache顶级项目。它被设计用于高吞吐量、低延迟的消息处理,能够处理来自多个生产者的海量数据,并将这些数据实时传递给消费者。 Kafka核心特…...

相关类相关的可视化图像总结

目录 一、散点图 二、气泡图 三、相关图 四、热力图 五、二维密度图 六、多模态二维密度图 七、雷达图 八、桑基图 九、总结 一、散点图 特点 通过点的位置展示两个连续变量之间的关系&#xff0c;可直观判断线性相关、非线性相关或无相关关系&#xff0c;点的分布密…...