Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 

基于 ECMP 流的转发

本主题提供对 SRX 系列设备和多实例上转发和反向Junos OS等价多路径 (ECMP) vSRX概述。全面覆盖 SRX 系列设备和 Junos OS实例上的 ECMP vSRX情况。

了解基于 ECMP 流的转发

等价多路径 (ECMP) 是一种网络路由策略,允许通过成本相等的多个路径传输相同会话或流量(即同一来源和目标的信息流)。这种机制允许您充分利用同一目标链路上原本未使用的带宽,以均衡信息流、增加带宽。

转发数据包时,路由技术必须决定使用哪个下一跳跃路径。在做出确定时,设备将考虑用于识别流的数据包标头字段。使用 ECMP 时,根据路由指标计算和散列算法识别成本相等的下一跳跃路径。也就是说,等价路由具有相同的优先级和度量值,以及网络成本。ECMP 进程标识一组路由器,每个路由器都是朝着目标的合法等价下一跳跃。识别的路由称为 ECMP 集。因为它只处理下一跳跃目标,因此 ECMP 可用于大多数路由协议。

当路由表包含同一目标的多个下一跃点地址且成本相等时,将形成等价多路径 (ECMP) 集。(等价路由具有相同的优先级和度量值。)如果有为活动路由设置的 ECMP,Junos OS 使用散列算法来选择 ECMP集的下一跃点地址之一,以安装到转发表中。

您可以配置Junos OS,以便转发表中安装 ECMP 集内的多个下一跳跃条目。在瞻博网络设备上,可执行每流负载平衡,以在路由设备之间的多个路径上传播流量。在瞻博网络设备上,将检查源和目标 IP 地址和协议,以确定单个流量。相同流的数据包在同一接口上转发;当 ECMP 集有增加或更改时,接口不会更改。对于源路由等功能NAT这一点至关重要,此功能仅在 IDP、ALG 和基于路由的 VPN 隧道建立会话建立的第一个路径期间执行转换。如果数据包到达 ECMP 集的给定接口,安全设备将确保通过同一接口转发反向信息流。

注意:

安全设备上基于 ECMP 流的转发适用于 IPv4 和 IPv6 单播流量。从 Junos OS 版本15.1X49-D60开始,所有 SRX 系列设备和网络实例上都支持基于 ECMP 流的 IPv6 单播流量vSRX转发。不支持组播流。

在瞻博网络安全设备上,可安装在转发表中的 ECMP 集下一跃点地址的最大数量为 16。如果 ECMP 设置下一跃点地址超过 16 个,则仅使用前 16 个地址。

在机箱群集部署中,本地接口是位于与数据包到达的接口相同的节点上的接口,远程接口是位于其他机箱集群节点上的接口。如果 ECMP 路由在机箱集群中同时具有本地和远程接口,则本地接口更适合下一跳跃。

如果下一跳跃地址不再是 ECMP 集的一部分,或者由于路由更改而从路由表中移除,则使用下一跳跃的流将重新路由,并且会话不会受到影响。如果配置更改会移除下一跃点地址,或者管理员在删除下一跃点接口的情况下关闭下一跃点接口,则还会重新路由流。如果下一跃点地址因接口删除或会话有意清除而从路由表中移除,则会话将结束,而不重新路由。

注意:

建议 ECMP 集内的接口在同一安全区域中。如果重新路由流且重新路由流使用与原始路由不同的安全区域中的接口,则会话将结束。

要针对 瞻博网络 安全设备配置基于 ECMP 流的转发,首先要在 [ ] 层次结构级别包含一个或多个配置语句并采取措施,以定义负载平衡路由 policy-statement edit policy-options 策略 load-balance per-packet 。然后,将路由策略应用于从路由表导出到转发表的路由。为此,在 [ forwarding-table ] 层次结构 export 级别中包括 edit routing-options 和 配置语句。

SRX 系列Junos OS实例的 ECMP vSRX实施

您可以为 SRX 系列设备和实例配置 ECMP,vSRX实例实施每流负载平衡,以在路由设备之间的多个路径上传播流量。等价路由具有相同的优先级和度量值。这些设备检查源 IP 地址、目标 IP 地址以及协议,以确定单个流量。安全策略允许的源 IP 地址、目标 IP 地址和协议编号的信息流将转发到同一跃点。Junos OS设备上使用散列逻辑中的流信息。

对于Junos OS SRX 系列设备和 vSRX 实例,当路由表包含相同目标的多个下一跃点地址且成本相等时,将形成一个 ECMP 集。ECMP 允许在转发表中安装 ECMP 集内的多个下一跳跃条目。相同流的数据包在同一接口上转发;当 ECMP 集有增加或更改时,接口不会更改。

