HCIA 链路聚合与LACP

news2025/1/11 15:01:20

一、前言

虽然很多文章在介绍链路聚合时会从链路备份的角度来介绍链路聚合的作用,然后再说其有提升链路带宽的作用,但我感觉链路聚合主要还是提升链路带宽的作用,链路备份只是顺带的不是主要目标。

二、链路聚合

考虑下面的网络,我们使用两根网线将交换机LSW1和LSW2连接在一起,在STP生效的情况下,其实只有一路是能走流量的,另一路会被“阻塞”。当主用的那路出现故障后被阻塞的一路会自动成为主用,此时就已经实现了链路的备份。

 

然后我们会发现只允许STP的话,链路有点浪费啊,占用了2个端口但一直只使用其中一个,如果我们用三根网线来连接最后还是只使用其中一根而已。如果可以同时使用这2根网线来跑流量岂不是就很美,链路聚合就可以实现这样的功能。

原理不复杂,如下图所示。数字代表交换机想要发送的数据包编号,只需要像下图这样错开来并同时发送数据,就能实现双倍的速度。如果单端口的速度是100M/s,聚合后就可以达到200M/s。

 

三、手工链路聚合

配置也是非常的简单:

system-view #进入系统视图

interface Eth-Trunk 1 #创建一个链路组

trunkport Ethernet 0/0/1 #将E0/0/1加入链路组

trunkport Ethernet 0/0/2 #将E0/0/2加入链路组

mode manual load-balance #设置为手动模式

两台交换机一样的设置,过一会就会发现两台PC可以ping通了。

 

不过在eNSP中进行抓包发现流量只会从其中一个端口走,不会实现所谓的“负载均衡”,应该是模拟器无法实现这么细的细节(找大牛问的)。

四、手工聚合的问题

1、不好维护

在逻辑图中我们可以清晰看到链路的连接,包括哪一根线连到哪里,但在现实中线是到处乱插的,很多时候网络负责人会“搞忘了”。比如某天需要需要做网络变更,某个端口需要换个交换机对接,这时候很难去回想起还有个链路聚合。

 

由于端口状态是UP的,我们检查LSW1的状态会发现一切正常,但实际运行会有问题,又不好去排查。

 

2、端口故障

存在一种情况,端口状态是UP,但实际上无法转发流量,这时候由于负载分担部分流量会被错误的转发到故障的端口。

五、LACP聚合

Link Aggregation Control Protocol(链路汇聚控制协议)简称LACP,是一种实现链路动态汇聚的协议。它的“动态”是与前面手工聚合相对来说,它配置过程与手工聚合类似,为了说明特性我们使用3个端口来连接两个交换机。

先清理之前的配置,两台交换机一样的操作:

interface Eth-Trunk 1

undo trunkport Ethernet 0/0/1

undo trunkport Ethernet 0/0/2

undo mode

新的网络结构:

 

LACP的配置:

interface Eth-Trunk 1

mode lacp-static

trunkport Ethernet 0/0/1

trunkport Ethernet 0/0/2

trunkport Ethernet 0/0/4

LACP与手工聚合配置过程差不多,最大不同在于在LACP协议下,交换机会定时发一个叫LACPDU的报文来进行端口协商并检查端口的状态。

1、端口状态检查

运行在LACP协议下的交换机会向对方端口发LACPDU报文,如果能收到对方的报文那自然对端就是正常状态,如果一定时间后没有收到LACPDU报文,交换机也就知道对方可能出现问题(比如挂了或者插到别的交换机上了),这时候就可以知道该端口异常从而不再使用该链路传流量。

2、端口协商

协商的内容其实还挺多,但是不想赘述了,其实来来去去都差不太多,我们主要关注由于端口协商的存在,使LACP相较手工聚合多了那些特性。

(1) 活跃端口数量限制

在人工聚合中我们配置了2端口则2个端口是平等的聚合在一起,可以理解传输流量时他们是平等分配工作的,如果你聚合3个4个也都是这样大家平均分配。但LACP由于有报文了嘛,所以它可以做到只用几个端口跑流量,其他端口都歇着。比如用下面的命令,可以将活跃端口数量限制在2个(两台交换机都要设置)。

max active-linknumber 2

然后查看下汇聚的情况,会发现其中一个端口自动就down了。

 

其实就这么一个特性,我感觉还挺疑惑的,这有啥用?

这看起来LACP其实也就是能不停用LACPDU报文来检测端口状态,此外没有什么特别的感觉。

六、负载分担方式

我们之前用下面这个图来示意链路聚合的效果,但实际运行中不可能是这样工作的,比如2如果比1更早到目标交换机,那岂不是还得等一等?过程太复杂了。

 

