PCEP 配置

用于 RSVP LSP 和分段路由的路径计算元素协议 (PCEP)

路径计算元素 (PCE) 是一个实体(组件、应用程序或网络节点),能够基于网络图计算网络路径或路由并应用计算约束。路径计算客户端 (PCC) 是请求由 PCE 执行路径计算的任何客户端应用程序。路径计算元素协议 (PCEP) 支持在 PCC 和 PCE 之间或两个 PCE 之间进行通信(在 RFC 5440 中定义)。

PCEP 是由 IETF PCE 工作组定义的基于 TCP 的协议,定义了一组消息和对象,用于管理 PCEP 会话,以及请求和发送多域流量工程 LSP(流量工程 LSP)的路径。它为 PCE 提供了一种对 PCC 的外部 LSP 执行路径计算的机制。PCEP 交互包括 PCC 发送到 PCE 的 LSP 状态报告,以及外部 LSP 的 PCE 更新。

图 1 说明了在支持 MPLS RSVP-流量工程的网络中,PCEP 在有状态 PCE 架构的客户端实施中的作用。

图 1:PCEP 会话 Network architecture diagram showing PCE and PCC interaction via PCEP, with PCC using RSVP-TE for path setup in a cloud network.

基于 TCP 的 PCEP 会话会将 PCC 连接到外部 PCE。PCC 启动 PCEP 会话,并在 PCEP 会话期间保持与 PCE 的连接。在 PCEP 会话期间,PCC 向有状态 PCE 请求 LSP 参数。从 PCE 接收到一个或多个 LSP 参数后,PCC 会重新向流量工程 LSP 发出信号。当 PCEP 会话终止时,底层 TCP 连接将立即关闭,并且 PCC 会尝试重新建立 PCEP 会话。

因此,PCEP 功能包括:

  • PCC 与有状态 PCE 之间的 LSP 隧道状态同步 — 检测到活动状态 PCE 连接时,PCC 会尝试在称为 LSP 状态同步的过程中将所有 LSP 委托给此 PCE。PCEP 支持将 PCC LSP 状态同步到 PCE。

  • 将 LSP 隧道的控制权委派给有状态 PCE — 活动的有状态 PCE 控制计算路径的一个或多个 LSP 属性,例如带宽、路径 (ERO) 和优先级(设置和保留)。PCEP 支持这种 LSP 委派以进行路径计算。

  • PCE 对 PCEP 会话内和会话之间的路径计算时序和顺序进行有状态控制 – 活动有状态 PCE 修改一个或多个 LSP 属性,例如带宽、路径 (ERO) 和优先级(设置和保留)。PCEP 将这些新的 LSP 属性从 PCE 传输到 PCC,之后 PCC 会在指定路径中向 LSP 重新发出信号。

RSVP-流量工程对路径计算元素协议的支持概述

了解 MPLS RSVP-流量工程

流量工程 (流量工程) 处理操作网络的性能优化,主要是将流量映射到现有的物理拓扑上。流量工程提供了将流量从内部网关协议 (IGP) 选择的最短路径移至网络中可能拥塞较少的物理路径的能力。

对于大型密集网络中的流量工程,可以实施 MPLS 功能,因为这些功能有可能以集成方式提供叠加模型提供的大部分功能,而且成本低于当前的竞争替代方案。实施 MPLS 流量工程的主要原因是为了控制流量流经网络的路径。实施 MPLS 流量工程的主要优势在于,它结合了 ATM 的流量工程功能以及 IP 的服务等级 (CoS) 差异化。

在 MPLS 网络中,数据平面信息是使用标签交换来转发的。从客户边缘 (客户边缘) 路由器到达提供商边缘 (PE) 路由器的数据包应用了标签,然后将其转发到出口 PE 路由器。标签在出口路由器上被移除,然后作为 IP 数据包转发到相应的目标。MPLS 域中的标签交换路由器 (LSR) 使用标签分发协议来传达用于在 LSR 之间转发流量以及通过 LSR 转发流量的标签的含义。RSVP-流量工程就是这样一种标签分配协议,它使 LSR 对等方能够了解其他标签交换路由器的标签映射。

当路由器上同时启用 MPLS 和 RSVP 时,MPLS 将成为 RSVP 的客户端。Junos OS RSVP 软件的主要目的是在标签交换路径 (LSP) 中支持动态信令。RSVP 保留 IP 单播和组播流等资源,并为应用程序请求服务质量 (QoS) 参数。该协议在 MPLS 流量工程中得到了扩展,使 RSVP 能够建立可用于 MPLS 网络中流量工程的 LSP。

将 MPLS 和 RSVP 结合使用时,标签将与 RSVP 流相关联。建立 LSP 后,通过路径的流量将由应用在 LSP 入口节点上的标签定义。标签到流量的映射是使用不同的标准来完成的。由特定节点分配相同标签值的数据包集属于同一转发同等类 (FEC),并有效地定义了 RSVP 流。当流量以这种方式映射到 LSP 上时,LSP 称为 LSP 隧道。

LSP 隧道是一种建立单向标签交换路径的方式。RSVP-流量工程以 RSVP 核心协议为基础,通过定义新对象并修改 PATH 和 RESV 对象中使用的现有对象以建立 LSP。对于 RSVP 协议而言,新对象 LABEL-REQUEST 对象 (LRO)、RECORD-ROUTE 对象 (RRO)、LABEL 对象和 EXPLICIT-ROUTE 对象 (ERO) 是可选的,但 LRO 和 LABEL 对象除外,这两个对象都是建立 LSP 隧道所必需的。

通常,RSVP-流量工程会建立一条标签交换路径,确保从入口路由器到出口路由器的帧交付。但是,借助新的流量工程功能,MPLS 域将支持以下功能:

  • 可以使用完整或部分显式路由建立标签交换路径 (RFC 3209)。

  • 在满足带宽和链路属性等要求的链路上建立基于约束的 LSP。

  • 端点控制,与在入口和出口路由器上建立和管理 LSP 隧道相关。

  • 链路管理,用于管理链路资源以对流量工程 LSP 进行资源感知路由,并为 MPLS 标签编程。

  • MPLS 快速重新路由 (FRR),用于管理需要保护的 LSP,并为这些 LSP 分配备份隧道信息。

当前 MPLS RSVP-流量工程限制

尽管用于流量工程的 RSVP 扩展可以更好地利用网络并满足流量类别的要求,但当今的 MPLS RSVP-流量工程协议套件仍存在其分布式特性所固有的几个问题。这在对分容量争用期间会导致许多问题,尤其是在 LSP 优先级类中,其中 LSP 子集共享通用设置并持有优先级值。RSVP-流量工程的局限性包括:

  • 无法了解每个 LSP 和每个设备的带宽需求 — MPLS RSVP-流量工程网络中的入口路由器在建立 LSP 时无法全面了解网络上的带宽需求。有关网络资源利用率的信息仅作为每个接口的流量类别的总预留容量提供。每个标签边缘路由器 (LER) 上本地可用的单独 LSP 状态仅适用于其自己的 LSP。因此,出现了许多与需求模式相关的问题,特别是在通用设置和保持优先级中。

  • RSVP 信令的异步和独立性质 — 在 RSVP-流量工程中,路径建立的约束由管理员控制。因此,为 LSP 隧道预留的带宽由管理员设置,并不自动意味着对通过隧道发送的流量有任何限制。因此,流量工程链路上的可用带宽是为链路配置的带宽,不包括在链路上进行的所有预留的总和。因此,LSP 隧道上的无信号需求会导致需要额外带宽的 LSP 以及符合流量工程链路带宽要求的其他 LSP 的服务降级。

  • 根据优先顺序的动态或显式路径选项建立的 LSP — MPLS RSVP-流量工程网络中的入口路由器根据到达顺序为需求建立 LSP。由于入口路由器无法全局查看网络上的带宽需求,因此当带宽需求过大时,使用优先顺序来建立 LSP 可能会导致流量丢弃或根本无法建立 LSP。

例如, 图 2 配置了 MPLS RSVP-流量工程,其中 A 和 G 是标签边缘路由器 (LER)。这些入口路由器根据请求的顺序独立建立 LSP,彼此的 LSP 一无所知,也无法控制彼此的 LSP。 路由器 B、C 和 D 是连接到出口路由器 E 和 F 的中间路由器或中转路由器。

图 2:MPLS 流量工程Network diagram showing nodes A to G with bandwidths of 40, 15, 10, and 30 Mbps. Three LSPs are labeled, with increased demand on LSP 3 indicated by a dashed orange line.示例

入口路由器根据需求到达的顺序建立 LSP。如果路由器 G 收到 G-F 的两个容量 5 的需求,则 G 通过 G-B-D-F 向两个 LSP 发出信号 LSP1 和 LSP2。同样,当路由器 A 收到 A-E 的第三个容量 10 需求时,它会通过 A-B-C-E 向 LSP LSP3 发出信号。但是,如果对 A-E LSP 的需求从 10 增加到 15,路由器 A 无法使用相同的 (A-B-C-E) 路径向 LSP3 发出信号,因为 B-C 链路的容量较低。

路由器 A 应该使用 A-B-D-C-E 路径来发出对 LSP3 需求增加的信号。由于 LSP1 和 LSP2 已根据收到的请求顺序使用 B-D 链路,因此不会向 LSP3 发出信号。

因此,尽管所有 LSP 都有足够的最大流量带宽,但 LSP3 可能会长期降低服务。这是由于路由器 A 缺乏全球需求可见性,以及入口路由器 A 和 G 在需求放置方面缺乏系统协调。

使用外部路径计算实体

为了解决 MPLS RSVP-流量工程路径计算中当前存在的局限性,需要一个外部路径计算实体,该实体能够全面了解网络中每个 LSP、每个设备的需求,而不受可用容量的影响。

目前,MPLS RSVP-流量工程网络中仅提供在线和实时的基于约束的路由路径计算。每个路由器独立于网络中的其他路由器执行基于约束的路由计算。这些计算基于当前可用的拓扑信息,这些信息通常是最新的,但并不完全准确。根据当前网络状态,对 LSP 放置进行本地优化。MPLS RSVP-流量工程隧道使用 CLI 进行设置。运营商配置流量工程 LSP,然后由入口路由器发出信号。

除了现有的流量工程功能外,MPLS RSVP-流量工程功能也得到了扩展,包括一个称为路径计算元素 (PCE) 的外部路径计算实体。PCE 计算已配置用于外部控制的入口路由器的 流量工程 LSP 路径。连接到 PCE 的入口路由器称为路径计算客户端 (PCC)。PCC 配置了路径计算客户端协议 (PCEP),以方便 PCE 进行外部路径计算。

有关详细信息,请参阅 外部路径计算的组件。

要为 PCC 的流量工程 LSP 启用外部路径计算,请在层次结构级别包含lsp-external-controller pccd该[edit mpls][edit mpls lsp lsp-name]语句。

外部路径计算的组件

构成外部路径计算系统的组件包括:

路径计算元素

路径计算元素 (PCE) 可以是能够基于网络图计算网络路径或路由并应用计算约束的任何实体(组件、应用程序或网络节点)。但是,PCE 只能为已配置为外部控制的 PCC 的 流量工程 LSP 计算路径。

PCE 可以是有状态的,也可以是无状态的。

  • 有状态 PCE — 有状态 PCE 在 PCE 和网络状态(在拓扑和资源信息方面)以及网络中使用的计算路径和保留资源集之间保持严格同步。换言之,在处理来自 PCC 的新请求时,有状态 PCE 会利用流量工程数据库中的信息以及有关网络中现有路径(例如,流量工程 LSP)的信息。

    有状态 PCE 有两种类型:

    • 被动有状态 PCE — 保持与 PCC 的同步并学习 PCC LSP 状态以更好地优化路径计算,但无法控制它们。

    • 活动状态式 PCE — 除了了解 PCC LSP 状态外,还会主动修改 PCC LSP。

      注意:

      在具有主和备份活动状态 PCE 的冗余配置中,备份活动状态 PCE 在故障切换时成为主 PCE 之前无法修改委托 LSP 的属性。在切换的情况下,不会抢占 PCE。主 PCE 由备用 PCE 提供支持,当主 PCE 出现故障时,备用 PCE 将承担主 PCE 的角色,并且即使在之前作为主 PCE 的 PCE 再次运行后仍是主 PCE。

    有状态 PCE 提供以下功能:

    • 提供离线 LSP 路径计算。

    • 当需要重新优化网络时,触发 LSP 重新路由。

    • 当应用的带宽需求增加时,更改 LSP 带宽。

    • 修改路由器上的其他 LSP 属性,例如 ERO、设置优先级和保留优先级。

    PCE 掌握网络带宽需求的全局视图,并维护一个流量工程数据库来执行路径计算。它使用 SNMP 和 NETCONF 从 MPLS 域中的所有路由器收集统计信息。这提供了一种离线控制 PCC 的流量工程 LSP 的机制。尽管离线 LSP 路径计算系统可以嵌入到网络控制器中,但 PCE 就像一个成熟的网络控制器,除了计算路径外,还可以控制 PCC 的流量工程 LSP。

    尽管有状态 PCE 可以实现最佳路径计算并提高路径计算成功率,但它需要可靠的状态同步机制,可能会产生巨大的控制平面开销,并且需要在状态方面维护大量数据,就像全网流量工程 LSP 的情况一样。

  • 无状态 PCE — 无状态 PCE 不记住任何计算路径,并且每组请求彼此独立处理 (RFC 5440)。

路径计算客户端

路径计算客户端 (PCC) 是请求由 PCE 执行路径计算的任何客户端应用程序。

一个 PCC 一次最多可以连接到 10 个 PCE。PCC 到 PCE 的连接可以是配置的静态路由,也可以是建立可访问性的 TCP 连接。PCC 为每个连接的 PCE 分配一个优先级编号。在称为 LSP 状态同步的过程中,它会向所有连接的 PCE 发送一条消息,其中包含有关其当前 LSP 的信息。对于启用了外部控制的流量工程 LSP,PCC 会将这些 LSP 委托给主 PCE。PCC 选择具有最低优先级编号的 PCE 或在没有优先级编号的情况下首先连接到的 PCE 作为主 PCE。

PCC 根据从 PCE 接收的计算路径向 LSP 重新发出信号。当与主 PCE 的 PCEP 会话终止时,PCC 会选择新的主 PCE,所有委托给之前主 PCE 的 LSP 都将委托给新可用的主 PCE。

路径计算元素协议

路径计算元素协议 (PCEP) 用于 PCC 和 PCE 之间(以及两个 PCE 之间)的通信 (RFC 5440)。PCEP 是由 IETF PCE 工作组定义的基于 TCP 的协议,定义了一组消息和对象,用于管理 PCEP 会话以及请求和发送多域流量工程 LSP 的路径。PCEP 交互包括 PCC 消息,以及与在 MPLS RSVP-流量工程环境中使用 PCE 相关的特定状态的通知。当 PCEP 用于 PCE 到 PCE 的通信时,请求的 PCE 承担 PCC 的角色。

因此,PCEP 功能包括:

  • PCC 与有状态 PCE 之间的 LSP 隧道状态同步。

  • 将 LSP 隧道的控制权下放给有状态 PCE。

使用 PCEP 的 PCE 和 PCC 之间的相互作用

图 3 说明了 PCE、PCC 和 PCEP 在 MPLS RSVP-流量工程背景下的作用之间的关系。

图 3:PCC 和 RSVP-流量工程Network architecture showing PCE computing paths for PCC using PCEP; PCC uses RSVP-TE to communicate with the network.

PCE 到 PCC 的通信由基于 TCP 的 PCEP 启用。PCC 启动 PCEP 会话,并在 PCEP 会话期间保持与 PCE 的连接。

注意:

从 Junos OS 16.1 版开始,您可以根据 RFC 5440 使用 TCP-MD5 身份验证来保护 PCEP 会话。要为 PCEP 会话启用 MD5 安全机制,建议在 PCEP 会话的层次结构级别定义 [edit protocols pcep pce pce-id] 并绑定 MD5 身份验证密钥。但是,您也可以使用层级中的 [edit security authentication-key-chains key-chain] 预定义密钥链来保护 PCEP 会话。在这种情况下,您应该在层次结构级别将 [edit protocols pcep pce pce-id] 预定义的密钥链绑定到 PCEP 会话中。

PCE 和 PCC 使用相同的密钥来验证在 PCEP 会话的 TCP 连接上发送的每个分段的真实性,从而保护设备之间的 PCEP 通信,这些设备可能会受到攻击并可能中断网络服务。

有关使用 MD5 身份验证保护 PCEP 会话的详细信息,请参阅 PCEP 会话的 TCP-MD5 身份验证。

建立 PCEP 会话后,PCC 将执行以下任务:

  1. LSP 状态同步 — PCC 将有关所有 LSP(本地和外部)的信息发送到所有连接的 PCE。对于外部 LSP,PCC 会向 PCE 发送有关任何配置更改、RRO 更改、状态更改等的信息。

    对于 PCE 启动的 LSP,PCC 上不存在 LSP 配置。启动 LSP 的 PCE 会将 LSP 参数发送到已指示其支持 PCE 启动的 LSP 的能力的 PCC。

    注意:

    Junos OS 13.3 及更高版本中提供了对 PCE 启动的 LSP 的支持。

  2. LSP 委派 — 同步 LSP 状态信息后,PCC 会将外部 LSP 委托给一个 PCE,这是主要的活动状态 PCE。只有主 PCE 可以为外部 LSP 设置参数。主 PCE 修改的参数包括带宽、路径 (ERO) 和优先级(设置和保留)。本地配置中指定的参数将被主 PCE 设置的参数覆盖。

    注意:

    当与主 PCE 的 PCEP 会话终止时,PCC 会选择新的主 PCE,所有委托给之前主 PCE 的 LSP 都将委托给新可用的主 PCE。

    对于 PCE 启动的 LSP,PCC 使用从 PCE 接收到的参数创建 LSP。PCC 为 PCE 启动的 LSP 分配一个唯一的 LSP-ID,并自动将 LSP 委托给 PCE。PCC 无法撤销活动 PCEP 会话的 PCE 发起 LSP 的委托。

    当 PCEP 会话终止时,PCC 会启动两个计时器,而不会立即删除 PCE 启动的 LSP, delegation cleanup timeout 以避免 lsp cleanup timer 服务中断。在此期间,活动状态 PCE 可以通过向 LSP 发送创建请求来获取对故障 PCE 调配的 LSP 的控制权。

    在 到期时 delegation cleanup timeout,对 PCE 启动的 LSP 的控制将恢复到 PCC。当过 delegation cleanup timeout 期且没有其他 PCE 从失败的 PCE 获得对 LSP 的控制权时,PCC 将对未委派的 PCE 启动的 LSP 进行本地控制。稍后,当原始或新的活动有状态 PCE 希望获得对本地控制的 PCE 启动的 LSP 的控制权时,PCC 会将这些 LSP 委托给 PCE,并 lsp cleanup timer 停止计时器。

    PCE 可以将 PCE 发起的 LSP 的委托返回给 PCC,以允许 PCE 之间的 LSP 传输。这会触发 PCE 启动的 LSP。 lsp cleanup timer PCC 等待 LSP 清理计时器过期,然后再从失败的 PCE 中移除非委派的 PCE 启动的 LSP。

    当 到期 lsp cleanup timer 且没有其他 PCE 从故障 PCE 获得对 LSP 的控制权时,PCC 将删除故障 PCE 配置的所有 LSP。

    注意:

    根据 draft-ietf-pce-stateful-pce-09 的规定,在将 LSP 重新委托给备用 PCE 之前,PCC 会以先合后断的方式撤销 PCE 发起的 LSP 委托。从 Junos OS 18.1R1 版开始,PCC lsp-cleanup-timer 必须大于或等于 才能 delegation-cleanup-timeout 撤销 LSP 委派。如果没有,则可以将 PCC 的重新委派超时间隔设置为无穷大,其中该 PCE 的 LSP 委派保持不变,直到 PCC 采取特定操作来更改 PCE 设置的参数。

  3. LSP 信令 — 从主活动状态 PCE 接收到一个或多个 LSP 参数后,PCC 会根据 PCE 提供的路径重新向流量工程 LSP 发出信号。如果 PCC 未能设置 LSP,它会通知 PCE 设置失败,并等待主 PCE 为该 LSP 提供新参数,然后重新发出信号。

    当 PCE 指定的路径不完整或具有松散跃点(其中仅指定了路径端点)时,PCC 不会执行基于本地约束的路由来找出完整的跃点集。相反,PCC 向 RSVP 提供 PCE 提供的路径(按原样)进行信令传输,并且使用 IGP 逐跳路由设置路径。

考虑到 图 2 中使用的拓扑结构, 图 4 说明了启用 MPLS RSVP-流量工程的网络中的部分客户端 PCE 实现。入口路由器 A 和 G 是配置为通过 TCP 连接连接到外部状态式 PCE 的 PCC。

PCE 能够掌握网络中的带宽需求,并在查找流量工程数据库后执行外部路径计算。然后,活动状态式 PCE 会修改一个或多个 LSP 属性,并向 PCC 发送更新。PCC 使用从 PCE 接收到的参数向 LSP 重新发出信号。

