分段路由
NorthStar 控制器支持网络中的源数据包路由 (SPRING),也称为分段路由。从 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 5.0.0 版开始,NorthStar 使用 Junos OS 19.1 或更高版本,支持 OSPF for SPRING。
您必须具有 Junos OS 19.1 或更高版本,才能配置以松散跃点作为显式路径的 SR LSP,以及路由方法“RoutebyDevice”。
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 标签
可以在拓扑图上显示邻接分段 ID (SID) 标签(与链接关联)和节点 SID 标签(与节点关联)。
您可以使用从 JunosVM 到网络的 BGP-LS 对等互连或 IGP 邻接来获取网络拓扑。但是,为了使 NorthStar 在使用 BGP-LS 时正确学习 SPRING 信息,网络应在网络中可用的链路和 TED 数据库上启用 RSVP。从 Junos OS 19.4R1 版开始,您可以将瞻博网络设备配置为通告选择性流量工程属性,而无需为分段路由和内部网关协议 (IGP) 部署启用 RSVP。使用 Junos 命令 protocols ospf traffic-engineering advertisement always
进行配置,这样就可以正确填充 TED,而无需启用 RSVP。
Junos OS 19.2R1-S1 版也支持此配置。
您可以在地图上显示邻接 SID 标注。拓扑窗口的右侧是一个菜单栏,提供各种拓扑设置。单击工具(齿轮形)图标以显示拓扑设置窗口,然后选择 链接。单击复选框 Show Label ,然后从相应的下拉菜单中进行选择 SID A::Z 。图 1 显示了显示邻接 SID 标签的示例拓扑 图。

若要查看网络信息表中的邻接 SID 标签,请单击“链接”选项卡下任何列标题旁边的向下箭头,然后单击以Columns显示可用列的完整列表。单击 和 SID Z旁边的SID A复选框。
显示特定链接的详细信息时(通过双击地图或网络信息表中的链接),您会看到 endA 和 endZ 的属性文件夹,称为 SR。可以向下钻取以显示每个 SID 的属性,如图 2 所示。目前仅支持 IPv4 SID,每个接口仅支持一个。

节点 SID 标签的显示方式略有不同,因为标签的值取决于分配它的节点的视角。根据分配节点的视角,可能会为节点指定不同的节点 SID 标签。要在拓扑图上显示节点 SID 标签,请通过右键单击节点并选择 Node SIDs from selected node来指定透视。然后,从所选节点的角度分配节点 SID 标签。
例如, 图 3 显示了从节点 vmx101 的角度显示 SID 节点标签的拓扑。请注意,节点 vmx106 的节点 SID 标签为 1106。

如果右键单击节点 vmx104 并选择 Node SIDs from selected node,拓扑上的节点 SID 标签将更改以反映节点 vmx104 的透视图,如图 4 所示。请注意,节点 vmx106 的节点 SID 标签现在为 4106。

所选节点不会显示自身的节点 SID 标签。拓扑图中不显示节点 SID 标签的任何其他节点都没有配置分段路由协议。
节点 SID 信息在网络信息表中不可用。
SR LSP
可以使用邻接 SID 和节点 SID 标签创建 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。
填写“名称”、“节点 A”和“节点 Z”字段。
从置备类型下拉菜单中,选择 SR。
对于 NETCONF SR LSP 预配(不适用于 PCEP),还可以在“高级”选项卡上的“绑定 SID”字段中指定绑定 SID 标签值。有关详细信息,请参阅 绑定 SID 部分。
在“设计”选项卡上,从下拉菜单中选择路由方法,通常是 routeByDevice(路由器计算部分路径)或默认方法(NorthStar 计算路径)。
在“路径”选项卡上,可以指定路径中所需的任何特定跃点,包括通过预配绑定 SID SR LSP 对生成的专用转发邻接链路。有关详细信息,请参阅 绑定 SID 部分。
单击 Submit。然后,预配请求进入工作订单管理流程。
对于 PCEP 和 NETCONF 配置的 SR LSP,激活工作订单后,新路径将在拓扑图中突出显示。
对于 NETCONF 配置的 SR LSP,激活工作订单后,相应的配置语句将显示在路由器配置文件中。
查看路径
有多种方法可以查看路径的详细信息:
-
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 SR LSP(一个从 A 到 Z,另一个用于从 Z 到 A 的返回路径)时,将自动生成专用转发邻接关系。这些邻接以特定格式命名,有三个部分,用冒号分隔。例如,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 显示了一个示例。
不支持通过另一个绑定 SID SR LSP 通过隧道传输另一个绑定 SID SR LSP。

在此显示中,您可以看到 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)
为避免遇到最大 SID 深度 (MSD) 的设备限制,可以使用“预配 LSP”窗口(“设计”选项卡)中的“路由方法”下拉菜单进行选择 routeByDevice ,如图 9 所示。此选项允许路由器控制部分路由,因此需要显式指定的标签更少。
当您想要使用节点 SID 创建 SR LSP 时,将使用 routeByDevice。

