链路聚合的两种模式:

根据是否启用链路聚合控制协议 LACP,链路聚合分为手工负载分担模式和LACP 模式。

一、手工负载分担模式链路聚合

手工负载分担模式下, Eth-Trunk 的建立、成员接口的加入由手工配置,没有链路聚合控制协议的参与。

该模式下所有活动链路都参与数据的转发,平均分担流量,因此称为负载分担模式。

如果某条活动链路障,链路聚合组自动在剩余的活动链路中平均分担流量。

当需要在两个直连设备间提供一个较大的链路带宽而设备又不支持LACP 协议时,可以使用手工负载分担模式。

二、LACP 模式链路聚合

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

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

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 错连示意图

基本概念

1、系统LACP 优先级

系统 LACP 优先级是为了区分两端设备优先级的高低而配置的参数。LACP 模式下,两端设备所选择的活动接口必须保持一致,否则链路聚合组就无法建立。此时可以使其中一端具有更高的优先级,另一端根据高优先级的一端来选择活动接口即可。系统LACP 优先级值越小优先级越高。

2、接口LACP 优先级

接口 LACP 优先级是为了区别不同接口被选为活动接口的优先程度,优先级高的接口将优先被选为活动接口。接口LACP优先级值越小,优先级越高。

3、成员接口间M:N 备份

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

如图所示,两台设备间有 M+N条链路,在聚合链路上转发流量时在 M 条链路上分担负载,即活动链路,不在另外的N 条链路转发流量,这 N条链路提供备份功能,即备份链路。此时链路的实际带宽为 M条链路的总和,但是能提供的最大带宽为 M+N 条链路的总和。

当 M 条链路中有一条链路故障时,LACP 会从 N条备份链路中找出一条优先级高的可用链路替换故障链路。此时链路的实际带宽还是 M条链路的总和,但是能提供的最大带宽就变为M+N-1 条链路的总和。

M:N 备份示意图

这种场景主要应用在只向用户提供 M条链路的带宽,同时又希望提供一定的故障保护能力。当有一条链路出现故障时,系统能够自动选择一条优先级最高的可用备份链路变为活动链路。

如果在备份链路中无法找到可用链路,并且目前处于活动状态的链路数目低于配置的活动接口数下限阈值,那么系统将会把聚合接口关闭。

LACP 模式实现原理:

基于 IEEE802.3ad 标准的 LACP,链路聚合控制协议是一种实现链路动态聚合与解聚合的协议。

LACP 通过链路聚合控制协议数据单元 LACPDU(LinkAggregation Control Protocol Data Unit)与对端交互信息。

在 LACP 模式的 Eth-Trunk 中加入成员接口后,这些接口将通过发送 LACPDU向对端通告自己的系统优先级、 MAC 地址、接口优先级、接口号和操作Key 等信息。

对端接收到这些信息后,将这些信息与自身接口所保存的信息比较以选择能够聚合的接口,双方对哪些接口能够成为活动接口达成一致,确定活动链路。

LACPDU 报文详细信息如图所示。

LACP 模式 Eth-Trunk 建立的过程如下:

1. 两端互相发送 LACPDU报文。如图所示,在 DeviceA 和 DeviceB上创建 Eth-Trunk 并配置为LACP 模式,然后向 Eth-Trunk中手工加入成员接口。此时成员接口上便启用了 LACP 协议,两端互发LACPDU报文。

2. 确定主动端和活动链路。

如图所示,两端设备均会收到对端发来的 LACPDU报文。以 DeviceB 为例,当DeviceB收到 DeviceA发送的报文时,DeviceB 会查看并记录对端信息,并且比较系统优先级字段,如果 DeviceA 的系统优先级高于本端的系统优先级,则确定 DeviceA为 LACP主动端。

选出主动端后,两端都会以主动端的接口优先级来选择活动接口,两端设备选择了一致的活动接口,活动链路组便可以建立起来,从这些活动链路中以负载分担的方式转发数据。

1)LACP 抢占

使能LACP 抢占后,聚合组会始终保持高优先级的接口作为活动接口的状态。

如图 所示,接口 port1、port2 和 port3为 Eth-Trunk 的成员接口,设备A 为主动端,活动接口数上限阈值为 2,三个接口的LACP 优先级分别为 10、20、 30。

