交换机链路聚合技术

article/2025/9/15 4:03:50

一、链路聚合简介

链路聚合(Link Aggregation),是指将多个物理端口捆绑在一起,成为一个逻辑端口,以实现出入流量在各成员端口中的负荷分担,交换机根据用户配置的端口负荷分担策略决定报文从哪一个成员端口发送到对端的交换机。

当交换机检测到其中一个成员端口的链路发生故障时,就停止在此端口上发送报文,并根据负荷分担策略在剩下链路中重新计算报文发送的端口,故障端口恢复后再次重新计算报文发送端口。链路聚合在增加链路带宽、实现链路传输弹性和冗余等方面是一项很重要的技术。

如果聚合的每个链路都遵循不同的物理路径,则聚合链路也提供冗余和容错。通过聚合调制解调器链路或者数字线路,链路聚合可用于改善对公共网络的访问。链路聚合也可用于企业网络,以便在吉比特以太网交换机之间构建多吉比特的主干链路。

二、链路聚合原理

  • 逻辑链路的带宽增加了大约(n-1)倍,这里,n为聚合的路数。另外,聚合后,可靠性大大提高,因为,n条链路中只要有一条可以正常工作,则这个链路就可以工作。除此之外,链路聚合可以实现负载均衡。因为,通过链路聚合连接在一起的两个(或多个)交换机(或其他网络设备),通过内部控制,也可以合理地将数据分配在被聚合连接的设备上,实现负载分担。

  • 因为通信负载分布在多个链路上,所以链路聚合有时称为负载平衡。但是负载平衡作为一种数据中心技术,利用该技术可以将来自客户机的请求分布到两个或更多的服务器上。 聚合有时被称为反复用或IMUX。如果多路复用是将多个低速信道合成为一个单个的高速链路的聚合,那么反复用就是在多个链路上的数据“分散”。它允许以某种增量尺度配置分数带宽,以满足带宽要求。链路聚合也称为中继。

  • 按需带宽或结合是指按需要添加线路以增加带宽的能力。在该方案中,线路按带宽的需求自动连接起来。聚合通常伴随着ISDN连接。基本速率接口支持两个64kbit/s的链路。一个可用于电话呼叫,而另一个可同时用于数据链路。可以结合这两个链路以建立l28kbit/s的数据链路。

三、链路聚合优点

  • 增加网络带宽:链路聚合可以将多个链路捆绑成为一个逻辑链路,捆绑后的链路带宽是每个独立链路的带宽总和。
  • 提高网络连接的可靠性:链路聚合中的多个链路互为备份,当有一条链路断开,流量会自动在剩下链路间重新分配。
  • 负载分担:在一个链路聚合组内,可以实现在各成员活动链路上的负载分担。

四、链路聚合基本概念

1、链路聚合组和链路聚合接口

链路聚合组LAG(Link Aggregation Group)是指将若干条以太链路捆绑在一起所形成的逻辑链路。

每个聚合组唯一对应着一个逻辑接口,这个逻辑接口称之为链路聚合接口或Eth-Trunk接口。链路聚合接口可以作为普通的以太网接口来使用,与普通以太网接口的差别在于:转发的时候链路聚合组需要从成员接口中选择一个或多个接口来进行数据转发。

2、成员接口和成员链路

组成Eth-Trunk接口的各个物理接口称为成员接口。成员接口对应的链路称为成员链路。

活动接口和非活动接口、活动链路和非活动链路

链路聚合组的成员接口存在活动接口和非活动接口两种。转发数据的接口称为活动接口,不转发数据的接口称为非活动接口。

活动接口对应的链路称为活动链路,非活动接口对应的链路称为非活动链路。

3、活动接口数上限阈值

设置活动接口数上限阈值的目的是在保证带宽的情况下提高网络的可靠性。当前活动链路数目达到上限阈值时,再向Eth-Trunk中添加成员接口,不会增加Eth-Trunk活动接口的数目,超过上限阈值的链路状态将被置为Down,作为备份链路。

例如,有8条无故障链路在一个Eth-Trunk内,每条链路都能提供1G的带宽,现在最多需要5G的带宽,那么上限阈值就可以设为5或者更大的值。其他的链路就自动进入备份状态以提高网络的可靠性。

