链路聚合(Link Aggregation)

目录

一. 链路聚合概述

1. 基本概念

2. 实现条件

3. 成员接口和成员链路

二. 链路聚合模式

1. 手工模式

2. LACP模式

三. 负载分担

1. 基于数据包的负载分担

2. 基于数据流的负载分担


一. 链路聚合概述

1. 基本概念

链路聚合(Link Aggregation)是通过将多个物理接口逻辑捆绑为单一逻辑接口(如Eth-Trunk)的技术,实现:

  • 带宽叠加:成员链路带宽总和(如4×1Gbps=4Gbps)
  • 高可靠性:成员链路互为备份
  • 负载均衡:流量按算法分散到各活动链路

2. 实现条件

必要条件说明典型配置要求
物理一致性成员接口需具备相同传输速率、双工模式、介质类型建议使用相同型号接口板
逻辑一致性需配置相同VLAN/PVID、允许通过的VLAN列表聚合前清除端口独立配置
拓扑约束两端设备必须直连,不支持跨设备聚合(除堆叠/集群场景)华为设备要求先创建聚合组再配置参数

3. 成员接口和成员链路

组成Eth-Trunk接口的各个物理接口称为成员接口;成员接口对应的链路就是成员链路。在LACP模式中,会再划分活动接口和活动链路、非活动接口和非活动链路。

  • 活动接口和活动链路:选中(Selected)接口,是参与数据转发的成员接口。活动接口对应的链路称为活动链路。在链路聚合组中,只有活动链路负责转发数据。
  • 非活动接口和非活动链路:非选中(Unselected)接口,是不参与转发数据的成员接口。非活动接口对应的链路被称为非活动链路(Inactive link)。这些链路在正常情况下不参与数据转发,但在活动链路出现故障时,非活动链路可能会被激活以接替故障链路的工作。

二. 链路聚合模式

根据是否开启LACP,链路聚合分为两个模式:手工模式、LACP模式。下面介绍两种模式的配置。

1. 手工模式

LSW1配置:

# 创建聚合接口
[sw1]interface Eth-Trunk 0# 将物理接口划入到聚合接口中 方法1:
[sw1-Eth-Trunk0]trunkport GigabitEthernet 0/0/1
[sw1-Eth-Trunk0]trunkport GigabitEthernet 0/0/2

LSW2配置:

[sw1]interface Eth-Trunk 0#将物理接口划入到聚合接口中 方法2:
[sw2-GigabitEthernet0/0/1]eth-trunk 0
[sw2-GigabitEthernet0/0/2]eth-trunk 0

查看聚合接口:

[sw1-Eth-Trunk0]dis eth-trunk 0
Eth-Trunk0's state information is:
WorkingMode: NORMAL         Hash arithmetic: According to SIP-XOR-DIP         
Least Active-linknumber: 1  Max Bandwidth-affected-linknumber: 8              
Operate status: up          Number Of Up Port In Trunk: 2                     
--------------------------------------------------------------------------------
PortName                      Status      Weight 
GigabitEthernet0/0/1          Up          1      
GigabitEthernet0/0/2          Up          1 

查看所有接口:

该链路聚合组(Eth-Trunk0)工作状态正常,已成功捆绑GigabitEthernet0/0/1和0/0/2两个物理接口,所有成员接口均处于双UP状态且无错误计数,实现了带宽叠加和冗余备份功能。

2. LACP模式

LACP(Link Aggregation Control Protocol,链路聚合控制协议) 是一种动态链路聚合技术,属于 IEEE 802.3ad(后并入 802.1AX)标准的一部分。它允许网络设备自动协商并管理聚合链路,提供更高的带宽、负载均衡和冗余能力。

LACP模式下,两端设备所选择的活动接口数目必须保持一致,否则链路聚合组无法建立。同时,通过系统LACP优先级(默认为32768)确认主动端,值越小优先级越高。当优先级相同时,会比较MAC地址。

LSW1配置:

[sw1]int Eth-Trunk 0# 配置LACP模式	
[sw1-Eth-Trunk0]mode lacp
# 设置最大活动接口数
[sw1-Eth-Trunk0]max active-linknumber 2
# 划分接口
[sw1-Eth-Trunk0]trunkport GigabitEthernet 0/0/1 to 0/0/3# 设置优先级,成为主动端
[sw1]lacp priority 30000

LSW2配置:

[sw2]int Eth-Trunk 0
[sw2-Eth-Trunk0]mode lacp
[sw2-Eth-Trunk0]max active-linknumber 2
[sw2-Eth-Trunk0]trunkport GigabitEthernet 0/0/1 to 0/0/3

查看聚合接口配置信息:

sw1:

sw2:

三. 负载分担

1. 基于数据包的负载分担

在转发流量时,按照报文(包)到来的次序,将报文均匀地分摊到参与负载的各条链路上。在使用Eth-Trunk转发数据时,由于聚合组两端设备之间有很多条物理链路,如果每个数据帧在不同的链路上转发,则有可能导致数据帧到达对端时间不一致,从而引发数据乱序。

2. 基于数据流的负载分担

按照一定的规则(如五元组:源IP地址、目的IP地址、协议号、源端口号、目的端口号),将报文分成不同的流,同一条流的报文将在同一条链路上转发。这种方式通过哈希算法等机制,确保属于同一流的所有报文都经过同一条链路,从而保持报文的顺序性。华为默认采用该模式进行负载分担。

以下命令配置流量负载均衡的哈希算法:

[sw1-Eth-Trunk0]load-balance ?dst-ip       According to destination IP hash arithmeticdst-mac      According to destination MAC hash arithmeticsrc-dst-ip   According to source/destination IP hash arithmeticsrc-dst-mac  According to source/destination MAC hash arithmeticsrc-ip       According to source IP hash arithmeticsrc-mac      According to source MAC hash arithmetic# 华为默认使用源目IP区分数据流

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

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

相关文章

QT图片轮播器(QT实操学习2)

1.项目架构 1.UI界面 2.widget.h​ #ifndef WIDGET_H #define WIDGET_H#include <QWidget>#define TIMEOUT 1 * 1000 QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent n…

【HTML5】02-列表 + 表格 + 表单

本文介绍 列表、表格、表单的具体使用。 目录 1. 列表 1.1 无序列表 1.2 有序列表 1.3 定义列表 2. 表格 2.1 基本使用 2.2 表格结构标签 2.3 合并单元格 3. 表单 3.1 input标签 3.2 input 标签占位文本 3.3 单选框 3.4 上传文件 3.5 多选框 3.6 下拉菜单 3.7…

【数据结构】导航

【数据结构】-CSDN博客 【数据结构】next数组、nextval数组-CSDN博客

开源项目里的 autogen.sh 是做什么?

./autogen.sh 是一个在基于 Autotools 构建系统的开源项目中常见的脚本。它的主要作用是准备构建环境&#xff0c;生成后续编译所需的关键文件。 更具体地说&#xff0c;./autogen.sh 通常会执行以下操作&#xff1a; 检查构建工具: 它会检查系统中是否安装了构建项目所需的工…

RabbitMQ高级特性--发送方确认

目录 1. confirm确认模式 1.配置RabbitMQ 2.设置确认回调逻辑并发送消息 2.Return退回模式 1.配置RabbitMQ 2.设置返回回调逻辑并发送消息 在使用RabbitMQ的时候, 可以通过消息持久化来解决因为服务器的异常崩溃而导致的消息丢失, 但是还有⼀个问题, 当消息的生产者将消息发送出…

Python的ASGI Web 服务器之uvicorn

文章目录 什么是uvicornUvicorn 和 uWSGI 对比区别安装 Uvicorn使用示例 什么是uvicorn 官网https://www.uvicorn.org/ Uvicorn 是一个用于 Python 的 ASGI Web 服务器实现。 Until recently Python has lacked a minimal low-level server/application interface for async…

MongoDB 创建数据库

MongoDB 创建数据库 引言 MongoDB 是一款高性能、可扩展的 NoSQL 数据库&#xff0c;广泛应用于大数据领域。在 MongoDB 中&#xff0c;创建数据库是进行数据存储的第一步。本文将详细介绍 MongoDB 数据库的创建方法&#xff0c;包括手动创建和自动创建两种方式。 MongoDB 数…

并发编程之最小化共享

文章目录 **什么是「最小化共享」&#xff1f;****为什么要最小化共享&#xff1f;****如何实现最小化共享&#xff1f;****1. 线程局部存储&#xff08;Thread-Local Storage&#xff09;****2. 消息传递&#xff08;Message Passing&#xff09;****3. 不可变数据&#xff08…

通信之光纤耦合器

以下是关于光纤耦合器的详细介绍&#xff1a; 定义与原理 - 定义&#xff1a;光纤耦合器是一种能使传输中的光信号在特殊结构的耦合区发生耦合&#xff0c;并进行再分配的器件&#xff0c;也叫分歧器、连接器、适配器、光纤法兰盘。 - 原理&#xff1a;利用不同光纤面紧邻光纤芯…

