Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

分段路由概述

Paragon Pathfinder 支持一种基于源的路由技术,该技术称为网络中的源数据包路由 (SPRING),也称为分段路由。在分段路由中,入口路由器通过网络中的显式路径引导数据包,而不依赖网络中的中转节点来确定路径。

您可以通过添加分段路由隧道来配置这些显式路径。有关如何添加单个、多分段和多分段路由隧道的信息,请参阅 关于隧道选项卡

您可以在运行 Junos OS 17.2R1 或更高版本的瞻博网络设备以及支持分段路由的其他供应商设备上配置 SPRING 功能。Paragon Pathfinder 支持 IS-IS 和 OSPF 作为网络中用于分段路由的内部网关协议 (IGP)。

有关分段路由概念以及运行 Junos OS 的瞻博网络设备上的支持的详细信息,请参阅 Junos OS 文档

以下部分介绍了 Paragon Pathfinder 中的分段路由行为。

段标识符 (SID)

Paragon Pathfinder 将一组满足策略的路径编译为 SID。这些路径作为指令附加到数据包中。SID 表示网络中节点的路径。节点执行 SID 列表中指定的指令。

您可以在添加或修改隧道时显示的路径选项卡中为分段路由隧道路径定义策略中的跃点。要定义跃点,请指定希望路径遍历的节点、链接和节点组的顺序。满足路径策略的路径也将满足其他要求,例如延迟、带宽等。因此,分段路由路径计算的结果是一个 SID 列表,这些 SID 指示网络实现满足策略的路径。但是,SID 列表可能与路径策略中指定的跃点不完全一致。

目前,Paragon Pathfinder 支持节点 SID(与节点关联)、邻接 SID(与链接关联)、绑定 SID(与隧道关联)和任播 SID(与任播组关联)。

注意:

目前,Paragon Pathfinder 不支持用于 SRv6 隧道的绑定 SID 和任播 SID。

如果节点 SID 和任播 SID 都可用于路径计算,则路径计算服务器将实现满足策略的路径,如下所示,以根据路径策略路由流量:

  • 如果使用 PCEP 作为预配方法,则路径计算服务器使用任播 SID 而不是节点 SID。
  • 如果使用 NETCONF 作为设置方法,则路径计算服务器将使用节点 SID 而不是任播 SID。

要查看 GUI 中的 SID,请执行以下操作:

  • 邻接 SID 标签:

    • 要查看拓扑图中的分段路由 MPLS 邻接 SID 标签,请右键单击映射中空白处的任意位置。从显示的列表中,选择“链接标签”,然后选择“SID A::Z”。 若要查看地图上链接的 SRv6 SID 标注,请选择“链接标签”,然后选择“SRv6 SID 函数 A:Z”。
    • 在网络信息表中,链路选项卡显示 SID A 和 SID Z 列中链路的分段路由 MPLS SID 标签。SRv6 SID 标签显示在 SRv6 SID A 和 SRv6 SID Z 列中。

    图 1 显示了一个示例拓扑,其中包含链路的分段路由 MPLS SID 标签。

    若要查看特定链接的每个 SID 的属性,请在“链接”选项卡中选择一个链接。单击将鼠标悬停在链接上时显示 的详细信息图标, 或选择 更多>显示详细信息。在显示的“链接 - 链接名称 ”页面中,导航到“ 详细信息”选项卡,> SR > SID >协议 [n] >协议。

    注意:

    目前,Paragon Pathfinder 每个接口仅支持一个分段路由 MPLS SID 和一个 SRv6 SID。

    图 1:邻接 SID 标签 Adjacency SID Labels
  • 节点 SID 标签 — 在网络信息表中,节点选项卡在 SID 列中显示节点的分段路由 MPLS SID 标签,在 SRv6 SID 列中显示 SRv6 SID 标签。此外,您还可以在拓扑图中查看分段路由 MPLS SID 标签。但是,SRv6 SID 标签不会显示在拓扑图上。

    注意:

    仅当网络中所有节点的分段路由全局块 (SRGB) 值在同一范围内时,才能查看 SID 标签。

    要从特定节点的角度查看其他节点的节点 SID,请在网络信息表中选择该节点,然后单击查看所选 节点>节点 SID。节点的节点 SID 从所选节点的角度显示在拓扑图中。例如,图 2 显示了从节点 ios-xr8 的角度查看的节点的节点 SID,而 图 3 显示了从节点 vmx101 的角度查看的节点 SID。根据特定节点的视角,节点可以具有不同的节点 SID 值。例如,从节点 ios-xr8 的角度来看,节点 vmx102 的节点 SID 为 80002,而从节点 vmx101 的角度来看,节点 vmx102 的节点 SID 为 1002,如图 2图 3 中突出显示的那样。

    图 2:从 ios-xr8 Node SIDs as Viewed from ios-xr8 查看的节点 SID
    图 3:从 vmx101 Node SIDs as Viewed from vmx101 查看的节点 SID
  • 任播 SID 标签 — 在网络信息表中,任播组选项卡将分段路由 MPLS 隧道的任播 SID 标签显示为 SR 列中的索引值。
  • 绑定 SID 标签 — 在网络信息表中,隧道选项卡在 BSID 列中显示用于绑定分段路由 MPLS 隧道的 SID 标签。“链接”选项卡显示“ SID A ”和“SID Z”列中的 SID 标签。

