Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

为分段路由 Lsp 启用分布式 CSPF

 

在 Junos OS 版本 19.2 R1S1 之前,对于分段路由路径的流量工程,您可以显式配置静态路径,或者使用来自外部控制器的计算路径。对于分段路由 LSP 功能的分布式有限最短路径优先(CSPF),您可以根据您配置的约束,在入口设备上本地计算网段路由 LSP。借助此功能,Lsp 将根据配置的约束和指标类型(流量工程或 IGP)进行优化。可计算 Lsp 以利用指向目标的可用 ECMP 路径,并启用或禁用分段路由标签堆栈压缩。

分布式 CSPF 计算约束

分段路由 LSP 路径在满足所有已配置的约束时计算。

分布式 CSPF 计算功能支持以下在互联网草案,draft-ietf-spring-segment-routing-policy-03 中指定的约束子集。 信息流工程分段路由策略可以:

  • 管理组的包含和排除。

  • 包含松散或严格的跳跃 IP 地址。

    注意

    您只能在松散或严格跳转约束中指定路由器 Id。在 Junos OS 版本 19.2 R1-S1 中,不能将标签和其他 IP 地址指定为松散或严格跳跃约束。

  • 分段列表中的最大分段 Id (Sid)数。

  • 每个候选分段路由路径的最大分段列表数。

用于分段路由 Lsp 的分布式 CSPF 计算功能不支持以下类型的约束和部署方案:

  • IPV6 地址。

  • 域间路由流量工程(SRTE) Lsp。

  • 未编号的接口。

  • 同时启用多个协议路由协议,例如 OSPF、ISIS 和 BGP-LS。

  • 以前缀或任意广播地址为目标的计算。

  • 包括和排除接口 IP 地址为约束。

分布式 CSPF 计算算法

分段路由 Lsp 的分布式 CSPF 计算功能将标签堆栈压缩算法用于 CSPF。

启用标签堆栈压缩

压缩标签堆栈表示从源到目标的一组路径。它通常由节点 Sid 和邻接 Sid 组成。启用标签堆栈压缩时,计算的结果是一组路径,将 ECMP 最大化至目标,堆栈中的 Sid 数量最小,同时符合约束条件。

已禁用标签堆栈压缩

禁用了带标签堆栈压缩的多路径 CSPF 计算,查找最多 N将分段列表到目的地,其中:

  • 所有分段列表的成本都等于和与到达目标的最短流量工程指标相同。

  • 每个分段列表都由邻接 Sid 组成。

  • 的值 N是通过配置允许用于候选路径的分段列表的最大数量。

  • 两个分段列表不相同。

  • 每个分段列表均满足所有已配置的约束条件。

分布式 CSPF 计算数据库

用于 SRTE 计算的数据库具有所有链路、节点、前缀及其特征,不管这些广告节点中的信息流工程是否启用。换句话说,它是流量工程数据库(李小明)和计算节点接受那么优质的所有域的 IGP 链路状态数据库的联合。

配置分布式 CSPF 计算约束

您可以使用计算配置文件对计算约束进行逻辑分组。这些计算配置文件由分段路由路径引用,用于计算主要和次要分段路由 Lsp。

要配置计算配置文件,请在[edit protocols source-packet-routing]层次结构级别上包括compute-profile语句。