注:手工负载分担模式链路聚合不支持活动接口数上限阈值的配置。

4、活动接口数下限阈值

设置活动接口数下限阈值是为了保证最小带宽,当前活动链路数目小于下限阈值时,Eth-Trunk接口的状态转为Down。

例如,每条物理链路能提供1G的带宽,现在最小需要2G的带宽,那么活动接口数下限阈值必须要大于等于2。

5、链路聚合模式

链路聚合模式分为手工模式和LACP模式两种

五、链路聚合工作方式

工作方式有两种:手工负载分担、LACP模式。两种方式的对比:

维度手工模式LACP模式
定义Eth-Trunk的建立、成员接口的加入由手工配置,没有链路聚合控制协议的参与。Eth-Trunk的建立是基于LACP协议的,LACP为交换数据的设备提供一种标准的协商方式,以供系统根据自身配置自动形成聚合链路并启动聚合链路收发数据。聚合链路形成以后,负责维护链路状态。在聚合条件发生变化时,自动调整或解散链路聚合。
设备是否需要支持LACP协议不需要需要
数据转发一般情况下,所有链路都是活动链路。所有活动链路均参与数据转发。如果某条活动链路故障,链路聚合组自动在剩余的活动链路中分担流量。一般情况下,部分链路是活动链路。所有活动链路均参与数据转发。如果某条活动链路故障,链路聚合组自动在非活动链路中选择一条链路作为活动链路,参与数据转发的链路数目不变。
是否支持跨设备的链路聚合不支持支持
检测故障只能检测到同一聚合组内的成员链路有断路等有限故障,但是无法检测到链路故障、链路错连等故障。不仅能够检测到同一聚合组内的成员链路有断路等有限故障,还可以检测到链路故障、链路错连等故障。

1、手工负载分担及配置和实验

手工模式下,Eth-Trunk的建立、成员接口的加入由手工配置,没有链路聚合控制协议LACP的参与。当需要在两个直连设备之间提供一个较大的链路带宽而设备又不支持LACP协议时,可以使用手工模式。手工模式可以实现增加带宽、提高可靠性和负载分担的目的。

  • 手工负载分担模式允许在聚合组中手工加入多个成员接口,所有接口均处于转发状态,分担负载流量。
  • Eth-Trunk的创建,成员接口的加入都需要手工配置完成,没有LACP协议报文参与。
  • 手工负载分担模式通常应用在对端设备不支持LACP协议的情况下。

具体的配置方法:如下图,我们来做这个实验。sw1和sw2分别用两条网线链接而成,我们通过手动分担负载的方式来实现PC1和PC2的通信。

在这里插入图片描述

sw1配置

[sw1]interface Eth-Trunk 1   #1为ID,范围1-63
[sw1-Eth-Trunk1]mode ?lacp-static  Static working modemanual       Manual working mode[sw1-Eth-Trunk1]mode manual load-balance 
[sw1-Eth-Trunk1]q
[sw1]int g0/0/1
[sw1-GigabitEthernet0/0/1]eth-trunk 1
[sw1-GigabitEthernet0/0/1]q
[sw1]int g0/0/2
[sw1-GigabitEthernet0/0/2]eth-trunk 1
[sw1-GigabitEthernet0/0/2]q[sw1]dis eth-trunk 1
Eth-Trunk1's state information is:
WorkingMode: NORMAL(模式)   Hash arithmetic: According to SIP-XOR-DIP(负载均衡类型)        
Least Active-linknumber: 1  Max Bandwidth-affected-linknumber: 8(最大8条)
Operate status: up          Number Of Up Port In Trunk: 2(已有2条)
--------------------------------------------------------------------------------
PortName                      Status      Weight 
GigabitEthernet0/0/1          Up          1      
GigabitEthernet0/0/2          Up          1  

sw2配置

sw2也是完全一样的,这里就不显示了。

2、LACP模式

作为链路聚合技术,手工负载分担模式Eth-Trunk可以完成多个物理接口聚合成一个Eth-Trunk口来提高带宽,同时能够检测到同一聚合组内的成员链路有断路等有限故障,但是无法检测到链路层故障、链路错连等故障。

