一、前言

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

二、链路聚合

考虑下面的网络,我们使用两根网线将交换机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就自动了,它一样需要配置参与聚合的链路,但在一定程度上它实现了自动化,但不是聚合本身的自动化。

HCIA 链路聚合与LACP相关推荐

  1. 思科、华为交换机链路聚合(LACP)配置实例

    思科:3560G 华为:S5300 思科G0/25---华为G0/0/1 思科G0/27---华为G0/0/2 华为交换机配置链路聚合有两种模式,分别是manual和lacp-static,如果不做配 ...

  2. 华为设备链路聚合(LACP模式)

    配置要求: SW1与SW2通过G0/0/1.G0/0/2.G0/0/3的链路聚合进行连接,链路聚合要有两条活动链路,一条冗余链路.在SW1上配置vlan10:1.1.1.254/24的网关,并将vla ...

  3. H3C设备链路聚合(LACP/PAGP)

    H3C链路聚合 一.为什么会有链路聚合? 1.为了节省成本,就不用了换一个千兆交换机,而是选择将几个百兆接口捆绑到一起来实现增加数据吞吐量的效果: 2.链路聚合可以起到增加带宽及负载的作用提高链路可靠 ...

  4. LACP链路聚合-基础篇

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

  5. 华为LACP链路聚合配置

    华为LACP链路聚合配置 链路聚合原理:链路聚合的原理是将一组相同属性的物理接口捆绑在一起为一个逻辑接口来增加带宽和可靠性的一种方法.有以下优势: 增加带宽.提高冗余(提高可靠性).负载分担.节省成本 ...

  6. 链路聚合-LACP模式

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

  7. 链路聚合(Link Aggregation)与权重

    链路聚合(Link Aggregation)与权重 介绍 链路聚合通过聚合多条并行的物理链路,对上层协议表现为一条逻辑链路,来提高吞吐量和冗余性.常见的链路聚合技术有Cisco的Etherchanne ...

  8. 计算机网络实验(华为eNSP模拟器)——第十章 Eth-Trunk(链路聚合)

    目录 一.Eth-Trunk的定义 二.Eth-Trunk的工作模式 (一)手工负载分担模式 1.定义 2.命令 3.查看Eth-Trunk配置 (二)LACP模式 1.定义 2.命令 3.查看Eth ...

  9. 链路聚合_配置EthTrunk链路聚合

    点击蓝字 关注我们 原理概述 在没有使用Eth-Trunk 前,百兆以太网的双绞线在两个互连的网络设备间的带宽仅为100Mbits.若想达到更高的数据传输速率,则需要更换传输媒介,使用千兆光纤或升级成 ...

最新文章

  1. HDU3342拓扑排序
  2. 《极速切水果游戏》有Python版了,曾风靡一时的手游能否富过“二代”?
  3. 简单几步搞定ISA ×××
  4. android html图片点击事件,Android TextView加载HTMl图文之添加点击事件和查看图片
  5. java命令行 引用jar包_java命令行引用jar包
  6. 如何扩大缓存区_艾莱依首个自动化仓落地,库宝解决线边缓存难题
  7. 利用burp实现弱密码破解
  8. js 对象及空对象或数组及空数组的判断与比较
  9. PAT甲级1002 多项式相加
  10. Win10使用sh执行python脚本报错:Permission denied
  11. JDK 安装教程——图文细讲
  12. 修改html文字大小,css如何调整字体大小?
  13. 构造图片木马,绕过文件内容检测上传木马
  14. 病房计算机管理制度,全套协和医院管理制度大全【148个文件】
  15. macOS Monterey 12.2 (21D49) 正式版 ISO、IPSW、PKG 下载
  16. android音乐播放器实验报告总结,MFC音乐播放器(实验报告)
  17. python提取数组元素_使用python提取数组元素的一部分
  18. 如何查看手机登录IP地址
  19. IOS证书申请最新版2021
  20. 高性能 + 百万级excel数据导入导出

热门文章

  1. 【mysql笔试题】
  2. 【零基础上手yolov5】yolov5的安装与相关环境的搭建
  3. 二进制转八进制c 语言,C 语言实例 – 八进制与二进制相互转换
  4. spring如何使用策略模式
  5. 如何成为一名黑客?小白必学的12个基本步骤
  6. Python - 代码片段,Snippets,Gist
  7. ORCL-主线2-PLSQL学习
  8. vector函数用法全解
  9. 开源组态软件Qt,C#,和WEB大全(收藏版)
  10. AutoEventWireup 属性的作用(转载)