LACP——链路聚合控制协议

 

LACP——链路聚合控制协议

什么是LACP?

LACP(Link Aggregation Control Protocol,链路聚合控制协议)是一种基于IEEE802.3ad标准的实现链路动态聚合与解聚合的协议,它是链路聚合中常用的一种协议。
链路聚合组中启用了LACP协议的成员端口通过发送LACPDU报文进行交互,双方对哪些端口能够发送和接收报文达成一致,确定承担业务流量的链路。此外,当聚合条件发生变化时,如某个链路发生故障,LACP模式会自动调整聚合组中的链路,组内其他可用成员链路接替故障链路维持负载平衡。这样在不进行硬件升级的情况下,可以增加设备之间的逻辑带宽,提高网络的可靠性。


年终盘点:2023年IT人考证一览-CSDN博客文章浏览阅读1.1k次,点赞29次,收藏24次。今天,我们就来盘点下,现在IT圈里都流行哪些证儿https://blog.csdn.net/XMWS_IT/article/details/135986741?spm=1001.2014.3001.5501


LACP与LAG是什么关系?

链路聚合组LAG(Link Aggregation Group)是指将若干条以太链路捆绑在一起形成一条逻辑链路,也称Eth-Trunk链路。每个聚合组对应一个链路聚合接口或Eth-Trunk接口,组成Eth-Trunk接口的各个物理接口称为成员接口,成员接口对应的链路称为成员链路。链路聚合接口可以作为普通的以太网接口来使用,与普通以太网接口的差别在于:转发的时候链路聚合组需要从成员接口中选择一个或多个接口来进行数据转发。

图片


链路聚合组与链路聚合接口、成员接口和成员链路关系示意图

LAG是一种链路聚合技术,当在两台交换机之间并行连接多个端口并将它们配置为LAG时,链路聚合组就会形成,而LACP是一种自动建立LAG的控制协议,用于启用LAG自动配置网络交换机端口、分离链路故障和激活故障切换。

LAG主要有两种模式,分别是手工模式和LACP模式。

  • 手工模式:指LAG不启用任何链路聚合协议,Eth-Trunk的建立、成员接口的加入由手工配置。

  • LACP模式:指LAG启用LACP链路聚合协议,Eth-Trunk的建立、成员接口的加入基于LACP协议协商完成。

部分设备支持手工模式,但不支持LACP模式,LACP模式需要本端和对端设备同时启用LACP协议,所选择的活动接口必须保持一致,才能建立LAG,如果对端设备未启用LACP协议,本端LAG会尝试将数据包传输到远程单个接口,可能导致通信失败。

图片


手工模式与LACP模式的对比

为什么要用LACP?

LACP模式对数据传输更加稳定和可靠

手工模式下,所有链路都是活动链路,所有活动链路均参与数据转发,平均分担流量。如果某条活动链路故障,链路聚合组自动在剩余的活动链路中平均分担流量。

LACP模式下,由LACP确定聚合组中的活动和非活动链路,又称为M:N模式,即M条活动链路与N条备份链路的模式。这种模式提供了更高的链路可靠性,并且可以在M条链路中实现不同方式的负载均衡。

如下图所示,两台设备间有M+N条链路,在聚合链路上转发流量时在M条链路上分担负载,即活动链路,不在另外的N条链路转发流量,这N条链路提供备份功能,即备份链路。此时链路的实际带宽为M条链路的总和,但是能提供的最大带宽为M+N条链路的总和。当M条链路中有一条链路故障时,LACP会从N条备份链路中找出一条优先级高的可用链路替换故障链路。此时链路的实际带宽还是M条链路的总和,但是能提供的最大带宽就变为M+N-1条链路的总和。

图片


M:N备份示意图

LACP模式对聚合链路组的故障检测更加准确和有效

手工模式只能检测到同一聚合组内的成员链路有断路等有限故障,LACP模式不仅能够检测到同一聚合组内的成员链路有断路等有限故障,还可以检测到链路故障、链路错连等故障。

如下图所示,DeviceA与DeviceB之间创建Eth-Trunk,需要将DeviceA上的四个接口与DeviceB捆绑成一个Eth-Trunk。由于错将DeviceA上的一个接口与DeviceC相连,这将会导致DeviceA向DeviceB传输数据时可能会将本应该发到DeviceB的数据发送到DeviceC上。