为了提高Eth-Trunk的容错性,并且能提供备份功能,保证成员链路的高可靠性,出现了链路聚合控制协议LACP(Link Aggregation Control Protocol),LACP模式就是采用LACP的一种链路聚合模式。

LACP为交换数据的设备提供一种标准的协商方式,以供设备根据自身配置自动形成聚合链路并启动聚合链路收发数据。聚合链路形成以后,LACP负责维护链路状态,在聚合条件发生变化时,自动调整或解散链路聚合。

基本概念:

  • 系统LACP优先级:系统LACP优先级是为了区分两端设备优先级的高低而配置的参数。LACP模式下,两端设备所选择的活动接口必须保持一致,否则链路聚合组就无法建立。此时可以使其中一端具有更高的优先级,另一端根据高优先级的一端来选择活动接口即可。系统LACP优先级值越小优先级越高。
  • 接口LACP优先级:接口LACP优先级是为了区别同一个Eth-Trunk中的不同接口被选为活动接口的优先程度,优先级高的接口将优先被选为活动接口。接口LACP优先级值越小,优先级越高。
  • 成员接口间M:N备份:LACP模式链路聚合由LACP确定聚合组中的活动和非活动链路,又称为M:N模式,即M条活动链路与N条备份链路的模式。这种模式提供了更高的链路可靠性,并且可以在M条链路中实现不同方式的负载均衡。

LACP模式实验:
sw1和sw2分别用4条网线连接在一起,接口如下图:
在这里插入图片描述

sw1配置

[sw1]interface Eth-Trunk 1  #创建1个聚合接口,ID为1
[sw1-Eth-Trunk1]mode lacp-static #模式设为lacp静态[sw1-Eth-Trunk1]trunkport e0/0/1   #把接口加进来
Info: This operation may take a few seconds. Please wait for a moment...done.
[sw1-Eth-Trunk1]trunkport e0/0/2
Info: This operation may take a few seconds. Please wait for a moment...done.
[sw1-Eth-Trunk1]trunkport e0/0/3
Info: This operation may take a few seconds. Please wait for a moment...done.
[sw1-Eth-Trunk1]trunkport e0/0/4
Info: This operation may take a few seconds. Please wait for a moment...done.
[sw1-Eth-Trunk1]dis port vlan[sw1-Eth-Trunk1]load-balance ?   #配置负载均衡,默认值为下面的src-dst-ip,也可以不配置。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
[sw1-Eth-Trunk1]q
[sw1]lacp priority 100   
#优先级默认是32768,我们只在sw1上配置,SW2不配置默认为32768,也就是说我们让SW1为主[sw1]int Eth-Trunk 1
[sw1-Eth-Trunk1]least  active-linknumber 1 
#配置最小链路数量,其实这里默认就是1不需要配置[sw1-Eth-Trunk1]max active-linknumber 2  
#配置最大链路数量为2,我们共4个物理线路,2条为一组,最大也就只能是2条了,这里配置2[sw1-Eth-Trunk1]int e0/0/1    
[sw1-Ethernet0/0/1]lacp priority 10
[sw1-Ethernet0/0/1]int e0/0/2
[sw1-Ethernet0/0/2]lacp priority 20
[sw1-Ethernet0/0/2]int e0/0/3
[sw1-Ethernet0/0/3]lacp priority 30
[sw1-Ethernet0/0/3]int e0/0/4
[sw1-Ethernet0/0/4]lacp priority 40
#配置接口的优先级,就是哪个down了,另外下一个补上,相当于替补队员的顺序[sw1]int eth-trunk 1
[sw1-Eth-Trunk1]lacp preempt enable  #配置抢占[sw1-Eth-Trunk1]lacp preempt delay ?INTEGER<10-180>  Value of preemption delay time, the default value is 30 (insecond)   默认30秒,范围可以是10-180[sw1-Eth-Trunk1]lacp preempt delay 30   #这里就先配置30

sw2配置