当通过LACP 协议协商完毕后,接口 port1和 port2 因为优先级较高被选作活动接口,port3 成为备份接口。

以下两种情况需要使能 LACP的抢占功能。port1 接口出现故障而后又恢复了正常。

当接口 port1出现故障时被 port3所取代,如果在Eth-Trunk 接口下未使能抢占,则故障恢复时 port1将处于备份状态;如果使能了 LACP抢占,当 port1故障恢复时,由于接口优先级比 port3高,将重新成为活动接口, port3 再次成为备份接口。

如果希望 port3 接口替换port1、 port2中的一个接口成为活动接口,可以配置 port3 的接口LACP 优先级较高,但前提条件是已经使能了 LACP抢占功能。

如果没有使能LACP抢占功能,即使将备份接口的优先级调整为高于当前活动接口的优先级,系统也不会进行重新选择活动接口的过程,不切换活动接口。

2)LACP抢占延时

LACP抢占发生时,处于备用状态的链路将会等待一段时间后再切换到转发状态,这就是抢占延时。配置抢占延时是为了避免由于某些链路状态频繁变化而导致Eth-Trunk 数据传输不稳定的情况。

如图所示, port1由于链路故障切换为非活动接口,此后该链路又恢复了正常。若系统使能了LACP抢占并配置了抢占延时, port1重新切换回活动状态就需要经过抢占延时的时间。

3)活动链路与非活动链路切换

LACP模式链路聚合组两端设备中任何一端检测到以下事件,都会触发聚合组的链路切换:

  • 链路Down事件。
  • 以太网OAM检测到链路失效。
  • LACP协议发现链路故障。
  • 接口不可用。
  • 在使能了LACP抢占前提下,更改备份接口的优先级高于当前活动接口的优先级。

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

1. 关闭故障链路。

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

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

4)使用链路聚合进行负载分担

数据流是指一组具有某个或某些相同属性的数据包。这些属性有源MAC地址、目的MAC地址、源IP地址、目的IP地址、TCP/UDP的源端口号、TCP/UDP的目的端口号等。

在使用Eth-Trunk转发数据时,由于聚合组两端设备之间有多条物理链路,就会产生同一数据流的第一个数据帧在一条物理链路上传输,而第二个数据帧在另外一条物理链路上传输的情况。

这样一来同一数据流的第二个数据帧就有可能比第一个数据帧先到达对端设备,从而产生接收数据包乱序的情况。

为了避免这种情况的发生, Eth-Trunk采用逐流负载分担的机制,这种机制把数据帧中的地址通过HASH算法生成HASH-KEY值,然后根据这个数值在 Eth-Trunk转发表中寻找对应的出接口,不同的MAC或IP地址HASH得出的 HASH-KEY值不同,从而出接口也就不同,这样既保证了同一数据流的帧在同一条物理链路转发,又实现了流量在聚合组内各物理链路上的负载分担,即逐流的负载分担。

逐流负载分担能保证包的顺序,但不能保证带宽利用率。

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

  • 根据报文的源 MAC地址进行负载分担;
  • 根据报文的目的 MAC地址进行负载分担;
  • 根据报文的源 IP地址进行负载分担;
  • 根据报文的目的 IP地址进行负载分担;
  • 根据报文的源 MAC地址和目的MAC地址进行负载分担;
  • 根据报文的源 IP地址和目的 IP地址进行负载分担;
  • 根据报文的 VLAN、源物理端口等对 L2、IPv4、IPv6 和 MPL报文进行增强型负载分担。