所以实际工作中聚合链路是按“流”的方式来负载分担的,比如发给IP1的包全部都走E0/0/1,发给IP2的包全部都走E0/0/2,这样就避免了包的乱序。而以目标IP作为负载分担方式称为按“目的IP地址”模式。常见的有6种,看名字都能知道是啥意思。

(1)src-mac 源MAC地址模式

(2)dst-mac目的MAC地址模式

(3)src-dst-mac源MAC地址和目的MAC地址模式

(4)src-ip源IP地址模式

(5)dst-ip目的IP地址模式

(6)src-dst-ip源IP地址和目的IP地址模式

默认是“src-dst-ip”,修改用下面的命令:

load-balance src-ip #修改为源IP模式

无乱是手工聚合还是LACP都支持修改负载分担模式。

七、回顾

本篇我们了解了链路聚合,他分为手工链路聚合和LACP聚合,二者的最大区别并不是LACP就实现了自动聚合,而是LACP可以通过LACPDU报文来检查端口的状态。聚合以后的链路以负载分担的方式运行,可以实现链路的备份以及带宽的扩展。

此外,网上看到说LACP可以实现自动聚合,也就是只需要在某一台交换机上开启协议,就能自动通过LACPDU报文来自动聚合链路,我查了半天也没搞明白。

就目前我找到的资料,链路聚合都是手动的,并不是LACP就自动了,它一样需要配置参与聚合的链路,但在一定程度上它实现了自动化,但不是聚合本身的自动化。

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

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

相关文章

Windows 环境下的 Socket 编程 3 - 基于 TCP 的服务器/客户端

基于 TCP 的服务器端/客户端 绝大多数 TCP 服务器端都按照如下顺序调用: 在 Windows 环境下,代码表示为: WSADATA wsaData;SOCKET hServSock, hClntSock;SOCKADDR_IN servAddr, clntAddr;int szClntAddr;/*Windows 环境 Socket 编程必须*/i…

leetcode:6243. 到达首都的最少油耗【变种子树大小统计 + 从边的角度出发 + 思维转换】

目录题目截图题目分析ac code总结题目截图 题目分析 0作为root从边的角度出发每个点都向0的方向聚集比如大家已经由四面八方聚集到了x,x的fa固定的,假设为y那么x到y要多少辆车?设size(x)为x子树大小x到y需要ceil&…

2022年第十三届蓝桥杯大赛湖南中医药大学第2场选拔赛(部分总结)

文章目录2008: 简单整数问题2005: 飞行棋2074: 几乎回文串2101: 通行密令2089: 密码1867: X星救援站2085: 千里走单骑2093: 最长等比子序列2087: 跳水比赛总结2008: 简单整数问题 [命题人 : admin] 时间限制 : 1.000 sec 内存限制 : 128 MB 题目描述 小明最近经常会思考一些关…

Oracle-AWR快照无法自动生成问题分析

前言: 近期处理了一起数据库AWR快照无法自动生成的问题,用户发现数据库在近期出现了AWR快照无法自动生成的问题,数据库整体负载正常,后面分析发现原因是由于AWR快照在生成过程中,执行的SQL语句出现超时导致。 问题: Oracle11.2.…

【课上笔记】第八章 图

图 8.1图的基本概念 8.1.1图的定义和术语 1.图的定义 ​ 图(Graph)由一个顶点集合Vn和一个边(或者弧)集合En组成,通常记为: G=(Vn,En)其中,Vn中有n(n>0)个顶点,En中有e&#…

stm32cubemx hal学习记录:FreeRTOS任务管理

一、基本配置 1、配置RCC、USART1、时钟84MHz 2、配置SYS,将Timebase Source修改为除滴答定时器外的其他定时器,因为滴答定时器被用于时钟基准,可以实现任务切换。Timebase Source是实现HAL_Delay等延时函数的 3、初始化LED的两个引脚 4、开…

HTTP VS HTTPS

