一、概念
- 有些系统配备多个网络接口,具有绑定(bonding)或链路聚合能力
- LACP:通过链路聚合,两个或更多接口被视为一个,通过冗余或将数据分割(分拆)到多个接口,提高性能并获得更 好的可靠性。 IEEE修订的802.1AX [802.1AX-2008]定义了最常用的链路聚合方法,以及可 管理这些链路的链路聚合控制协议( LACP)。LACP使用一种特定格式的IEEE 802帧(称为 LACPDU)
- 以太网交换机支持的链路聚合是一个替代方案,它比支持更高速网络接日的性价比高。 如果多个端口聚合能提供足够的带宽,则可能并不需要高速接口。链路聚合不仅可被网络交 换机支持,而且可在一台主机上跨越多个网络接口卡(NIC)。在通常情况下,聚合的端口必 须是同一类型,并工作在同一模式(半双工或全双工)下
二、LACP
- LACP协议旨在通过避免手工配置,以简化链路聚合的建立工作。在LACP “主角” (客 户端)和“参与者” (服务器)启用后,它们通常每秒都会发送LACPDU。 LACP自动确定哪 些成员链路可被聚合成一个链路聚合组(LAG),并将它们聚合起来。这个过程的实现需要通过链路发送一系列信息(MAC地址、端口优先级、端口号和密钥)。一个接收站可比较来自团其他端口的值,如果匹配就执行聚合。LACP协议的细节见[802.1AX-2008]
二、演示案例
- Linux可实现跨越不同类型设备的链路聚合(绑定),使用以下命令:
- 这组命令中的第一个用于加载绑定驱动,它是一个支持链路聚合的特殊设备驱动程序。 第二个命令使用IPv4地址来创建bondO接日。虽然IP相关信息对创建聚合接口不是必需 的,但它是典型的
- 在fenslave命令执行后,绑定设备bondO用MASTER标志来标记,而 设备ethO和wlanO用SLAVE标志来标记:
- 在这个例子中,我们将一个有线以太网接口和一个Wi-Fi接口绑定在一起。为主设备 bondO分配了IPv4地址信息,通常分配给两个独立接口之一,它默认使用第一个从设备的 MAC地址。当IPv4流量通过bondO虚拟接口发送时,很可能使用不同的从设备来发送。在 Linux中,当绑定的驱动程序被加载时,可使用系统提供的参数选择选项。例如,模式选 项决定了能否做以下工作:在接日之问使用循环交付,一个接日作为另一个接日的备份使 用,基于对MAC源地址和目的地址执行的异或操作选择接口,将帧复制到所有接口,执 行802.3ad标准的链路聚合,或采用更先进的负载平衡选项。第二种模式用于高可用性系 统,当一个链路停止运行时(由MⅡ监控来检测;更多细节见[BOND]),这种系统将故障部分转移到冗余的网络基础设施上。第三种模式是基于流量的流向选择从接日。如果目的地完 全不同,两个站之间的流量被固定到一个接口。在希望尽量少尝试重新排序,并保证多个接日负载平衡的情况下,这种模式可能是有效的。第四种模式针对容错。第五种模式用于支持 802.3ad的交换机,在同类链路上实现动态聚合能力