分段路由
NorthStar 控制器支持网络中的源数据包路由 (SPRING),也称为分段路由 (SR)。在 SR MPLS 中,数据包通过 SR 域采用的端到端路径在入口路由器上编码为一组指令。这使得中转路由器不会维护每个路径的信息,从而减少额外的控制平面开销。路径是段的集合,由标签表示。
从 Junos OS 17.2R1 版开始,QFX5100 和 QFX10000 交换机支持 IS-IS 和 OSPFv2 的分段路由。从 Junos OS 17.3R1 版开始,QFX5110 和 QFX5200 交换机支持 IS-IS 和 OSPFv2 的分段路由。有关分段路由概念以及对运行 Junos OS 的瞻博网络设备的支持的信息,请参阅 Junos OS 文档。
需要使用 Junos OS 17.2R1 或更高版本才能使用 NorthStar 控制器 SPRING 功能。但是,当路由器配置 Junos OS 17.2R1 版时,NorthStar 控制器不会在 Web UI 中并通过 REST API 报告正确的记录路由对象 (RRO)。Web UI 和 REST API 不会显示链接邻接 SID 列表,而是报告“零”标签列表。此问题已在 Junos OS 版本 17.2.R1-S1 和 17.2R2 及更高版本中修复。
有关 SR LSP 支持的一些附加说明:
-
NorthStar 不支持 OSPF for SPRING。
-
NorthStar 多种 LSP 和多个 LSP 配置支持分段路由。从置备多样化 LSP 或预置多个 LSP 窗口上的置备类型下拉菜单中进行选择 SR 。
-
基于 PCEP 的 SR LSP 支持涉及 SR LSP 的维护事件。
-
SR LSP 可以通过 NorthStar 使用 PCEP(实时推送模型)或 NETCONF(非实时拉取模型 – LSP 信息通过定期 NETCONF 设备收集进行收集)进行配置。
有关预配 LSP 窗口选项卡的完整文档,请参阅 预配 LSP 。以下部分介绍如何使用 NorthStar 预置 SR LSP 以及在 NorthStar Web UI 中查看 SR LSP 信息。
分段 ID 标签
您可以在添加隧道或修改隧道页面的路径选项卡中定义 SR LSP 隧道路径策略中的跃点。跃点为 SR 指定用户定义的路径策略。
通过指定需要路径遍历的节点、链路和/或节点组的序列,您可以在 SR 路径策略中指定跃点。为实现路径策略而生成的 SID 列表不一定与您指定的确切跃点相对应。满足路径策略的路径还满足其他要求,如延迟、带宽等。因此,SR 路径计算的结果是一个 SID 列表,这些 SID 指示网络实现满足策略的路径。但是,SID 列表可能与路径策略中指定的跃点不完全一致。
如果节点 SID 和任播 SID 都可用于路径计算,则 PCS 可以实现满足策略的路径,如下所示,以便在将 PCEP 或 Netconf 用于路径计算请求时根据路径策略路由流量:
-
如果使用 PCEP,则使用任播 SID 而不是节点 SID。
-
如果使用 Netconf,则使用节点 SID 而不是任播 SID。
可以在拓扑图上显示邻接分段 ID (SID) 标签(与链接关联)和节点 SID 标签(与节点关联)。
您可以使用 BGP-LS 对等互连或 IGP 邻接从在 NorthStar 控制器 (JunosVM) 中运行 Junos OS 的虚拟机到网络来获取网络拓扑。但是,为了使 NorthStar 在使用 BGP-LS 时正确学习 SPRING 信息,网络应在网络中可用的链路和 TED 数据库上启用 RSVP。
要在地图上显示邻接 SID 标注,请执行以下操作:
-
单击 工具 (齿轮)图标(位于拓扑图右侧)。
此时将显示“拓扑设置”页。
-
单击 链接。
此时将显示链接设置。
-
选中 “显示标签 ”复选框,然后从下拉菜单中选择“ SID A::Z”。
邻接 SID 将显示在地图上。
若要查看网络信息表中的邻接 SID 标签,请在“链接”选项卡上,单击任何列标题旁边的向下箭头,然后单击“列”以显示可用列的完整列表。然后,单击 和 SID Z旁边的SID A复选框。
图 1 显示了显示邻接 SID 标签的示例拓扑图