手工模式的Eth-trunk不能及时检测到该故障,如果在DeviceA和DeviceB上都启用LACP协议,经过协商后,Eth-Trunk就会选择正确连接的链路作为活动链路来转发数据,从而DeviceA发送的数据能够正确到达DeviceB。

图片


Eth-Trunk错连示意图

LACP是如何工作的?

LACP为数据交换设备提供一种标准的协商方式,系统根据自身配置自动形成聚合链路,并启动聚合链路收发数据。LACP通过链路聚合控制协议数据单元LACPDU(Link Aggregation Control Protocol Data Unit)与对端交互信息,LACPDU报文中包含设备的系统优先级、MAC地址、接口优先级、接口号和操作Key等信息,对端接收到这些信息后,将这些信息与其它端口所保存的信息比较以选择能够汇聚的端口,双方对端口加入或退出某个动态聚合组达成一致,确定承担业务流量的链路。

LACP主要工作主要包含互发LACPDU报文、确定主动端、确定活动链路、链路切换,具体实现如下。

互发LACPDU报文

在对接的两台设备上创建Eth-Trunk并配置为LACP模式,然后向Eth-Trunk中手工加入成员接口。此时成员接口上便启用了LACP协议,两端互发LACPDU报文,LACPDU报文中包含设备的系统优先级、MAC地址、接口优先级、接口号和操作Key等信息。

图片


互发LACPDU报文

确定主动端

两端设备均会收到对端发来的LACPDU报文。以DeviceB为例,当DeviceB收到DeviceA发送的报文时,DeviceB会查看并记录对端信息,然后比较系统优先级字段,如果DeviceA的系统优先级高于本端的系统优先级,则确定DeviceA为LACP主动端。如果DeviceA和DeviceB的系统优先级相同,比较两端设备的MAC地址,MAC地址小的一端为LACP主动端。

图片


确定主动端

确定活动链路

选出主动端后,设备两端会以主动端的接口优先级来选择活动接口,如果主动端的接口优先级都相同则选择接口编号比较小的为活动接口。LACP模式支持设置活动接口数上限阈值以在保证带宽的情况下提高网络可靠性,当前活动接口数目达到上限阈值时,再向Eth-Trunk中添加成员接口,不会增加Eth-Trunk活动接口的数目,超过上限阈值的链路状态将被置为Down,作为备份链路。两端设备选择了一致的活动接口,活动链路组便可以建立起来,这些活动链路以负载分担的方式转发数据。

如下图所示,LACP模式下,如果活动链路数上限阈值为2,通过LACP协商后,链路1和链路2因为优先级较高被选作活动链路,链路3则为备份链路。聚合链路中的活动链路参与数据转发,总带宽等于被选中的活动链路带宽之和。

图片


确定活动链路

链路切换

LACP模式链路聚合组中如果某条活动链路故障,链路聚合组自动在备份链路中选择一条优先级最高的链路作为活动链路接替故障链路,参与数据转发的链路数目不变,保证数据传输的可靠性。LACP模式链路聚合组两端设备中任何一端检测到以下事件,都会触发聚合组的链路切换:

  • 链路Down事件。

  • 以太网OAM检测到链路失效。

  • LACP协议发现链路故障。

  • 接口不可用。

  • 在使能了LACP抢占功能的前提下,更改备份接口的优先级高于当前活动接口的优先级。

当满足上述切换条件其中之一时,按照如下步骤进行切换:

  1. 关闭故障链路。

  2. 从N条备份链路中选择优先级最高的链路接替活动链路中的故障链路。

  3. 优先级最高的备份链路转为活动状态并转发数据,完成切换。

图片


链路切换

LACP和PAgP有什么区别?

LACP和PAgP(Port Aggregation Protocol,端口汇聚协议)是链路聚合中使用最广泛的两种协商协议。LACP和PAgP的功能类似,都是通过捆绑链路并协商成员链路之间的流量提高网络的可用性和稳定性。LACP和PAgP数据包在交换机之间通过支持以太网通道的端口交换。

它们之间最大的区别是支持的供应商不同,LACP是开放标准,可以在大多数交换机上运行,如华为S5700系列交换机,而PAgP是Cisco专有协议,只能在Cisco或支持PAgP的第三方交换机上运行。

图片

LACP vs PAgP


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

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

相关文章

【QML】去掉MessageDialog右上角的问号