绑定 SID

您可以使用 NETCONF 作为调配方法调配一对绑定 SID 分段路由 MPLS 隧道(一个从 A 到 Z,另一个用于从 Z 到 A 的返回路径)。有关添加隧道的详细信息,请参阅 添加单个隧道 。预配隧道时,将自动创建专用转发邻接关系。这些邻接的名称采用特定格式,包含三个部分,用冒号分隔。例如, binding:0110.0000.0105:privatefa57

  • 所有名称都以“绑定”开头,后跟冒号。
  • 中间部分是始发节点的名称,后跟冒号(在本例中为 0110.0000.0105)。

  • 最后一部分是在“添加隧道”页(本例中为 privatefa57 )的“属性”选项卡的“名称”字段中为绑定 SID 分段路由隧道指定的名称。

只能通过绑定 SID 分段路由隧道通过非绑定 SID 分段路由隧道建立隧道(反之亦然)。绑定减少了标签堆栈中的标签数(专用转发邻接标签可以表示路径中的多个跃点)。

注意:

目前,Paragon Pathfinder 不支持绑定 SID 标签分配或冲突检测。Junos OS 具有内置的冲突检测功能。因此,如果指定的绑定 SID 标签超出 1000000 到 1048575 的允许范围,则 Junos OS 不允许提交配置。相应地,网络信息表的“隧道”选项卡中的“控制器状态”将显示 FAILED(NS_ERR_INVALID_CONFIG)。

若要添加一对绑定 SID 分段路由隧道,请在与第一个隧道相反的方向上预配第二个绑定 SID 分段路由隧道。您必须使用与隧道对中的第一个隧道相同的隧道名称,以确保隧道可以正确匹配。置备隧道对时,将自动创建相应的专用转发邻接链路。绑定 SID 标签值也可以与对中的第一个隧道中的值相同,但不是必需的。

然后,在为非绑定 SID 分段路由隧道指定跃点时,可以选择专用转发邻接链路作为目标。在路由器上使用 show 命令确认隧道对已推送到路由器配置。

在网络信息表中选择绑定 SID 分段路由隧道时,相应的专用转发邻接链路在拓扑图中显示为虚线,如图 4 所示。

图 4:专用转发邻接链路 Private Forwarding Adjacency Links

最大 SID 深度 (MSD)

当控制器计算分段路由路径时,它必须学习它可以在与分段路由路径对应的每个节点上施加的 MSD,以便计算路径的 SID 堆栈深度值不超过节点施加的 SID 数。

为避免 MSD 上的设备限制,在添加具有节点 SID 的分段路由隧道时,可以选择 RouteByDevice 作为路由方法。此选项使路由器能够控制路由的一部分,因此需要显式指定的标签更少。

添加分段路由隧道时,在不使用 routeByDevice 时遇到 MSD 限制的症状是,尽管在网络信息表中添加了新隧道的行,但 Op 状态显示为“未知”,控制器状态显示为 “在 x 分钟后重新计划”。不会创建用于转发流量的隧道。因此,流量按照路由表中非工程流量的最短路径进行转发。要解决此问题,您必须请求隧道的参数(例如不同的跃点),以便 Paragon Pathfinder 计算出不违反路径中路由器 MSD 的路径。或者,使用绑定 SID 配置一些隧道以创建转发邻接,以便 Paragon Pathfinder 可以在 SID 列表中指定绑定 SID。

添加分段路由隧道时,您在路径选项卡中指定的跃点信息会影响路由。您可以选择不超过入口路由器上施加的 MSD 跃点限制的跃点, 并指定严格 或松 遵守。如果将跃点指定为 strict,则隧道必须采用从前一个路由器到此路由器的直接路径(仅包含您为路径指定的链路和节点)。如果将跃点指定为松散,则隧道可以采用任何路径到达此路由器;PCE选择最佳路径。

重新路由和重新配置

对于 PCEP 配置的分段路由隧道,路由器只能报告第一跃点的运行状态。网络信息表中的“操作状态”列显示 操作状态 。在第一个跃点之后,控制器负责监视 SID 标签并报告操作状态。如果标签更改或从网络中消失,控制器将尝试重新路由并重新调配处于非运行状态的隧道。