图 4:MPLS RSVP-流量工程Network topology with routers A to G, showing LSPs and bandwidth allocations. PCE uses PCEP messages to compute optimal paths.的 PCE 示例

这样,有状态 PCE 提供了分布式功能的协同操作,用于解决最短域间约束路径计算的特定挑战。它消除了拥塞场景,在这种场景中,流量流无法有效地映射到可用资源上,从而导致某些网络资源子集过度利用,而其他资源仍然未得到充分利用。

外部计算的 LSP 行为

LSP 类型

在客户端 PCE 实施中,有三种类型的流量工程 LSP:

  • CLI 控制的 LSP — 未 lsp-external-controller pccd 配置语句的 LSP 称为 CLI 控制的 LSP。尽管这些 LSP 处于本地控制之下,但 PCC 会在初始 LSP 同步过程中使用有关 CLI 控制的 LSP 的信息更新连接的 PCE。初始 LSP 同步后,PCC 还会将任何新的和已删除的 LSP 通知 PCE。

  • PCE 控制的 LSP — 配置 lsp-external-controller pccd 了语句的 LSP 称为 PCE 控制的 LSP。PCC 将 PCC 启动的 LSP 委托给主 PCE 进行外部路径计算。

    PCC 会向 PCE 提供 PCE 控制的 LSP 的配置参数,例如带宽、ERO 和优先级。它还会告知 PCE 这些参数用于设置 LSP(包括 RRO)(如果可用)的实际值。

    只有在发生重新配置或 ERO、RRO 或外部控制下的 PCE 控制的 LSP 状态发生变化时,PCC 才会向 PCE 发送此类 LSP 状态报告。

    有两种类型的参数来自 PCE 的 LSP 的 CLI 配置:

    • 不会被 PCE 覆盖且立即应用的参数。

    • 被 PCE 覆盖的参数。这些参数包括带宽、路径和优先级(设置值和保持值)。当控制模式从外部切换到本地时,这些参数的 CLI 配置值将在下次重新向 LSP 发出信号时应用。这些值不会立即应用。

  • 外部调配 LSP(或 PCE 启动的 LSP)— 配置 lsp-provisioning 了语句的 LSP 称为 PCE 启动的 LSP。PCE 启动的 LSP 由外部 PCE 动态创建;因此,PCC 上不存在 LSP 配置。PCC 使用 PCE 提供的参数创建 PCE 启动的 LSP,并自动将 LSP 委托给 PCE。

    注意:

    Junos OS 13.3 及更高版本中提供了对 PCE 启动的 LSP 的支持。

CLI 控制的 LSP、PCE 控制的 LSP 和 PCE 启动的 LSP 可以在 PCC 上共存。

CLI 控制的 LSP 和 PCE 控制的 LSP 可以在 PCC 上共存。

LSP 控制模式

在客户端 PCE 实现中,PCC 控制的 LSP 有两种类型的控制模式:

  • 外部 — 默认情况下,所有 PCE 控制的 LSP 都在外部控制之下。当 LSP 处于外部控制之下时,PCC 使用 PCE 提供的参数来设置 LSP。

  • 本地 — PCE 控制的 LSP 可处于本地控制之下。当 LSP 从外部控制切换到本地控制时,路径计算使用 CLI 配置的参数和基于约束的路由完成。仅当有触发器重新向LSP发出信号时,才会发生此类切换。在此之前,PCC 使用 PCE 提供的参数向 PCE 控制的 LSP 发出信号,尽管 LSP 仍处于本地控制之下。

PCE 控制的 LSP 在与 PCE 没有连接或 PCE 将 LSP 委派返回回 PCC 等情况下,从其默认外部控制模式切换到本地控制。

有关 CLI 控制的 LSP 和 PCE 控制的 LSP 的更多信息,请参阅 LSP 类型。

外部计算支持的配置语句

表 1 列出了适用于 PCE 控制的 LSP 的 MPLS 和现有 LSP 配置语句。

表 1:MPLS 和现有 LSP 配置对 PCE 控制的 LSP 的适用性

支持 PCE 控制的 LSP

适用的 LSP 配置语句

适用的 MPLS 配置语句

这些配置语句可以与 PCE 配置一起配置。但是,它们仅在使用本地配置时生效。在 PCE 控制期间,这些配置语句保持非活动状态。

  • 管理员组

  • 自动带宽

  • 跳跃限制

  • 最小填充

  • 最多填充

  • 随机

  • 管理员组

  • 管理员组

  • 管理员组扩展

  • 跳跃限制

  • 无 CSPF

  • 智能优化计时器

这些配置语句可以与 PCE 配置一起配置,但会被 PCE 控制的 LSP 属性覆盖。但是,当使用本地配置时,将应用为这些配置语句配置的值。

注意:

当 LSP 处于有状态 PCE 的控制之下时,使用 CLI 对本地配置进行更改不会对 LSP 产生任何影响。这些更改仅在应用本地配置时生效。

  • 带宽

  • 主要内容

  • 优先级

  • 优先级

这些配置语句不能与 PCE 配置一起配置。

  • P2MP

  • 模板

  • p2mp-lsp-下一跳跃

其余 LSP 配置语句的适用方式与现有 LSP 相同。为 PCE 控制的 LSP 配置上述任何配置语句时,将生成一条 MPLS 日志消息,以指示配置的参数何时生效。

PCE 控制的 LSP 保护

保护路径(包括快速重新路由和绕过 LSP)由 PCC 使用基于约束的路由在本地计算。有状态 PCE 仅指定主路径 (ERO)。PCE 还可以触发非备用辅助路径,即使本地配置没有用于 LSP 保护的非备用辅助路径也是如此。

PCE 控制的 LSP ERO

对于 PCE 控制的 LSP(PCC 委托的 LSP 和 PCE 启动的 LSP),只需将一个成熟的显式路由对象 (ERO) 对象从 PCE 发送到 PCC;否则,PCC 将拒绝该 PCEP 会话的 PCUpdate 或 PCCreate 消息。

从 Junos OS 17.2 版开始,除了 之外, external cspf还为 PCE 控制的 LSP 引入了两种新的路径计算类型: local cspf 和 no cspf。

  • local cspf— 仅当 PCE 发送类型为 5 的瞻博网络供应商TLV(企业编号:0x0a4c)时,PCC 才使用 local cspf 计算类型。

  • no cspf- PCE 和 PCC 均不执行约束路径计算。端点和约束将提供给 RSVP 模块,用于使用 IGP 路径设置 LSP。

    PCC 在以下情况下使用 no cspf 计算类型:

    • 当 PCE 发送 local cspf TLV 时,以及当 PCC 委派的 LSP 中包含的此 LSP no-cspf 的 Junos OS 配置或匹配模板时。

    • 当 PCE 发送 local cspf TLV 时,以及当 PCE 启动的 LSP 中包含的此 LSP no-cspf 的 Junos OS 配置模板时。

    • 当 PCE 未发送 local cspf 带有空 ERO 或松散 ERO(在 ERO 对象中设置松散位)的 TLV 时。

通过这些新的计算类型,PCC 可以接受 ERO 对象作为松散 ERO 或空 ERO。无法计算路径的外部路径计算实体可以根据分析修改带宽和颜色等参数。在这种情况下,使用空的 ERO 对象或松散的 ERO,并且要采取的路径由 PCC 决定。

PCE 控制的点对多点 RSVP-流量工程 LSP

在 PCE 和 PCC 之间建立 PCEP 会话后,PCC 会将系统中的所有 LSP 报告给 PCE,以便进行 LSP 状态同步。这包括 PCC 控制、PCE 委托和 PCE 发起的点对点 LSP。 从 Junos OS 15.1F6 和 16.1R1 版开始,此功能也得到了扩展,可报告点对多点 LSP。对于 PCE,点对多点 LSP 类似于 RSVP 点对多点 LSP,其中点对多点 LSP 被视为在点对多点标识符下分组的点对点 LSP 的集合。

默认情况下,PCC 不支持对点对多点 LSP 进行 PCE 控制。要添加此功能,请在 或 [edit protocols pcep pce-group group-id] 层次结构级别包含p2mp-lsp-report-capability[edit protocols pcep pce pce-name]该语句。在 PCC 上配置点对多点报告功能后,PCC 会将此功能播发给 PCE。如果 PCE 作为回报播发相同的点对多点报告功能,则 PCC 会向 PCE 报告完整的点对多点 LSP 树,以实现 LSP 状态同步。

具有点对多点 流量工程 LSP 功能的 PCC 支持报告点对多点 流量工程 LSP,用于有状态 PCE、点对多点更新和支持点对多点 LSP 名称作为密钥的 LSP 数据库。但是,Junos OS 15.1F6 和 16.1 版不支持以下特性和功能:

  • 静态点对多点 LSP

  • PCE 委托和 PCE 发起的点对多点 LSP

  • 自动带宽

  • 流量工程++

  • PCE 请求和回复消息

  • 使用模板创建点对多点 LSP

  • 在 PCE 启动的点对多点 LSP 上配置正向入口

  • 在指向调配 LSP 的路由器上配置转发条目。

PCE 发起的点对点 LSP

从 Junos OS 16.1 版开始,PCEP 功能得到了扩展,允许有状态 PCE 通过 PCC 启动和配置流量工程 LSP。早些时候,LSP 是在 PCC 上配置的,PCC 将对外部 LSP 的控制权委托给 PCE。LSP 状态的所有权由 PCC 维护。引入 PCE 发起的 LSP,PCE 可以动态地启动和配置流量工程点对点 LSP,而无需在 PCC 上本地配置 LSP。从 PCE 收到 PCCreate 消息后,PCC 会创建 PCE 启动的 LSP,并自动将 LSP 委托给 PCE。

默认情况下,PCC 拒绝从 PCE 调配 PCE 启动的点对点 LSP 的请求。要在 PCC 上启用对 PCE 启动的 LSP 的支持,请在 或 [edit protocols pcep pce-group group-id] 层次结构级别包含 [edit protocols pcep pce pce-id] lsp-provisioning 语句。

PCC 表示其在与 PCE 建立路径计算元素协议 (PCEP) 会话的同时支持 PCE 启动的点对点 LSP 的能力。PCE 选择具有此功能的 PCC 来启动 LSP。PCE 向 PCC 提供 PCE 启动的 LSP 参数。在收到 PCE 启动的点对点 LSP 参数后,PCC 会设置 LSP,分配 LSP ID,并自动将 LSP 委托给 PCE。

当启动 LSP 的 PCE 未提供 PCE 启动的点对点 LSP 参数时,PCC 使用默认参数。当 PCE 未提供 LSP 参数时,还可以配置可选的 LSP 模板来为 PCE 启动的点对点 LSP 指定值。要为 PCC 上 PCE 启动的点对点 LSP 配置 LSP 模板,请在层次结构级别包含 [edit protocols mpls lsp-external-controller lsp-external-controller] label-switched-path-template 语句。

当 PCEP 会话终止时,PCC 会启动两个计时器,而不会立即删除 PCE 启动的 LSP 和delegation cleanup timeout lsp cleanup timer,以避免服务中断。在此期间,活动状态 PCE 可以获得对故障 PCE 调配的 LSP 的控制权。

PCE 可以将 PCE 发起的点对点 LSP 的委托返回给 PCC,以允许 PCE 之间的 LSP 传输。在委派清理超时到期时,对 PCE 启动的 LSP 的控制将恢复到 PCC。当委派清理超时到期,并且没有其他 PCE 从失败的 PCE 获得对 LSP 的控制权时,PCC 将对未委派的 PCE 启动的 LSP 进行本地控制。稍后,当原始或新的活动状态 PCE 希望获得对本地控制的 PCE 启动的点对点 LSP 的控制时,PCC 会将这些 LSP 委托给 PCE,并且 LSP 清理计时器将停止。

PCC 等待 LSP 清理计时器过期,然后再从失败的 PCE 中删除非委派 PCE 发起的点对点 LSP。当 LSP 清理计时器到期,并且没有其他 PCE 从故障 PCE 获得对 LSP 的控制权时,PCC 将删除故障 PCE 调配的所有 LSP。

从 Junos OS 21.1R1 版开始,我们可为 PCE 启动的基于 RSVP 的点对点和点对多点 LSP 提供不间断主动路由 (NSR)。只有主路由引擎维护与控制器的 PCEP 会话。它将 PCE 发起的所有 RSVP LSP(包括任何 PCE 发起的 P2MP LSP 的组播流规范)与备份路由引擎同步。在切换期间,PCEP 会话将关闭,当备份路由引擎成为主路由引擎时会重新建立。这减少了在路由引擎切换期间通过 PCE 启动的 RSVP LSP 传输的流量的流量损失。配置 NSR 时将启用此功能。

PCE 启动的旁路 LSP

了解 PCE 启动的旁路 LSP

链路或节点发生故障时可能会出现流量中断,因为网络中的备用保护路径没有足够的带宽来处理流量。在此类网络中,尽管可以使用 PCE 来计算所有路径,但为了优化网络性能,还需要通过 PCE 控制本地保护路径。

Junos OS 19.2R1 及更高版本为互联网草案 draft-cbrt-pce-stateful-local-protection-01(2018 年 12 月到期)提供部分支持, PCEP Extensions for RSVP-流量工程本地保护与 PCE-Stateful,其中 PCEP 功能得到扩展,允许有状态 PCE 为受保护接口启动、配置和管理绕过 LSP。PCE 可启动具有带宽预留的多个旁路 LSP,以保护链路或节点。旁路 LSP 上的带宽预计小于它可能保护的主 LSP 的总带宽。

现有的旁路选择机制首选手册旁路 LSP(如果可用)而不是动态旁路 LSP,已扩展为首选 PCE 调配的旁路 LSP(如果可用)而不是动态旁路 LSP。PCE 调配的旁路 LSP 比动态旁路 LSP 具有更高的优先级,但比手册旁路 LSP 的首选度较低。

用于在任何操作旁路 LSP clear rsvp session上执行的一组操作,例如,也可以在 PCE 启动的旁路 LSP 上执行。您可以使用 和 show path-computation-client lsp 等show path-computation-client status extensive命令查看 PCE 发起的绕过 LSP 统计信息。

借助 PCE 启动的旁路 LSP 的支持,您可以:

  • 从外部控制器通过 PCEP 创建 RSVP 绕过 LSP,其中绕过 LSP:

    • 可以用于链路或节点保护

    • 必须具有非零带宽。

    • 必须具有指定的严格 ERO。

  • 更新现有 PCE 创建的旁路 LSP 的带宽和 ERO。

  • 超额订阅绕过 LSP 带宽,用于主 LSP 的准入控制。这必须是按旁路参数,并且应允许更新每个旁路 LSP 的订阅。

PCE 启动的旁路 LSP 的优势

PCE 启动的旁路 LSP 具有以下优势:

  • 在故障后更好地控制流量,以及更确定地计算保护路径。

  • 满足复杂的约束和多样化要求,例如为 LSP 保持多样化的路径及其本地保护路径。

  • 确保在故障事件期间链路不会过载。

PCEP 会话故障期间 PCE 启动的旁路 LSP 的行为

在 PCEP 会话发生故障时,PCE 启动的旁路 LSP 将成为孤立状态,直到状态超时计时器到期。PCE 启动的旁路 LSP 将在状态超时计时器到期时清理。若要控制 PCE 启动的旁路 LSP(在 PCEP 会话失败后),PCE(主 PCE 或任何辅助 PCE)在状态超时计时器到期之前发送 PCInitiate 消息。

PCE 发起的点对多点 LSP

引入点对多点 PCE 启动的 LSP,PCE 可以动态启动和配置点对多点 LSP,而无需在 PCC 上进行本地 LSP 配置。这使得 PCE 能够控制路径计算元素协议 (PCEP) 会话内和会话之间点对多点路径计算的时序和顺序,从而创建集中控制和部署的动态网络。

有关更多信息,请参阅了解支持 PCE 启动的点对多点 LSP 的 MPLS RSVP-流量工程的路径计算元素协议。

PCEP 中的 SRv6 LSP

分段路由可以应用于 MPLS 和 IPv6 转发平面。路径计算元素 (PCE) 计算 MPLS 和 IPv6 转发平面的 SR 路径。PCEP 的分段路由支持 SR LSP,如 IPv6 转发平面中 PCE 发起、本地创建和委托的 SR LSP。

SRv6 LSP 在 PCEP 中的优势

  • 允许您创建 PCE 启动的 SRv6 LSP。
  • 将路由器上创建的 SRv6 LSP 委托给控制器。
  • 向控制器报告在路由器上本地创建的 LSP。
  • SRv6 网络编程提供了利用分段路由的灵活性,无需部署 MPLS。

PCEP 支持创建、更新和删除 PCE 启动的有色和未着色 SRv6 LSP。当 PCE 启动的 SRv6 LSP 与同一 IP 或基于颜色的 IP 的静态 SRv6 LSP 共存时,静态 SRv6 流量工程 LSP 贡献路由优先于 PCE 启动的 SRv6 流量工程 LSP 贡献路由。

要将 PCEP 会话配置为支持 SRv6,需要在 [edit protocols pcep pce pce-id] 或 [edit protocols pcep pce-group pce-id] 层次结构级别启用srv6-capability配置语句。如果启用了srv6-capability配置语句,则还必须在 [edit protocols source-packet-routing] 层次结构级别启用 srv6 配置语句,否则在提交期间将显示错误。

要为 SR-流量工程配置 SRv6,需要在层次结构级别添加 srv6 配置语句 [edit protocols source-packet-routing]。