1. 默认显示效果 2. 修改后效果 3. 修改方法 main.cpp中添加QApplication::setAttribute(Qt::AA_DisableWindowContextHelpButton); int main(int argc, char *argv[]) { #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)QCoreApplication::setAttribute(Qt::AA_EnableHighDpi…

桥接模式(Bridge Pattern) C++

上一节&#xff1a;适配器模式&#xff08;Adapter Pattern&#xff09; C 文章目录 0.理论1.组件2.使用场景 1.实践 0.理论 桥接模式&#xff08;Bridge Pattern&#xff09;是一种结构型设计模式&#xff0c;它的核心思想是将抽象部分与其实现部分分离&#xff0c;使它们可…

Linux系统——Nginx拓展

目录 一、重写功能——rewrite 1.if 1.1 if 2. return 2.1状态码301和302的区别 301 302 3. set 4. break 5. rewrite 5.1 rewrite flag使用 5.2 flag说明 5.3举例 5.3.1访问 bj 跳转 beijing 5.3.2举例——break 5.3.3 http 转 https 5.3.4 break 与 last …

windows系统使用Vscode在WSL调试golang本地进程

背景&#xff1a; windows10企业版 vscodegolang1.20 wsl编译运行。 vscode 使用本地wsl进行进程attach操作&#xff0c;发现&#xff1a;Access is denied. 本地进程启动&#xff0c;vscode调试进程。windows-Linux控制台: Starting: C:\Users\book\go\bin\dlv.exe dap --l…

微服务之qiankun主项目+子项目搭建

主项目使用history&#xff0c;子项目使用hash模式 1. 下载安装"qiankun": "^2.10.13"2. 手动调用qiankun,使用vue脚手架搭建的项目1. 主项目配置&#xff08;我使用的是手动调用乾坤&#xff0c;在指定页面显示内容&#xff09;1. 要使用的页面中引入乾坤…

【计算机】本科考研还是就业?

其实现在很多计算机专业的学生考研&#xff0c;也是无奈的选择 技术发展日新月异&#xff0c;而在本科阶段&#xff0c;大家学着落后的技术&#xff0c;出来找工作自然会碰壁。而且现在用人单位的门槛越来越高&#xff0c;学历默认研究生起步&#xff0c;面试一般都是三轮起步…

idea生成WebServices接口

文章目录 idea生成WebServices接口1.创建接口2.生成wsdl文件3.在soapUI中&#xff0c;生成6个文件4.将生成的文件拷贝到工程中5.在service-config中注册服务 idea生成WebServices接口 1.创建接口 新建一个webServices工程&#xff0c;按照接口规范生成接口、请求类、响应类。…

【Pytorch深度学习开发实践学习】Pytorch实现LeNet神经网络(1)

1.model.py import torch.nn as nn import torch.nn.functional as F引入pytorch的两个模块 关于这两个模块的作用&#xff0c;可以参考下面 Pytorch官方文档 torch.nn包含了构成计算图的基本模块 torch,nn.function包括了计算图中的各种主要函数&#xff0c;包括&#…

如何让网页APP化 渐进式Web应用(PWA)

前言 大家上网应该发现有的网页说可以安装对应应用&#xff0c;结果这个应用好像就是个web&#xff0c;不像是应用&#xff0c;因为这里采用了PWA相关技术。 PWA&#xff0c;全称为渐进式Web应用&#xff08;Progressive Web Apps&#xff09;&#xff0c;是一种可以提供类似…

Nginx重写功能和反向代理

目录 一、重写功能rewrite 1. ngx_http_rewrite_module模块指令 1.1 if 指令 1.2 return 指令 1.3 set 指令 1.4 break 指令 2. rewrite 指令 3. 防盗链 3.1 实现盗链 3.2 实现防盗链 4. 实用网址 二、反向代理 1. 概述 2. 相关概念 3. 反向代理模块 4. 参数配…

读《Shape-Guided: Shape-Guided Dual-Memory Learning for 3D Anomaly Detection》

Chu Y M, Chieh L, Hsieh T I, et al. Shape-Guided Dual-Memory Learning for 3D Anomaly Detection[J]. 2023.&#xff08;为毛paperwithcode上面曾经的榜一引用却只有1&#xff09; 摘要 专家学习 无监督 第一个专家&#xff1a;局部几何&#xff0c;距离建模 第二个专家&…

Spring篇----第十二篇

系列文章目录 文章目录 系列文章目录前言一、指出在 spring aop 中 concern 和 crosscuttingconcern 的不同之处二、AOP 有哪些实现方式?三、Spring AOP and AspectJ AOP 有什么区别?四、如何理解 Spring 中的代理?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,…