自然语言模型的演变与未来趋势:从规则到多模态智能的跨越

自然语言模型的演变与未来趋势&#xff1a;从规则到多模态智能的跨越 自然语言处理(NLP)作为人工智能领域最具挑战性的分支之一&#xff0c;在过去几十年经历了翻天覆地的变化。从最初基于规则的系统到如今拥有万亿参数的大型语言模型(LLMs)&#xff0c;这一技术革新不仅彻底改…

笔记本电脑更换主板后出现2203:System configuration is invalid,以及2201、2202系统错误的解决

笔记本电脑更换主板后启动出现2203:System configuration is invalid,以及2201、2202系统错误的解决 自用的一台ThinkpadT490笔记本电脑 ,由于主板故障,不得不更换主板,通过某宝购置主板后进行了更换。 具体拆卸笔记本可搜索网络视频教程。 注意: 在更换主板时,注意先拍…

JavaScript中的观察者模式

以下是关于 观察者模式(Observer Pattern) 的全面梳理,涵盖核心概念、实现方式、应用场景及注意事项,帮助我们掌握这一解耦事件通知与处理的经典设计模式: 一、观察者模式基础 1. 核心概念 定义:定义对象间 一对多 的依赖关系,当被观察对象(Subject)状态变化时,自动…

RAG基建之PDF解析的“流水线”魔法之旅

将PDF文件和扫描图像等非结构化文档转换为结构化或半结构化格式是人工智能的关键部分。然而,由于PDF的复杂性和PDF解析任务的复杂性,这一过程显得神秘莫测。 在RAG(Retrieval-Augmented Generation)基建之PDF解析的“魔法”与“陷阱”中,我们介绍了PDF解析的主要任务,对现…

【Linux】GDB调试指南

一、GDB基础 1. 启动调试 gdb ./your_program # 启动调试 gdb --args ./prog arg1 # 带参数启动 gdb -p <pid> # 附加到正在运行的进程 2. 断点管理 b main # 在main函数设断点 b file.c:20 # 在file.c第20行设断点 b *0x4005a…

Android面试总结之Glide源码级理解

当你的图片列表在低端机上白屏3秒、高端机因内存浪费导致FPS腰斩时&#xff0c;根源往往藏在Glide的内存分配僵化、磁盘混存、网络加载无优先级三大致命缺陷中。 本文从阿里P8级缓存改造方案出发&#xff0c;结合Glide源码实现动态内存扩容、磁盘冷热分区、智能预加载等黑科技&…

驱动开发系列49 - 搭建 Vulkan 驱动调试环境(编译 mesa 3D)- Ubuntu24.04

一:搭建Vulkan运行环境 安装vulkan依赖包: 1. sudo apt install vulkan-tools 2. sudo apt install libvulkan-dev 3. sudo apt install vulkan-utility-libraries-dev spirv-tools 4. sudo apt install libglfw3-dev libglm-dev 5. sudo apt install libxxf86vm-dev libxi-…

深度学习——图像余弦相似度

计算机视觉是研究图像的学问&#xff0c;在图像的最终评价时&#xff0c;往往需要用到一些图像相似度的度量指标&#xff0c;因此&#xff0c;在本文中我们将详细地介绍原生和调用第三方库的计算图像余弦相似度的方法。 使用原生numpy实现 import numpy as npdef image_cosin…

项目代码第8讲【数据库基础知识】:SQL(DDL、DML、DQL、DCL);函数(聚合、字符串、数值、日期、流程);约束;多表查询;事务

黑马程序员 MySQL数据库入门到精通&#xff0c;从mysql安装到mysql高级、mysql优化全囊括_哔哩哔哩_bilibili 一、数据库相关概念 1、主流的关系型数据库都支持SQL语言——SQL语言可以操作所有的关系型数据库 像MySQL、Oracle Database、Microsoft SQL Server、IBM Db2等主流的…

如何在阿里云linux主机上部署Node.Js

在阿里云的Linux服务器上搭建Node.js编程环境可以通过以下步骤完成。这里以常见的 Ubuntu/CentOS 系统为例&#xff0c;提供两种安装方式&#xff08;包管理器、NVM多版本管理&#xff09;&#xff1a; 一、通过包管理器安装&#xff08;适合快速安装指定版本&#xff09; 1. …