Eth-Trunk协议
一、Eth-Trunk(链路聚合协议)使用场景
1.1 Eth-Trunk(链路聚合协议)简介
原名叫链路聚合组(Link Aggregation Group),通过将多个物理接口捆绑为一个逻辑接口,可以在不进行硬件升级的条件下,达到增加链路带宽的目的。
1.2 Eth-Trunk(链路聚合协议)实现目的
- 增加带宽
链路聚合接口的最大带宽是成员的带宽和
负载负担
基于链路的负载分担,可选的负载方式多样,比较灵活
冗余
配置LACP,可以实现down的情况发生时候进行自动切换
二、Eth-Trunk(链路聚合协议)机制
2.1 Eth-Trunk(链路聚合协议)转发原理
对于 MAC 子层来说,Eth-Trunk 接口可以认为是一个物理接口。因此,MAC子层在传输数据的时候,仅需要把数据提交给Eth-Trunk 模块即可。Eth-Trunk 模块内部维护一张转发表,这张表由以下两项组成。
- HASH-KEY值 # HASH-KEY值是根据数据包的MAC地址或IP地址等,经HASH算法计算得出。 - 接口号 # Eth-Trunk转发表表项分布和设备每个Eth-Trunk支持加入的成员接口数量相关,不同的HASH-KEY值对应不同的出接口。
2.1.1 Eth-Trunk(链路聚合协议)处理过程
- Eth-Trunk模块从MAC子层接收到一个数据帧后,根据负载分担方式提取数据帧的源MAC地址/IP地址或目的MAC地址/IP地址。
- 根据HASH算法进行计算,得到HASH-KEY值。
- Eth-Trunk模块根据HASH-KEY值在转发表中查找对应的接口,把数据帧从该接口发送出去。
三、Eth-Trunk(链路聚合协议)手工模式
3.1 手工负载分担模式链路聚合
该模式下所有活动链路都参与数据的转发,平均分担流量。如果某条活动链路故障,链路聚合组自动在剩余的活动链路中平均分担流量。
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地址进行定向处理。
字段 长度 说明 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选举流程
- 两端通过互相发送LACPDU对比字段确定主备设备
- 选出主动端后,两端都会以主动端的接口优先级来选择活动接口
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







浙公网安备 33010602011771号