要显示特定链路的详细信息(通过在拓扑图或网络信息表中双击该链路),您将看到 endA 和 endZ 的属性文件夹(名为 SR)。可以向下钻取以显示每个 SID 的属性,如图 2 所示。endA 文件夹包含与节点 A 相关的详细信息,endZ 文件夹包含与节点 Z 相关的详细信息。目前仅支持 IPv4 SID,NorthStar 控制器仅支持每个接口一个邻接 SID。

节点 SID 标签的值取决于分配标签的节点的视角。根据分配节点的视角,可能会为节点指定不同的节点 SID 标签。要在拓扑图上显示节点 SID 标签,请通过右键单击节点并从 所选节点中选择节点 SID 来指定透视。然后,从所选节点的角度分配节点 SID 标签。
节点 SID 信息不会显示在网络信息表中。
例如, 图 3 显示了从节点 vmx101 的角度显示 SID 节点标签的拓扑。在这种情况下,节点 vmx106 的节点 SID 标签为 1106。如果右键单击节点 vmx104 并选择 所选节点中的节点 SID,则拓扑图上的节点 SID 标签将更改以从节点 vmx104 的角度进行反映。 如图 4 所示,节点 vmx106 的节点 SID 标签现在为 4106。


所选节点不会显示自身的节点 SID 标签。拓扑图中不显示节点 SID 标签的任何其他节点都没有配置分段路由协议。您可以通过导航到网络信息表中的 节点 选项卡来验证节点上是否启用了 SR,如果节点已启用 SR,则与该节点对应的 SR 字段将带有复选标记。
创建 SR LSP
SR LSP 是一个标签堆栈,由邻接 SID 标签列表、节点 SID 标签或两个标签的组合组成。
要创建 SR LSP,请执行以下操作:
-
导航到网络信息表中的隧道选项卡,然后单击 Add 表底部。此时将显示“预配 LSP”窗口(属性)选项卡。
-
从“预配方法”下拉菜单中,选择 PCEP 或 NETCONF。
-
PCEP SR LSP 由 PCE 启动,关联的配置语句不会出现在路由器的配置文件中。PCEP 的优势在于 LSP 信息实时提供给 NorthStar,因此路径或状态的更改会立即反映在 NorthStar UI 中。
-
NETCONF SR LSP 是静态调配的,关联的配置语句显示在路由器配置文件中。虽然 SR LSP 可以通过 NETCONF 进行配置,但也可以通过 PCEP 或 NETCONF 来学习。在 Junos OS 18.2 R1 版中,PCEP 报告受到限制。另一种方法是通过 NorthStar 中的设备集合配置解析来了解 NETCONF 调配的 SR LSP 的详细信息。如果您选择使用此方法进行 SR LSP 调配,请注意,由于主路径详细信息来自设备集合配置解析,因此不会向 NorthStar 实时提供更新,并且 NorthStar 会将这些 LSP 的操作状态报告为“未知”。
为了将配置语句包含在路由器配置文件中,必须通过 NETCONF 在 NorthStar 中配置 SR LSP。
注意:在 Junos OS 18.2 R1 版中,PCEP 报告受到限制。另一种方法是通过 NorthStar 中的设备集合配置解析来了解 NETCONF 预配的 SR LSP 的详细信息。如果您选择使用此方法进行 SR LSP 预配,请注意,由于主路径详细信息来自设备集合配置解析,因此不会向 NorthStar 实时提供更新,并且 NorthStar 将这些 LSP 的操作状态报告为“未知”。
-
-
配置 名称、节点 A 和节点 Z 字段。
-
从置备类型下拉菜单中,选择 SR。
-
如果选择 NETCONF SR LSP 作为预配方法 ,则可以在“高级”选项卡上的“绑定 SID”字段中指定绑定 SID 标签值。有关详细信息,请参阅 绑定 SID 部分。
-
在 设计 选项卡上,从路由方法下拉菜单中选择路由方法,通常是 routeByDevice(这意味着路由器计算部分路径)或默认方法(NorthStar 计算路径)。其他路由方法选项包括 adminWeight、延迟、常量、距离、ISIS 和 OSPF。
-
在 “路径 ”选项卡上,可以指定路径中所需的任何特定跃点,包括通过预配绑定 SID SR LSP 对生成的专用转发邻接链路。有关详细信息,请参阅 绑定 SID 部分。
-
单击 Submit。
然后,预配请求进入工作订单管理流程。
-
对于 PCEP 和 NETCONF 配置的 SR LSP,激活工作订单后,新路径将在拓扑图中突出显示。
-
对于 NETCONF 配置的 SR LSP,激活工作订单后,相应的配置语句将显示在路由器配置文件中。
-
配置 SR LSP 后,请确保 LSP 在网络信息表中处于活动状态,并且流量通过所需路径路由。
查看 SR 路径
要查看 SR 路径的详细信息,请执行以下操作之一:
-
IP 地址和 SID 是显式路由的两个部分。IP 地址显示在 ERO 列中,SID 显示在网络信息表的 隧道 选项卡的记录路由列中。
-
双击网络信息表中的隧道条目,向下钻取到实时属性以查看 ERO 的详细信息。
-
在路由器上使用 Junos OS show 命令。一些例子是:
-
show spring-traffic-engineering lsp name lsp-name detail
以显示 LSP 状态和 SID 标签。 -
show route table inet.3
以显示带有 SPRING LSP 的流量目的地映射。
-
如果在两个方向上都使用链接(在路径中),则会在拓扑中以不同的颜色突出显示该链接,并且没有用于指示方向的箭头。 图 5 显示了一个示例,其中两个方向都使用了 vmx105 和 vmx106 之间的链路(以红色突出显示)。

