Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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 系列防火墙发生重大流量损失。一致的负载平衡会维护所有活动链路,而仅重新映射受一个或多个链路故障影响的流量。此功能可确保连接到保持活动状态的链路的流量不会中断。

基于 ECMP 的一致散列适用于在单跃点 BGP 会话中,ECMP 组的成员是外部 BGP 邻接方的拓扑。通过在这些外部 BGP 邻接方上运行 BFD,MX 系列路由器可确保更快地检测到路由器与 SRX 系列防火墙的基于 ECMP 的下一跃点之间的链路故障。当您添加新的 ECMP 路径或修改现有路径时,Junos OS 将应用一致的负载平衡。您可以正常添加 SRX 系列防火墙。Junos OS 可确保均等地重新分配来自每个活动 SRX 系列防火墙的流量,同时将对现有 ECMP 流的影响降至最低。例如,如果四个活动的 SRX 系列防火墙在每个链路上承载总流量的 25%,而您又添加了另一个 SRX 系列防火墙,则每个现有 SRX 系列防火墙的 5% 流量将移动到新的 SRX 系列防火墙。这确保了将 20% 的流量从现有的四个 SRX 系列防火墙重新分配到新防火墙。应用程序可能会在新防火墙上重新启动会话,因为流没有匹配的会话。