一、网络协议 网络协议是计算机之间为了实现网络通信而达成的一种“约定”或者”规则“,有了这种”约定“,不同厂商的生产设备,以及不同操作系统组成的计算机之间,就可以实现通信。 二、HTTP与HTTPS 1、HTTP (1&am…

Autoware中的点云3D聚类算法,保姆级算法阅读注释,一看就懂,非常详细!

综述 五大模块&#xff0c;看完等于点云入门~&#xff08;dog&#xff09; 实际步骤 输入激光雷达获得的点云 pcl::PointCloud<pcl::PointXYZ>::Ptr header:seq:序列长度stamp:获取点云的时刻frame_id:坐标系名称 points:保存点云的容器,类型为std::vector width:类型…

大小端的判断

1.关于进制 1.1 进制数与位数 n进制数中&#xff0c;一位最多表示到数字n-1 十进制中1位最多能表示9个数字 满则溢&#xff0c;溢则进位。 拿我们最常用的是10 进制来举例说明&#xff0c; 构成十进制的最小单位数: 1 2 3 4 5 6 7 8 9 0 十进制(其实只有从9到0这几个数字,1…

OSPF笔记(四):OSPF五种报文和五种常见LSA

一、OSPF五种报文 (使用IP承载&#xff0c;可靠&#xff09; 1.1 hello&#xff1a; 发现和维护邻居关系 &#xff0c;以太网10s一次 1.2 DBD&#xff1a; 发送链路状态数据库摘要 1.3 LSR&#xff1a; 请求发送特定的链路状态信息&#xff08;请求包&#xff09; 1.4 LSU&…

Pr2023(Premiere Pro)中文版软件下载「附带安装教程」

Premiere Pro 23.0 版专为帮助编辑人员制作创意内容而设计&#xff0c;提供了出色的字幕工具组合。借助改进功能&#xff08;如批量编辑时间轴中的标题剪辑、灵活的对齐控件等&#xff09;简化您的标题和图形工作流程。此版本包含稳定性和性能方面的基础改进&#xff0c;包括更…

用 Flutter 轻松做个红包封面

前言 在 Flutter 的开发中&#xff0c;最常见的就是层层的组件嵌套&#xff0c;因此不可避免会遇到子组件如何适配父组件的问题。比如&#xff0c;按钮的可点击区域是否要占满整个父组件&#xff1f;图片是居中还是居左&#xff1f;这些问题可以通过 Flutter 提供的FittedBox …

Rancher - 更换Linux发行版

Rancher - 更换Linux发行版 时间&#xff1a;2022年11月20日21:24:29 推荐&#xff1a;Linux CentOS7.9 一、为什么要更换/升级&#xff1f; CentOS7.9 停止维护时间 2024年06月30日 AnolisOS8 阿里云推出的Linux发行版&#xff0c;支持多计算架构&#xff0c;也面向云端场景…

公众号免费搜题系统搭建

公众号免费搜题系统搭建 本平台优点&#xff1a; 多题库查题、独立后台、响应速度快、全网平台可查、功能最全&#xff01; 1.想要给自己的公众号获得查题接口&#xff0c;只需要两步&#xff01; 2.题库&#xff1a; 查题校园题库&#xff1a;查题校园题库后台&#xff08;…

算法篇-------贪心2

文章目录题目1-------活动选择题目2-----无重叠区间题目3------最多可以参加的会议数目题目4-------去除重复字母题目5------移掉K位数字题目6-----拼接最大数题目1-------活动选择 有n个需要在同一天使用同一个教室的活动a1, a2, …, an&#xff0c;教室同一时刻只能由一个活…

MapReduce基础

MapReduce入门 理解MapReduce的思想 MapReduce的思想核心是先分再合&#xff0c;分而治之所谓的分而治之&#xff0c;就是把一个复杂的问题&#xff0c;按照一定的分解方法分为等价的规模的若干部分&#xff0c;然后捉个解决&#xff0c;分别找出各个部分的结果没然后将各个部…

【学习笔记】mac安装maven与idea自带maven

一、安装Maven 1.1 场景一&#xff1a;mac安装Maven step1: 下载maven 到 maven官网下载压缩包&#xff0c;这里下载 apache-maven-3.8.6-bin.zip 压缩包&#xff1a; step2: 解压安装 解压maven压缩包&#xff0c;将解压得到的maven文件夹 “apache-maven-3.8.6” 放到合适…

Ubuntu22.04系统安装Unreal Engine 5.1.0

1.实现目标 在Ubuntu22.04系统上从源码构建安装Unreal Engine 5.1.0。 2.实现过程 2.1 正常流程 (1)从github上下载最新的release版本的源代码:5.1.0 release。 (2)解压缩代码,并打开终端,执行 ./Setup.sh,下载所需的各项依赖,文件大小约20GB,需下载2-3小时。 (…

【每日一题Day33】LC799香槟塔 | 动态规划

香槟塔【LC799】 我们把玻璃杯摆成金字塔的形状&#xff0c;其中 第一层 有 1 个玻璃杯&#xff0c; 第二层 有 2 个&#xff0c;依次类推到第 100 层&#xff0c;每个玻璃杯 (250ml) 将盛有香槟。 从顶层的第一个玻璃杯开始倾倒一些香槟&#xff0c;当顶层的杯子满了&#xff…

springmvc-day01

springmvc-day01 第一节 SpringMVC概述 1. SpringMVC 优势 SpringMVC 是 Spring 为表述层开发提供的一整套完备的解决方案。在表述层框架历经 Strust、WebWork、Strust2 等诸多产品的历代更迭之后&#xff0c;目前业界普遍选择了 SpringMVC 作为 Java EE 项目表述层开发的首…