通过 PCEP 进行调配时,不使用 routeByDevice 时遇到 MSD 限制的症状是,尽管在网络信息表中添加了新 LSP 的行,但“操作状态”列为,控制器状态Reschedule in x minutes列为 Unknown 。
SR LSP 的调配可以包含在一定程度上影响路由的跃点信息。在“预配 LSP”窗口中,选择 Path 选项卡。在这里,您可以选择不超过入口路由器上施加的 MSD 跃点限制的跃点,并指定 Strict 或 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 相关的语句)所必需的。
每次在 NorthStar UI 中使用 NETCONF 配置 SR LSP 时,也会执行自动 NETCONF 收集。
重新路由和重新配置(PCEP 配置的 SR LSP)
对于 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 的辅助路径。
在第一跃点允许任何 SID
默认情况下,NorthStar 强制第一个跃点为邻接 SID,而不考虑 LSP 配置。可以通过修改入口节点以支持任何 SID 作为第一个跃点来更改此行为。运行 Junos OS 18.3 或更高版本的 PCC 设备支持此功能,并且需要 Junos set protocols source-packet-routing inherit-label-nexthops
配置 。
在网络信息表中,单击要修改的节点,然后单击 Modify 底部工具栏。
图 11 显示了“修改节点”窗口的“属性”选项卡。

“允许在第一个跃点时使用任何 SID”参数的默认值已禁用(未选中)。如果启用,NorthStar 不会为新发出信号的 SR-LSP(新 LSP 或路由正在更改的 LSP)设置邻接关系。
委派 SR LSP
从 NorthStar 版本 6.0.0 开始,您可以使用 UI 中的应用程序下提供的配置 LSP 委派工具将 SR LSP 委派给 NorthStar。SR LSP 包含在有资格通过该工具进行委派的 LSP 列表中。有关详细信息,请参阅 配置 LSP 委派 。
使用 PCEP 的彩色 SRTE 策略
在 NorthStar 6.2.0 之前,您可以将颜色社区 BGP 属性应用于使用 NETCONF 创建的 SR LSP。从 NorthStar 6.2.0 开始,使用 PCEP 预配的 LSP 也支持此功能。要应用颜色属性,请导航到 Web UI 中的网络 管理 > Provisioninig > Provisioning LSP >高级 选项卡,然后在颜色社区字段中指定颜色分配。仅当“属性”选项卡中的“预配类型”设置为 SR 时,此字段才可用。
您需要在设备上运行 Junos OS 20.4 或更高版本,才能将颜色社区 BGP 属性应用于使用 PCEP 预配的 LSP。
成功调配彩色 SR LSP 后,设备上的相应配置将指示颜色社区。如以下示例所示,LSP-1 的颜色社区 (<c>) 为“123”。
[edit] northstar@vmx101# run show spring-traffic-engineering lsp To State LSPname 10.0.0.104-123<c> Up LSP-1 10.0.0.104 Down LSP-2 10.0.0.104 Up LSP-3 10.0.0.104 Up LSP-4
有关 LSP 着色的背景信息,请参阅 Junos OS 主题: 基本 LSP 配置。
按需下一跃点、域内(实验性)
按需下一跃点 (ODN) 功能使 Junos OS 能够在路由通过 BGP 下一跃点解析时动态创建 SRTE LSP。然后,SRTE LSP 可由 NorthStar 委派和管理。要使用此功能,您必须运行支持 SR ODN 的最新版本的 Junos 20.4(例如 JUNOS 20.4I-20200910)。
此功能仅用于实验室和演示目的,但目前不建议用于生产网络。
您必须为 Junos OS 配置瞻博网络设备才能创建隧道。以下示例显示了先决条件配置:
set routing-options dynamic-tunnels odncf spring-te source-routing-path-template odnmytemplate set routing-options dynamic-tunnels odncf spring-te destination-networks 10.0.0.11/32 set protocols source-packet-routing compute-profile test-compute-prof no-label-stack-compression set protocols source-packet-routing compute-profile test-compute-prof maximum-computed-segment-lists 1 set protocols source-packet-routing source-routing-path-template odnmytemplate lsp-external-controller pccd set protocols source-packet-routing source-routing-path-template odnmytemplate primary test-computer compute test-compute-prof
在路由选项动态隧道配置部分中,指定 动态隧道 (目标网络)的模板和端点。目标网络可以是一台设备,也可以是多台设备(由子网指示)。模板(示例中的 odnmytemplate)在 . protocols source-packet-routing source-routing-path-template设备配置还指向可以包含其他参数的计算配置文件。
总而言之,设备上的配置建立了:
源路由路径模板
目标网络
计算配置文件
有关这些特定命令的语法和用法的一般准则,请参阅 Junos OS 文档。
路由器创建动态 LSP 后,运行 show dynamic-tunnels database
命令以查看新隧道(请参阅以下示例)。相应地,动态隧道将显示在 NorthStar 隧道选项卡上。
northstar@PE1# run show dynamic-tunnels database *- Signal Tunnels #- PFE-down Table: inet.3 Destination-network: 10.0.0.11/32 Tunnel to: 10.0.0.11/32 Reference count: 1 Next-hop type: spring-te 10.0.0.11:dt-srte-odncf State: Established
要将 ODN LSP 委托给 NorthStar,请在 Junos 设备上配置以下语句:
set protocols source-packet-routing lsp-external-controller pccd set protocols source-packet-routing source-routing-path-template odnmytemplate lsp-external-controller pccd
在上面的语句中,odnmytmeplate是特定模板的名称。