[sw2]interface Eth-Trunk1
[sw2-Eth-Trunk1] mode lacp-static
[sw2-Eth-Trunk1] max bandwidth-affected-linknumber 2
[sw2-Eth-Trunk1] lacp preempt enable
[sw2-Eth-Trunk1]#
[sw2-Eth-Trunk1]interface Ethernet0/0/1
[sw2-Ethernet0/0/1] eth-trunk 1
Info: This operation may take a few seconds. Please wait for a moment...done.
[sw2-Ethernet0/0/1] lacp priority 10
[sw2-Ethernet0/0/1]#
[sw2-Ethernet0/0/1]interface Ethernet0/0/2
[sw2-Ethernet0/0/2] eth-trunk 1
Info: This operation may take a few seconds. Please wait for a moment...done.
[sw2-Ethernet0/0/2] lacp priority 20
[sw2-Ethernet0/0/2]#
[sw2-Ethernet0/0/2]interface Ethernet0/0/3
[sw2-Ethernet0/0/3] eth-trunk 1
Info: This operation may take a few seconds. Please wait for a moment...done.
[sw2-Ethernet0/0/3] lacp priority 30
[sw2-Ethernet0/0/3]#
[sw2-Ethernet0/0/3]interface Ethernet0/0/4
[sw2-Ethernet0/0/4] eth-trunk 1
Info: This operation may take a few seconds. Please wait for a moment...done.
[sw2-Ethernet0/0/4] lacp priority 40
[sw2-Ethernet0/0/4]
[sw2-Ethernet0/0/4]q
[sw2]lacp pr	
[sw2]lacp priority 200    #也可以不配置,默认为32768,SW1为100
[sw2]
[sw2]dis Eth-Trunk 1
Eth-Trunk1's state information is:
Local:
LAG ID: 1                                   WorkingMode: STATIC   #静态                             
Preempt Delay Time: 30(抢占延迟)            Hash arithmetic: According to SIP-XOR-DIP   #负载均衡策略       
System Priority: 200(系统优先级)            System ID: 4c1f-cc52-655b                         
Least Active-linknumber: 1(最小激活链路数量) Max Active-linknumber: 2 (最大激活链路数量)                   
Operate status: up(状态OK)                 Number Of Up Port In Trunk: 4                     
--------------------------------------------------------------------------------
ActorPortName          Status   PortType PortPri PortNo PortKey PortState Weight
Ethernet0/0/1   (激活)Selected 100M     10      2      289     10111100  1     
Ethernet0/0/2   (激活)Selected 100M     20      3      289     10111100  1     
Ethernet0/0/3          Unselect 100M     30      4      289     10100000  1     
Ethernet0/0/4          Unselect 100M     40      5      289     10100000  1    Partner:
--------------------------------------------------------------------------------
ActorPortName          SysPri   SystemID        PortPri PortNo PortKey PortState
Ethernet0/0/1          100      4c1f-cc6d-2b8c  10      2      289     10111100
Ethernet0/0/2          100      4c1f-cc6d-2b8c  20      3      289     10111100
Ethernet0/0/3          100      4c1f-cc6d-2b8c  30      4      289     10111100
Ethernet0/0/4          100      4c1f-cc6d-2b8c  40      5      289     10111100

负载分担的方式主要包括以下几种,用户可以根据具体应用选择不同的负载分担方式。

  • 根据报文的源MAC地址进行负载分担
  • 根据报文的目的MAC地址进行负载分担
  • 根据报文的源IP地址进行负载分担
  • 根据报文的目的IP地址进行负载分担
  • 根据报文的源MAC地址和目的MAC地址进行负载分担
  • 根据报文的源IP地址和目的IP地址进行负载分担

六、配置负载分担方式时的注意事项

  • 负载分担方式只在流量的出接口上生效,如果发现各入接口的流量不均衡,请修改上行出接口的负载分担方式。
  • 尽量将数据流通过负载分担在所有活动链路上传输,避免数据流仅在一条链路上传输,造成流量拥堵,影响业务正常运行。

http://chatgpt.dhexx.cn/article/n6SiLMn1.shtml

相关文章

matlab 通过矩阵变换使图像旋转平移_28. 图像扭曲

本文同步发表在我的微信公众号“计算摄影学”,欢迎扫码关注 你有没有想过,下面这个视频中的特效应该如何实现? Morphing Female Starshttps://www.zhihu.com/video/1179863411041787904 【转载请注明来源与作者】 这个效果叫做面部变形(Face Morph),这里面将要用到一种叫做…

