加载中...

Eth-Trunk协议

一、Eth-Trunk(链路聚合协议)使用场景

1.1 Eth-Trunk(链路聚合协议)简介

​ 原名叫链路聚合组(Link Aggregation Group),通过将多个物理接口捆绑为一个逻辑接口,可以在不进行硬件升级的条件下,达到增加链路带宽的目的。

1.2 Eth-Trunk(链路聚合协议)实现目的

image-20250305202259286

  1. 增加带宽

链路聚合接口的最大带宽是成员的带宽和

  1. 负载负担

    基于链路的负载分担,可选的负载方式多样,比较灵活

  2. 冗余

    配置LACP,可以实现down的情况发生时候进行自动切换

二、Eth-Trunk(链路聚合协议)机制

2.1 Eth-Trunk(链路聚合协议)转发原理

img

​ 对于 MAC 子层来说,Eth-Trunk 接口可以认为是一个物理接口。因此,MAC子层在传输数据的时候,仅需要把数据提交给Eth-Trunk 模块即可。Eth-Trunk 模块内部维护一张转发表,这张表由以下两项组成。

- HASH-KEY值

# HASH-KEY值是根据数据包的MAC地址或IP地址等,经HASH算法计算得出。

- 接口号

# Eth-Trunk转发表表项分布和设备每个Eth-Trunk支持加入的成员接口数量相关,不同的HASH-KEY值对应不同的出接口。

img

2.1.1 Eth-Trunk(链路聚合协议)处理过程

  1. Eth-Trunk模块从MAC子层接收到一个数据帧后,根据负载分担方式提取数据帧的源MAC地址/IP地址或目的MAC地址/IP地址。
  2. 根据HASH算法进行计算,得到HASH-KEY值。
  3. Eth-Trunk模块根据HASH-KEY值在转发表中查找对应的接口,把数据帧从该接口发送出去。

三、Eth-Trunk(链路聚合协议)手工模式

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

image-20250305203145481

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

3.2 手工配置案例

3.2.1 集中配置

# SW1与SW2

Interface eth-trunk1
   Mode manual load-balance --默认不显示
   Trunkport g0/0/1
   Trunkport g0/0/2

3.2.2 分别配置

# SW1与SW2
Interface eth-trunk1
    Mode manual load-balance --默认不显示
#
Interface g0/0/1
    Eth-trunk 1
#
Interface g0/0/2
    Eth-trunk 1

四、Eth-Trunk(链路聚合协议)LACP模式

4.1 LACP(链路聚合控制协议)简介

​ 链路聚合控制协议LACP(Link Aggregation Control Protocol),是基于IEEE802.3ad标准的一种实现链路动态聚合与解聚合的协议,以供设备根据自身配置自动形成聚合链路并启动聚合链路收发数据,LACP模式就是采用LACP的一种链路聚合模式。聚合链路形成以后,LACP负责维护链路状态,在聚合条件发生变化时,自动调整链路聚合。

​ LACP-Static(链路聚合控制协议-静态),适用与交换机之间。

​ LACP-Dynamic(链路聚合控制协议-动态),用于交换机与Server中。

4.2 LACP(链路聚合控制协议)结构

4.2.1 LACPDU

​ LACP通过链路聚合控制协议数据单元LACPDU(Link Aggregation Control Protocol Data Unit)与对端交互信息,LACPDU报文中包含设备的系统优先级、MAC地址、接口优先级、接口号和操作Key等信息

​ LACPDU是通过慢协议进行封装,慢协议PDU使用专门分配给他的多播地址(Slow_Protocols_Multicast address),是01-80-C2-00-00-02,在标准配置下,交换机不会泛洪慢协议(Slow Protocols)的报文,而是依据协议类型和目的MAC地址进行定向处理。

image-20250305221914934

字段 长度 说明
Actor_Information_Length 1字节 actor信息字段长度,取值为20(即0x14),以字节为单位。
Actor_System_Priority 2字节 本端系统优先级,可以设置,默认情况下为32768(即0x8000)。
Actor_System 6字节 系统ID,本端系统的MAC地址。
Actor_key 2字节 端口KEY值,系统根据端口的配置生成,是端口能否成为聚合组中的一员的关键因素,影响Key值的因素有trunk ID、接口的速率和双工模式。PortKey:用于标识来源于哪一个LAG组,来判断对方的接口跟我是否在同一LAG组
Actor_Port_Priority 2字节 接口优先级,可以配置,默认为0x8000。
Actor_Port 2字节 端口号,根据算法生成,由接口所在的槽位号、子卡号和端口号决定。
Partner_Information_Length 1字节 Partner信息字段长度,取值为20(即0x14),以字节为单位。Partner字段代表了链路接口接收到对端的系统信息、接口信息和状态信息,与actor字段含义一致。在协商最开始未收到对端信息时,partner字段填充0,接收到对端信息后会把收到的对端信息补充到partner字段当中。
Partner_System_Priority 2字节 对端系统优先级。
Partner_System 6字节 对端系统ID,对端系统的MAC地址。
Partner_key 2字节 对端端口KEY值。
Partner_Port_Priority 2字节 对端接口优先级。
Partner_Port 2字节 对端端口号。
Partner_State 1字节 对端状态信息。

System_Priority 系统LACP优先级值越小优先级越高。

System 当系统优先级一样的时候选择Mac地址小的。

Port_Priority 端口优先级越小优先级的值越高。

Port 同等优先级选择小的端口号

4.2.2 LACP选举流程

image-20250305222335780

  1. 两端通过互相发送LACPDU对比字段确定主备设备
  2. 选出主动端后,两端都会以主动端的接口优先级来选择活动接口

4.3 LACP(链路聚合控制协议)机制

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

4.4 LACP(链路聚合控制协议)典型配置

4.4.1 集中配置

# SW1与SW2

Interface eth-trunk1
   Mode lacp-static
   max active-linknumber 2 --激活端口的数量
   Trunkport g0/0/1
   Trunkport g0/0/2

4.4.1 分别配置

# SW1与SW2
Interface eth-trunk1
   Mode lacp-static
#
Interface g0/0/1
    Eth-trunk 1
#
Interface g0/0/2
    Eth-trunk 1
posted @ 2025-03-18 19:14  江寒雨  阅读(384)  评论(0)    收藏  举报