链路聚合详解——Link Aggregation
链路聚合原理与配置
前言
随着网络规模不断扩大,用户对骨干链路的带宽和可靠性提出了越来越高的要求。在传统技术中,常用更换高速率的接口板或更换设备的方式来增加带宽,但这种方案需要付出高额的费用,而且不够灵活。
采用链路聚合技术可以在不进行硬件升级的情况下,通过将多个物理接口捆绑为一个逻辑接口,来达到增加链路带宽的目的。在实现增大设备带宽目的的同时,链路聚合采用备份链路的机制,可以有效的提高设备之间链路的可靠性。
链路聚合的应用场景
在企业网络中,所有设备的流量在转发到其他网络前都会汇聚到核心层,再由核心区设备转发到其他网络,或者转发到外网。因此,在核心层设备负责流量的高速交换时,容易发生拥塞,在核心层部署链路聚合,可以提升整个网络的数据吞吐量,解决拥塞问题。
链路聚合的优点
- 链路聚合是把两台设备之间的多条链路聚合到一起,当做一条逻辑链路来使用。这两台设备可以是路由器、交换机。一条聚合链路可以包含多条成员链路,在X7系列交换机中默认最多为8条。
- 链路聚合可以提高链路带宽。理论上,聚合几条链路,逻辑链路带宽=聚合链路口带宽总和,这样就有效的提高了逻辑链路的带宽。
- 链路聚合为网络提供了高可靠性。配置了链路聚合后,如果一个成员接口发生故障,该成员口的物理链路会把流量切换到另一条成员链路上。
- 链路聚合还可以在一个聚合口上实现负载均衡,一个聚合口可以把流量分散到多个不同的成员口上,通过成员链路把流量发送到同一个目的地,将网络产生阻塞的可能性降到最低。
链路聚合的模式
链路聚合包含两种模式:手工负载均衡模式和LACP(Link Aggregation control protocol)模式。
手工负载均衡模式
该模式下,Eth-Trunk的建立、成员接口的加入均由手工配置,没有链路聚合控制协议的参与。该模式下所有活动链路都参与数据的转发,平均分担流量,因此称为负载分担模式。如果某条活动链路故障,链路聚合组自动在剩余的活动链路中平均分担流量。
LACP模式
该模式下,链路两端的设备互相发送LACP报文,协商聚合参数。协商完成后,两台设备确定活动接口和非活动接口。在LACP中,需手动创建Eth-Trunk口,并添加成员口。LACP协商选举活动接口和非活动接口。
LACP模式也叫M:N模式。
M代表活动成员链路,用于在负载均衡中转发数据。N代表非活动链路,用于冗余备份。如果一条活动链路发生故障,该链路传输的数据被切换到一条优先级最高的备份链路上,这条备份链路转变为活动状态。
两种链路聚合模式的区别
LACP模式下,一些链路充当备份链路。在手动负载均衡模式中,所有的成员口都处于转发状态。
数据流控制
- 在一个聚合口中,所有成员接口之间的参数必须一致,包括物理口数量,传输速率,双工模式和流量控制模式。成员口可以是二层接口或三层接口。
- 数据流在聚合链路上传输,数据顺序必须保持不变。一个数据流如果未配置链路聚合,只是用一条物理链路来传输的话,那么一个数据流的帧总能按照正确的顺序到达目的地。
- 配置了链路聚合之后,多条物理链路被绑定成一个逻辑聚合链路,一个数据流中的帧通过不同的物理链路传输,这样一来同一数据流的第二个数据帧有可能比第一个数据帧先到达目的地,从而产生接收数据包乱序的情况。
- 为了避免这种情况的发生,Eth-Trunk采用逐流负载均衡分担的机制,这种机制把数据帧中的地址通过HASH算法生成HASH-KEY值,对目的MAC地址和IP地址做HASH处理,不同的IP地址和MAC地址得到的HASH-KEY值不同,从而出接口就不同,然后根据这个数值寻找对应的出接口,这样既保证了同一数据流的帧在同一条物理链路转发,又实现了流量在聚合组内各物理链路上的负载分担,逐流的负载分担模式能保证数据包的顺序,但不能保证带宽利用率。
负载分担的类型
- 基于源MAC地址进行负载分担
- 基于目的MAC地址进行负载分担
- 基于源IP地址进行负载分担
- 基于目的IP地址进行负载分担
- 基于源MAC地址和目的MAC地址进行负载分担
- 基于源IP地址和目的IP地址进行负载分担
- 根据报文的VLAN、源物理端口等对L2、IPV4、IPV6和MPLS报文进行增强型负载均衡
二层链路聚合配置
查看链路聚合信息
三层链路聚合配置
问题总结
- 如果千兆以太口和百兆以太口加入同一个Eth-Trunk,会发生什么?
不能加入同一个Eth-Trunk口,设备会提示发生错误。 - 哪种链路聚合模式可以使用链路备份?
只有LACP(Link Aggregation Control Protocol)模式,如需建立备份链路,应使用LACP模式的链路聚合。