CSDS 如何与基于 ECMP 的一致散列配合使用
在本主题中,您将了解 CSDS 架构如何与 MX 系列路由器中基于 ECMP 的一致散列负载均衡器配合使用。
什么是 ECMP 和一致散列?
等价多路径 (ECMP) 是一种网络路由策略,允许对同一会话的流量进行负载均衡。具有相同源和目标的会话中的流量跨多个相等成本的路径传输。
转发数据包时,路由决定使用下一跃点路径。在确定下一跃点时,设备会考虑用于标识流的数据包标头字段。使用 ECMP 时,设备会根据路由指标计算和散列算法确定等价下一跳路径。因此,成本相等的路由具有相同的优先级和指标值,而网络成本却相同。ECMP 进程可识别一组路由器,每个路由器都是通往目标的合法等价下一跃点。识别的路由称为 ECMP 集。
一致的负载平衡会维护所有活动链路,而仅重新映射受一个或多个链路故障影响的流量。此功能可确保连接到保持活动状态的链路的流量不会中断。此功能适用于在单跃点 BGP 会话中,ECMP 组的成员是外部 BGP 邻接方的拓扑。借助外部 BGP 上的双向转发检测 (BFD),可以更快地检测链路故障。
好处
- 通过 ECMP 充分利用到同一目标的链路上未使用的带宽来增加带宽
- 通过一致散列实现工作负载的均匀分配
- 通过一致散列快速响应工作负载分配
ECMP和一致散列如何在CSDS中工作?
当路由表包含相同目标的多个下一跃点地址且成本相等时,将形成 ECMP 集。如果为活动路由设置了 ECMP,则 Junos OS 会使用散列算法选择要安装在转转发表中的 ECMP 集中的下一跃点地址之一。您可以对设备进行配置,以便在转转发表中安装 ECMP 集中的多个下一跃点条目。Junos OS 设备可以执行按数据包的负载平衡,从而在路由设备之间的多条路径上分散流量。
CSDS 架构可确保 SRX 系列防火墙中流量的对称性。用户数据客户端(客户端设备)的传入和传出流量始终到达保持状态的同一 SRX 系列防火墙(服务器设备)。要到达同一个 SRX 系列防火墙,MX 系列会在两个方向上将流量散列到通向该防火墙的同一链路上。
用户数据客户端由上行方向(客户端到服务器)的源 IP 地址和下行方向(服务器到客户端)的目标 IP 地址标识。MX 系列对给定的元组(源 IP 地址和目标 IP 地址)执行对称散列。无论流量方向如何,MX 系列都会计算相同的散列,即使源 IP 地址和目标 IP 地址已交换。为确保来自客户端的所有流量到达同一个 SRX 系列防火墙,MX 系列仅在一个方向上对源 IP 地址(而不是目标 IP 地址)执行哈希,反之亦然。
默认情况下,当一条或多条路径发生故障时,散列算法会重新计算所有路径的下一跃点,通常会导致所有流的重新分配。使用一致散列的一致负载平衡使 MX 系列能够覆盖此行为,以便仅重定向非活动链路的流。所有现有活动流都将得到维护,不会中断。当链路发生故障时,重新分配所有流量可能会导致处于活动状态的 SRX 系列防火墙发生重大流量损失。一致的负载平衡会维护所有活动链路,而仅重新映射受一个或多个链路故障影响的流量。此功能可确保连接到保持活动状态的链路的流量不会中断。
此功能适用于在单跃点 BGP 会话中,ECMP 组的成员是外部 BGP 邻接方的拓扑。通过在这些外部 BGP 邻接方上运行 BFD,MX 系列可确保更快地检测 MX 系列和 ECMP SRX 系列下一跃点之间的链路故障。当您添加新的 ECMP 路径或修改现有路径时,Junos OS 将应用一致的负载平衡。您可以正常添加 SRX 系列防火墙,以便从每个活动 SRX 系列防火墙平均重新分配,从而将对现有 ECMP 流的影响降至最低。例如,如果有四个活动的 SRX 系列防火墙在每个链路上承载总流量的 25%,而您又添加了另一个 SRX 系列防火墙,则每个现有 SRX 系列防火墙的 5% 的流量将移至新的 SRX 系列防火墙。这确保了将 20% 的流量从现有的四个 SRX 系列防火墙重新分配到新防火墙。应用程序可能会在新防火墙上重新启动会话,因为流没有匹配的会话。