如果有为活动路由设置的 ECMP,Junos OS 使用散列算法来选择 ECMP集的下一跃点地址之一,以安装到转发表中。

注意:

SRX 系列设备和实例上基于 ECMP 流的转发vSRX适用于 IPv4 和 IPv6 单播流量。从 Junos OS 15.1X49-D60 和 Junos OS 17.3R1 版开始,所有 SRX 系列设备和 vSRX 实例都支持基于 ECMP 流的 IPv6 单播流量转发。不支持组播流。

反向信息流 ECMP

从 Junos OS 17.3 版开始,如果您为反向流量启用 ECMP 支持,SRX 系列设备将使用散列算法来确定用于流中的反向流量的接口。此过程类似于非对称路由,其中数据包从一个路径中的源遍历到目标,在返回源时采用不同的路径。

如果不启用此功能,SRX 系列设备将 ECMP 设置中的路由设置为传入接口以接收反向信息流,这是默认行为。

您可使用 [ ] 层次结构中的配置语句配置基于 ECMP 流的转发,以使用散列算法在 ECMP 设置中选择路由以用于反向 allow-reverse-ecmp edit security flow 流量传输。也就是说,如果您启用此功能,而不是选择到达传入接口的路由,SRX 系列设备将使用散列算法在 ECMP 设置中选择路由以用于反向流量。

由于基于 ECMP 流的策略基于区域,ECMP 反向查找支持可确保用于反向流量出口接口与用于到达流量的入口接口在同一区域。

注意:

ECMP 集内的接口必须在同一安全区域中。如果出口接口区与入口接口区域不同,可以创建一个会话,但数据包将被丢弃。

谨慎:

如果您决定启用反向 ECMP,请注意以下情况并采取措施避免这种情况:在使用基于 ECMP 流的转发时,SRX 系列设备可能会导致上游设备仅看到会话的单向流量。维护会话状态(例如 TCP 代理和 SYN-proxy)的上游设备可能会出现问题。该问题类似于异步路由行为。

示例:配置基于 ECMP 流的转发

此示例展示如何配置基于 ECMP 流的转发。

要求

配置此功能之前,不需要除设备初始化之外的特殊配置。

概述

此示例在 SRX 系列设备上配置了三个静态 ECMP 路由。每个静态路由都使用不同的下一跳跃路由器来到达目标服务器。路由器的接口将被分配给不信任安全区域。此示例将创建名为 的负载平衡路由策略,将策略应用于从路由表导出到转发表 load-balancing-policy 的所有路由。

拓扑

图 1 显示了此示例中使用的拓扑。

图 1:ECMP路由 ECMP Routes

配置

CLI快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以匹配网络配置,然后将命令复制并粘贴到 层次结构级别的 CLI 中 [edit]

程序

逐步过程

以下示例要求您在配置层次结构中导航各个级别。

要配置基于 ECMP 流的转发:

  1. 配置接口。

  2. 配置静态路由。

  3. 创建 trustuntrust 安全区域 并包括相关接口。

  4. 配置服务器子网的地址簿条目。

    此条目在安全策略中使用。

  5. 配置安全策略。

  6. 创建负载平衡路由策略。

  7. 将路由策略应用于从路由表导出到转发表的所有路由。

结果

在配置模式下,确认您的配置,然后发出 show interfacesshow security show policy-optionsshow routing-options 命令。如果输出未显示预期的配置,请重复此示例中的说明,以更正配置。

如果完成设备配置,请从配置 commit 模式输入 。

验证

验证转用表

目的

验证所有 ECMP 路由的路由信息是否都显示在转发表中。

行动

在操作模式下,输入 show route forwarding-table destination 172.16.1.0 命令。

意义

输出显示 的下一跳跃类型 ulst ,这意味着路由具有多个符合条件的下一跳跃。发往 172.16.1.0 网络的数据包可使用列表中的下一跳跃。

版本历史记录表
释放
描述
15.1X49-D60
从 Junos OS 版本15.1X49-D60开始,所有 SRX 系列设备和网络实例上都支持基于 ECMP 流的 IPv6 单播流量vSRX转发。不支持组播流。
15.1X49-D60
从 Junos OS 15.1X49-D60 和 Junos OS 17.3R1 版开始,所有 SRX 系列设备和 vSRX 实例都支持基于 ECMP 流的 IPv6 单播流量转发。不支持组播流。