3D图形学中的矩阵变换及证明(一)

文章同时发布于: 王鹏飞的个人网站。 3D图形学中的矩阵变换 从这个月开始&#xff0c;我打算系统的去学习计算机图形学的知识了&#xff0c;一方面是因为兴趣&#xff0c;另一方面是之前自己也写过一些二维图形相关的程序&#xff0c;有一些数学的基础。图形学在软件开发中的…

【线性代数】理解矩阵变换及行列式的本质

参考&#xff1a;行列式的本质是什么&#xff1f; 这篇文章的结构是&#xff1a; 线性变换的几何直观 实现线性变换的矩阵 行列式 一、线性变换的几何直观 线性变换的几何直观有三个要点&#xff1a; 变换前是直线的&#xff0c;变换后依然是直线 直线比例保持不变 变换前…

三维空间矩阵变换

二维旋转推导 假如有一个矢量(ρ,θ)&#xff0c;那么在二维直角坐标系中可以得到xρ*cosθ y ρ*sinθ; 现在把这个矢量旋转β度&#xff0c;直角坐标系下变换后的矢量为&#xff08;ρ,θβ&#xff09;其坐标值为x ρ*cos&#xff08;θβ&#xff09; y ρ*sin&#xf…

2.2 matlab矩阵变换(对角阵、三角阵、矩阵的转置、矩阵的旋转、矩阵的翻转和矩阵求逆)

1、对角阵 &#xff08;1&#xff09;提取矩阵的对角线元素 >> a [1:3;4:6;7:9]a 1 2 3 4 5 6 7 8 9 >> diag(a)ans 1 5 9 >> diag…

计算机图形学【GAMES-101】1、矩阵变换原理Transform(旋转、位移、缩放、正交投影、透视投影)

快速跳转&#xff1a; 1、矩阵变换原理Transform(旋转、位移、缩放、正交投影、透视投影) 2、光栅化(反走样、傅里叶变换、卷积) 3、着色计算(深度缓存、着色模型、着色频率) 4、纹理映射(重心坐标插值、透视投影矫正、双线性插值MipMap、环境光遮蔽AO) 5、几何(距离函数SDF、点…

Tensorflow之矩阵变换

----------------------- 摘自 【维基百科】----------- 变换矩阵是数学线性代数中的一个概念。 在线性代数中&#xff0c;线性变换能够用矩阵表示。如果T是一个把Rn映射到Rm的线性变换&#xff0c;且x是一个具有n个元素的列向量&#xff0c;那么 {\displaystyle T({\vec {x}}…

three.js中的矩阵变换(模型视图投影变换)

文章目录 1. 概述2. 基本变换2.1. 矩阵运算2.2. 模型变换矩阵2.2.1. 平移矩阵2.2.2. 旋转矩阵2.2.2.1. 绕X轴旋转矩阵2.2.2.2. 绕Y轴旋转矩阵2.2.2.3. 绕Z轴旋转矩阵 2.3. 投影变换矩阵2.4. 视图变换矩阵 3. 着色器变换3.1. 代码3.2. 解析 4. 其他 1. 概述 我在《WebGL简易教程…

矩阵变换及其数学原理

矩阵变换及其数学原理 矩阵变换及其数学原理引子各种变换 平移矩阵缩放矩阵旋转变换 引子 推荐这篇文章线性代数的本质&#xff0c;这篇文章挺不错的&#xff0c;揭示了矩阵和向量的内涵。首先概要性的提一下 向量刻画的是线性空间中的对象。矩阵刻画的是向量在线性空间中的运…

计算机图形学之矩阵变换的深度理解

对于图形学来说&#xff0c;矩阵计算不可避免&#xff0c;既直观又方便。而如果线性代数学的不透彻的话&#xff0c;那么基本上是做不到应用的&#xff0c;这里推荐看一下3Blue1Brown的线性代数的视频&#xff0c;可以对矩阵计算有深刻的认识。 之后就是应用阶段&#xff0c;我…

图像处理-矩阵变换

