HCIP 链路聚合技术
1、链路聚合概述
为了保证网络的稳定性,仅仅是设备进行备份还不够,我们需要针对我们的链路进行备份,同时也增加了链路的利用率,提高带宽。避免一条链路出现故障,导致网络无法正常通信。这就可以使用链路聚合技术。

以太网链路聚合Eth-Trunk:简称链路聚合,通过多各个物理口捆绑成为一个逻辑接口,可以在不进行硬件升级的条件下,达到增加链路带宽的目的。
成员接口和成员链路:组成Eth-Trunk接口的各个物理接口称为成员接口,成员接口对应的链路称为成员链路。
聚合模式,根据是否开启LACP(链路聚合控制协议),链路聚合可以分为手工模式和LACP模式
活动接口和活动链路:活动接口又叫选中接口(Selected)接口,是参与数据转发的成员接口,活动接口对应的链路被称为活动链路(Active link)。
非活动接口和非活动链路:非活动接口又叫非选中(Unselected)接口,是不参与转发数据的成员接口。非活动接口对应的链路被称为非活动链路(inactive link)。
2、配置聚合链路的条件
为了使链路聚合接口正常工作,必须保证本端口链路聚合中所有成员接口的对端接口:
1)属于同一台设备;
2)加入同一链路聚合接口;
3)华为设备要求,加入聚合口的成员接口必须具备相同的速率,双工模式,相同的接口类型包括接口放通的VLAN运行列表及PVID。(配置之前不能存在配置,聚合后在聚合口中配置。)
3、手工模式
手工模式:建立Eth-Trunk的建立,成员接口的加入均由手动配置,双方系统之间不使用LACP进行协商。
正常情况下所有链路都是活动链路,该模式下所有活动链路参与数据的转发、平均分担流量,如果某条活动链路故障,链路聚合组自动在剩余的活动链路中平均分担流量。这里负载分担的模式是可以选择的。
当聚合链路的两端设备中存在一个不支持LACP协议时,可以使用手工模式。
Eth-Trunk支持基于报文的IP地址或MAC地址来进行负载分担,可以配置不同的模式(本地有效,对出方向报文生效)将数据流分担到不同的成员接口上。
常见的模式有:源IP、源MAC、目的IP、目的MAC、源目IP、源目MAC。
实际业务中用户需要根据业务流量特征选择配置合适的负载分担方式。业务流量中某种参数比那花越频繁,选择与此参数相关的负载方式就越容易实现负载均衡。
4、手工模式配置
1)创建聚合链路
[SW1]interface Eth-Trunk ?<0-63> Eth-Trunk interface number
2)将接口加入链路聚合组中(以太网接口视图)
[SW1]int g0/0/2
[SW1-GigabitEthernet0/0/2]eth-trunk ?INTEGER<0-63> Trunk ID
3)将接口加入链路聚合组中(Eth-Trunk视图)
[SW1-Eth-Trunk1]trunkport GigabitEthernet 0/0/1 ?<0-0> Slot numberto Range link symbol<cr>
4)使能允许不同速率的端口加入同一Eth-Trunk接口的功能--可选
缺省情况下,设备未使能允许不同速率端口加入同一Eth-Trunk接口的功能,只能相同速率的接口加入到同一个Eth-Trunk接口中。
[SW1-Eth-Trunk1]mixed-rate link enable
5)选择负载均衡方式--可选
华为黑色笔聚合链路默认采用的时基于流的负载分担,华为设备默认通过源IP和目标IP来区分不同的数据流
[SW1]interface Eth-Trunk 1
[SW1-Eth-Trunk1]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
5、LACP模式
LACP即链路聚合控制协议,它时Link Aggregation Control Protocol的简称。
LACP模式:采用LACP协议的一种链路聚合模式,设备间通过链路聚合控制协议数据单元(Link Aggregation Control Protocol Data Unit,LACPDU)进行交互,通过协议商确保对端时同一台设备、同一个聚合接口的成员接口。
LACP模式下,两端设备所选择的活动接口数目必须保持一致,否则链路聚合组就无法建立。此时可以使其中一端成为主端口,另一端(被动端)根据主动端选择活动接口。
通过系统LACP优先级确定主动端,值越小优先级越高。
当活动链路中出现链路故障时,可以从非活动中找出一条优先级最高(接口优先级、接口编号比较)的链路替换故障链路,实现总体带宽不发生变化,业务的不间断转发。
6、LACP模式配置
1)创建链路聚合
[SW1]interface Eth-Trunk ?<0-63> Eth-Trunk interface number
2)配置链路聚合模式
[SW1-Eth-Trunk2]mode lacp-static
注:需要保持两端链路聚合模式一致
3)将接口加入链路聚合组中(以太网接口视图)
[SW1]int GigabitEthernet 0/0/3
[SW1-GigabitEthernet0/0/3]eth-trunk ?INTEGER<0-63> Trunk ID
4)将接口加入链路聚合组中(Eth-Trunk视图)
[SW1-Eth-Trunk2]trunkport GigabitEthernet 0/0/2 ?<0-0> Slot numberto Range link symbol<cr>
5)使能允许不同速率端口加入同一Eth-Trunk接口的功能
[SW1-Eth-Trunk2]mixed-rate link enable
6)配置系统LACP优先级
[SW1]lacp priority ?INTEGER<0-65535> Priority value, the default value is 32768
7)配置接口接口LACP优先级
[SW1]interface GigabitEthernet 0/0/3
[SW1-GigabitEthernet0/0/3]lacp priority ?INTEGER<0-65535> Priority value, the default value is 32768
8)配置最大/最小活动接口数
[SW1]interface Eth-Trunk 2
#最大活动数接口
[SW1-Eth-Trunk2]max active-linknumber ?INTEGER<1-8> Value of max active linknumber
#最小活动数接口
[SW1-Eth-Trunk2]least active-linknumber ?INTEGER<1-8> The data of least active-linknumber
相关文章:
HCIP 链路聚合技术
1、链路聚合概述 为了保证网络的稳定性,仅仅是设备进行备份还不够,我们需要针对我们的链路进行备份,同时也增加了链路的利用率,提高带宽。避免一条链路出现故障,导致网络无法正常通信。这就可以使用链路聚合技术。 以…...
网页爬虫中常用代理IP主要有哪几种?
各位爬虫探索者,你是否有想过在网页爬虫中使用代理IP来规避限制实现数据自由?在这篇文章中,作为一名IP代理产品供应商,我将为你揭示常见的网页爬虫代理IP类型,让你在爬虫的世界中游刃有余! 一、免费公开代理…...
Js小数运算精度缺失的解决方法
项目场景: 提示:项目需求截图: 问题描述 众所周知Js做运算时0.10.2不等于0.3,目前项目需要计算关于金额的选项,涉及到金额保留后两位。保单欠款是根据用户输入的保单应收和保单欠款自动计算的。 原因分析: 产生浮点数…...
25 | 葡萄酒质量数据分析
基于kaggle提供的公开数据集,对全球葡萄酒分布情况和质量情况进行数据探索和分析 from kaggle: https://www.kaggle.com/zynicide/wine-reviews 分析思路: 0、数据准备 1、葡萄酒的种类 2、葡萄酒质量 3、葡萄酒价格 4、葡萄酒描述词库 5、品鉴师信息 6、总结 0、数据准备 …...
在 Windows 上安装 OpenCV – C++ / Python
在这篇博文中,我们将在 Windows 上安装适用于 C 和 Python 的 OpenCV。 C 安装是在自定义安装 exe 文件的帮助下完成的。而Python的安装是通过Anaconda完成的。 在 Windows 上安装 OpenCV – C / Python(opencv官方Wndows上安装openCV- C/ Pthon 的链接…...
前后端交互开发模式yapi使用
接手一个项目组,采用前后端开发模式分离,经过一阵子了解后,发现存在前后端配合不顺畅的情况,存在如下两个问题, 一:没有接口协议,前端开发时先用占位符,等后端开发协议出来后替换,影响效率。 二:前端开发好了, 后端没开发好,前端只能等待后端开发好。 做为一个团队技…...
Ajax同源策略及跨域问题
Ajax同源策略及跨域问题 同源策略ajax跨域问题什么是跨域?为什么不允许跨域?跨域解决方案1、CORS2、express自带的中间件cors3、JSONP原生JSONPjQuery发送JSONP 4、使用vscode的Live Server插件 同源策略 同源策略(Same-Origin Policy&#…...
JavaScript:解构赋值【对象】
在JavaScript编程中,解构赋值是一种强大的技术,它允许我们从数组或对象中快速提取数据并赋值给变量。在本文中,我们将重点介绍对象解构,解释如何利用它从对象中提取数据,以通俗易懂的方式帮助你掌握这一技巧。 1. 什么…...
微服务与Nacos概述-2
微服务间消息传递 微服务是一种软件开发架构,它将一个大型应用程序拆分为一系列小型、独立的服务。每个服务都可以独立开发、部署和扩展,并通过轻量级的通信机制进行交互。 应用开发 common模块中包含服务提供者和服务消费者共享的内容 provider模块是…...
解决MySQL与Redis缓存一致性的问题
背景 考试系统中,教师会在后台发布一场考试,考试会存储在MySQL和Redis里面,考试有时候是会出错的,我们需要后台修改,如果多个教师在后台并发修改(概率不大),可能会出现数据库缓存不…...
王道机组难题分析
第四章 指令系统 大端方式:就是高地址存放高位, LSB的意思是:全称为Least Significant Bit,在二进制数中意为最低有效位 MSB的意思是:全称为Most Significant Bit,在二进制数中属于最高有效位 操作数可以理…...
数学建模(一)前继概念
课程推荐:数学建模老哥_哔哩哔哩_bilibili 目录 一、什么是数学建模? 二、数学建模的一般步骤 三、数学建模赛题类型 1.预测型 2. 评价类 3.机理分析类 4. 优化类 一、什么是数学建模? 数学建模是利用数学方法解决实际问题的一种实践。…...
C# 随机法求解线性规划问题 蒙特卡洛
线性规划问题: max3x12x2 x12x2<5 2x1x2<4 4x13x2<9 x1>0 x2>0 正确的结果:x11.5; x21, max z6.5 Random random1 new Random(DateTime.Now.Millisecond);Random random2 new Random(DateTime.Now.Millisecond*DateTime.Now.Millisecond);double max-9999,x1…...
nginx文档合集
1、nginx documentation 2、14个Nginx的核心功能点,建议收藏! 3、Nginx之负载均衡模块 ngx_http_upstream_module_途径日暮不赏丶的博客-CSDN博客 4、tomcat redis session共享 https://github.com/redisson/redisson/tree/master/redisson-tomcat...
什么是BFC?它有什么作用?如何创建BFC?
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 什么是BFC⭐ BFC的作用⭐ 创建BFC的方法⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web…...
svn文章四:版本控制策略 - 穿越时光机:SVN版本控制进阶技巧
文章四:版本控制策略 - “穿越时光机:SVN版本控制进阶技巧” 概述:版本控制是SVN的核心功能。本文将深入研究SVN版本控制的进阶技巧,包括标签管理、历史查看、版本回退等,让您成为版本控制的高手。 1. 引言 版本控制…...
SpringBoot+Mybatis-Plus实现增删改查超详细步骤
目录 一、介绍 二、前期准备工作 (一) 创建springboot项目和创建数据库 三、项目配置 (一)pom.xl导入相关依赖 1.导入依赖 (二)yml文件中配置连接数据库 2.配置yml文件 四、代码的编写 数据库展…...
Qt应用开发(基础篇)——拆分器窗口 QSplitter QSplitterHandle
一、前言 QSplitter继承于QFrame,QFrame继承于QWidget,是Qt的一个部件容器工具类。 框架类QFrame介绍 QSplitter拆分器,用户通过拖动子部件之间的边界来控制子部件的大小,在应用开发中数据分模块展示、图片展示等场景下使用。 二、…...
屏幕尺寸单位 px、em、rem区别
1、px是屏幕设备物理上能显示出的最小的一个点,这个点不是固定宽度的,不同设备上点的长宽、比例有可能会不同。假设:1号显示器上1px宽1毫米,但2号显示器1px宽两毫米,那么定义一个div宽度为100px,1号显示器上…...
yo!这里是STL::list类简单模拟实现
目录 前言 重要接口实现 框架 默认成员函数 迭代器(重点) 1.引言 2.list迭代器类实现 3.list类中调用实现 增删查改 后记 前言 我们知道,stl中的vector对应数据结构中的顺序表,string类对应字符串,而今天要…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程
STM32F1 本教程使用零知标准板(STM32F103RBT6)通过I2C驱动ICM20948九轴传感器,实现姿态解算,并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化,适合嵌入式及物联网开发者。在基础驱动上新增…...
绕过 Xcode?使用 Appuploader和主流工具实现 iOS 上架自动化
iOS 应用的发布流程一直是开发链路中最“苹果味”的环节:强依赖 Xcode、必须使用 macOS、各种证书和描述文件配置……对很多跨平台开发者来说,这一套流程并不友好。 特别是当你的项目主要在 Windows 或 Linux 下开发(例如 Flutter、React Na…...
LangChain 中的文档加载器(Loader)与文本切分器(Splitter)详解《二》
🧠 LangChain 中 TextSplitter 的使用详解:从基础到进阶(附代码) 一、前言 在处理大规模文本数据时,特别是在构建知识库或进行大模型训练与推理时,文本切分(Text Splitting) 是一个…...