[有关详细信息,请参阅 了解 SRv6 隧道的 SR-流量工程策略 。

要为 SRv6 LSP 配置最大分段列表深度,需要在 [edit protocols pcep] 层次结构级别启用maximum-srv6-segment-list-depth配置语句。

自动带宽和 PCE 控制的 LSP

从 Junos OS 14.2R4 版开始,可为 PCE 控制的 LSP 提供自动带宽支持。在早期版本中,自动带宽选项不适用于 PCE 控制的 LSP,尽管受自动带宽和基于约束的路由控制的 LSP 可以与 PCE 控制的 LSP 共存。只有当 PCE 控制的 LSP 的控制模式从外部更改为本地时,自动带宽的统计信息收集才会生效。在PCE未连接或PCE将LSP委派返回PCC等情况下,会发生这种情况。

PCEP 会话的 TCP-MD5 身份验证

有状态的 PCE 服务器可在网络内自动创建流量工程路径,提高网络利用率,并通过使用与 PCC 的 PCEP 通信来实现定制的可编程网络体验。PCC 将 LSP 报告发送到 PCE 服务器,PCE 将 LSP 更新或调配回 PCC。通过 PCEP 会话发送的数据对于 PCE 服务器执行外部路径计算至关重要。因此,对 PCEP 通信的攻击可能会中断网络服务。如果将更改的 PCEP 消息发送到 PCC,则可能会设置不合适的 LSP。同样,如果将更改的 PCEP 消息发送至 PCE,PCE 将获知不正确的网络视图。

考虑到 PCE 和 PCC 之间的 PCEP 通信在有效执行 PCE 功能方面的重要性,Junos OS 16.1 版引入了根据 RFC 5440 使用 TCP-MD5 身份验证保护 PCEP 会话的功能。此功能可保护 PCE 与 PCC 之间通过 PCEP 会话进行的通信,这些会话可能会受到攻击,并可能中断网络服务。

要为 PCEP 会话启用 MD5 安全机制,建议在 PCEP 会话的层次结构级别定义 [edit protocols pcep pce pce-id] 并绑定 MD5 身份验证密钥。但是,您也可以使用层级中的 [edit security authentication-key-chains key-chain] 预定义密钥链来保护 PCEP 会话。在这种情况下,您应该在层次结构级别将 [edit protocols pcep pce pce-id] 预定义的密钥链绑定到 PCEP 会话中。

在 PCC 上执行以下配置,以建立与 PCE 的安全 PCEP 会话:

  • 使用 MD5 身份验证密钥:

  • 使用预定义身份验证钥匙串:

要成功建立安全 PCEP 会话,应在 PCE 服务器和 PCC 上使用预共享身份验证密钥配置 MD5 身份验证。PCE 和 PCC 使用相同的密钥来验证在 PCEP 会话的 TCP 连接上发送的每个分段的真实性。

注意:
  • Junos OS 16.1 版仅支持对 PCEP 会话的 TCP-MD5 身份验证,不扩展对 TLS 和 TCP-AO 的支持,例如防止窃听、篡改和消息伪造。

  • 对 PCEP 会话初始应用安全机制会导致会话重置。

  • 如果 MD5 配置错误或未在 PCEP 会话的一端配置,则不会建立会话。验证 PCC 和 PCE 上的配置是否匹配。

  • 此功能不支持任何会话身份验证机制。

  • 要查看 PCEP 会话使用的身份验证密钥链,请使用 show path-computation-client status 和 show protocols pcep 命令输出。

  • 使用此 show system statistics tcp | match auth 命令查看由于身份验证错误而被 TCP 丢弃的数据包数。

  • 可以使用命令输出验证钥匙串 show security keychain detail 的操作。

客户端 PCE 实施对网络性能的影响

有状态数据库的维护可能并非易事。在单个集中式 PCE 环境中,有状态 PCE 只需记住 PCE 计算的所有 TE 流量工程 LSP、实际设置的流量工程 LSP(如果可以知道),以及流量工程 LSP 被拆除的时间。但是,这些要求在状态、网络使用和处理以及优化整个网络的链路方面会造成巨大的控制协议开销。因此,有状态 PCE 实施的担忧包括:

  • 任何可靠的同步机制都会导致巨大的控制平面开销。PCE 可能会通过相互通信来同步状态,但是当使用在多个 PCE 之间执行的分布式计算来设置流量工程 LSP 时,同步和竞争条件避免问题会变得更大、更复杂。

  • 带外流量工程数据库同步可能很复杂,因为在分布式 PCE 计算模型中设置了多个 PCE,并且容易出现争用条件、可扩展性问题等问题。

  • 包含整体网络状态的路径计算非常复杂,即使 PCE 拥有所有路径、优先级和层的详细信息也是如此。

尽管存在上述担忧,但有状态 PCE 的部分客户端实施在大型流量工程系统中非常有效。它提供了对流量工程 LSP 状态的全局可见性的要求,以及对受控系统内设备之间的路径预留进行有序控制的要求,从而在优化资源利用方面提供了快速融合和显著优势。

示例:配置 MPLS RSVP-流量工程的路径计算元素协议

此示例说明如何通过路径计算元素 (PCE) 为路径计算客户端 (PCC) 上的流量工程标签交换路径(流量工程 LSP)启用外部路径计算。它还演示了如何在 PCC 上配置路径计算元素协议 (PCEP) 以启用 PCE 到 PCC 的通信。

要求

此示例使用以下硬件和软件组件:

  • 三台路由器可以是ACX 系列路由器的组合,M Series多服务边缘路由器、MX 系列5G通用路由平台、T Series 核心路由器或PTX 系列传输路由器,其中一台配置为 PCC。

  • 从 PCC 到外部有状态 PCE 的 TCP 连接。

  • 在 PCC 上运行的 Junos OS 12.3 或更高版本以及 JSDN 附加组件包。

注意:

JSDN 附加组件包必须与核心 Junos OS 安装包一起安装。

开始之前:

  1. 配置设备接口。

  2. 配置 MPLS 和 RSVP-流量工程。

  3. 配置 IS-IS 或任何其他 IGP 协议。

概述

从 Junos OS 12.3 版开始,MPLS RSVP-流量工程功能得到了扩展,可在 PCC 上提供有状态 PCE 架构 (draft-ietf-pce-stateful-pce) 的部分客户端实施。

注意:

有状态 PCE 架构的部分客户端实施基于互联网草案 draft-ietf-pce-stateful-pce 的版本 2。从 Junos OS 16.1 版开始,此实施将升级为支持版本 7,如互联网草案 draft-ietf-pce-stateful-pce-07 中所定义。16.1 之前的版本支持旧版本的 PCE 草案,这会导致运行先前版本的 PCC 与遵守互联网草案 draft-ietf-pce-stateful-pce-07 的有状态 PCE 服务器之间出现互操作性问题。

要通过 PCE 启用外部路径计算,请在 lsp-external-controller 和 [edit mpls lsp lsp-name] 层次结构级别包含 [edit mpls] PCC 上的语句。

使用 lsp-external-controller 语句配置的 LSP 称为 PCE 控制的 LSP,默认情况下处于 PCE 的外部控制之下。活动状态 PCE 可以覆盖从 CLI 设置的参数,例如带宽、路径 (ERO) 和优先级,用于 PCC 的此类 PCE 控制的 LSP。

要启用 PCE 到 PCC 的通信,请在层次结构级别的 [edit protocols] PCC 上配置 PCEP。

在 PCC 上配置 PCEP 时,请注意以下注意事项:

  • JSDN 附加组件包必须与核心 Junos OS 安装包一起安装。

  • Junos OS 12.3 版仅支持有状态 PCE。

  • 一个 PCC 最多可以连接到 10 个有状态 PCE。在任何给定时间点,只能有一个主 PCE(具有最低优先级值的 PCE,或在没有 PCE 优先级的情况下首先连接到 PCC 的 PCE)将 LSP 委托给其进行路径计算。

  • 对于 Junos OS 12.3 版,PCC 始终启动 PCEP 会话。PCC 不接受远程 PCE 发起的 PCEP 会话。

  • 现有 LSP 功能(如 LSP 保护和先断后断)适用于 PCE 控制的 LSP。

  • 尽管受自动带宽和基于约束的路由控制下的 LSP 可以与 PCE 控制的 LSP 共存,但 PCE 控制的 LSP 将关闭自动带宽选项。

  • PCE 控制的 LSP 可由其他 CLI 配置引用,如路由的 LSP 下一跃点、转发邻接、CCC 连接和逻辑隧道。

  • PCE 控制的 LSP 不支持 GRES。

  • 不支持逻辑系统下由 PCE 控制的 LSP。

  • PCE 控制的 LSP 不能是点对多点 LSP。

  • 不支持双向 LSP。

  • 如果没有主路径,PCE 控制的 LSP 就不能有辅助路径。

  • PCE 控制的 LSP 依赖于外部路径计算,这会影响整体设置时间、重新路由和先合后断功能。

  • 在没有 PCE 控制的 LSP 的情况下,现有 LSP 的设置时间和融合时间(重新路由、MBB)与之前的版本相同。然而,在 PCE 控制的 LSP 存在下,可能会产生较小的影响。

  • ERO 计算时间预计将明显高于本地 CSPF。

拓扑结构

图 5:为 MPLS RSVP-流量工程MPLS network topology diagram with a PCE server IP 10.209.57.166 and a PCC router. Routers R0 to R3 are interconnected, forming a mesh network with loopback IPs 10.255.179.96 to 10.255.179.99.配置 PCEP

在此示例中,PCC 是连接到外部活动状态式 PCE 的入口路由器。

路由器 PCC 的外部 LSP 计算方式如下:

  1. 路由器 PCC 接收使用 CLI 设置的 LSP 隧道配置。假设接收到的配置启用了外部路径计算,路由器 PCC 会意识到某些 LSP 属性(带宽、路径和优先级)处于有状态 PCE 的控制之下,并将 LSP 委托给 PCE。

    在此示例中,将调用 PCC-to-R2 外部LSP,并将其从路由器PCC设置到路由器R2。CLI 配置的 ERO PCC-to-R2 为 PCC-R0-R1-R2。带宽 PCC-to-R2 为 10m,建立和保持优先级值均为 4。

  2. 路由器 PCC 尝试检索 PCE 控制的 LSP 属性。为此,路由器 PCC 向状态式 PCE 发送一条 PCRpt 消息,说明 LSP 已配置。PCRpt 消息传达 LSP 的状态,并包含 LSP 的本地配置参数。

  3. 有状态 PCE 修改一个或多个委托的 LSP 属性,并通过 PCUpd 消息将新的 LSP 参数发送到路由器 PCC。

  4. 收到新的 LSP 参数后,路由器 PCC 会设置新的 LSP,并使用 PCE 提供的路径重新发出信号。

    在此示例中,PCE 提供的 ERO PCC-to-R2 为 PCC-R3-R2。的 PCC-to-R2 带宽为 8m,设置和保持优先级值均为 3。

  5. 路由器 PCC 将包含新 RRO 的 PCRpt 发送到有状态 PCE。

配置

CLI 快速配置

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

PCC

R0

R1

R2

R3

过程

分步程序

下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅在 配置模式下使用 CLI 编辑器。

要配置路由器 PCC:

注意:

在修改每个路由器的相应接口名称、地址和任何其他参数之后,对 MPLS 域中的每个瞻博网络入口路由器重复此路由器此过程。

  1. 配置接口。

    要启用 MPLS,请在接口上包含协议家族,以便接口不会丢弃传入的 MPLS 流量。

  2. 在路由器 PCC 的所有接口上启用 RSVP,管理接口除外。

  3. 配置从路由器 PCC 到路由器 R2 的标签交换路径 (LSP),并由 PCE 启用对 LSP 的外部控制。

  4. 配置从路由器 PCC 到路由器 R2 的 LSP,路由器 R2 具有本地控制权,并由 PCE 提供的 LSP 参数覆盖。

  5. 在路由器 PCC 的所有接口上启用 MPLS,管理接口除外。

  6. 在路由器 PCC 的所有接口上配置 IS-IS,管理接口除外。

  7. 定义路由器 PCC 连接到的 PCE,并配置 PCE 的 IP 地址。

  8. 为使用基于 TCP 的 PCEP 连接到 PCE 的路由器 PCC 配置目的端口。

  9. 配置 PCE 类型。

结果

在配置模式下,输入和show interfacesshow protocols命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

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

验证

确认配置工作正常。

验证 PCEP 会话状态

目的

当 PCE 状态为 up 时,验证 PCE 与路由器 PCC 之间的 PCEP 会话状态。

行动

在操作模式下,运行命令 show path-computation-client active-pce 。

意义

输出显示有关路由器 PCC 连接到的当前活动状态 PCE 的信息。 PCE status 输出字段表示 PCE 与路由器 PCC 之间 PCEP 会话的当前状态。

对于 pce1,PCEP 会话的状态为 PCE_STATE_UP,表示 PCEP 会话已在 PCEP 对等方之间建立。

的 PCRpts 统计信息表示路由器PCC向PCE发送的消息数,用于报告LSP的当前状态。统计信息表示 PCUpdates 路由器 PCC 从 PCE 接收的消息数。这些 PCUpdates 消息包括 PCE 控制的 LSP 的 PCE 修改参数。

当 LSP 控制为外部时,验证 PCE 控制的 LSP 状态

目的

当 LSP 处于外部控制之下时,验证从路由器 PCC 到路由器 R2 的 PCE 控制 LSP 的状态。

行动

在操作模式下,运行命令 show mpls lsp name PCC-to-R2 extensive 。

意义

在输出中,和LSPtypeLSP Control Status输出字段显示 LSP 受外部控制。输出还显示路由器 PCC 与 PCE 之间发送的 PCEP 消息的日志。

PCE 与路由器 PCC 之间的 PCEP 会话已开启,路由器 PCC 接收以下 PCE 控制的 LSP 参数:

  • ERO(路径)— 20.31.4.2 和 20.31.5.2

  • 带宽 - 8Mbps

  • 优先级 - 3、3(设置和保留值)

当 LSP 控制为本地时,验证 PCE 控制的 LSP 状态

目的

当 LSP 控制变为本地时,验证从路由器 PCC 到路由器 R2 的 PCE 控制 LSP 的状态。

行动

在操作模式下,运行命令 show mpls lsp name PCC-to-R2 extensive 。

意义

在输出中, LSP Control Status 输出字段显示 LSP 处于本地控制之下。尽管 PCE 控制的 LSP 处于本地控制之下,但路由器 PCC 将继续使用 PCE 提供的参数,直到下一次机会重新向 LSP 发出信号。

现在,输出显示使用 CLI 配置的 LSP 参数,以及用于将 LSP 建立为实际使用的 PCE 提供的参数。

  • 带宽 - 10Mbps(实际带宽:8Mbps)

  • 优先级 - 4 4(实际优先级 3 3)

在触发器上重新向 LSP 发出信号,路由器 PCC 使用本地配置参数来建立 PCE 控制的 LSP。

是 Computed ERO 20.31.1.2、20.31.2.2 和 20.31.8.2。PCE 控制的 LSP 使用本地配置参数建立。

示例:在支持 PCE 启动的点对点 LSP 的 MPLS RSVP-流量工程中配置路径计算元素协议

此示例说明如何配置路径计算客户端 (PCC),使其能够支持路径计算元素 (PCE) 启动的流量工程点对点标签交换路径 (LSP)。

要求

此示例使用以下硬件和软件组件:

  • 三台路由器,可以是 ACX 系列、M Series、MX 系列 或 T Series 路由器的组合。

  • 从入口路由器 (PCC) 到两个外部有状态 PCE 的 TCP 连接。

  • 在 PCC 上运行的 Junos OS 16.1 或更高版本。

开始之前:

  • 配置设备接口。

  • 配置 MPLS 和 RSVP-流量工程(RSVP 流量工程)。

  • 配置 OSPF 或任何其他 IGP 协议。

概述

从 Junos OS 16.1 版开始,PCEP 功能得到了扩展,允许有状态 PCE 通过 PCC 启动和配置流量工程 LSP。早些时候,LSP 是在 PCC 上配置的,PCC 将对外部 LSP 的控制权委托给 PCE。LSP 状态的所有权由 PCC 维护。引入 PCE 发起的 LSP,PCE 可以动态地启动和配置流量工程点对点 LSP,而无需在 PCC 上本地配置 LSP。从 PCE 收到 PCCreate 消息后,PCC 会创建 PCE 启动的 LSP,并自动将 LSP 委托给 PCE。

为 PCC 配置对 PCE 启动的点对点 LSP 的支持时,请注意以下注意事项:

  • Junos OS 13.3 版仅支持有状态 PCE。

  • 对于 Junos OS 13.3 版,PCC 始终启动 PCEP 会话。PCC 不接受远程 PCE 发起的 PCEP 会话。

  • 现有 LSP 功能(如 LSP 保护和先成后断)适用于 PCE 启动的 LSP。

  • PCE 启动的 LSP 不支持平滑路由引擎切换 (GRES)。

  • 不支持逻辑系统下 PCE 启动的 LSP。

  • PCE 启动的 LSP 不能是点对多点 LSP。

  • 不支持双向 LSP。

  • 不支持对无编号链路进行 RSVP-流量工程。PCE 启动的 LSP 仅支持编号链路。

  • 启动分段路由 LSP 的 PCE 可以使用与非彩色分段路由 LSP 关联的绑定分段 ID (SID) 标签来配置 PCE 启动的分段路由 LSP 路径。

    从 Junos OS 18.2R1 版开始,入口设备上静态配置的非彩色分段路由 LSP 将通过 PCEP 会话报告给 PCE。这些非彩色分段路由 LSP 可能具有与之关联的绑定 SID 标签。借助此功能,PCE 可以在标签堆栈中使用此绑定 SID 标签来配置 PCE 启动的分段路由 LSP 路径。

拓扑结构

图 6:用于 MPLS RSVP-流量工程的 PCE 启动的点对点 LSP 示例Network topology diagram with PCE1 and PCE2 servers, routers PCC, R1, and R2, showing IP addresses and interface connections for routing and path computation.

在此示例中,PCC 是连接到两个外部状态 PCE(PCE1 和 PCE2)的入口路由器。

当有新需求时,活动状态 PCE 会动态启动 LSP 以满足要求。由于 PCC 配置了支持 PCE 启动的 LSP 的功能,因此 PCC 上的路径计算执行如下:

  1. PCE 向 PCC 发送 PCCreate 消息以启动和配置 LSP。PCC 使用从 PCE 接收的参数设置 PCE 启动的 LSP,并自动将 PCE 启动的 LSP 委托给启动它的 PCE。

    在此示例中,PCE1 是在 PCC 上启动和调配 PCE 启动的 LSP。收到 PCE 启动的 LSP 参数后,PCC 会设置 LSP 并自动将 PCE 启动的 LSP 委托给 PCE1。

  2. 当 PCC 和 PCE1 之间的 PCEP 会话终止时,PCC 会为 PCE1 启动的 LSP 启动两个计时器:delgation 清理超时和 LSP 清理计时器。在此期间,PCE1 或 PCE2 可以获得对 PCE 启动的 LSP 的控制。

  3. 如果 PCE2 在 LSP 清理计时器到期之前获得对 PCE 启动的 LSP 的控制权,则 PCC 会将 PCE 启动的 LSP 委托给 PCE2,并且 LSP 清理计时器和委派清理超时将停止。

  4. 如果委派清理超时已过期,并且 PCE1 和 PCE2 均未获得对 PCE 启动的 LSP 的控制权,则 PCC 会对未委派的 PCE 启动的 LSP 进行本地控制,直到 LSP 清理计时器到期。

  5. LSP 清理计时器到期后,PCC 将删除 PCE1 调配的 PCE 发起的 LSP。

配置

CLI 快速配置

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

PCC

R1

R2

过程

分步程序

下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅在 配置模式下使用 CLI 编辑器。

要配置 PCC 路由器,请执行以下操作:

注意:

在修改每个路由器的相应接口名称、地址和任何其他参数之后,对 MPLS 域中的每个瞻博网络入口路由器重复此路由器此过程。

  1. 配置接口。

    要启用 MPLS,请在接口上包含协议家族,以便接口不会丢弃传入的 MPLS 流量。

  2. 在 PCC 的所有接口上启用 RSVP,管理接口除外。

  3. 通过 PCE 启用对 LSP 的外部控制。

  4. 在 PCC 的所有接口上启用 MPLS,管理接口除外。

  5. 在 PCC 的所有接口上配置 OSPF,管理接口除外。

  6. 定义 PCE 组,并为 PCE 组启用 PCE 启动的 LSP 支持。

  7. 定义连接到 PCC 的 PCE。

结果

在配置模式下,输入和show interfacesshow protocols命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

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

验证

确认配置工作正常。

验证 PCC 状态

目的

验证 PCC 与连接的 PCE 之间的 PCEP 会话状态和 LSP 摘要。

行动

在操作模式下,运行命令 show path-computation-client status 。

意义

输出显示活动状态 PCE 与 PCC 之间的 PCEP 会话状态。它还显示有关 PCC 上不同类型 LSP 的信息,以及由连接的 PCE 配置和委托给它们的 LSP 数量。

PCE1 是主要的活动 PCE,具有一个由 PCE 启动的 LSP,该 LSP 已由 PCC 自动委托给它。

验证 PCE1 状态

目的

验证主活动状态式 PCE 的状态。

行动

在操作模式下,运行命令 show path-computation-client active-pce detail 。

意义

输出显示有关 PCC 所连接的当前活动状态式 PCE 的信息。 PCE status 输出字段表示 PCE 与 PCC 之间 PCEP 会话的当前状态。

对于 PCE1,PCEP 会话的状态为 PCE_STATE_UP,表示已与 PCC 建立 PCEP 会话。

外部调配 LSP 时验证 PCE 启动的 LSP 状态

目的

验证 PCE 启动的 LSP 的状态。

行动

在操作模式下,运行命令 show mpls lsp externally-provisioned detail 。

意义

在输出中, LSPtype 输出字段显示 LSP 已进行外部调配。

PCC 和 PCE1 之间的 PCEP 会话已启动,并且 PCC 接收以下 PCE 启动的 LSP 参数:

  • ERO(路径)— 10.0.102.10 和 10.0.101.9

  • 带宽 - 8 Mbps

  • 优先级 — 7 0(设置和保留值)

配置 MPLS RSVP-流量工程的路径计算元素协议,支持 PCE 启动的点对点 LSP

您可以配置路径计算客户端 (PCC),以支持从集中式外部路径计算实体动态创建的标签交换路径 (LSP)。有状态路径计算元素 (PCE) 可用于执行外部路径计算,并在需求增加时生成动态 LSP。

当 PCE 未配置 LSP 时,PCC 使用 PCE 提供的 LSP 参数或预配置 LSP 模板中的参数创建 PCE 启动的点对点 LSP,并自动将 PCE 启动的点对点 LSP 委托给相应的 PCE。因此,对于 PCE 启动的 LSP,无需在 PCC 上本地配置 LSP。

CLI 控制的 LSP、PCE 控制的 LSP 和 PCE 启动的 LSP 可以在 PCC 上相互共存。

开始之前:

  • 配置设备接口。

  • 配置 MPLS 和 RSVP-流量工程。

  • 配置 OSPF 或任何其他 IGP 协议。

要将 PCC 配置为支持 PCE 启动的点对点 LSP,请完成以下任务:

  1. 在配置模式下,转至以下层级:
  2. 指定 PCC 每分钟最多可接收的消息数。
  3. 指定 PCC 最多可接受的所有连接 PCE 上的外部调配标签交换路径 (LSP) 数量。
  4. 为连接的 PCE 指定唯一的用户定义 ID,以配置 PCE 参数。
  5. 指定 PCEP 会话断开连接后,PCC 在将 LSP 控制权返回给路由协议进程之前必须等待的时间量(以秒为单位)。
  6. 指定要连接的 PCE 的 IPv4 地址。
  7. 指定 PCE 使用的 TCP 端口号

    该值的范围为 1 到 65535,默认值为 4189。

  8. 指定 PCEP 会话终止后,PCC 在从故障 PCE 中删除任何非委派 PCE 启动的 LSP 之前必须等待的时间量(以秒为单位)。
  9. 将 PCC 配置为接受由连接的 PCE 进行外部调配的 SP。默认情况下,PCC 拒绝 PCE 启动的 LSP。
  10. 指定 PCC 每分钟最多可接收的未知消息数,之后 PCEP 会话将关闭。

    该值的范围可以从 1 到 16384,默认值为 0(禁用或无限制)。

  11. 指定 PCC 每分钟最多可接收的未知请求数,之后 PCEP 会话将终止。

    该值的范围为 0 到 16384,默认值为 5。值为 0 将禁用此语句。

  12. 配置 PCE 类型。
  13. 指定 PCC 在重新发送请求之前必须等待回复的时间量(以秒为单位)。

    该值的范围可以从 0 到 65535 秒。

  14. 验证并提交配置。

示例输出

示例:为 MPLS RSVP-流量工程配置路径计算元素协议,支持 PCE 控制的点对多点 LSP

此示例说明如何配置路径计算客户端 (PCC),以便将点对多点流量工程标签交换路径(流量工程 LSP)报告到路径计算元素 (PCE)。

要求

此示例使用以下硬件和软件组件:

  • 三台路由器,可以是 ACX 系列、M Series、MX 系列 或 T Series 路由器的组合。

  • 一台配置了虚拟路由反射器 (VRR) 功能的虚拟机。

  • 从 VRR 到外部有状态 PCE 的 TCP 连接。

  • 在 PCC 上运行的 Junos OS 16.1 或更高版本。

开始之前:

  • 配置设备接口。

  • 配置 MPLS 和 RSVP-流量工程。

  • 配置 OSPF 或任何其他 IGP 协议。

概述

在 PCE 和 PCC 之间建立 PCEP 会话后,PCC 会将系统中的所有 LSP 报告给 PCE,以便进行 LSP 状态同步。这包括 PCC 控制、PCE 委托和 PCE 发起的点对点 LSP。 从 Junos OS 15.1F6 和 16.1R1 版开始,此功能也得到了扩展,可报告点对多点 LSP。

默认情况下,PCC 不支持对点对多点 LSP 进行 PCE 控制。要添加此功能,请在 或 [edit protocols pcep pce-group group-id] 层次结构级别包含p2mp-lsp-report-capability[edit protocols pcep pce pce-name]该语句。

拓扑结构

图 7:PCE 控制的点对多点 LSPNetwork topology diagram with PCE, routers R3, PCC, R1, and R2. Shows interconnections, IP addresses, and interface configurations for network design or testing. 示例

在此示例中,PCC 是入口路由器,路由器 R1 是中转路由器,路由器 R2 是出口路由器。PCC 连接到连接到 PCE 的虚拟路由反射器 (VRR)。PCC、路由器 R1 和路由器 R2 之间有许多点对多点接口。

点对多点 LSP 的报告执行方式如下:

  1. 如果路由器 PCC 配置了点对点和点对多点 LSP,但不支持点对多点报告功能,则只会将点对点 LSP 报告给连接的 PCE。默认情况下,PCC 不支持点对多点 LSP 报告功能。

  2. 当路由器 PCC 配置了点对多点 LSP 报告功能时,PCC 首先通过报告消息将此功能播发给 PCE。

  3. 默认情况下,PCE 支持点对多点 LSP 功能。在收到 PCC 的点对多点 LSP 功能播发后,PCE 会向 PCC 播发其功能。

  4. 在收到 PCE 的点对多点功能播发后,PCC 会使用更新消息向 PCE 报告点对多点 LSP 的所有分支。

  5. 将所有 LSP 报告给 PCE 后,LSP 状态将在 PCE 和 PCC 之间同步。

配置

CLI 快速配置

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

PCC

R1

R2

R3

过程

分步程序

下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅在 配置模式下使用 CLI 编辑器。

要配置 PCC 路由器,请执行以下操作:

  1. 配置路由器 PCC 的接口。要启用 MPLS,请在接口上包含协议家族,以便接口不会丢弃传入的 MPLS 流量。

  2. 为路由器 PCC 配置自治系统编号。

  3. 在路由器 PCC 的所有接口上启用 RSVP,管理接口除外。

  4. 在路由器 PCC 的所有接口上启用 MPLS,管理接口除外。

  5. 配置动态 LSP 并禁用 LSP 的自动路径计算。

  6. 配置点对多点 LSP 并为 LSP 定义外部路径计算实体。

  7. 为 MPLS LSP 启用外部路径计算,并为外部配置的 LSP 分配模板。

  8. 配置具有本地控制并被 PCE 提供的 LSP 参数覆盖的 LSP。

  9. 为受限路径 LSP 计算配置 MPLS 管理组策略。

  10. 将配置的安全组策略分配给路由器 PCC 接口。

  11. 配置流量工程数据库 (TED) 导入策略。

  12. 配置 BGP 内部组。

  13. 为 BGP 配置流量工程并分配导出策略。

  14. 在路由器 PCC 的所有点对多点接口上配置 OSPF 区域 0。

  15. 在路由器 PCC 的点对点接口上配置 OSPF 区域 0。

  16. 为 OSPF 启用流量工程。

  17. 定义路由器 PCC 连接到的 PCE,并配置 PCE 参数。

  18. 配置路由器 PCC,为外部路径计算启用点对多点 LSP 功能。

  19. 配置流量工程策略。

结果

在配置模式下,输入和show interfacesshow protocols命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

验证

确认配置工作正常。

验证 PCC 上的 LSP 配置

目的

验证点对多点 LSP 的 LSP 类型和运行状态。

行动

在操作模式下,运行命令 show mpls lsp extensive 。

意义

输出显示 lsp2-pcc LSP 为 PCE 控制的 LSP。

验证 PCC 上的 PCE 配置

目的

验证 PCE 参数配置和 PCE 状态。

行动

在操作模式下,运行命令 show path-computation-client active-pce 。

意义

输出显示路由器 PCC 连接到的活动 PCE,以及 pce1 PCE 参数和状态。

了解 MPLS RSVP-流量工程的路径计算元素协议,支持 PCE 启动的点对多点 LSP

引入点对多点 PCE 启动的 LSP,PCE 可以动态启动和配置点对多点 LSP,而无需在 PCC 上进行本地 LSP 配置。这使得 PCE 能够控制路径计算元素协议 (PCEP) 会话内和会话之间点对多点路径计算的时序和顺序,从而创建集中控制和部署的动态网络。

PCE 启动的点对多点 LSP 的优势

通过动态创建和拆解点对多点 LSP,满足针对应用需求进行点对多点流量工程 LSP 放置的要求,从而创建集中控制和部署的动态网络。

PCE 启动的点到多点 LSP 的信令

PCE 发起的点对多点 LSP 的信令如下:

  • When a new branch is added (Grafting)— 仅向新的分支子 LSP 发出信号,不会导致整个点对多点树重新发出信号。

    如果在调配新子 LSP 之前发生任何拓扑更改,则路径计算服务器 (PCS) 会重新计算整个点对多点树,并使用 PC 更新消息更新点对多点 LSP。

  • When a branch is deleted (Pruning)— 已删除的分支子 LSP 将被拆除,不会导致整个点对多点树重新发出信令。

  • When a branch sub-LSP parameter is changed— 子LSP参数(如显式路由对象(ERO)、带宽或优先级)的更改可能是由于优化或根据用户请求而发生的。如果子 LSP 有重新信令请求,则会重新发出整个点对多点树的信号,然后在所有分支的新实例启动后切换到新实例。

  • When a branch sub-LSP path fails— 向 PCS 报告故障分支子 LSP 的错误。从 PCS 接收新的 ERO 后,整个点对多点树将与故障分支子 LSP 一起重新发出信号,并以先修后断 (MBB) 方式切换到新实例。

PCEP 会话失败后 PCE 发起的点对多点 LSP 的行为

当 PCEP 会话失败时,PCE 启动的点对多点 LSP 将成为孤立状态,直到计时器到期 state timeout 。计时器到期后 state timeout ,PCE 启动的 LSP 将被清理。

为了在 PCEP 会话故障后获得对 PCE 发起的点对多点 LSP 的控制,主 PCE 或辅助 PCE 在计时器到期之前state timeout发送一条PCInitiate消息。

配置 PCE 启动的点对多点 LSP 功能

默认情况下,PCC 不支持 PCE 创建和调配点对多点 LSP。要启用此功能,请在 或 [edit protocols pcep pce-group group-id] 层次结构级别包括 p2mp-lsp-init-capability [edit protocols pcep pce pce-name] 和 p2mp-lsp-update-capability 语句。

该 p2mp-lsp-init-capability 语句提供通过 PCE 配置点对多点 RSVP-流量工程 LSP 的功能。该 p2mp-lsp-update-capability 语句提供通过 PCE 更新点对多点 RSVP-流量工程 LSP 参数的功能。

PCE 启动的点对多点 LSP 支持和不支持的功能

PCE 启动的点对多点 LSP 支持以下功能:

  • 部分符合互联网草案 draft-ietf-pce-stateful-pce-p2mp(2018 年 10 月到期)、路径 计算元素 (PCE) 协议扩展,用于点对多点流量工程标签交换路径的有状态 PCE 使用。

  • 从 Junos OS 21.1R1 版开始,我们可为 PCE 启动的基于 RSVP 的点对多点 LSP 提供不间断主动路由 (NSR)。只有主路由引擎维护与控制器的 PCEP 会话。它将 PCE 发起的所有 RSVP LSP(包括任何 PCE 发起的 P2MP LSP 的组播流规范)与备份路由引擎同步。在切换期间,PCEP 会话将关闭,当备份路由引擎成为主路由引擎时会重新建立。这减少了在路由引擎切换期间通过 PCE 启动的 RSVP LSP 传输的流量的流量损失。配置 NSR 时将启用此功能。

PCE 启动的点对多点 LSP 不支持以下功能:

  • 点对多点本地控制 LSP 的委托。

  • LSP 控制委派。

  • 内部网关协议 (IGP) 扩展,用于在 IGP 路由域中发现 PCE。

  • 请求/响应消息传递。

  • 分支子 LSP 从一个点对多点树直接移动到另一个树。

    通过从第一个点对多点树中删除分支子 LSP,并在消息指示从设备中删除 LSP 后将其 PCReport 重新添加到另一个,可以实现相同的效果。

  • 不支持 IPv6。

  • 不支持基于 SERO 的信令。

  • 不支持空 ERO 功能。

  • 不支持链路保护。

将 PCE 启动的点到多点 LSP 映射到 MVPN

您可以将单个或一系列 MVPN 组播流 (S,G) 与动态创建的 PCE 启动的点对多点标签交换路径 (LSP) 相关联。只能指定有选择性的流类型,以使此功能正常工作。其中包括:

  • 路由识别符 (RD),映射到 MVPN 路由实例。

  • (S,G),它是组播数据包的源和目标组播组地址。这用于过滤传入流量以将其映射到隧道。

  • 点对多点 LSP,用于发送符合上述流量规范的流量。

有关更多详细信息,请参阅互联网草案 draft-ietf-pce-pcep-flowspec-05(2020 年 2 月 16 日到期) 流规范的 PCEP 扩展。

此功能的当前实现未实现草案的以下部分:

  • 第 3.1.2 节 — 在 IGP 中宣传 PCE 功能

  • 第 3.2 节 - PCReq 和 PCRep 消息

  • 第 7 节 — 除路由分配外,大多数流量规范不支持此功能的当前实施,也不支持 IPv4 组播流量规范。

要启用 PCE 启动的点到多点 LSP 到 MVPN 的映射:

  • 在层次结构级别包含[edit protocols pcep pce pce-id]该pce_traffic_steering语句,以指示 PCC 对流规范功能(也称为流量引导)的支持。

  • 在层次结构级别包括[edit routing-instances routing-instance-name provider-tunnel]该external-controller语句。

    在 MVPN 的提供商隧道配置中存在 表示 external-controller 此 MVPN 实例的点对多点 LSP 和 (S,G) 可由外部控制器提供。这使外部控制器能够为 MVPN 动态配置 (S,G) 和点对多点 LSP。

将 PCE 启动的点到多点 LSP 映射到 MVPN 时,请考虑以下事项:

  • 如果未为特定 MVPN 实例启用该 external-controller pccd 语句,则 PCCD 进程不会动态配置 (S,G)。

  • 如果从 CLI 禁用配置 external-controller pccd ,则该特定 MVPN 实例的动态学习组播流 (S,G) 将被删除并报告给外部控制器。

  • 当已从 CLI 配置 (S,G) 时,PCC 无法动态配置 (S,G),因为本地配置具有更高的优先级。

  • 如果从外部控制器动态学习了任何特定的 (S,G),然后您为同一 MVPN 实例配置了相同的 (S,G),则动态学习的 (S,G) 将被删除,并通过 PCC 报告给外部控制器。

  • 如果路由协议进程重新启动,则 PCCD 进程将再次重新配置所有 (S,G)。

  • 如果PCCD进程重新启动,则MVPN会向外部控制器报告所有配置的PCCD(S,G)。

  • 如果用户为特定 MVPN 实例启用 external-controller pccd ,则 MVPN 会请求对 PCCD 进程进行配置 (S,G)(如果存在)。

  • 如果特定 MPVN 实例发生重大配置更改,则 MVPN 会请求 PCCD 进程为该特定 MVPN 实例重新配置所有 (S,G)。

  • 与任何 PCE 启动的点对多点 LSP 关联的所有流规格都必须具有相同的 RD。在 PC 启动期间,如果所有流量规格没有相同的 RD,则 PC 启动消息将被丢弃并显示错误。

  • 您只能将点对多点 LSP 与选择性类型的流量规范相关联,否则 PC 启动消息将被丢弃并显示错误。

  • 在 PC 更新期间,如果由于添加了新的流规范或由于现有流规范更新,所有流规范的 RD 都不相同,则 PCC 将丢弃更新消息。

  • 在 PC 更新期间,如果由于添加了新的流量规范或由于现有流量规格更新而导致所有流量规格都不满足选择条件,则 PCC 将丢弃更新消息。

  • PCE 启动的点到多点 LSP 与 MVPN 路由实例的映射,以及静态(本地配置的)点到多点 LSP 与 MVPN 实例的映射在用户级别的行为是相同的。

  • 一个流规范 ID 只能与一个点对多点 LSP 相关联。要将相同的 RD 和 (S,G) 关联到多个点对多点 LSP,可以添加具有不同 ID 和相同 RD & (S,G) 的多个流规范。

  • 对于 PCEP 映射的动态 (S,G),阈值始终是 的默认值 0。

  • 映射到单个 PCE 发起的点对多点 LSP 的流规范数量没有限制。

  • 此功能的当前实现不支持:

    • 报告与点对多点 LSP 关联的转发状态。

    • 包容性提供商隧道动态配置

    • MVPN 入口复制隧道的映射

    • 可编程路由协议进程 (prpd)

    • 报告映射到 MVPN 组播流 (S,G) 的 CLI 配置的点对多点 LSP。

为路径计算元素协议启用分段路由

您可以使用路径计算元素协议 (PCEP) 来启用分段路由或网络源数据包路由 (SPRING) 流量工程 (SR-流量工程),用于流量引导。有了这种支持,分段路由的优势将扩展到由路径计算元素 (PCE) 外部控制的标签交换路径 (LSP)。

路径计算元素的分段路由协议概述

PCEP 分段路由的优势

  • 通过外部控制器设置 LSP,可以全面了解网络上每个 LSP 和每台设备的带宽需求,从而实现基于约束的在线实时路径计算。

    分段路由的优势扩展到了由外部控制器(也称为路径计算元素 (PCE))启动的 LSP,增强了 MPLS 网络中外部路径计算的优势。

  • 当 PCEP 会话关闭时,具有委派功能的路径计算客户端(PCC,是一种入口 MX 系列路由器)可以从 PCE 收回对委派分段路由 LSP 的控制权;否则,LSP 将从 PCC 中删除。因此,您可以通过避免数据包被静默丢弃或丢弃(也称为空路由情况)的情况来确保 LSP 数据保护。

用于流量工程的分段路由

分段路由可在 IPv4 或 IPv6 数据平面上运行,并支持等价多路径 (ECMP)。借助内置的 IGP 扩展,分段路由可以与 MPLS 丰富的多服务功能集成在一起,包括第 3 层 VPN、虚拟专用有线服务 (VPWS)、虚拟专用 LAN 服务 (VPLS) 和以太网 VPN (EVPN)。

分段路由流量工程 (SR-流量工程) 解决方案的一些高级组件包括:

  • 将 IGP 用于播发链路特性。此功能类似于 RSVP-流量工程。

  • 在入口设备或 PCE 上使用约束最短路径优先 (CSPF)。

  • 使用 IGP 为链路贴上广告标签。

    在 SR-流量工程功能中:

    1. 入口设备通过堆叠要遍历的链路的标签来构建 LSP。

    2. 每链路的 IGP 播发与标签堆叠相结合,可在入口设备上创建源路由 LSP,因此传输设备无法感知端到端 LSP。

    3. LSP 在边缘节点之间创建,不会对传输设备设置任何针对 LSP 的内存要求。(由于 SR-流量工程中没有基于 LSP 的信令,因此启用了此类 LSP 的创建。)

    4. 每个邻居的标签会堆叠,这导致管理大量标签,从而导致控制平面扩展。

适用于 PCEP 的分段路由的 Junos OS 实施

Junos OS 为两种类型的 LSP(PCE 发起的 LSP 和 PCE 委托的 LSP)实施 PCEP 的分段路由。

PCE 发起的分段路由 LSP

PCE 启动的分段路由 LSP 是 PCE 为邻接分段和节点分段创建的 LSP

PCE 执行以下功能:

  1. 计算分段路由 LSP 的路径。

  2. 使用 PCEP 分段路由扩展在路径计算客户端 (PCC) 上调配 LSP。

  3. 解析 PCEP 分段路由扩展。

  4. 在 PCC 上创建一个具有自己优先级值的隧道路由,并在 inet.3 路由表中可用,以便像任何其他隧道路由一样解析 IP 流量和服务。

PCC 执行以下功能:

  1. 根据源显式路由对象 (S-ERO) 中的第一个网络访问标识符 (NAI) 选择传出接口。

    Junos OS 支持将第一个跃点作为严格跃点的 S-ERO;Junos OS 不支持根据松散跃点节点分段 ID (SID) 选择 PCC 上的传出接口。但是,剩余的啤酒花可能是松散的。对于超出第一跃点的 S-ERO,除了仅使用标签进行下一跃点创建外,不会对超出第一跃点的 S-ERO 执行任何特定处理。

  2. 如果出现以下情况,则拒绝 S-ERO:

    • S-ERO 中没有标签。

    • S-ERO 携带六个以上的跳跃。

    当有多个 LSP 到具有相同指标的同一目标时,PCC 会创建等价多路径 (ECMP) 路由。

  3. 等待 PCE 处理任何导致分段路由 LSP 在配置后发生变化的事件,例如,如果标签发生更改或撤销,或者 LSP 遍历的一个接口发生故障。

当 PCEP 会话关闭时,PCE 启动的分段路由 LSP:

  1. 保持运行状态 300 秒。

  2. 300 秒后从 PCC 中删除。

有关更多详细信息,请参阅互联网草案draft-ietf-pce-lsp-setup-type-03.txt(2015 年 12 月 25 日到期), PCEP 消息中的传送路径设置类型;以及draft-ietf-pce-segment-routing-06.txt(2016 年 2 月 10 日到期), 分段路由 PCEP 扩展。

PCE 委托的分段路由 LSP

PCE 委托的分段路由 LSP 是 PCC 在本地配置,然后委托给 PCE 控制器的 LSP。

注意:

Junos OS 20.1R1 版支持:

  • PCE 委派功能仅适用于具有 IPv4 目标的非彩色分段路由 LSP。

  • 仅将段列表的第一个段委托并报告给外部控制器。PCE 委派不支持多个分段。

PCC 可以通过以下方式将分段路由 LSP 委托给外部控制器(PCE):

  • Initial delegation— 本地 LSP 尚未在 PCC 上配置,LSP 委派发生在配置 LSP 时。

  • Delegation of existing LSP— 本地 LSP 配置在 PCC 上,LSP 委派发生在配置源路由路径之后。也就是说,在现有分段路由 LSP 上启用委派功能。

委托分段路由 LSP 后,PCE 控制委托的 LSP,并可以修改 LSP 属性以进行路径计算。当 PCC 和 PCE 之间的 PCEP 会话关闭时,LSP 控制将恢复到 PCC。在 PCEP 会话出现故障时,PCE 委托的 LSP 比 PCE 发起的 LSP 更具优势。对于 PCE 启动的 LSP,当 PCEP 会话关闭时,LSP 将从 PCC 中删除。但是,对于 PCE 委托的 LSP,当 PCEP 会话关闭时,PCC 会从 PCE 收回对委托 LSP 的控制权。因此,借助 PCE 委托的 LSP,我们避免了在会话关闭时数据包被静默丢弃(也称为空路由条件)的情况。

以下类型的分段路由 LSP 支持 PCE 委派功能:

  • Static LSPs- 静态配置的源路由路径,其中静态配置了整个标签堆栈。

  • Auto-translated LSPs- 静态配置的源路由路径,会自动转换。

  • Computed LSPs- 使用分布式约束最短路径优先 (CSPF) 计算的静态配置的源路由路径。

  • Dynamic LSPs— 通过动态隧道模块触发的动态创建的隧道,具有最后一跳 ERO 解析。

根据分段路由 LSP 的源,您可以在 PCC 上配置委派功能。要启用分段路由 LSP 的委派,请在 lsp-external-controller pccd 层次结构下的 [edit protocols source-packet-routing] 相应级别包含该语句。

表 2 显示了 LSP 源到启用委派功能的相应配置层级的映射。

注意:

在 PCC 上配置委派功能之前,必须在 和 [edit protocols mpls] 层次结构级别包含lsp-external-controller pccd[edit protocols source-packet-routing]该语句。

表 2:分段路由 LSP 源与配置层次结构的映射

分段路由 LSP 的来源

配置层次结构

  • 自动转换的 LSP

  • 静态 LSP

主区段列表 [edit protocols source-packet-routing source-routing-path lsp-name primary path-name]

计算 LSP(分布式 CSPF)

源路由路径的主分段列表:

  • [edit protocols source-packet-routing source-routing-path lsp-name primary path-name compute profile-name]

  • [edit protocols source-packet-routing source-routing-path lsp-name primary path-name]

动态 LSP

源路由路径模板的主分段列表,位置为:

  • [edit protocols source-packet-routing source-routing-path-template template-name primary primary-segment-list-name]

  • [edit protocols source-packet-routing source-routing-path-template template-name]

您可以从 show spring-traffic-engineering 命令输出中查看 SR-流量工程 LSP 的控制状态。

表 3 显示了为源路由路径配置语句时 lsp-external-controller 的 PCEP 交互。

表 3:PCEP 交互 LSP 委派

lsp-external-controller 配置层次结构

source-routing-path 委派状态

PCC 和 PCE 之间的 PCEP 相互作用

源路由路径的主分段列表

初始授权

  1. PCReport 消息将发送到 PCE 进行委派。PCReport 仅包含约束和路径详细信息(如 ERO)。

  2. PCE 计算 LSP 的路径,并报告处于关闭状态的路径。

  3. 在控制器计算 ERO 并通过 PCUpdate 将结果通知 PCC 之前,本地 LSP 不会对路由进行编程。

当路由协议进程 (rpd) 重新启动或发生路由引擎切换时,会出现相同的行为。

源路由路径的主分段列表

现有路径的委派

  1. PCReport 将发送到 PCE 进行委派。PCReport 仅包含约束和路径详细信息(如 ERO)。

  2. 相应的主要部门被委托给 PCE。

  3. PCE 计算 LSP 的路径。

  4. 主分段将继续参与由本地配置或计算确定的路由,直到从 PCE 收到 PCUpdate。

    • 如果未为主分段配置无缝 BFD (S-BFD),则不会对路由进行进一步更新,LSP 状态也不会受到监控并报告给 PCE。此时的 LSP 状态将报告为正常或停止,具体取决于路径计算在该点是否成功。

    • 如果为主分段配置了 S-BFD,则将跟踪主分段的状态并将其报告给 PCE。如果 BFD 检测到要关闭的主分段,则相应的主路径将从路由中移除。如果之前计算的同一路径现在已启动,则该路由将重新编程。

  5. 如果从 PCE 收到 PCUpdate 消息,则 SR-流量工程使用收到的参数来设置发送 PCReport 消息的路径。然后,编程路径仅包括从 PCE 接收的段列表,并删除之前编程的所有其他段列表。这种对路线的重新编程以先合后断的方式进行。

源路由路径的主要分段

委派未配置或已删除。

不再使用 PCE 中的分段列表(如果可用),而是使用本地配置的计算结果。当线段列表的本地结果可用时,相应的线段列表将用于以先成后断的方式对路径进行编程。

源路由路径的分段列表

配置 LSP 后,将启用委派。

对于源路由路径下的主分段列表,会触发委派功能。

源路由路径的分段列表

委派未配置或已删除。

委派功能将从源路由路径下的主分段列表中移除。

源路由路径模板的主分段列表

配置 LSP 后,将启用委派。

  • 在源路由路径模板下 — 为整个源路由路径触发委派功能。

    模板配置只能应用于动态隧道模块。

  • 在源路由路径模板中的主路径下 — 根据配置,为该特定主路径触发委派功能。

源路由路径模板的主分段列表

委派未配置或已删除。

委派功能将从与模板配置匹配的所有源路由路径和主路径中移除。

针对 PCEP 限制和不受支持的功能的分段路由

PCEP 对分段路由的支持不会增加系统的性能负担。但是,它有以下限制:

  • SR-流量工程 LSP 在 PCC 上不受本地保护。当 LSP 超过 6 个跃点时,除了承载纯 IP 流量外,LSP 上不提供任何服务。

  • 不支持平滑路由引擎切换 (GRES) 和统一不中断服务软件升级(统一 ISSU)。

  • 不支持不间断活动路由 (NSR)。

  • 不支持 IPv6。

  • PCE 委托的 LSP 不支持以下内容:

    • 彩色 SR-流量工程 LSP

    • IPv6 LSP

    • 源路由路径的辅助分段列表。只能委派段列表中的一条路径。

    • 多段标准。只有分段列表的第一段被委托并报告给控制器。

示例:为路径计算元素协议配置分段路由

此示例说明如何为路径计算元素协议 (PCEP) 配置分段路由或网络中的源数据包路由 (SPRING) 流量工程 (SR-流量工程)。在配置中,我们利用分段路由的优势和外部路径计算的优势进行高效的流量工程。

要求

此示例使用以下硬件和软件组件:

  • 四个 MX 系列 5G 通用路由平台,其中入口 MX 系列路由器是路径计算客户端 (PCC)。

  • 从 PCC 到外部状态路径计算元素 (PCE) 的 TCP 连接。

  • 在 PCC 上运行的 Junos OS 17.2 或更高版本,用于实施 PCE 启动的 LSP。

    要获得 PCE 委派功能,必须运行 Junos OS 20.1R1 或更高版本。

开始之前:

  • 配置设备接口。

  • 配置 MPLS。

  • 配置 IS-IS。

概述

适用于 PCEP 的分段路由的 Junos OS 实施包括 PCE 发起和 PCE 委托的 SR-流量工程 LSP。

  • Junos OS 17.2R1 版引入了由 PCE 启动的 LSP 的实施,其中,对于由 PCE 启动的 LSP,PCEP 会话中支持分段路由的流量工程功能。PCE 为邻接和节点分段创建 LSP。隧道路由在 PCC 的 inet.3 路由表中创建,对应于 PCE 启动的 SR-流量工程 LSP。

  • Junos OS 20.1R1 版引入了 PCE 委托 LSP 的实施,其中 PCC 上本地配置的 IPv4 非彩色分段路由 LSP 可以委托给 PCE 控制器。然后,PCE 控制 LSP,并可以修改 LSP 属性以进行路径计算。

在 PCEP 会话关闭时,PCE 委托的 LSP 比 PCE 发起的 LSP 更具优势。对于 PCE 启动的 LSP,当 PCEP 会话关闭时,LSP 将从 PCC 中删除。但是,对于 PCE 委托的 LSP,当 PCEP 会话关闭时,PCC 会从 PCE 收回对委托 LSP 的控制权。因此,使用 PCE 委托的 LSP,我们避免了在 PCEP 会话关闭时数据包被静默丢弃(也称为空路由条件)的情况。

要为 PCEP 启用分段路由:

对于 PCE 启动的分段路由 LSP:

  1. 通过在层次结构级别包含[edit protocols mpls]语句,为 lsp-external-controller MPLS 启用外部路径计算。

    具有 RSVP-流量工程扩展的 PCEP 也需要此配置。启用 PCEP 的分段路由时,无法禁用带有 RSVP-流量工程的 PCEP。

  2. 通过在层次结构级别包含lsp-external-controller pccd[edit protocols spring-traffic-engineering]语句,为 SR-流量工程启用外部路径计算。

  3. 通过在层次结构级别包含spring-capability[edit protocols pcep pce pce-name]该语句,为 PCE 启用分段路由。

  4. (可选)通过在层次结构级别包含max-sid-depth number[edit protocols pcep pce pce-name]语句来配置 PCE 的最大 SID 深度。

    最大 SID 深度是节点或节点上的链接支持的 SID 数。未配置时,将应用默认的最大 SID 值 5。

  5. (可选)通过在层次结构级别上[edit protocol spring-te]包含来preference preference-value配置分段路由的优先级值。

    优先级值表示在候选路径中选择路径作为活动路径形式的顺序,其中值越高具有较高的优先级。如果未配置,将应用默认优先级值 8。

  6. (可选)配置分段路由日志记录以进行故障排除,方法是在 traceoptions 层次结构级别包含 [edit protocols spring-te] 该语句。

对于分段路由 LSP 的 PCE 委派,除上述步骤外,请执行以下操作:

  1. 定义带有标签参数的区段列表。这会在 PCC 上本地创建分段路由 LSP。

  2. 根据分段路由 LSP 源,在以下任一层次结构中包含 lsp-external-controller pccd 语句,在 PCC 上启用本地配置的 LSP 的委派功能:

    • 对于使用分布式 CSPF[edit protocols source-packet-routing source-routing-path lsp-name primary path-name compute profile-name] 和 [edit protocols source-packet-routing source-routing-path lsp-name primary path-name] 层次结构级别计算的静态配置的源路由路径。

    • 对于静态配置的具有整个标签堆栈的静态配置的源路由路径和自动转换的源路由路径 —[edit protocols source-packet-routing source-routing-path lsp-name primary path-name] 层次结构级别。

    • 对于通过动态隧道模块触发的动态创建的隧道,这些隧道具有最后一跳 ERO 分辨率[edit protocols source-packet-routing source-routing-path-template template-name primary primary-segment-list-name] 和 [edit protocols source-packet-routing source-routing-path-template template-name] 层次结构级别。

拓扑结构

图 8 展示了在 PCE 和 PCC(入口 MX 系列路由器)之间运行 PCEP 会话的示例网络拓扑。路由器 R1、R2 和 R3 是网络中的其他 MX 系列路由器。在本例中,我们将在 PCC 上为 PCEP 配置分段路由。我们还在 PCC 上配置到路由器 R3 的静态路由,以验证在为静态路由流量时是否使用 SR-流量工程隧道路由。

图 8:PCEPNetwork topology diagram showing routers R1, R2, R3 in a linear setup. PCE connects to PCC, which links to R1. Interfaces have unique IPs and loopbacks. 的分段路由

配置

CLI 快速配置

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

尽管我们在本节中介绍了所有设备(PCC 和三个路由器)的配置,但分步过程仅记录 PCC 的配置。

PCC

路由器 R1

路由器 R2

路由器 R3

过程
分步程序

在本例中,我们仅配置 PCC。

以下步骤要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅《CLI 用户指南》中的在配置模式下使用 CLI 编辑器。

要配置 PCC,请执行以下操作:

  1. 配置 PCC 的接口。

  2. 配置路由器 ID 并为 PCC 分配自治系统编号。

  3. 配置从 PCC 到路由器 R3 的静态路由。

    创建静态路由仅用于验证目的,不会影响要素功能。

  4. 在 PCC 的所有接口上配置 RSVP,管理接口除外。

  5. 在 PCC 的所有接口上配置 MPLS,管理接口除外。

  6. 为 MPLS 启用外部路径计算功能。

  7. 在 PCC 的所有接口上配置 IS-IS 级别 2,管理和环路接口除外。

  8. 为分段路由配置分段路由全局块 (SRGB) 属性。

  9. 为 SR-流量工程启用外部路径计算功能。

  10. 配置 PCE 参数,并通过 PCE 和分段路由功能启用 LSP 调配。

  11. 通过 PCE 启用分段路由 LSP 的配置。

  12. 为 PCE 启用分段路由功能。

  13. 定义静态细分列表 static_seg_list_1 参数。

  14. 配置从 PCC 到路由器 R3 的静态分段路由 LSP,以便进行 PCE 委派。

  15. 为源路由路径启用委派功能 static_srte_lsp_1 。

    通过完成步骤 13、14 和 15,您可以让 PCC 将分段路由 LSP 委托给 PCE。

  16. 提交配置。

结果

在配置模式下,输入 show interfaces、 show routing-options和 show protocols 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

如果完成设备(PCC)配置,请从配置模式进入。commit

验证

确认配置工作正常。

验证 IS-IS 邻接和标签
目的

验证 PCC 上的 IS-IS 邻接关系。请注意 SRGB 标签范围、邻接和节点段值以及 SPRING 功能输出字段。

行动

在操作模式下,运行 show isis adjacency extensive、 show isis database extensive和 show isis overview 命令。

意义

PCC 和 PCE 之间的 IS-IS 邻接以及 PCC 和路由器 R1 之间的邻接已开启并可运行。输出还显示相邻段和节点段的标签分配。

验证流量工程数据库
目的

验证 PCC 上的流量工程数据库条目。

行动

在操作模式下,运行命令 show ted database extensive 。

意义

流量工程数据库包括从路由器 R1、R2 和 R3 播发的条目,PCE 将其用于 PCC 的外部路径计算。

验证 SR-流量工程 LSP
目的

验证在 PCC 上创建的 SR-流量工程 LSP。

行动

在操作模式下,运行 show path-computation-client lsp、 show spring-traffic-engineering lsp detail和 show route protocol spring-te 命令。

意义

输出显示,PCE 分别为邻接分段和节点分段创建了两个 SR-流量工程 LSP 和adj_sid_lsp node_sid_lsp。

分段路由 LSP static_srte_lsp_1启用了委派功能。该 Delegation info 字段显示 PCE 委托的 LSP 的控制和路由状态。 Externally controlled 表示 PCE 对 LSP 具有控制权 Externally routed 。表示 PCE 已为源路由路径提供 ERO。

验证隧道路由创建
目的

验证为 PCC 上的 inet.3 路由表中包含的 SR-流量工程 LSP 创建的隧道路由。

行动

在操作模式下,运行命令 show route table inet.3 extensive 。

意义

已为 PCE 控制的 LSP 目标创建了隧道路由,并将 SR-流量工程用作协议标签。

验证转发表条目
目的

验证路由器 R3 的 SR-流量工程 LSP 目标是否已安装在 PCC 的转发表中。

行动

在操作模式下,运行命令 show route forwarding-table destination ip-address extensive 。

意义

路由器 R3 的 SR-流量工程 LSP 目标 IP 地址将安装为转发条目。

验证是否使用隧道路由进行静态路由转发
目的

验证静态路由是否采用为 SR-流量工程 LSP 创建的隧道路由。

行动

在操作模式下,运行和show route ip-addressshow route forwarding-table destination ip-address命令。

意义

输出显示,到路由器 R3 的静态路由使用为 SR-流量工程 LSP 创建的隧道路由。

静态分段路由标签交换路径

分段路由架构使核心网络中的入口设备能够通过显式路径引导流量。您可以使用分段列表配置这些路径,以定义传入流量应采用的路径。传入流量可能带有标签或 IP 流量,从而导致入口设备上的转发操作要么是标签交换,要么是基于目标的查找。

静态分段路由 MPLS 网络中的 LSP

源数据包路由或分段路由是一种控制平面架构,使核心网络中的入口设备能够引导流量通过网络中的一组特定节点和链路,而不依赖于网络中的中间节点来确定实际路径。您可以使用分段列表配置这些路径,以定义传入流量应采用的路径。传入流量可能带有标签或 IP 流量,从而导致入口设备上的转发操作要么是标签交换,要么是基于目标的查找。

分段路由 LSP 简介

分段路由利用源路由范式。设备通过一个有序的指令列表(称为分段)引导数据包。分段可以表示任何拓扑或基于服务的指令。分段可以对分段路由节点或分段路由域中的全局节点具有本地语义。分段路由强制执行流经任何拓扑路径和服务链的流量,同时仅在分段路由域的入口设备处保持每个流的状态。分段路由可直接应用于 MPLS 架构,转发平面上无需更改。分段编码为 MPLS 标签。段的有序列表编码为标签堆栈。要处理的分段位于堆栈顶部。完成区段后,将从堆栈中弹出相关标签。

分段路由 LSP 本质上可以是动态的,也可以是静态的。

Dynamic segment routing LSPs— 当分段路由 LSP 由外部控制器创建并通过路径计算元素协议 (PCEP) 扩展下载到入口设备,或者通过BGP分段路由扩展从BGP分段路由策略下载到入口设备时,LSP 将动态调配。动态分段路由LSP的分段列表包含在PCEP显式路由对象(ERO)或LSP的BGP分段路由策略中。

Static segment routing LSPs— 通过本地配置在入口设备上创建分段路由 LSP 时,将静态调配 LSP。

静态分段路由 LSP 可以根据层次结构级别的[edit protocols source-packet-routing source-routing-path lsp-name]语句配置color进一步分类为彩色和非彩色 LSP。

例如:

[edit protocols]
    source-packet-routing {
    source-routing-path lsp_name {
        to destination_address;
        color color_value;
        binding-sid binding-label;
        primary segment_list_1_name weight weight;
        ...
        primary segment_list_n_name weight weight;
        secondary segment_list_n_name;
        sr-preference sr_preference_value;
    }
}

此处,每个主要语句和次要语句都指一个分段列表。

[edit protocols]
source-packet-routing {
    segment-list segment_list_name {
        hop_1_name label sid_label;
        ...
        hop_n_name label sid_label;
    }
}

使用分段路由 LSP 的好处

  • 静态分段路由不依赖于中转路由器上的每个 LSP 转发状态。因此,无需在核心中配置和维护每个 LSP 转发状态。

  • 为 MPLS 网络提供更高的可扩展性。

彩色静态分段路由 LSP

使用 color 语句配置的静态分段路由 LSP 称为彩色 LSP。

了解彩色静态分段路由 LSP

与 BGP 分段路由策略类似,彩色 LSP 的入口路由安装在 或 inet6color.0 路由表中inetcolor.0,并带有destination-ip-address, color用于映射 IP 流量的 AS 密钥。

静态彩色分段路由 LSP 可能具有绑定 SID,路由安装在路由表中 mpls.0 。此绑定 SID 标签用于将标记的流量映射到分段路由 LSP。路由的网关派生自主路径和辅助路径下的分段列表配置。

彩色分段分段路由 LSP 的分段列表

彩色静态分段路由 LSP 已支持解析 LSP 的第一跳标签模式。但是,彩色分段路由 LSP 不支持第一跃点 IP 模式。引入了提交检查功能,以确保所有用于彩色路由的分段列表都具有所有跃点的最小标签。如果不满足此要求,则阻止提交。

无色静态分段路由 LSP

不带语句配置color的静态分段路由 LSP 是无色 LSP。与 PCEP 分段路由隧道类似,入口路由安装在 OR inet6.3 路由表中inet.3。

Junos OS 支持入口路由器上的非彩色静态分段路由 LSP。您可以通过配置一个源路由路径和一个或多个分段列表来配置非彩色静态分段路由 LSP。这些分段列表可供多个非彩色分段路由 LSP 使用。

了解非彩色分段路由 LSP

非彩色分段路由 LSP 具有唯一的名称和目标 IP 地址。到目标的入口路由安装在 inet.3 路由表中,默认优先级为 8,度量为 1。此路由允许将非彩色服务映射到与目标相关的分段路由 LSP。如果非彩色分段路由 LSP 不需要入口路由,则可以禁用入口路由。非彩色分段路由 LSP 使用绑定 SID 标签来实现分段路由 LSP 拼接。此标签可用于将分段路由 LSP 建模为分段,该分段可用于进一步以分层方式构建其他分段路由 LSP。默认情况下,绑定 SID 标签的传输优先级为 8,度量为 1。

入口设备上静态配置的非彩色分段路由 LSP 通过路径计算元素协议 (PCEP) 会话报告给路径计算元素 (PCE)。这些非彩色分段路由 LSP 可能具有与之关联的绑定服务标识符 (SID) 标签。借助此功能,PCE 可以在标签堆栈中使用此绑定 SID 标签来配置 PCE 启动的分段路由 LSP 路径。

非彩色分段路由 LSP 最多可以有 8 条主路径。如果存在多个可操作的主路径,则数据包转发引擎 (PFE) 会根据负载平衡因素(例如路径上配置的权重)在路径上分配流量。如果所有路径上均未配置权重,则为等价多路径 (ECMP);如果其中至少一条路径上配置了非零权重,则为加权 ECMP。在这两种情况下,当一个或多个路径出现故障时,PFE 都会在其余路径上重新平衡流量,从而自动实现路径保护。非彩色分段路由 LSP 可以具有用于专用路径保护的辅助路径。主路径出现故障时,PFE 会将流量重新平衡到剩余的功能性主路径。否则,PFE 会将流量切换到备用路径,从而实现路径保护。非彩色分段路由 LSP 可以为其入口和绑定 SID 路由指定一个度量 [edit protocols source-packet-routing source-routing-path lsp-name] 。多个非彩色分段路由 LSP 具有相同的目标地址,这些地址会影响入口路由的下一跃点。

多个非彩色分段路由 LSP 具有相同的目标地址,这些地址会影响入口路由的下一跃点。如果每个分段路由 LSP 的每条路径(无论是主路径还是辅助路径)都被视为网关候选路径,前提是路径正常运行,并且分段路由 LSP 在所有这些分段路由 LSP 中具有最佳优先级。但是,下一跃点可容纳的最大网关数不能超过 RPD 多路径限制(默认为 128)。修剪额外的路径,首先是辅助路径,然后是主路径。给定的分段列表可能会被这些分段路由 LSP 多次引用为主路径或辅助路径。在这种情况下,有多个网关,每个网关都有一个唯一的分段路由 LSP 隧道 ID。这些网关是不同的,尽管它们具有相同的传出标签堆栈和接口。非彩色分段路由 LSP 和彩色分段路由 LSP 也可能具有相同的目标地址。但是,它们对应于入口路由的不同目的地址,因为彩色分段路由 LSP 的目的地址是使用其目标地址和颜色同时构造的。

注意:

如果静态非彩色分段路由 LSP 和 PCEP 创建的分段路由 LSP 共存,并且具有相同的至地址,该地址会用于同一入口路由(如果它们也具有相同的优先级)。否则,将为路由安装具有最佳优先级的分段路由 LSP。

非彩色分段路由 LSP 的分段列表

分段列表由跃点列表组成。这些跃点基于 SID 标签或 IP 地址。段列表中的 SID 标签数不应超过最大段列表限制。到 LSP 隧道的最大分段列表绑定从 8 个增加到 128 个,每个系统最多 1000 个隧道。每个静态分段路由 LSP 最多支持 128 条主路径。您可以在层次结构级别配置 [edit protocols source-packet-routing] 最大分段列表限制。

除了 IP 地址外,非彩色静态 LSP 的第一跃点还支持 SID 标签。借助第一跃点标签支持,可以启用 MPLS 快速重新路由 (FRR) 和加权等价多路径,以解析静态非彩色分段路由 LSP,类似于彩色静态 LSP。

要使第一跃点标签模式生效,您必须为分段列表全局或单独包含 inherit-label-nexthops 该语句,并且分段列表的第一跳必须同时包含 IP 地址和标签。如果第一跃点仅包含 IP 地址,则该 inherit-label-nexthops 语句不会产生任何作用。

您可以在以下任一层级进行配置 inherit-label-nexthops 。仅当分段列表第一跃点同时包含 IP 地址和标签时,该 inherit-label-nexthops 语句才会生效。

  • Segment list level- 在层次结构级别。[edit protocols source-packet-routing segment-list segment-list-name]

  • Globally- 在层次结构级别。[edit protocols source-packet-routing]

全局配置该语句时 inherit-label-nexthops ,它优先于分段列表级别的配置,并且该 inherit-label-nexthops 配置将应用于所有分段列表。如果未对语句进行全局配置,则 inherit-label-nexthops 仅会使用 SID 标签解析第一个跃点中同时存在标签和 IP 地址且配置为语句的 inherit-label-nexthops 分段列表。

对于动态非彩色静态 LSP,即 PCEP 驱动的分段路由 LSP,必须全局启用该 inherit-label-nexthops 语句,因为未应用分段级配置。

表 4 介绍了基于第一跳规范的分段路由 LSP 解析模式。

表 4:基于第一跳规范的无色静态 LSP 分辨率

第一跳规格

LSP 解析模式

仅 IP 地址

例如:

segment-list path-1 {
    hop-1 ip-address 172.16.12.2;
    hop-2 label 1000012;
    hop-3 label 1000013;
    hop-4 label 1000014;
}

分段列表使用 IP 地址进行解析。

仅 SID

例如:

segment-list path-2 {
    hop-1 label 1000011;
    hop-2 label 1000012;
    hop-3 label 1000013;
    hop-4 label 1000014;
}

段列表使用 SID 标签进行解析。

IP 地址和 SID(不含 inherit-label-nexthops 配置)

例如:

segment-list path-3 {
    hop1 {
        label 801006;
        ip-address 172.16.1.2;
    }
    hop-2 label 1000012;
    hop-3 label 1000013;
    hop-4 label 1000014;
}

默认情况下,分段列表使用 IP 地址进行解析。

IP 地址和 SID(连同 inherit-label-nexthops 配置)

例如:

segment-list path-3 {
    inherit-label-nexthops;
    hop1 {
        label 801006;
        ip-address 172.16.1.2;
    }
    hop-2 label 1000012;
    hop-3 label 1000013;
    hop-4 label 1000014;
}

段列表使用 SID 标签进行解析。

您可以使用该 show route ip-address protocol spring-te active-path table inet.3 命令查看在 inet.3 路由表中安装了多个分段列表的非彩色分段路由流量工程 LSP。

例如:

注意:

如果出现以下情况,静态分段路由 LSP 的分段列表的第一跳类型可能会导致提交失败:

  • 隧道的不同分段列表具有不同的第一跳解析类型。这适用于彩色和非彩色静态分段路由 LSP。但是,这不适用于 PCEP 驱动的 LSP;在计算路径时,将为第一跳解析类型的不匹配生成系统日志消息。

    例如:

    隧道 lsp1 提交失败,因为路径 1 为 IP 地址模式,路径 2 为标签模式。

  • 绑定 SID 已为段列表类型为 SID 标签的静态非彩色 LSP 启用。

    例如:

静态分段路由 LSP 配置

分段调配基于每个路由器执行。对于路由器上的给定分段,唯一服务标识符 (SID) 标签将从所需的标签池分配,该标签可能来自邻接 SID 标签的动态标签池,也可能来自前缀 SID 或节点 SID 的分段路由全局块 (SRGB)。邻接 SID 标签可以动态分配,这是默认行为,也可以从本地静态标签池 (SRLB) 分配。然后,SID 标签的路由将安装在 mpls.0 表中。

Junos OS 允许通过在层次结构级别配置[edit protocols mpls static-label-switched-path static-label-switched-path]语句来segment实现静态分段路由 LSP。静态分段 LSP 由属于 Junos OS 静态标签池的唯一 SID 标签标识。您可以通过在层次结构级别配置[edit protocols mpls label-range]语句来static-label-range static-label-range配置 Junos OS 静态标签池。

静态分段路由 LSP 限制

  • Junos OS 目前有一个限制,即无法构建下一跃点来推送超过最大分段列表深度标签。因此,具有超过最大 SID 标签数(不包括用于解析转发下一跃点的第一跃点的 SID 标签)的分段列表不可用于彩色或非彩色分段路由 LSP。此外,如果分段路由 LSP 上有 MPLS 服务,或者分段路由 LSP 在链路或节点保护路径上,则给定分段路由 LSP 允许的实际数量可能甚至低于最大限制。在所有情况下,服务标签、SID 标签以及链路或节点保护标签的总数不得超过最大分段列表深度。您可以在层次结构级别配置 [edit protocols source-packet-routing] 最大分段列表限制。可以将小于或等于最大 SID 标签的多个非彩色分段路由 LSP 拼接在一起,以构建更长的分段路由 LSP。这称为分段路由 LSP 拼接。这可以使用结合 SID 标记来实现。

  • 分段路由 LSP 拼接实际上是在路径级别执行的。如果非彩色分段路由 LSP 具有多条路径,即多个分段列表,则每个路径都可以在拼接点独立拼接到另一个非彩色分段路由 LSP。专用于拼接的非彩色分段路由 LSP 可以通过在层次结构级别上[edit protocols source-packet-routing source-routing-path lsp-name] 配置no-ingress语句来禁用入口路由安装。

  • 每个非彩色静态分段路由 LSP 最多支持 128 条主路径和 1 条辅助路径。如果配置中存在冲突,则提交检查将失败并显示错误。

  • 到 LSP 隧道的最大分段列表绑定从 8 个增加到 128 个,每个系统最多 1000 个隧道。每个静态分段路由 LSP 最多支持 128 条主路径。作为限制,LSP 路径的最大传感器支持仅为 32000。

  • 如果配置的任何分段列表的标签数超过最大分段列表深度,则配置提交检查将失败并显示错误。

基于颜色的 VPN 服务映射

除了 IPv4 或 IPv6 地址外,您还可以将颜色指定为协议下一跃点约束,用于解析静态、彩色和 BGP 分段路由流量工程 (SR-流量工程) LSP 上的传输隧道。这称为颜色 IP 协议下一跃点解析,您需要配置解析映射并应用于 VPN 服务。使用此功能,您可以为第 2 层和第 3 层 VPN 服务启用基于颜色的流量引导。

Junos OS 支持与单一颜色关联的彩色 SR-流量工程 LSP。静态彩色 LSP 和 BGP SR-流量工程 LSP 支持基于颜色的 VPN 服务映射功能。

VPN 服务着色

通常,可以在播发 VPN NLRI 的出口路由器上或在接收和处理 VPN NLRI 的入口路由器上为VPN 服务分配一种颜色。

您可以为不同级别的 VPN 服务分配颜色:

  • 按路由实例。

  • 按 BGP 组。

  • 每个 BGP 邻接方。

  • 按前缀。

分配颜色后,该颜色将以 BGP 颜色扩展社区的形式附加到 VPN 服务。

您可以为一个 VPN 服务分配多种颜色,称为多色 VPN 服务。在这种情况下,附加的最后一种颜色被视为 VPN 服务的颜色,所有其他颜色将被忽略。

出口设备和/或入口设备通过多个策略按以下顺序分配多种颜色:

  • 出口设备上的 BGP 导出策略。

  • 入口设备上的 BGP 导入策略。

  • 入口设备上的 VRF 导入策略。

VPN 服务着色的两种模式是:

出口颜色分配

在此模式下,出口设备(即 VPN NLRI 的播发商)负责为 VPN 服务着色。要启用此模式,您可以定义路由策略,并将其应用到层次结构级别的 [edit protocols bgp] VPN 服务的路由实例vrf-export、组导出或组邻接方导出中。VPN NLRI 由 BGP 使用指定的颜色扩展社区进行通告。

例如:

或者

注意:

将路由策略应用为 BGP 组或 BGP 邻接方的导出策略时,必须在 BGP、BGP 组或 BGP 邻接方级别包含该 vpn-apply-export 语句,以便策略对 VPN NLRI 生效。

路由策略应用于第 3 层 VPN 前缀 NLRI、第 2 层 VPN NRLI 和 EVPN NLRI。颜色扩展社区由所有 VPN 路由继承,导入并安装在一个或多个入口设备上的目标 VRF 中。

入口颜色分配

在此模式下,入口设备(即 VPN NLRI 的接收方)负责为 VPN 服务着色。要启用此模式,您可以定义路由策略,并将其应用于层次结构级别的 [edit protocols bgp] VPN 服务的路由实例vrf-import、组导入或组邻接方导入。与路由策略匹配的所有 VPN 路由都附加到指定的彩色扩展社区。

例如:

或者

指定 VPN 服务映射模式

要指定灵活的 VPN 服务映射模式,您必须使用该语句定义resolution-map策略,并在层次结构级别引用 [edit protocols bgp] VPN 服务的路由实例vrf-import、组导入或组邻接方导入中的策略。与路由策略匹配的所有 VPN 路由都附加了指定的解析映射。

例如:

您可以将导入策略应用于 VPN 服务的路由实例。

您还可以将导入策略应用于 BGP 组或 BGP 邻接方。

注意:

每个 VPN 服务映射模式都应具有在解析映射中定义的唯一名称。解析映射中仅支持单个 IP 颜色条目,其中 VPN 路由使用彩色 IP 协议下一跃点(形式为 ip-address:color)解析。

Color-IP 协议下一跳解析

协议下一跳解析过程得到增强,可支持彩色 IP 协议下一跳解析。对于彩色 VPN 服务,协议下一跃点解析过程采用颜色和分辨率映射,以 的形式 IP-address:color构建彩色 IP 协议下一跃点,并在 inet6color.0 路由表中解析协议下一跃点。

您必须配置一个策略,以支持通过彩色 LSP 对彩色第 2 层 VPN、第 3 层 VPN 或 EVPN 服务进行多路径解析。然后,必须将策略与相关 RIB 表一起应用,作为解析器导入策略。

例如:

回退到 IP 协议下一跳解析

如果彩色 VPN 服务未应用解析图,则 VPN 服务将忽略其颜色,并回退到 IP 协议下一跃点解析。相反,如果非彩色 VPN 服务应用了解析映射,则解析映射将被忽略,并且 VPN 服务使用 IP 协议下一跃点解析。

回退是从彩色 SR-流量工程 LSP 到 LDP LSP 的简单过程,方法是使用 LDP 的 RIB 组在 inet{6}color.0 路由表中安装路由。彩色 IP 协议下一跃点的最长前缀匹配可确保,如果彩色 SR-流量工程 LSP 路由不存在,则应返回具有匹配 IP 地址的 LDP 路由。

通过 SR-流量工程实现 BGP 标记的单播基于颜色的映射

BGP 标记单播 (BGP-LU) 可以通过分段路由流量工程 (SR-流量工程) 解析 IPv4 和 IPv6 地址家族的 IPv4 或 IPv6 路由。BGP-LU 支持映射 BGP 社区颜色并为 SR-流量工程定义。resolution map将构建一个彩色协议下一跃点,并在 or inet6color.0 表中的inetcolor.0彩色 SR-流量工程隧道上解析。BGP 使用 inet.3 和 inet6.3 表进行非基于颜色的映射。这样,您就可以在路由器未配置任何 IPv4 地址的纯 IPv6 网络中,使用 IPv6 下一跃点地址播发 BGP-LU、IPv6 和 IPv4 前缀。借助此功能,目前我们支持带有 IS-IS 底层的 SR-流量工程上的 BGP IPv6 LU。

在 图 9 中,控制器在配置了 SR-流量工程的 IPv6 核心网络中配置了 4 个彩色隧道。每个彩色隧道采用不同的路径到达目标路由器 D,具体取决于定义的分辨率映射。控制器将彩色 SR-流量工程隧道配置为路由器 D 中的 2001:db8::3701:2d05 接口。BGP 导入策略以将颜色和分辨率映射分配给收到的前缀 2001:db8::3700:6/128。根据分配的社区颜色,BGP-LU 会根据分配的解析映射策略解析 BGP IPv6 LU 前缀的彩色下一跃点。

图 9:彩色 IPv6 SR-流量工程BGP IPv6 LU over colored IPv6 SR-TE上的 BGP IPv6 LU

BGP-LU 支持以下方案:

  • 彩色 BGP IPv4 SR-流量工程上的 BGP IPv4 LU,带有 IS-IS/OSPF IPv4 SR 扩展。

  • 基于静态彩色和非彩色 IPv4 SR-流量工程的 BGP IPv4 LU,带有 IS-IS/OSPF IPv4 SR 扩展。

  • 彩色 BGP IPv6 SR-流量工程上的 BGP IPv6 LU,带有 IS-IS IPv6 SR 扩展。

  • 静态彩色和非彩色 IPv6 SR-流量工程上的 BGP IPv6 LU,带有 IS-IS IPv6 SR 扩展。

  • 具有 IPv6 本地地址和 IPv6 邻居地址的 IPv6 第 3 层 VPN 服务。

  • 通过 BGP IPv6 SR-流量工程的 IPv6 第 3 层 VPN 服务,带有 IS-IS IPv6 SR 扩展。

  • 通过静态彩色和非彩色 IPv6 SR-流量工程提供 IPv6 第 3 层 VPN 服务,带有 IS-IS IPv6 SR 扩展。

VPN 服务基于颜色的映射支持和不支持的功能

基于颜色的 VPN 服务映射支持以下特性和功能:

  • BGP 2 层 VPN(Kompella 第 2 层 VPN)

  • BGP EVPN

  • 分辨率图,提供单一 IP 颜色选项。

  • 彩色 IPv4 和 IPv6 协议下一跃点解析。

  • 路由信息库(也称为路由表)基于组回退到 inetcolor.0 路由表中的 LDP LSP。

  • 彩色 SR-流量工程 LSP。

  • 虚拟平台。

  • 64 位 Junos OS。

  • 逻辑系统。

  • BGP 标记为单播。

基于颜色的 VPN 服务映射不支持以下特性和功能:

  • 彩色 MPLS LSP,如 RSVP、LDP、BGP-LU、静态。

  • 第 2 层电路

  • FEC-129 BGP 自动发现和 LDP 信号第 2 层 VPN。

  • VPLS

  • MVPN

  • IPv4 和 IPv6 使用解析映射。

PCE 启动的分段路由 LSP 的隧道模板

您可以为 PCE 启动的分段路由 LSP 配置隧道模板,以便为这些 LSP 传递两个附加参数 - 双向转发检测 (BFD) 和 LDP 隧道。

创建 PCE 启动的分段路由 LSP 时,将根据策略语句(如果有)检查 LSP,如果匹配,策略将为该 LSP 应用配置的模板。仅当 LSP 源 (PCEP) 未提供模板配置时,才会继承模板配置;例如,公制。

要配置模板,请执行以下操作:

  1. 在层次结构级别包括 [edit protocols source-packet-routing] source-routing-path-template 语句。您可以在此处配置其他 BFD 和 LDP 隧道参数。

  2. 在层次结构级别包括 [edit protocols source-packet-routing] source-routing-path-template-map 语句,以列出应根据这些策略语句检查 PCE 发起的 LSP。

  3. 定义一个策略以列出应应用模板的 LSP。

    该from语句可以使用 和lsp-regex匹配条件包含 lsp LSP 名称或 LSP 正则表达式。这些选项是互斥的,因此在给定时间点只能指定一个选项。

    该 then 语句必须包含 sr-te-template 带有接受操作的选项。这会将模板应用于 PCE 启动的 LSP。

为 PCE 启动的 LSP 配置模板时,请考虑以下事项:

  • 模板配置不适用于静态配置的分段路由 LSP 或任何其他客户端的分段路由 LSP。

  • PCEP 提供的配置优先于模板配置。

  • PCEP LSP 不继承模板分段列表配置。

示例:配置静态分段路由标签交换路径

此示例说明如何在 MPLS 网络中配置静态分段路由标签交换路径 (LSP)。此配置有助于提高 MPLS 网络的可扩展性。

要求

此示例使用以下硬件和软件组件:

  • 七个 MX 系列 5G 通用路由平台

  • 所有路由器上运行 Junos OS 18.1 或更高版本

开始之前,请务必配置好设备接口。

概述

Junos OS 通过在层次结构级别配置[edit protocols source-packet-routing]语句,可以在segment-list非彩色静态分段路由隧道的入口路由器上配置一组显式分段路由路径。您可以通过在层次结构级别配置source-routing-path[edit protocols source-packet-routing]该语句来配置分段路由隧道。分段路由隧道具有目标地址和一个或多个主路径,以及引用分段列表的可选辅助路径。每个分段列表由一系列跃点组成。对于非彩色静态分段路由隧道,分段列表的第一跃指定下一跃点 IP 地址,第二个到第 N 个跃点指定与路径遍历的链路或节点相对应的分段标识 (SID) 标签。到分段路由隧道目的地的路由安装在inet.3表中。

拓扑结构

在此示例中,在提供商边缘路由器 PE1 和 PE5 上配置第 3 层 VPN。在所有路由器上配置 MPLS 协议。分段路由隧道从 路由器 PE1 配置到 路由器 PE5,在 PE1 和 PE5 上配置主路径路由器 路由器 。路由器 PE1 还配置了用于路径保护的辅助路径。中转路由器 PE2 到 PE4 配置了邻接 SID 标签,带有标签弹出和传出接口。

图 10:静态分段路由标签交换路径Static Segment Routing Label Switched Path

配置

CLI 快速配置

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

PE1

PE2

PE3

PE4

PE5

CE1

CE2

配置设备 PE1
分步程序

下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅《CLI 用户指南》中的在配置模式下使用 CLI 编辑器。

要配置设备 PE1:

  1. 配置接口。

  2. 配置自治系统编号和选项以控制数据包转发路由选项。

  3. 使用 MPLS 协议配置接口并配置 MPLS 标签范围。

  4. 为对等组配置类型、本地地址、更新中 NLRI 的协议家族,以及对等方组的邻接方 IP 地址。

  5. 配置协议区域接口。

  6. 为协议源数据包路由 (SPRING) 的源路由流量工程 (流量工程) 策略配置主路径和辅助路径的 IPv4 地址和标签。

  7. 为协议 SPRING 配置目标 IPv4 地址、绑定 SID 标签、主源和辅助源路由路径。

  8. 配置策略选项。

  9. 配置 BGP 社区信息。

  10. 使用实例类型、接口、路由器识别符、VRF 导入、导出和表标签配置路由实例 VRF1。为协议 OSPF 配置区域的导出策略和接口。

结果

在配置模式下,输入 show interfaces、 show policy-options、 show routing-optionsshow protocols和show routing-instances命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

配置设备 PE2
分步程序

下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅《CLI 用户指南》中的在配置模式下使用 CLI 编辑器。

  1. 配置接口。

  2. 为协议 MPLS 配置静态 LSP。

  3. 为协议 MPLS 配置接口和静态标签范围。

  4. 为协议 OSPF 配置接口。

结果

在路由器 PE2 上的配置模式下,输入 和 show interfaces show protocols 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

验证

确认配置工作正常。

验证路由器 PE1 的路由表 inet.3 的路由条目
目的

验证路由器 PE1 的路由表 inet.3 的路由条目。

行动

在操作模式下,输入命令 show route table inet.3 。

意义

输出显示分段路由隧道的入口路由。

验证路由器 PE1 的路由表 mpls.0 的路由表条目
目的

验证路由表 mpls.0 的路由条目

行动

在操作模式下,输入命令 show route table mpls.0 。

意义

输出显示分段路由隧道的 SID 标签。

验证路由器 PE1 的 SPRING 流量工程 LSP
目的

验证入口路由器上的 SPRING 流量工程 LSP。

行动

在操作模式下,输入命令 show spring-traffic-engineering overview 。

意义

输出显示入口路由器上 SPRING 流量工程 LSP 的概述。

验证路由器 PE1 入口路由器上的 SPRING 流量工程 LSP
目的

验证入口路由器上的 SPRING 流量工程 LSP。

行动

在操作模式下,输入命令 show spring-traffic-engineering lsp detail 。

意义

输出显示入口路由器上 SPRING 流量工程 LSP 的详细信息

验证路由器 PE2 的路由表 mpls.0 的路由表条目
目的

验证路由器PE2的路由表mpls.0的路由表条目。

行动

在操作模式下,输入命令 show route table mpls.0 。

验证路由器 PE2 的静态 MPLS LSP 分段的状态
目的

验证路由器 PE2 的 MPLS LSP 分段的状态。

行动

在操作模式下,输入命令 show mpls static-lsp 。

意义

输出显示路由器 PE2 的静态 MPLS LSP 分段的状态。

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

借助用于分段路由 LSP 的分布式约束最短路径优先 (CSPF) 功能,您可以根据配置的约束在入口设备上本地计算分段路由 LSP。借助此功能,可以根据配置的约束和指标类型(流量工程或 IGP)对 LSP 进行优化。计算 LSP 是为了利用到启用或禁用分段路由标签堆栈压缩的目标的可用 ECMP 路径。

使用 功能资源管理器 确认平台和版本对特定功能的支持。

查看 “ 特定于平台的分段路由 LSP 行为” 部分,了解与您的平台相关的注释。

分布式 CSPF 计算约束

当满足所有配置的约束时,将计算分段路由 LSP 路径。

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

  • 行政团体的包容和排除。

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

    注意:

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

  • 区段列表中的最大区段 ID (SID) 数。

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

分段路由LSP的分布式CSPF计算功能不支持以下类型的约束和部署场景:

  • 域间分段路由流量工程 (SR-流量工程) LSP。

  • 未编号的接口。

  • 同时启用多种协议路由协议,如 OSPF、IS-IS 和 BGP-LS。

  • 使用前缀或任播地址作为目标的计算。

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

分布式 CSPF 计算算法

分段路由 LSP 的分布式 CSPF 计算功能将标签堆栈压缩算法与 CSPF 配合使用。

启用标签堆栈压缩

压缩标签堆栈表示从源到目标的一组路径。它通常由节点 SID 和邻接 SID 组成。启用标签堆栈压缩后,计算结果是一组路径,这些路径使到目标的 ECMP 最大化,堆栈中的 SID 数最少,同时符合约束。

标签堆栈压缩已禁用

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

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

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

  • 的 N 值是按配置统计的候选路径允许的最大分段列表数。

  • 没有两个区段列表是相同的。

  • 每个分段列表都满足所有配置的约束。

分布式 CSPF 计算数据库

用于 SR-流量工程计算的数据库包含所有链路、节点、前缀及其特征,无论这些播发节点中是否启用了流量工程。换句话说,它是计算节点从中学习的所有域的流量工程数据库 (TED) 和 IGP 链路状态数据库的联合。因此,要使 CSPF 正常工作,您必须在层次结构级别包含[edit protocols isis traffic-engineering]该igp-topology语句。

配置分布式 CSPF 计算约束

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

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

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

  • Administrative groups

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

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

    • include-any- 指定要遍历的路径可以接受列表中至少有一个已配置管理组的任何链路。

    • include-all- 指定要遍历的路径可以接受列表中所有已配置管理组的任何链路。

    • exclude- 指定要遍历的路径可以接受列表中没有任何已配置管理组的任何链路。

    注意:只有在以下任一情况下,系统才会公布管理组:
    • 在接口上启用 RSVP。

    • 如果不想启用 RSVP,请进行配置 edit protocols isis traffic-engineering advertisement always 。

  • Explicit path

    您可以在计算配置文件中指定一系列路由器 ID 作为计算 SR-流量工程候选路径的约束。每个跃点必须是一个 IPv4 地址,类型可以是严格或松散。如果未配置跃点类型,则使用 strict。指定显式路径约束时,必须在 segment-list 语句下包含该compute选项。

  • Maximum number of segment lists (ECMP paths)

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

    可以使用 compute-profile 配置语句下的选项配置maximum-computed-segment-lists maximum-computed-segment-lists此属性。此配置确定为给定主 LSP 和辅助 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 配置为 计算配置文件 下的约束,以避免具有指定 SID 类型的链接。

    配置为保护邻接 SID 以指示邻接 SID 具有用于保护的备份路径。此配置使网络能够在链路或节点故障时支持与拓扑无环路备用 (TI-LFA) 快速重新路由。

    未受保护的邻接关系表示没有可用的备用路径,因此无法确保链路或节点故障保护。如果 IGP 链路上同时存在受保护的 SID 和未受保护的 SID,并且未应用任何protectedunprotected或约束,则计算默认使用未受保护的 SID。

    注意:我们支持 SR-流量工程本地计算,并将 OSPF 用作邻接 SID 的unprotected底层 IGPprotected。
  • Metric type

    您可以在链路上指定用于计算的指标类型。默认情况下,SR-流量工程 LSP 使用链路的流量工程指标进行计算。链路的流量工程指标由 IGP 协议的流量工程扩展播发。但是,您也可以选择使用计算配置文件中的度量类型配置来使用 IGP 度量进行计算。

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

分布式 CSPF 计算

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

计算辅助路径时,不会避免主路径采用的链路、节点和 SRLG 进行计算。有关主路径和辅助路径的更多信息,请参阅 配置主 LSP 和辅助 LSP。

对于计算结果不成功的任何 LSP,计算将随着流量工程数据库 (TED) 的更改而重试。

任播计算

您可以将任播 IP 配置为 SR-流量工程端点和分段跃点约束。对于压缩方案,计算必须在结果中包含任播 SID,而对于非压缩方案,它必须包含所有出口节点的邻接 SID。

分布式CSPF计算与SR-流量工程特征的交互

与 SR-流量工程策略路径关联的权重

您可以针对计算的和静态 SR-流量工程路径配置权重,这些路径会影响路由的下一跃点。但是,启用了计算的单个路径可能会导致多个段列表。这些计算的分段列表在它们之间被视为 ECMP。您可以考虑分配给每个已配置主节点的权重,为这些分层分配分层 ECMP 权重。

BFD 活度检测

您可以为计算的主路径或辅助路径配置 BFD 活跃度检测。每个计算的主要或辅助路径都可能导致多个分段列表,因此,针对分段列表配置的 BFD 参数将应用于所有计算分段列表。如果所有活动主路径都关闭,则预编程的辅助路径(如果提供)将变为活动状态。

继承标签下一跃点

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

自动翻译功能

您可以在段列表中配置自动转换功能,具有自动转换功能的主要路径或辅助路径引用这些段列表。另一方面,启用计算功能的主要或辅助功能不能引用任何段列表。因此,您无法为给定的主要或辅助路径同时启用计算功能和自动转换功能。但是,您可以为一个 LSP 配置一个具有计算类型的主路径和另一个具有自动转换类型的主路径。

分布式 CSPF 计算示例配置

示例 1

在示例 1 中,

  • 非计算主路径引用配置的分段列表。在此示例中,引用了配置的分段列表 static_sl1 ,它还用作此主路径的名称。

  • 计算主数据库应配置一个名称,并且此名称不应引用任何已配置的段列表。在此示例中, compute_segment1 不是配置的分段列表。

  • compute_profile_red计算配置文件应用于名称compute_segment1为 的主路径。

  • compute_profile_red compute-profile 包括 类型的compute段列表,用于指定计算的显式路径约束。

计算路径下一跃点和静态下一跃点的权重分别为 2 和 3。假设计算路径的下一跃点为 comp_nh1、 comp_nh2和 comp_nh3,静态路径的下一跃点为 static_nh,则应用权重如下:

下一跳跃

重量

comp_nh1

2

comp_nh2

2

comp_nh3

2

static_nh

9

示例 2

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

示例 3

在示例 3 中,当在主路径或辅助路径下提及计算时,它会导致到目标的路径的本地计算,而没有任何计算约束或其他参数。

示例:为 SR-流量工程 LSP 配置基于 CoS 的转发和基于策略的路由

可以为非彩色分段路由流量工程 (SR-流量工程) LSP 启用基于 CoS 的转发 (CBF) 和基于策略的路由 (PBR,也称为基于过滤器的转发),以便在显式 SR-TE 路径上引导选择性流量工程,从而为您提供基于服务等级或策略为流量提供服务的好处。

用于 SR-流量工程 LSP 的基于 CoS 的转发和基于策略的路由概述

基于 CoS 的转发 (CBF) 和基于策略的路由 (PBR) 对 SR-流量工程 LSP 的好处

借助 CBF 和 PBR,您可以:

  • 使用分段路由流量工程 (SR-流量工程) 路径的组合来引导核心中的服务流量。

  • 选择要在选定的 SR-流量工程路径上解析的支持服务。

支持 CBF 和 PBR 的分段路由路径源

以下分段路由路径源支持基于 CoS 的转发和基于策略的路由:

  • Static SR–TE paths- 静态配置的源路由路径,其中静态配置了整个标签堆栈。

  • PCEP— 动态调配在控制器上创建的源路由路径,并通过 PCEP 分段路由扩展或通过BGP分段路由扩展下载到 BGP ERO 中的入口路由器路由策略。

  • Dynamic LSPs— 通过动态隧道模块触发的动态创建的隧道,具有最后一跳 ERO 解析。

  • Auto-translated paths- 静态配置的源路由路径,会自动转换。

为 SR-流量工程 LSP 配置 CBF 和 PBR 的注意事项

记住:

  • CBF 和 PBR 仅在静态或动态配置的非彩色 SR-流量工程 LSP 上启用。

  • SR-流量工程 LSP 的 CBF 和 PBR 配置可以在设备上共存;配置顺序决定了转发路由的类型。

  • 对于 PBR,如果 SR-流量工程 LSP 的第一跃点是标签,则必须在层次结构级别包含[edit routing-options]该resolution preserve-nexthop-hiearchy语句。

  • CBF 基于类的路由转发仅在转发表中可见,而不在路由上可见。

  • 基于策略的 PBR 路由转发在路由上完成,并在命令输出中 show route 显示。

为 SR-流量工程 LSP 配置基于 CoS 的转发和基于策略的路由

基于 CoS 的转发 (CBF) 和基于策略的路由 (PBR,也称为基于过滤器的转发 FBF) 可用于使用显式分段路由流量工程 (SR-流量工程) 标签交换路径 (LSP) 来引导选择性流量。只有将下一跃点配置为第一跃点标签或 IP 地址的非彩色分段路由 LSP 才支持 CBF 和 PBR 。

开始之前

  • 您必须运行 Junos OS 20.1 及更高版本,才能为非彩色 SR-流量工程 LSP 启用 CBF 和 PBR。

  • 配置设备接口并确保设备已连接到网络。

  • 定义分段列表并配置 SR-流量工程 LSP 及其相关参数。

要配置 SR-流量工程 LSP,请执行以下操作:

  1. 使用标签参数定义段列表。

    例如:

  2. 为 SR-流量工程 LSP 配置源路由路径,并指定路径的优先级值和主分段。

    例如:

您现在可以为配置的 SR-流量工程 LSP 配置 CBF 和 PBR。

要配置 CBF,请执行以下操作

  1. 定义用于处理传入 IPv4 数据包、转发类和选项值的差异化服务代码点 (DSCP) 分类器。

    例如:

  2. 定义转发类 (FC),用于对要传输的数据包进行分组,并将数据包分配给输出队列。

    例如:

  3. 将配置的分类器分配给设备接口。

    例如:

  4. 将基于 CoS 的转发策略选项与 LSP 下一跃点定义为 SR-流量工程 LSP。

    例如:

  5. 丢弃不满足下一跃点映射中任何转发类的流量。

    例如:

  6. 配置一个策略语句,用于指定与路由过滤器匹配的路由受 map-name 指定的 CoS 下一跃点映射的约束。

    例如:

  7. 将策略应用于从路由表导出到转发表的路由。这样可以为 SR-流量工程 LSP 启用 CBF。

    例如:

  8. 提交配置。

Verify CBF Configuration

您可以使用命令 show route forwarding-table destination ip-address vpn vpn-name extensive 验证 CBF 配置。

对于 CBF,基于类的路由转发仅在转发表中可见,而 PBR 则过滤后的路由在命令输出中 show route 可见。

要配置 PBR,请执行以下操作

  1. 配置一个策略语句,该语句指定与协议和路由过滤器匹配的路由受 LSP 下一跃点的约束,或者在转发表中作为等价多路径 (ECMP) 进行负载均衡。

    例如:

  2. 将设备配置为在路由的协议下一跃点上执行自定义路由解析。

    注意:

    当 SR-流量工程 LSP 的第一跳是标签时,PBR 必须使用该 resolution preserve-nexthop-hierarchy 语句才能正常工作。

  3. 将策略应用于从路由表导出到转发表的路由。这将为 SR-流量工程 LSP 启用 PBR。

    例如:

  4. 提交配置。

Verify PBR Configuration

您可以使用命令 show route destination-prefix 验证 PBR 配置。

输出显示目标前缀 4.0.0.1 的所有下一跃点。这些 expanded-nh extensive 选项在输出字段下 Krt_inh 显示过滤后的下一跃点。

对于 PBR, show route 命令输出会对路由进行基于策略的过滤。

在 PCEP 中为 SR-流量工程 LSP 启用多条路径

您可以为 PCEP SR-流量工程 LSP(静态配置、委托和 PCE 启动)配置多条路径(主路径或辅助路径),如 draft-ietf-pce-多路径-06 中所定义。仅支持一种辅助路径配置,并且仅适用于静态配置的 SR-流量工程 LSP。 draft-ietf-pce-多路径-06 中定义的 PCEP 扩展使 PCEP 能够在 PCEP 端点之间传播 LSP 的多个路径(多路径)。

PCEP SR-流量工程 LSP 的多个路径的优势

  • LSP 可以有多组到目标的 ERO

  • 通过为各个 ERO 配置权重来提供负载平衡功能

  • 与定义候选路径的 SR-流量工程架构草案保持一致

支持以下 PCEP 多路径功能:

  • 启用多条路径的 PCEP(默认)后,您可以在 PCC 配置和控制的候选路径中配置多个主(或一个辅助)路径。

  • 禁用多路径 PCEP 后,您只能在候选路径中配置一个主路径。不允许进行辅助路径配置。

如果启用 PCEP 多路径, compute-profile 现在可配置大于 1 的最大分段列表 (maximum-computed-segment-lists) 数。

注意:

启用多路径的 PCEP 后,PCCD 不会为 PCC 控制的候选路径发送约束。

启用 PCEP 多路径功能后,允许对非委派 PCC 候选路径进行辅助路径配置,特定于辅助路径的 EXPLICIT-ROUTE 对象 (ERO) 将发送到 PCE,并为 ERO 设置了备份标志。主路径在 PCRpt 消息中不包括 MULTIPATH-BACKUP-TLV。辅助路径包括设置了备份标志的 MULTIPATH-BACKUP-TLV。

支持以下 PCEP 多路径功能:

  • 路径属性 (PATH-ATTRIB) 对象中的多路径权重TLV (MULTIPATH-WEIGHT-TLV)

  • 路径属性中的多路径备份 TLV (PATH-ATTRIB) 对象仅适用于 PCC 控制的 SR-流量工程 LSP

  • PCEP LSP 对象中的 MULTIPATH-CAP TLV

  • 禁用 PCEP 多路径时,限制 SR 候选路径中的多个主多路径

  • 当为 PCC 控制的 LSP 启用 PCEP 多路径时,SR 候选路径中有多个主路径和辅助路径

  • 对于委派和 PCE 启动的 LSP,SR-流量工程计算配置文件中的最大计算分段列表 (max-computed-segment-lists) 超过 1 个

  • SR-流量工程和 PCCD 中 PCE 启动的候选路径的多个 ERO

  • SRv6 LSP

  • SR MPLS (IPv4)

  • SR、MPLS (IPv4) 动态隧道

  • 多控制器支持

  • PCE 启动、PCC 配置和受控以及委托的彩色和未着色候选路径的多个 ERO 路径

  • 向后兼容早期版本的 Paragon Pathfinder。为了向后兼容,您需要在 [edit protocols pcep] 层次结构级别配置disable-multipath-capability配置语句。

  • PCE 启动的候选路径验证失败的错误代码支持

    • 每个候选路径的子候选路径总数限制为 127。对于 PCE 启动的 LSP,如果 ERO 路径数量超过 127,则 SR-流量工程会向 PCCD 抛出 ERROR(PCCD 向 PCC 发送 PCEP 错误消息),并且相应的 ERO 路径将被拒绝。

支持以下 PCEP 错误消息:

表 5:PCEP 错误消息
错误类型 错误值 意义 用法
19 20 不支持备份路径 当PCC收到MULTIPATH-BACKUP TLV时,会发生这种情况。
24 1 不可接受的实例化参数 当 PCE 尝试为每个候选路径添加超过 127 个子候选路径时,就会发生这种情况。

限制

以下 PCEP 限制适用:

  • 不支持 draft-ietf-pce-多路径-06 中提到的以下 TLV:

    • 多路径备份 TLV

    • 多路径相反方向路径 TLV

    • 复合候选路径

  • 在 PCEP 中禁用多路径功能时,不允许配置多个子候选路径。但是,在不具备多路径功能的 Junos 设备(早于 22.4R1 的 Junos OS 版本)上,允许配置多个子候选路径。启用 PCEP 多分段后(默认情况下),PCC 控制的 LSP 允许使用多个主路径以进行报告。但是,启用 PCEP 多分段时,委派的候选路径仅支持一个主路径。

  • 对于配置和控制的 PCC SR-MPLS 和 SRv6 候选路径(具有单个或多个主配置),管理员组和任何其他约束将不会通知 PCE。委派和 PCE 启动的候选路径没有影响。

  • 启用 PCEP 多路径功能后,允许对非委派候选路径进行辅助路径配置。禁用 PCEP 多路径功能时,不允许进行辅助路径配置。

  • 候选路径不能混合 PCE 发起和委托的 LSP。

  • 不支持 PCE 发起的彩色候选路径的多个子候选路径。

  • 不支持在候选路径中具有多个子候选路径的委托要素。

配置

要使 PCCD 能够在 LSP 对象中发送多路径功能 TLV 以通知特定候选路径的最大计算分段列表,请在 [edit protocols pcep] 层次结构级别包含propagate-max-segmentlist配置语句。默认情况下,TLV 不会在 LSP 对象中发送。

要禁用所有 PCE 的 PCEP 多功能会话,请在 [edit protocols pcep] 层级包含disable-multipath-capability配置语句。

您可以启用以下协议跟踪选项进行诊断:

  • user@host# set protocols pcep traceoptions …

  • user@host# set protocols pcep pce pce1 traceoptions …

  • user@host# set protocols source-packet-routing traceoptions

您可以使用以下 show 命令显示 PCC 中 LSP 的状态:

  • user@host> show path-computation-client lsp— 显示路径计算客户端 (PCC) 已知的标签交换路径 (LSP) 的状态。

  • user@host> show path-computation-client lsp extensive— 显示有关每个已知 LSP(点对点和点对多点 LSP)的广泛输出级别。

  • user@host> show path-computation active-pce- 显示会话中多路径的状态。

  • user@host> show spring-traffic-engineering lsp detail—显示 SPRING 流量工程的入口详细信息。

为 PCEP 会话启用传输层安全性

传输层安全性 (TLS) 提供对对等身份验证、消息加密和完整性的支持。您可以在路径计算客户端 (PCC) 中启用 TLS,以与 RFC 8253 中定义的路径计算元素 (PCE) 建立 TCP 连接。这将创建一个安全的 PCEP 会话 (PCEPS) 来传输 PCEP 消息。

本文档介绍如何为PCEP会话启用TLS以保护与PCE的交互,包括TLS过程的启动、TLS握手机制、用于对等身份验证的TLS方法。通过 TLS 进行 PCEP 的安全传输也称为 PCEPS。

为 PCEP 会话启用 TLS 的好处

  • 保护 PCEP 会话免受欺骗(PCC 或 PCE 模拟)、窥探(消息拦截)、伪造和拒绝服务等攻击。

  • 利用 TLS 安全优势。

在路径计算客户端 (PCC) 中启用 TLS

要在 PCC 中启用 TLS 并建立 PCEPS 会话,请在 [edit protocols pcep] 层次结构级别设置 tls-strict CLI 语句。

启用 tls-strict 配置语句后,会发生以下事件:

  1. PCEP 会话翻动。任何现有的 TCP 连接都将终止,并使用 TLS 完成重新连接。

  2. PCC 与 PCE 建立 TCP 连接。

  3. TLS 过程由从 PCE 到 PCC 以及从 PCC 到 PCE 的 StartTLS 消息启动。StartTLS 消息由 PCC 发送,StartTLSWait 计时器启动。您可以通过在 [edit protocols pcep pce pce-id] 层次结构级别配置 CLI 语句来start-tls-wait-timer seconds配置 StartTLSWait 计时器。

    注意:

    StartTLSWait 计时器的建议值为 60 秒,并且不得小于 OpenWait 计时器。默认的 OpenWait 计时器值设置为 60 秒。

    • 如果 PCC 收到 Open 消息而不是 StartTLS 消息,则 Error-Type 设置为 1(PCEP 会话建立失败)且 Error-value 设置为 1(接收无效的 Open 消息或非 Open 消息)的 PCErr 消息,并且 TCP 会话将关闭。

    • 如果未从 PCE 收到 StartTLS 消息,则在 StartTLSWait 计时器到期后,PCC 会发送 PCErr 消息,其中 Error-Type 设置为 25(PCEP StartTLS 失败)和 Error-value 设置为 5(在 StartTLSWait 计时器到期之前没有 StartTLS 消息(或 PCErr/Open),并且 TCP 会话将关闭。

  4. 协商并建立 TLS 连接。

  5. 根据RFC5440开始交换 PCEP 消息。

注意:

如果未在 [edit protocols pcep] 层次结构级别下启用 tls-strict CLI 语句,则在建立 PCEP 会话时,如果 PCC 接收到 StartTLS 消息而不是 Open 消息,则 Error-Type 设置为 1(PCEP 会话建立失败)且 Error-value 设置为 1(接收无效 Open 消息或非 Open 消息)的 PCErr 消息, 然后关闭 TCP 会话。

注意:

要建立成功的 PCEPS 会话,必须在 PCC 和 PCE 上启用 TLS。

使用公钥基础架构 (PKI) 更新证书

PKI 不会通知 PCC 证书到期。您必须使用以下 CLI 命令手动更新证书。在此方法中,您必须跟踪证书到期日期。

建立 TLS 连接

以下步骤介绍如何建立 TLS 连接(使用 TLS v1.2):

  1. 为节点生成证书(Junos OS 设备/pce-server)。可以使用以下方法之一生成证书:

    • 方法 1 — 在设备上生成密钥对和 CSR,并将此 CSR 发送到证书颁发机构以获取证书。证书颁发后,将其复制到盒子中并安装。

    • 方法 2 — 生成开箱即用的密钥对和证书。证书和私钥都将复制到设备上并一起安装。

  2. 在 PCC 上加载认证授权机构 (证书颁发机构),以便可以根据加载的证书颁发机构验证 PCE 服务器证书。

    注意:

    CA 可以作为独立的 CA 在平面层次结构中加载证书颁发机构。如果一个证书颁发机构是另一个证书颁发机构的子证书颁发机构,则该链由 PKI 在内部构建。

    注意:

    服务器证书应由证书颁发机构签名。不允许使用自签名证书。

  3. 在 PCC 上启用 TLS。

  4. PCEP 会话通过 TLS 建立,并具有 TLS 握手机制。

  5. PCE 服务器侦听端口 4189 以接收通过 TLS 传入的 PCC 连接请求。

  6. PCC 发起对目标端口 4189 的连接请求。

  7. 完成三向握手后,TLS 握手从使用证书开始,并完成单向身份验证(PCC 对服务器证书进行身份验证)。服务器和客户端都等待 StartTLSWait 时间接收 StartTLS 消息。您可以通过在 [edit protocols pcep pce pce-id] 层次结构级别配置 CLI 语句来 start-tls-wait-timer seconds配置 StartTLSWait 计时器。

    注意:

    StartTLSWait 计时器的建议值为 60 秒,并且不得小于 OpenWait 计时器。默认的 OpenWait 计时器值设置为 60 秒。

  8. TLS 握手会话成功后,PCC 和 PCE 将通过 TLS 启动 PCEP 会话建立,在此期间对会话参数进行协商。

    • 如果证书验证失败,PCC 将终止 TCP 连接。

  9. PCEP 消息通过 TLS 连接作为应用程序数据发送。

  10. 成功进行 TLS 握手后,PCC 和 PCE 都会进行加密和解密。

  11. 关闭 PCEP 会话时,TLS 会话将被移除。

注意:

如果证书在正在进行的 PCEP over TLS 会话期间过期、吊销或重新加载,则正在进行的会话不会受到影响。

了解基本 TLS 握手机制

握手是服务器和客户端之间交换的一系列消息。握手的确切步骤因密钥交换算法、密码套件等而异。以下是基本的 TLS 握手机制步骤:

  1. 客户端问候 — 客户端通过发送此消息来启动握手。此消息包含 TLS 版本、支持的加密算法或密码套件列表以及其他客户端详细信息。

  2. Server Hello — 服务器通过发送 Sever Hello 消息来回复客户端 Hello。此消息包含服务器证书、选定的加密算法、会话 ID 和服务器的公钥。

  3. 身份验证 — 客户端在后台使用已颁发证书的已配置证书颁发机构验证服务器的证书。验证成功后,客户端确认服务器是正版并继续交互。

  4. 可选客户端证书 — 如果服务器在服务器 Hello 消息中向客户端请求证书,则客户端将发送客户端证书(仅在双向 TLS 的情况下)。

  5. 客户端密钥交换 — 客户端发送使用服务器的公钥(在服务器 Hello 消息中获取)加密的密钥。

  6. 解密密钥 — 服务器使用私钥解密密钥。

  7. 客户端完成 — 客户端发送一条完成消息,该消息使用共享密钥加密,并发出握手完成信号。

  8. 服务器完成 — 服务器响应完成消息,该消息使用共享密钥加密,并发出握手完成信号。

  9. 交换消息 — 握手完成后的信息将对称加密。

诊断和验证 PCEP 会话的 TLS

要进行诊断,请使用以下 traceoptions CLI 语句:

使用以下配置启用 PKI 日志,并从中捕获相同的文件 /var/log/<filename>

使用以下命令验证加载的 证书颁发机构证书:

示例输出

以下是命令的 show path-computation-client statistics 示例输出:

此示例输出提供以下信息:

  • 在 PCC 启用 TLS。

  • PCE 支持 TLS。

  • TLS 会话已建立。这也表示 PCE 服务器证书有效。

  • PCEPS 会话状态为已启动并正在运行。

PCEP 中的报告路径优化和计算指标

PCEP 中的公制对象有多种用途。指标对象表示用于路径优化的指标类型。度量对象还指示路径成本的界限,不得超过该界限才能将路径视为可接受的路径。指标对象还指示计算的指标。

我们支持用于路径优化(内部网关协议、流量工程和路径延迟)的指标对象,并支持 RSVP 和 SR-流量工程 LSP 的计算指标报告。

注意:

用于路径优化和计算指标报告的指标对象不适用于 SRv6-流量工程 LSP。

PCEP 中报告路径优化和计算指标的好处

  • 报告 PCC 中配置的路径优化指标有助于 PCE 了解用于路径计算的约束。

  • 向 PCE 报告计算指标。这有助于 PCE 分析 LSP 是否需要进一步优化。

了解优化指标

以下部分介绍了 PCEP 中 RSVP 和 SR-流量工程 (SR MPLS) LSP 的预期和实际优化指标。

本地创建的 RSVP LSP

要使用指标优化本地创建的 RSVP LSP,请配置优化指标(IGP、流量工程和路径延迟),以便通过 PCEP 报告配置的指标。计算出的指标通过 PCRpt 消息作为 PCEP 中的实际指标发送。

委托回复 LSP

要报告委派 RSVP LSP 的优化指标,请配置优化指标(IGP、流量工程和路径延迟)。

预期指标:

  • 当在委托 LSP 时配置优化指标时,该信息将通过 PCRpt 消息发送到 PCE。

  • 当在委派 LSP 后配置优化指标时,当 LSP 控制状态变为本地控制时,更改将应用于 LSP/传输到 PCE。

  • 收到 PCUpd 消息时,如果消息中存在优化指标,则该指标将在后续 PCRpt 消息中用作预期指标,直到 LSP 控制状态为外部控制。

  • 收到 PCUpd 消息时,如果消息中不存在优化指标,则后续 PCRpt 消息不包含预期的指标。

  • 当 LSP 控制状态更改为本地控制时,从 Junos CLI 配置的优化指标将是 PCRpt 消息中的预期指标。

实际指标:

  • 委派 LSP 时,PCRpt 消息不包含实际指标。

  • 收到 PCUpd 消息时,如果消息中存在计算指标,则该指标将用作后续 PCRpt 消息中的实际指标,直到 LSP 控制状态为外部控制。

  • 收到 PCUpd 消息时,如果消息中不存在计算指标,则后续 PCRpt 消息不包含实际指标。

  • 当 LSP 控制状态更改为本地控制时,PCC 计算的指标将作为实际指标在 PCRpt 消息中发送。

PCE 发起的 RSVP LSP

要报告 PCE 启动的 RSVP LSP 的优化指标,请在模板中配置优化指标(IGP、流量工程和路径延迟)。然后,当 LSP 控制状态变为本地控制时,模板将应用于 PCE 启动的 LSP。

预期指标:

  • 当 PCE 启动的 LSP 映射到具有优化指标的模板时,当 LSP 控制状态更改为本地控制时,配置将应用于 LSP,并发送到 PCE。

  • 收到 PCInit/PCUpd 消息时,如果消息中存在优化指标,则该指标将在后续 PCRpt 消息中用作预期指标,直到 LSP 控制状态受到外部控制。

  • 收到 PCInit/PCUpd 消息时,如果消息中不存在优化指标,则后续 PCRpt 消息不包含预期的指标。

  • 当LSP控制状态变为本地控制时,模板中存在的优化指标将用作PCRpt消息中的预期指标。

实际指标:

  • 收到 PCInit/PCUpd 消息时,如果消息中存在计算的指标,则该指标将用作后续 PCRpt 消息中的实际指标,直到 LSP 控制状态为外部控制。

  • 收到 PCInit/PCUpd 消息时,如果消息中不存在计算的指标,则后续 PCRpt 消息不包含实际指标。

  • 当 LSP 控制状态更改为本地控制时,PCC 计算的指标将作为实际指标在 PCRpt 消息中发送。

委托 SR-流量工程 LSP

要报告委派 SR-流量工程 (SR MPLS) LSP 的优化指标,请配置优化指标(IGP、流量工程和路径延迟)。您还可以报告委派 SR-流量工程 LSP 的带宽和预留优先级。

预期指标:

  • 当在委托 LSP 时配置优化指标时,该信息将通过 PCRpt 消息发送给 PCE。

  • 当在委派 LSP 后配置优化指标时,当 LSP 控制状态变为本地控制时,更改将应用于 LSP/传输到 PCE。

  • 收到 PCUpd 消息时,如果消息中存在优化指标,则该指标将在后续 PCRpt 消息中用作预期指标,直到 LSP 控制状态为外部控制。

  • 收到 PCUpd 消息时,如果消息中不存在优化指标,则后续 PCRpt 消息不包含预期的指标。

  • 当 LSP 控制状态更改为本地控制时,从 Junos CLI 配置的优化指标将是 PCRpt 消息中的预期指标。

  • 委派 LSP 时,计算配置文件中配置的带宽和预留优先级也会在 PCRpt 消息中报告。

  • 如果在 PCUpd 消息中更新了带宽或优先级值,则 PCC 会在 LSP 受到外部控制时,将收到的值报告为后续 PCRpt 消息中的预期指标。

  • 如果 PCUpd 消息中不存在带宽或优先级值,则后续 PCRpt 消息将这些值 0作为 。

  • 当 LSP 控制状态更改为本地控制时,带宽和优先级将重置为 0。

实际指标:

  • 创建后委托LSP时,如果LSP有1 ERO,则在LSP委托时,IGP、流量工程和延迟指标的计算值将作为实际指标在PCRpt消息中发送。

  • 创建后委托LSP时,如果LSP有多个ERO,则在LSP委派时,计算的指标/实际指标不会在PCRpt消息中发送,因为实际指标需要在PCEP中按LSP(而不是按ERO)发送。

  • 收到 PCUpd 消息时,如果消息中存在计算指标,则该指标将用作后续 PCRpt 消息中的实际指标,直到 LSP 控制状态为外部控制。

  • 收到 PCUpd 消息时,如果消息中不存在计算指标,则后续 PCRpt 消息不包含实际指标。

  • 当 LSP 控制状态更改为本地控制时,在 PCC 中计算的 IGP、流量工程和延迟指标将作为 PCRpt 消息中的实际指标发送。

  • 如果在 PCUpd 消息中接收到带宽,则在 LSP 受到外部控制时,收到的值将在后续 PCRpt 消息中报告为实际带宽。如果不存在,则将保留最后报告的值,直到控件发生更改。委派时,实际带宽设置为 0。当 LSP 成为本地控制时,实际带宽将重置为 0。

  • 如果在 PCUpd 消息中收到设置和保持优先级值,则收到的值将在后续 PCRpt 消息中报告为实际指标,而 LSP 仍受外部控制。如果不存在,则这些值报告为 0。当 LSP 成为本地控制时,两个优先级都将重置为 0。

PCE 发起的 SR-流量工程 LSP

PCE 在 PCInit/PCUpd 消息中发送的预期指标或实际指标将通过 PCRpt 消息报告回 PCE,直到 LSP 受到外部控制。Junos OS 还会报告 PCE 启动的 SR-流量工程 LSP 的带宽和预留优先级。

预期指标:

  • 收到 PCInit/PCUpd 消息时,如果消息中存在优化指标,则该指标将在后续 PCRpt 消息中用作预期指标,直到 LSP 控制状态受到外部控制。

  • 收到 PCInit/PCUpd 消息时,如果消息中不存在优化指标,则后续 PCRpt 消息不包含预期的指标。

  • 当 LSP 控制状态变为本地控制时,将不会发送预期的度量。

  • 如果 PCInit/PCUpd 消息中包含带宽或预留优先级值,则 PCC 会在后续 PCRpt 消息中将这些值报告为预期指标,而 LSP 仍受外部控制。

  • 如果 PCInit/PCUpd 消息中不存在带宽或预留优先级值,则 PCC 会将这两个值报告为 0。

  • 当 LSP 成为本地控制时,两个值都将重置为 0。

实际指标:

  • 收到 PCInit/PCUpd 消息时,如果消息中存在计算指标,则该指标将用作后续 PCRpt 消息中的实际指标,直到 LSP 控制状态为外部控制。

  • 收到 PCInit/PCUpd 消息时,如果消息中不存在计算的指标,则后续 PCRpt 消息不包含实际指标。

  • 当 LSP 控制状态更改为本地控制时,后续 PCRpt 消息不包含实际指标。

  • 如果 PCInit/PCUpd 消息中存在带宽值,则在 LSP 保持外部控制时,它们会在 PCRpt 消息中报告为实际带宽。如果不存在,则现有带宽保持不变,直到 LSP 受到本地控制,此时将重置为 0。

  • 如果 PCInit/PCUpd 消息中包含设置和保持优先级值,则 PCC 会在后续 PCRpt 消息中将其报告为实际指标,而 LSP 仍受外部控制。如果不存在,则值报告为 0。当 LSP 成为本地控制时,两者都会重置为 0。

在 PCRpt 消息中发送优化指标

优化量度通过 中的 PCRpt intended-attributes-list 消息发送到 PCE。度量值设置为 0,B、C 标志设置为 0。指标类型表示要优化的指标。

在 PCRpt 消息中发送计算指标

计算的指标通过 中的 PCRpt actual-attributes-list 消息发送到 PCE。指标值是计算的指标值,指标类型表示计算的指标类型。B 标志设置为 0,C 标志设置为 1。

路由度量向后不兼容

由于路由度量使用供应商 TLV 支持,因此 PCC 不会处理支持 Northstar 和旧版 Paragon Pathfinder 的瞻博网络 PCE 在度量对象中发送的路由度量。

为 LSP 配置优化指标

您可以为 RSVP LSP 和 SR-流量工程 LSP 配置优化指标(IGP、流量工程和路径延迟)。

要为 RSVP LSP 配置 IGP、流量工程和路径延迟优化指标,请在 [edit protocols mpls label-switched-path <lsp-name>] 层次结构级别包含 metric-type <igp|te|delay|delay minimum> CLI 语句。

要为 SR-流量工程 LSP 配置 IGP、流量工程和路径延迟优化指标,请在 [edit protocols source-packet-routing compute-profile <compute-profile-name>] 层次结构级别包含 metric-type <igp|te|delay|delay minimum> CLI 语句。

示例输出

您可以使用 和 show path-computation-client lsp show path-computation-client lsp extensive CLI 命令显示路径计算客户端 (PCC) 已知的标签交换路径 (LSP) 的状态。

以下是以下示例 show path-computation-client lsp extensive输出:

输出显示,LSP 已使用度量类型 IGP 进行了优化。IGP 指标的计算值为 50。路由表中安装的路由指标为 50。

PCEP 中带有微型 SID 的 SRv6-流量工程隧道

PCEP 中支持带有微 SID 的 SRv6-流量工程隧道,通过支持这些隧道的报告、委派和创建,增强了流量工程和网络优化。您可以将采用微 SID 配置的静态 SRv6-流量工程隧道报告并委托给 PCE,并通过 PCE 启动这些隧道,从而改善控制和管理。关键功能包括向 PCE 报告带有微型 SID 的静态 SRv6-流量工程隧道,委托其管理,以及通过适当的 SID 结构和端点行为检查来创建隧道。现有 CLI 命令经过扩展可以支持这些功能,从而促进有效的配置和监控。

PCEP 中支持微 SID 的 SRv6-流量工程隧道的优势

  • 通过允许 PCE 创建和管理具有微型 SID 的 SRv6-流量工程隧道,从而优化网络性能和资源利用率,从而增强流量工程。

  • 通过向 PCE 报告和委托具有微 SID 配置的静态 SRv6-流量工程隧道,提供更好的网络控制和可见性。

概述

通过将 SRv6-流量工程隧道与 PCEP 中的 micro-SID 支持进行集成,您可以显著增强网络的流量工程功能。此功能允许您报告、委派和创建带有微型 SID 的 SRv6-流量工程隧道,利用路径计算元素 (PCE) 进行更好的网络优化和管理。当您向 PCE 报告具有微 SID 配置的静态 SRv6-流量工程隧道时,它将包含 SID 结构和端点行为等全面详细信息,使 PCE 能够有效管理这些隧道。

将带有微型 SID 的 SRv6-流量工程隧道委托给 PCE 可以增强控制,因为 PCE 可以动态管理隧道配置并优化路由路径。此委派可以配置为在创建后进行,也可以将其设置为在单个提交中合并创建和委派,从而简化配置过程。此外,PCE 还可以通过微型 SID 启动 SRv6-流量工程隧道,确保正确的 SID 结构和端点行为检查到位,从而保持网络路由的完整性和性能。

您可以使用以下 show 命令监控 SRv6-流量工程隧道:

这些命令提供了有关 SRv6-流量工程隧道状态和配置的详细见解,使您能够根据需要进行故障排除和优化。您可以通过 PCEP 中的微 SID 支持充分利用 SRv6-流量工程隧道的增强功能。

变更历史表

是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。

发布
描述
21.R1
从 Junos OS 21.1R1 版开始,Junos OS 可为 PCE 启动的基于 RSVP 的点对点和点对多点 LSP 提供不间断活动路由 (NSR)。
21.R1
从 Junos OS 21.1R1 版开始,Junos OS 可为 PCE 启动的基于 RSVP 的点对多点 LSP 提供不间断活动路由 (NSR)。
19.4R1
您可以将单个或一系列 MVPN 组播流 (S,G) 与动态创建的 PCE 启动的点对多点标签交换路径 (LSP) 相关联。
19.4R1
您可以为 PCE 启动的分段路由 LSP 配置隧道模板,以便为这些 LSP 传递两个附加参数 - 双向转发检测 (BFD) 和 LDP 隧道。
17.2R1
从 Junos OS 17.2 版开始,除了 之外, external cspf还为 PCE 控制的 LSP 引入了两种新的路径计算类型: local cspf 和 no cspf。
16.1
从 Junos OS 16.1 版开始,您可以根据 RFC 5440 使用 TCP-MD5 身份验证来保护 PCEP 会话。
16.1
Junos OS 16.1 版引入了根据 RFC 5440 使用 TCP-MD5 身份验证保护 PCEP 会话的安全功能。
14.2R4
从 Junos OS 14.2R4 版开始,可为 PCE 控制的 LSP 提供自动带宽支持。