Android中通过矩阵来处理图像问题是非常常见的。 图像中的每一个像素点都是一个颜色矩阵分量&#xff0c;然后我们让这两个矩阵相乘就能得到一个新的矩阵&#xff08;新的颜色矩阵分量&#xff09;&#xff0c;这就是矩阵变换对图像中的每一个点的处理&#xff0c;使得对整个图…

shader中的常用矩阵变换

unity shader 矩阵学习 矩阵运算法则&#xff08;1&#xff09;矩阵和标量的乘法&#xff08;2&#xff09;矩阵和矩阵的乘法矩阵相乘的条件 和 结果的行数和列数 变换的基本概念(1)变换(2)线性变换(3)平移变换(4)仿射变换&#xff08;5&#xff09;齐次坐标 2D 矩阵变换&#…

【Matlab】矩阵变换与矩阵求值

矩阵变换与矩阵求值 对角矩阵&#xff1a;只有对角线上有非零元素的矩阵。 数量矩阵&#xff1a;对角线上的元素相等的对角矩阵。 单位矩阵&#xff1a;对角线上的元素都为1的对角矩阵。 diag函数 提取矩阵的对角线元素 diag(A)&#xff1a;提取矩阵A主对角线元素&#x…

闫令琪图形学入门笔记(矩阵变换篇)

整个坐标变化过程贯穿管线渲染&#xff0c;它与光栅化、着色一同构成GPU完整的渲染过程。所以理解三维世界的坐标与矩阵变换是首要的学习内容 1.1 向量的点乘与叉乘 点乘 向量的点乘可以求得一个数&#xff0c;利用点乘可以进一步计算两向量的夹角大小&#xff0c;或者一个…

点云矩阵变换

点云矩阵变换 变换矩阵工作原理 : |-------> 变换矩阵列| 1 0 0 x | \| 0 1 0 y | }-> 左边是一个3阶的单位阵(无旋转)| 0 0 1 z | /| 0 0 0 1 | -> 这一行用不到 (这一行保持 0,0,0,1)要进行点云旋转&#xff0c;需要对3阶矩阵进行赋值 如何赋值参考&#xf…

OpenGL矩阵变换

参考内容&#xff1a; 1. 这次&#xff0c;彻底搞懂 OpenGL 矩阵转换 2. Article - World, View and Projection Transformation Matrices 模型变换的基本流程图&#xff1a; 1. 模型变换 模型变换解决的是&#xff0c;把物体在世界坐标系下的位置拆分成平移、缩放、旋转的…

MATLAB矩阵变换

目录 对角阵与三角阵 1、对角阵 &#xff08;1&#xff09;提取矩阵的对角线元素 (2)构造对角阵 2、三角阵 (1)上三角阵 (2)下三角阵 矩阵的转置与旋转 1、矩阵的转置 2、矩阵的旋转 3、矩阵的左右翻转 4、矩阵的上下翻转 矩阵的逆与伪逆 1、矩阵的逆 2、矩阵的伪…

Cesium 矩阵变换

在Cesium和其他三维开发中中经常用到矩阵变换。比如将一个物体移动、缩放、平移都可以用变换矩阵来计算。 再比如将三维场景中的物体转换为屏幕上显示的二维图形&#xff0c;需要用到透视投影&#xff08;perspective projection&#xff09;矩阵。 变换&#xff08;tansform…

浅谈矩阵变换——Matrix

矩阵变换在图形学上经常用到。基本的常用矩阵变换操作包括平移、缩放、旋转、斜切。 每种变换都对应一个变换矩阵&#xff0c;通过矩阵乘法&#xff0c;可以把多个变换矩阵相乘得到复合变换矩阵。 矩阵乘法不支持交换律&#xff0c;因此不同的变换顺序得到的变换矩阵也是不相同…

变换矩阵

1、变换矩阵 变换矩阵可以分解为缩放&#xff0c;旋转&#xff0c;平移矩阵的乘积&#xff1a; M T * R * S - 右手坐标系 当均匀缩放时&#xff0c;旋转和缩放可以交换顺序 缩放和平移不可以交换顺序 2、子坐标系与父坐标系 由在父坐标系中的坐标位置P&#xff0c;和三…