设置绑定 SID
绑定 SID 是本地标签,可以将表示路径中多个跃点的多个标签拼接在一起,并将其播发为单个标签,以便在配置显式路径时减少标签堆栈深度。
使用 NETCONF 预配一对绑定 SID SR LSP(一个从 A(始发节点)到 Z(目标节点),另一个用于从 Z 到 A 的返回路径)时,将自动生成专用转发邻接链接。然后,当您为非绑定 SID SR LS SP 指定跃点时,可以选择专用转发邻接链路作为目标。这些邻接以特定格式命名,有三个部分,用冒号分隔。例如,binding:0110.0000.0105:privatefa57。
-
所有名称都以 绑定 开头,后跟冒号。
-
中间部分是始发节点的名称,后跟冒号(在本例中为 0110.0000.0105)。
-
最后一部分是在“预配 LSP”窗口(本例中为 privatefa57)的“ 属性 ”选项卡上的“名称”字段中为绑定 SID SR LSP 指定的名称。对于两个方向的绑定 SID SR LSP,此名称必须相同,以确保在自动生成相应的专用转发邻接链路期间可以正确匹配它们。
在拓扑图中,您可以选择显示专用转发邻接链路。在左窗格下拉菜单中,选中 Types 并选中“链接类型”下的 privateForwarding邻接复选框,如图 6 所示。选中后,邻接在拓扑图上显示为虚线,如图 7 所示。


您只能通过绑定 SID SR LSP 通过隧道传输非绑定 SID SR LSP。绑定减少了标签堆栈中的标签数(专用转发邻接标签可以表示路径中的多个跃点)。 图 8 显示了一个示例。