支持的计算约束的配置包括:

  • Administrative groups

    您可以在[edit protocols mpls]层次结构级别下配置admin-groups。Junos OS 将管理组配置应用于分段路由流量工程(SRTE)接口。

    要配置计算约束,您可以为一组管理组指定三个类别。计算约束配置可以通用于所有候选分段路由路径,也可以位于单个候选路径下。

    • include-any—指定在列表中至少有一个配置的管理组的链接对于要遍历的路径是可接受的。

    • include-all—指定具有列表中所有已配置管理组的任何链接均可用于遍历路径。

    • exclude—指定在列表中没有任何已配置管理组的任何链接都可用于遍历路径。

  • Explicit path

    您可以在计算配置文件中指定一系列路由器 Id,作为对 SRTE 候选路径进行计算的约束。每个跳跃都必须是一个 IPv4 地址,并且可为 strict 或松散类型。如果没有配置跳跃的类型,则使用严格。指定明确路径约束compute时,必须在segment-list语句下包含该选项。

  • Maximum number of segment lists (ECMP paths)

    您可以将候选路径与许多动态分段列表相关联。这些路径是 ECMP 路径,其中每个分段列表都将转换为下一个具有有效重量的跳跃网关。这些路径是带有或不带压缩的路径计算的结果。

    您可使用compute-profile配置maximum-computed-segment-lists maximum-computed-segment-lists语句下的选项来配置此属性。此配置确定为给定主要和辅助 LSP 计算的此类分段列表的最大数量。

  • Maximum segment list depth

    最大分段列表深度计算参数可确保在 ECMP 路径中满足所有其他约束(如管理组),仅使用小于或等于最大分段列表深度的分段列表的路径。将此参数配置为计算配置文件下的约束时,它将覆盖maximum-segment-list-depth[edit protocols source-packet-routing]层次结构级别(如果存在)下的配置。

    您可使用compute-profile配置maximum-segment-list-depth maximum-segment-list-depth语句下的选项来配置此属性。

  • Protected or unprotected adjacency SIDs

    您可将受保护或未保护的邻接 SID 配置为compute-profile下的约束,以避免具有指定 SID 类型的链路。

  • Metric type

    您可以指定要用于计算的链路上的度量类型。默认情况下,SR-IOV Lsp 使用链路的流量工程指标进行计算。链路的流量工程指标由 IGP 协议的流量工程扩展公布。但是,您也可以通过使用计算配置文件中的公制类型配置,选择使用 IGP 指标进行计算。

    您可使用compute-profile配置metric-type (igp | te)语句下的选项来配置此属性。

分布式 CSPF 计算

SRTE 候选路径在本地计算,以便满足配置的约束。禁用标签堆栈压缩时,多路径 CSPF 计算结果将是一组邻接 SID 堆栈。启用标签堆栈压缩时,结果将是一组压缩的标签堆栈(由相邻的 Sid 和节点 Sid 组成)。

计算辅助路径时,不会避免在计算时使用主路径所采用的链路、节点和 SRLGs。有关主要和次要路径的详细信息,请参阅配置主要和辅助 Lsp

对于具有不成功计算结果的任何 Lsp,将重试计算,因为流量工程数据库(李小明)发生变化。

分布式 CSPF 计算和 SRTE 功能之间的交互

与 SRTE 策略的路径关联的权重

您可以根据计算和静态 SRTE 路径来配置重量,这会影响路由的下一跃点。但是,启用了计算功能的单个路径可能会产生多个分段列表。这些计算段列表在自身之间被视为 ECMP。您可以考虑分配给每个已配置 primaries 的重量,以便将层次 ECMP 重量分配到这些分段。

BFD Liveliness 检测

您可为计算出的主或辅助路径配置 BFD liveliness 检测。每个计算的主要或辅助路径都可能产生多个分段列表,因此,根据分段列表配置的 BFD 参数将应用于所有计算出的分段列表。如果所有活动主路径都停机,预编程的辅助路径(如果提供)将变为活动状态。

继承-标签-nexthops

您无需在inherit-label-nexthops[edit protocols source-packet-routing segment-list segment-list-name]层次结构下显式启用计算出的主要或辅助路径的配置,因为这是默认行为。

自动转换功能

您可以在分段列表上配置自动转换功能,使用自动转换功能的主或辅助路径可参考这些分段列表。另一方面,启用计算功能的主设备或辅助阵列不能引用任何分段列表。因此,您不能为给定的主或辅助路径启用计算功能和自动转换功能。但是,您可能将 LSP 配置为使用具有计算类型的主路径,而另一种则采用自动转换类型。

分布式 CSPF 计算示例配置

示例1

在示例1中,

  • 非计算主路径参照已配置的分段列表。在此示例中,配置的分段列表 static_sl1被引用,也用作此主路径的名称。

  • 计算出的主要区域应配置名称,而此名称不应引用任何已配置的分段列表。在本示例中 compute_segment1不是配置的分段列表。

  • T4000 路由器不支持 compute_profile_red计算-配置文件应用于名称为的主路径 compute_segment1.

  • T4000 路由器不支持 compute_profile_red计算-配置文件包含一个类型compute的分段列表,用于为计算指定显式路径约束。

计算路径下一跳跃和静态下一跳跃的重量分别为2和3。假设计算出的路径的下一跳 comp_nh1comp_nh2comp_nh3,而下一中继站则用于静态路径 static_nh,重量的应用方式如下:

下一跳跃

重量

comp_nh1

2

comp_nh2

2

comp_nh3

2

static_nh

9

示例2

在示例2中,主要和次要路径都可以是计算类型,并且可以拥有自己的计算配置文件。

示例3

在示例3中,当在主要或辅助路径下提到计算时,将导致本地计算目标路径,而不存在任何约束或其他计算参数。