链路聚合_链路聚合可靠性技术详解(二)相关推荐

  1. P2P技术详解(二):P2P中的NAT穿越(打洞)方案详解

    目录 1.内容概述 2.反向链接技术:一种特殊的P2P场景(通信双方中只有一方位于NAT设备之后) 3.基于UDP协议的P2P打洞技术详解 3.1.原理概述 3.2.典型P2P情景1: 两客户端位于同 ...

  2. 链路聚合_【网络干货】链路聚合可靠性技术详解

    一.基本概念 如图所示,DeviceA 与DeviceB 之间通过三条以太网物理链路相连,将这三条链路捆绑在一起,就成为了一条逻辑链路,这条逻辑链路的最大带宽等于原先三条以太网物理链路的带宽总和,从而 ...

  3. 【网络工程师必备干货】Smart Link可靠性技术详解

    给大家推荐一个公众号"网络工程师笔记",每天更新网络知识,网络工程师必备公众号. 后台回复"资料",领取华为HCNA/HCNP/HCIE培训所有资料 下面进行今 ...

  4. DID会固定年份吗_倍分法DID详解 (二):多时点 DID (渐进DID)

    作者:王昆仑 (天津大学) Stata连享会 计量专题  || 公众号合集 2020寒假Stata现场班 (北京, 1月8-17日,连玉君-江艇主讲) 「+助教招聘」 2020寒假Stata现场班 文 ...

  5. 链路聚合_链路聚合可靠性技术详解(三)

    eth-trunk链路聚合支持流量本地转发机制和特殊的链路聚合e-trunk. 一.Eth-Trunk 支持接口流量本地优先转发(堆叠) 1.堆叠设备:将多台设备通过专用的堆叠电缆连接起来,对外呈现为 ...

  6. 什么是T1链路、E1链路?为什么T1链路是1.544M?T1E1技术详解

    先了解 时分多路复用:Time Division Multiplex 时分复用是指一种通过不同信道或时隙中的交叉位脉冲,同时在同一个通信媒体上传输多个数字化数据.语音和视频信号等的技术. Time D ...

  7. 灵思科电子科技—室内定位技术有哪些_七大室内定位技术详解

    1.蓝牙室内定位技术 蓝牙室内技术是利用在室内安装的若干个蓝牙局域网接入点,把网络维持成基于多用户的基础网络连接模式,并保证蓝牙局域网接入点始终是这个微微网(piconet)的主设备,然后通过测量信号 ...

  8. eigrp配置实验_思科CCIE认证技术详解IPv6协议下的静态路由配置

    无论是 NAT,还是 CIDR 等都是缓解 IP 地址短缺的手段,而 IPv6 才是解决地址短缺的最终方法.IPv6 是由 IETF 设计的下一代互联网协议,目的是取代现有的互联网协议 IPv4. I ...

  9. IPv6技术详解:基本概念、应用现状、技术实践(上篇)

    本文来自微信技术架构部的原创技术分享. 1.前言 普及IPV6喊了多少年了,连苹果的APP上架App Store也早已强制IPV6的支持,然并卵,因为历史遗留问题,即使在IPV4地址如果饥荒的情况下, ...

最新文章

  1. php自动计数,PHP 实现精确统计在线人数功能
  2. 2019年了,C#发展的怎么样了呢?
  3. 备战美赛,这些你应该知道的知识点
  4. 专题突破一之分块——Untitled Problem II,Balanced Lineup,[ioi2009]Regions
  5. 20165323 第五周学习总结
  6. [转载]Dynamic Database Switching in Rails - How to do it
  7. LVM 的创建,扩展,缩减及建立快照
  8. 常用EXE文件反编译工具
  9. 基于STM32CUBE MX 的TM1640的使用例程
  10. container html css,splitcontainer
  11. 一文读懂五险一金,离职空窗期五险一金又该怎么办
  12. 使用NVM安装升级PNPM报错的问题
  13. 使用JavaScript进行iframe的DOM操作
  14. fc坦克大战游戏完美复刻
  15. MySQL 日志的类型
  16. postgresql配置MIMIC-IV
  17. Java学习005 #Java编程进行时01#
  18. 【非原创】PHPMywind调用
  19. MACBOOKPRO操作系统登录密码忘记的解决方法
  20. 一文搞懂异常检测中离群、异常、新类、开集、分布外检测异同

热门文章

  1. [www.infoshare.cc]MonkeyRunner(1)——基本使用方法,一驾考宝典这款APP为例
  2. 我注册了某音帐号之后。。。(内涵推荐算法)
  3. 使用驱动器X:中的光盘之前需要将其格式化,是否将其格式化格式化の解决办法
  4. 删除字符串中的控制字符(python)
  5. (python)深度学习 数据扩充 图片的水平、垂直以及水平垂直翻转
  6. 字符串的三种格式化方法
  7. python编程学了可以干嘛-学Python能干嘛,很少人知道的秘密
  8. Tita绩效宝:年中绩效考核时要问的问题
  9. 电商销量预测模型(2)——时间序列分析
  10. 下一代ERP| 业财一体化数字化的架构现代化