在此显示中,您可以看到 SR LSP 从 vmx101 到 vmx105,再到 vmx107(通过专用转发邻接链路),最后到 vmx103 时的逻辑路径(以琥珀色跟踪)。还可以查看(以粉红色跟踪)绑定 SID SR LS SP 的专用转发邻接链路的路径。网络信息隧道中的“记录路由”列显示包含三个标签的标签堆栈。这三个标签中的第二个标签是专用转发邻接链路。如果没有该邻接链接,标签堆栈将需要六个标签来定义相同的路径。
不支持在每个接口有两个邻接 SID 的网络中为预配的 SR LSP 提供路径突出显示。
若要预配一对绑定 SID SR LSP,请使用 NETCONF SR LSP 预配过程,以及:
-
在“预配 LSP”窗口“高级”选项卡上,使用所选的数字绑定 SID 标签值填充“绑定 SID”字段,该值介于静态标签范围 1000000 到 1048575 之间。然后,此值将成为表示您在“路径”选项卡上指定的跃点(组成专用转发邻接链路的跃点)定义的路径的标签。
注意:目前,NorthStar 不支持绑定 SID 标签分配或冲突检测。请注意,Junos OS 具有内置的冲突检测功能,因此,如果指定的绑定 SID 标签超出 1000000 到 1048575 的允许范围,则路由器不允许提交配置。相应地,网络信息表的“隧道”选项卡中的“控制器状态”会显示通常的 FAILED(NS_ERR_INVALID_CONFIG) 指示。
-
例如, default 在“设计”选项卡上,选择路由方法。
-
在“路径”选项卡上,选择路径中的跃点。
-
以相反的方向预配第二个绑定 SID SR LSP,使用与对中的第一个 LSP 相同的 LSP 名称。绑定 SID 标签值也可以与对中的第一个 LSP 中的值相同,但不要求相同。
置备绑定 SID SR LSP 对后,将自动创建专用转发邻接链路,然后在为非绑定 SID SR LS SP 指定跃点时,可以选择该链路作为目标。使用 show 路由器上的命令确认 LSP 对已推送到路由器的配置。
最大 SID 深度 (MSD)
当 NorthStar 控制器计算 SR 路径时,它必须了解它可以在与 SR 路径对应的每个节点上施加的最大 SID 深度 (MSD),以便计算路径的 SID 堆栈深度值不超过节点能够支持的 SID 标签数。如果计算的标签堆栈深度超过节点的 MSD 限制,则无法预配路径。
为避免遇到与设备硬件支持的最大标签数相关的硬件限制,可以在 routeByDevice 使用节点 SID 或使用绑定 SID 添加分段路由隧道时选择 (设计 选项卡) 作为路由方法。
当您选择如图 9 所示的方法时routeByDevice,NorthStar 不会计算端到端路径的所有单个跃点,而只会计算第一个跃点,并将后续路径计算留给路由器。此选项允许路由器控制部分路由,因此需要显式指定的标签更少。
还可以使用绑定 SID 通过创建 SR LSP 并使用绑定 SID 播发来减少标签堆栈深度。在这种情况下,入口节点只需堆栈标签,直到播发绑定 SID 的节点,从而减少使用的标签数。
-
当您想要使用节点 SID 创建 SR LSP 时,将使用 routeByDevice。
-
通过 PCEP 进行调配时,不使用 routeByDevice 时遇到 MSD 限制的症状是,尽管在网络信息表中添加了新 LSP 的行,但“操作状态”列为,控制器状态Reschedule in x minutes列为 Unknown 。

SR LSP 的调配可以基于显式跳跃信息,也可以根据网络条件动态路由。在“预配 LSP”窗口中,选择 Path 选项卡。在这里,您可以选择不超过入口路由器上施加的 MSD 跃点限制的跃点,并指定 Strict 或 Loose 遵守。
如果选择 Strict 依从性,则会显式指定端到端 SR-TE 路径中的所有单个跃点。在遵守的情况下 Loose ,根据网络条件,入口路由器和出口路由器之间的任何有效路由都可用于引导流量。
PCEP 按设备路由示例
在图 10 中,突出显示的路由路径是 t2 LSP 的等价路径。
对于此示例中的 t2:
-
节点 A 是 vmx101,节点 Z 是 vmx104。
-
置备类型为 ,在 SR置备 LSP 窗口的 属性 选项卡中指定。
-
路由方法是 routeByDevice,在“预配 LSP”窗口的“设计”选项卡中指定。只有在路由由 PCC 完成时,才能在拓扑中查看等价路径的突出显示。