如果控制器找不到符合约束的备用路由路径,则会从网络中删除隧道。但是,这些隧道不会从数据模型中删除(隧道保留在数据存储机制中)。目标是通过从网络中删除隧道,最大程度地减少来自不可行的分段路由隧道的流量损失。删除分段路由隧道后,Op 状态列会将状态显示为 未知。“控制器状态”列将状态显示为“ 找不到路径 ”或 “在 x 分钟内重新计划”。

您可以通过为隧道创建具有更少或更宽松约束的辅助路径来降低流量丢失的风险。如果隧道不满足原始约束,控制器将首先尝试使用辅助路径重新路由。如果重新路由有效,隧道将保持 Up 状态,并且不会被删除。

注意:

控制器允许向分段路由隧道添加辅助路径。但是,它不会预配为 PCC 的辅助路径,因为分段路由隧道协议不支持辅助路径。

如果使用 REST API 创建分段路由隧道,则可以将隧道的重新路由行为设置为 noRerouting。如果拓扑更改导致隧道中的流量偏离最初预配的路径,分段路由路径计算服务器将关闭分段路由隧道。如果未指定 noReroute(即允许重新路由),则路径计算服务器将在网络拓扑更改时计算符合用户定义的路径策略的新路径。当路径计算服务器可以选择同时使用节点 SID 和任播 SID 来实现路径策略时,路径计算服务器将按如下所示使用 SID:

  • 如果指定了 noRerouting ,则使用节点 SID 来实现路径策略。
  • 如果允许重新路由,则使用任播 SID 来实现路径策略。当拓扑发生更改时,现有 SID 列表仍可以通过将隧道从任播组中的一个节点移动到任播组的另一个节点来实现路径策略。

按需下一跃点、域内(实验性功能)

注意:

此功能仅用于实验室和演示目的。我们不建议将此功能用于生产网络。

按需下一跃点 (ODN) 功能使控制器能够在路由通过 BGP 下一跃点解析时动态创建分段路由-流量工程 (SR–TE) 隧道。然后,SR–TE 隧道可以由路径计算元素 (PCE) 委派和管理。要使用此功能,请使用支持分段路由 ODN 的最新版本的 Junos OS 20.4 或更高版本(例如,Junos 20.4I-20200910)配置设备。

必须配置 Junos OS 设备才能创建隧道。以下示例显示了先决条件配置:

在路由选项动态隧道配置部分中,指定 动态隧道 (即目标网络)的模板和端点。目标网络可以是一台设备,也可以是多台设备(由子网指示)。模板(本例中为 odnmytemplate )在 协议 source-packet-routing source-routing-path-template 下指定。设备配置还指向可以包含其他参数的计算配置文件。

设备上的配置将建立:

  • 源路由路径模板
  • 目标网络
  • 计算配置文件

有关这些特定命令的语法和用法的一般准则,请参阅 Junos OS 文档

路由器创建动态隧道后,运行 show dynamic-tunnels database 命令以查看新隧道,如以下示例所示。动态隧道也会显示在网络信息表的隧道选项卡中。

要将 ODN 隧道委托给 PCE,请在运行 Junos OS 的设备上配置以下语句:
注意:

在上面的命令中, odnmytmeplate 是特定模板的名称。

查看分段路由路径

要查看分段路由路径的详细信息,请执行以下操作之一:

  • IP 地址和 SID 是显式路由的两个部分。IP 地址部分显示在 ERO 列中,SID 部分显示在网络信息表的隧道选项卡的记录路由列中。
  • 在隧道选项卡中,将鼠标悬停在隧道上,然后单击显示 的详细信息 图标。或者,选择一个隧道,然后单击 更多>显示详细信息

    此时将显示隧道<隧道名称> 页面。导航到详细信息选项卡,然后单击 ero > [n] 的实时属性 以查看 ERO 的详细信息。

  • 在路由器上使用 Junos OS show 命令。一些例子是:
    • show spring-traffic-engineering lsp name lsp-name detail 以显示隧道状态和 SID 标签。

    • show route table inet.3 以显示具有 SPRING 隧道的流量目的地映射。

要记住的要点

以下是有关 SRv6 隧道的一些注意事项:

  • 您只能在 JUNOS 路由器上配置 SRv6 隧道。

  • Paragon Pathfinder 不支持收集 SRv6 隧道的遥测数据。

  • 您必须在建立邻接关系的 ISIS 接口上配置 End.X SID,以便在 SRv6 路径计算中考虑链路。

  • 查看此类隧道的事件时,不会显示 SRv6 隧道的当前路径。

  • 您无法为 SRv6 隧道运行 ping 和跟踪路由命令。

  • 只能使用默认路径计算服务器来配置 SRv6 隧道。

  • Paragon Pathfinder 仅支持每个节点和每个链路一个 SRv6 SID。

  • 您无法使用 NETCONF 作为调配方法在思科 IOS-XR 设备上调配分段路由策略。