本地网络设计/链路聚合 - IEEE 802.3ad
外观
< 本地网络设计
链路聚合,标准化名称为 IEEE 802.3ad,通常用于骨干网中的网桥之间或网桥和服务器之间,以将多个物理链路(通常为 2-4 个)聚合成单个逻辑通道,以便
- 增加链路带宽容量:流量在聚合中的链路之间分配;
- 改善弹性,即容错:如果聚合中的一个链路出现故障
- 逻辑通道的带宽下降是平滑的;
- 无需等待 STP 收敛时间:STP 将逻辑通道视为单个更高容量的链路 → 只有链路成本会发生变化。
在同一组中聚合的所有物理链路必须
- 在相同的两个节点之间是点对点;
- 是全双工;
- 具有相同速度。
链路聚合控制协议 (LACP) 用于自动聚合配置
- 首先,要聚合的端口必须由网络管理员在网桥上手动设置;
- 在激活聚合端口之前,LACP 可以自动识别通道中可用链路的数量,并检查与对方连接是否正确(特别是所有链路是否在相同的网桥之间);
- 定期交换称为LACPDU的消息以检测可能的链路故障 → 故障时的收敛速度很快(通常不到 1 秒)。
每个聚合都由链路聚合组标识符 (LAG ID) 标识。
当帧到达时,它应该被发送到聚合中的哪个链路?虽然标准建议了端口上可能的帧分配标准,但它没有定义一个分配帧的算法 → 来自不同供应商的网桥可以使用不同的帧分配算法。
最简单的解决方案是将传入的帧转发到紧随之前转发帧的空闲端口。
可能会出现重新排序问题:一个较小的帧紧随一个较大帧到达网桥,可能会在较大帧被另一个网桥接收完毕之前完成接收 → 来自另一个网桥的帧顺序不正确,因为较小的帧“超过”了较大帧
可以通过将属于同一个会话的帧发送到同一个链路来解决帧重新排序问题。查找属于同一个会话的帧的最常见解决方案是基于源 MAC 地址和目标 MAC 地址对。
然而,在某些情况下,基于 MAC 地址查找会话在链路负载平衡方面并不有效
- 只有两个主机通过聚合通信 → 会话是唯一的,并且可以利用一个物理链路;
- 聚合连接两个路由器 → 会话将无法再识别,因为路由器会更改帧的 MAC 地址。
如果两个节点通过多个聚合连接,由于 STP,只有一个聚合将处于活动状态:STP 将禁用其他聚合,因为它将每个聚合视为单个链路,其成本等于聚合中链路成本的总和。
通过适当设置链路优先级,可以使用具有 *N* 个聚合链路的配置,其中只有 *M<N* 个处于活动状态 → 其他 *N-M* 个链路是备用链路:如果活动链路出现故障,备用链路将激活,避免逻辑通道中可用带宽的下降。
思科专有的功能虚拟交换系统可以克服聚合端点只有两个节点的限制:网桥可以连接到两个网桥,STP 将其视为单个逻辑网桥,因此流量可以在两个聚合链路上分配。