强制传输路由器可以是使用通过该传输路由器的邻接 SID 生成的 ERO 的一部分。但是,指定强制传输路由器通常会增加标签堆栈深度,从而违反 MSD。在这种情况下,您可以尝试使用 routeByDevice 方法。要使用节点 SID 指定强制传输路由器,请选择路由方法作为 routeByDevice (设计选项卡),并将强制传输路由器的环路指定为松散跃点(路径选项卡)。
使用 routeByDevice 的一个可能的缺点是无法保证您对 LSP 链路施加的其他限制(带宽、着色等)。如果 NorthStar 控制器发现无法满足约束,则不会预置 LSP。但是,如果可用信息表明可以满足约束,则 NorthStar 控制器会预置 LSP,即使不能保证这些约束。打开路径优化计时器可使 NorthStar 定期检查约束。
如果 NorthStar 控制器稍后(例如,在执行优化请求期间)了解到不再满足约束,它将尝试通过更改第一个跃点传出接口(如果未配置特定接口)来重新路由隧道。如果无法做到这一点,LSP 将保留在网络中,即使违反了约束条件也是如此。
NETCONF 设备集合的作用
使用 NETCONF 配置的 SR LSP 可以通过 PCEP 或设备收集来学习。当通过设备收集获知时,只有在运行收集任务时,才会以非实时方式拉取信息。
创建 NETCONF 设备收集任务时,请确保选中该复选框以收集配置数据。这是 NorthStar 收集和解析路由器配置文件中的语句(包括与 SR LSP 相关的语句)所必需的。参见 图 11。

每次在 NorthStar UI 中使用 NETCONF 配置 SR LSP 时,也会执行自动 NETCONF 收集。
重新路由和重新配置
对于 PCEP 配置的 SR LSP,路由器只能报告第一跃点的运行状态(网络信息表中的 Op 状态)。在第一个跃点之后,NorthStar 控制器负责监视 SID 标签并报告操作状态。如果标签更改或从网络中消失,NorthStar 控制器会尝试重新路由和调配处于非运行状态的 LSP。
如果 NorthStar 无法找到符合约束的备用路由路径,则会从网络中删除 LSP。但是,这些 LSP 不会从数据模型中删除(它们会从网络中删除,并保留在数据存储机制中)。目标是通过从网络中删除不可行的 SR LSP(黑洞)来最大程度地减少这些 SR LSP(黑洞)造成的流量损失。删除 SR LSP 时, Unknown Op 状态列为,控制器状态列为 No path found 或 Reschedule in x minutes。
您可以通过为具有更少或更宽松限制的 LSP 创建辅助路径来降低流量丢失的风险。如果 NorthStar 控制器了解到未满足原始约束,它将首先尝试使用辅助路径重新路由。
尽管 NorthStar 允许向 SR LSP 添加辅助路径,但由于 SR LSP 协议本身不支持辅助路径,因此不会将其预配为 PCC 的辅助路径。
如果使用 REST API 创建 LSP(PCEP 预配或 Netconf 预配),则可以将 SR LSP 的重新路由行为设置为 noRe路由,其中,如果拓扑更改导致 LSP 中的流量偏离预配它的原始路径,则 SR PCS 会关闭 SR LSP。如果未指定 noReroute(即允许重新路由),则当网络拓扑发生更改时,PCS 将计算符合用户定义的路径策略的新路径。
当 PCS 可以选择同时使用节点 SID 和任播 SID 来实现路径策略时,PCS 将按如下所示使用 SID:
-
如果指定了 noRerouting ,则使用节点 SID 来实现路径策略。
-
如果允许重新路由,则使用任播 SID 来实现路径策略。这是因为当拓扑发生更改时,现有 SID 列表仍可以通过将 LSP 从任播组中的一个节点移动到任播组中的一个节点来实现路径策略。