LACP解析
Link Aggregation Control Protocol,链路汇聚控制协议基于IEEE802.3ad标准。各厂家均支持的标准协议,LACP协议通过LACPDU(Link Aggregation Control Protocol Data Unit,链路汇聚控制协议数据单元)与对端交互信息,建立聚合端口AP ,处于动态聚合组中的接口会自动使能LACP 协议,该接口将通过发送LACPDU 向对端通告自己的系统LACP 协议优先级、系统MAC、端口的LACP 协议优先级、端口号和操作Key。对端接收到LACPDU 后,将其中的信息与其他接口所收到的信息进行比较,以选择能够进行聚合的接口,从而双方可以对接口处于聚合状态达成一致。
链路汇聚控制协议
AP的概念
将多个物理链接捆绑在一起形成一个逻辑链接,这个逻辑链接称为 Aggregate Port(简称AP)。用于扩展链路带宽,提供更高的连接可靠性。
AP 功能支持流量平衡,可以把流量均匀地分配给各成员链路。AP 功能还实现了链路备份,当AP 中的一条成员链路断开时,系统会将该成员链路的流量自动地分配到AP 中的其它有效成员链路上。AP 中一条成员链路收到的广播或者多播报文,将不会被转发到其它成员链路上。
LACP的目的
增加带宽,增加可靠性,负载均衡,快速收敛
LACP端口状态
- DOWN:断开
- BNDL:正常聚合
- SUSP:单方面聚合 对面挂了(对方某些数值不匹配或者没有启用LACP)
LACP报文
主要字段介绍
Actor_Port/Partner_Port:本端/对端接口信息。
Actor_State/Partner_State:本端/对端状态。
Actor_System_Priority/Partner_System_Priority:本端/对端系统优先级。
Actor_System/Partner_System:本端/对端系统ID。
Actor_Key/Partner_Key:本端/对端操作Key,各接口的该值相同才能够聚合。
Actor_Port_Priority/Partner_Port_Priority:本端/对端接口优先级。
静态模式和动态模式
静态模式:
静态 LACP 模式下,Eth-Trunk 接口的建立,成员接口的加入,都是由手工配置完成的。但活动端口还是由LACP协议报文协商得出,禁止关闭LACP协议
动态模式:
动态 LACP 模式下,Eth-Trunk 接口的建立,成员接口的加入,活动接口的选择完全由LACP 协议通过协商完成。所有配置都由协议完成,不需要用户人为干涉
静态模块的配置
lacp建立时,不建议先配置冗余线路,会导致二层环路
对于二层AP,AP口不会继承源端口属性,退出AP口后,源端口属性会恢复
静态配置
二层
创建L2AP
向AP添加成员口
三层
创建L3AP
向AP加入成员口(三层接口)
动态链路聚合的要求
动态链路聚合是LACP协议自动地添加和删除聚合组内的端口,两个端口被自动地聚合在一起有一定的要求。
- 只有相同的操作key才能被聚合在一起。
- 只有和主端口具有相同的速率和双工等基本属性的端口才能被动态聚合在一起。
- 端口链路处于UP状态,相连的端口启用LACP,并且端口或者相连端口必须处于主动模式(Active)。
动态链路聚合优先级关系
关于优先级的都是越小越好
        —— 系统ID(系统优先级+MAC地址),端口ID(端口优先级+端口号)
LACP主端口:聚合组内优先级最高的端口。只有与主端口属性相同的端口能处于聚合状态,参加数据转发。
LACP协商:系统ID优先级高的系统成为主系统,主系统的端口状态决定另一个系统的端口状态。
动态协商的过程
1.通过LACP的报文交互,确定哪台交换机为“主子”,比较原则为:lacp system-priority (越小越优先,二层比小原则)
2.确定“主子”之后,再确定交换机上的哪个端口为“大臣”,比较原则:lacp port-priority
(越小越优先),以此端口为参考,表明可以加入聚合组(准入)
3.确定参考端口后,本机的其他端口如果配置了使能LACP且属性和参考端口一致,也可以加入聚合组。
4.对端收到LACP报文后,按照主子定义的规矩选择可以成为聚合组的成员。
负载均衡
我们可以用 aggregateport load-balance设定流量分配方式
我们要根据不同的网络环境,设置合适的流量分配模式,以便把流量均匀分布到各个链路上,充分利用带宽。
为什么要手动设置流量分配模式?因为每个包的大小不一样,所以AP不可能真正做到平均分配流量,需要人为先做到大致分配流量。比如4台机子ping1台,要做到负载均衡肯定要基于源IP(4个源IP,人为先将流量分成4份,做到大致的流量分配,再交给AP让它做流量平衡。就好比粗调和细调,我们人为的就是粗调,AP做的就是细调)。
配置
aggregateport load-balance {dst-mac |src-mac | src-dst-mac | dst-ip | src-ip | src-dst-ip }
dst-mac:根据输入报文的目的 MAC 地址进行流量分配。
src-mac:根据输入报文的源 MAC 地址进行流量分配。
src-dst-ip:根据源 IP 与目的 IP 进行流量分配。
dst-ip:根据输入报文的目的 IP 地址进行流量分配。
src-ip:根据输入报文的源 IP 地址进行流量分配。
src-dst-mac:根据源 MAC 与目的 MAC 进行流量分配。
删除聚合口要注意什么
建立与删除之前,最好先断开一条冗余链路。否则可能导致LACP删除后,形成二层环路,导致网络异常。