路由器已经具备的能力,以及控制器带来的补充。
OcNOS 路由器本身已能完成大量工作:ECMP、TI-LFA 本地保护,以及在 IGP 内构建的 Flex-Algo 平面。控制器只补充那些需要掌握全网视图的决策。 每张卡片上的标签注明由哪一部分实现。
避免一次故障引发下一次故障
TI-LFA 预先计算本地修复路径,路由器无需等待网络重新收敛即可切换到该路径。控制器则将这部分重路由流量分散到有空闲容量的链路上,使第一次故障不会引发第二次故障。
OcNOS + 控制器让时延敏感流量走短路径
Flex-Algo 在 IGP 内构建低时延平面。交易、媒体和移动前传流量沿该平面转发,其他流量仍走开销最低的路由。
OcNOS 独立实现为已售出的业务预留容量
策略携带带宽数值。控制器在安装路径之前先检查是否有空闲容量,如果某条链路已满,则暂缓下发该策略。
OcNOS + 控制器充分利用已付费的链路
ECMP 已经能够填满等价链路。控制器将业务放置到非等价链路上,把闲置容量转化为可售卖的容量。
OcNOS + 控制器让备份路径避开主用路径所用的链路
不相交组将路径分离纳入策略本身,因此保护路径永远不会与其所保护的路径共用任何链路。
OcNOS + 控制器输入的约束如何变成路由器压入的标签。
在此设计中,两部分之间只有两种协议交互,且二者均为标准协议,因此 任一部分都可以单独替换.
段列表 是一组有序的标签。每个标签指代一台路由器或一个对等互联,头端路由器将这些标签压入报文,使报文按顺序依次经过。 策略 由头端、端点以及决定二者之间段列表的约束组成。

它以完整路由器的形式交付,由 IP Infusion 对硬件与 OcNOS 进行整体集成、验证和支持,因此硬件与软件的责任统一由一家厂商承担。
- 运行网络。 运行带段路由扩展的 IS-IS,因此标签、ECMP 和 TI-LFA 快速重路由全部在路由器内部完成。
- 担任头端。 安装下发的策略,压入段列表,并回报运行状态。
- 为出口分配标签。 为每个外部对等互联分配一个 BGP Peer SID,使控制器能够在段列表中指定该对等互联。
它以 Docker 容器形式交付,可运行在服务器上、现有虚拟化环境中,或能够承载容器的路由器上,并提供用于自动化的 HTTP API。
- 构建拓扑图。 Node、Link 和 Prefix 信息通过 BGP-LS 传入,形成附带段 ID 的实时拓扑。
- 保存约束。 显式跳、链路亲和性、带宽、不相交组和出口对等体,均以策略约束的形式表达。
- 计算并安装。 计算出段列表,将其推送到头端,并在拓扑变化时进行更新。
OcNOS 可以借助 Flex-Algo 等 IGP 机制实现分布式流量引导,而外部 PCE 或控制器可以基于全网约束计算显式 SR 策略。 带宽是需要全局视图的约束: 段路由之所以具备扩展性,是因为它不逐跳以信令方式进行预留,因此所有策略已占用带宽的累计总量改为集中保存。该数值按策略设定,目前不会根据实测流量自动调整。 RSVP-TE 则采用另一种方式,在每一跳上以信令方式进行预留。
从启用段路由到策略在网络中运行,共分四步。
前两步是在路由器上一次性完成的设置。 后两步在每次创建策略时重复执行。
启用段路由
IS-IS 在每台路由器上承载段路由扩展以及流量工程扩展,因此链路带宽和管理组也会一并通告。标签由段路由本身分配。
将拓扑导出到控制器
由一台路由器将链路状态数据库重分发到 BGP-LS,所用命令为 distribute bgp-ls ,并与控制器建立对等关系。
定义策略及其约束
策略指定头端、端点以及必须满足的约束。控制器基于实时拓扑计算路径,并返回一个 段列表,即头端将压入报文的标签列表。
安装策略并保持更新
控制器通过 PCEP 下发策略,头端回报该策略已启用并正在按其转发。如果之后拓扑发生变化,同一策略会原地更新,而不是重新构建。
每种约束如何改变控制器返回的路径。
在下方选择一种约束,查看其生成的路径和标签。此处显示的每个段列表和度量值,均为联合实验室中记录的输出。
左右滑动图示以跟踪路径
五种约束及其各自返回的路径
- 保持在蓝色链路上:链路亲和性约束
- 路径 R3 至 R4。段列表 16004。聚合度量值 10,一跳。路径上的每条链路都必须带有 BLUE 标记,而 R3 至 R4 的直连链路满足条件,因此一个节点段就足够。策略
R3_R4_BLUE,affinity-set BLUE_ONLY. - 保持在黄色链路上:链路亲和性约束
- 路径 R3 至 R2 至 R4。段列表 16002, 16004。聚合度量值 20,两跳。每条链路都必须带有 YELLOW 标记,因此直连链路被排除,控制器经由 R2 选路,网络中任何度量值均未更改。策略
R3_R4_YELLOW,affinity-set YELLOW_ONLY. - 预留 40 Gbps:带宽约束
- 路径 R3 至 R2 至 R4。段列表 16002, 16004。聚合度量值 20,已预留 40 Gbps。路径相同,但附带容量:控制器在安装任何内容之前先确认两条链路都能承载 40 Gbps,并将该预留记录在自己的账本中。策略
R3_R4_YELLOW,bandwidth 40 gbps. - 选择出口对等体:出口对等工程
- 路径 R3 至 R2 至 AS 101。段列表 16002, 25600。聚合度量值 10,一跳加出口。25600 是 R2 为其与 AS 101 的对等互联分配的 BGP Peer SID,因此段列表以指定出口结束。策略
R3_R2_EPE. - 经由蓝色链路到达该出口:亲和性 + 出口对等工程
- 路径 R3 至 R1 至 R2 至 AS 101。段列表 16001, 16002, 25600。聚合度量值 20,两跳加出口。两个约束同时生效:出口仍是 AS 101,而通往该出口的路径必须保持在 BLUE 链路上,因此控制器绕行经过 R1。策略
R3_R2_EPE_BLUE,affinity-set BLUE_ONLY.
此处的每个段列表、度量值和策略名称均来自 IP Infusion 与 Vegvísir 的联合应用说明。在该文档中,每一项均显示为控制器上执行 show traffic-eng policy <name> detail 的实时输出。Traffic Dictator 语法文档见 vegvisir.ie/documentation.
入口路由器可以选择报文从哪个对等互联出网。
流量工程通常止步于自身网络边界,而出口对等工程将其向外延伸一跳,由入口路由器选择报文从哪个对等互联出网。当中转成本高于对等互联时,这一选择可以降低成本。
机制示例,并非实验室测量结果。
四台路由器各自向同一目的地发送 30 Gbps 流量,负载均衡分布在 两条 100 Gbps 私有对等互联 上,由于成本低于中转,这两条对等互联为优选路径。随后其中一条对等互联发生故障。
在标准 BGP 下,全部 120 Gbps 流量都会落到剩余的对等互联上,经过它的所有业务同时劣化。
带宽约束使控制器只接纳该对等互联能够承载的流量,因此三条策略落在剩余的对等互联上,第四条策略则经中转走其第二候选路径。
结果是只产生少量中转费用,而该对等互联上的其他流量均保持正常运行。
每个对等互联都有各自的标签
egress-engineering 在边界路由器上为该对等互联分配 BGP Peer SID 并进行通告,使控制器能够将出口置于段列表的底部。
链路亲和性一直作用到边界
BGP Peer SID 不携带链路属性,因此需要在控制器上为出口对等体指定亲和性和带宽,控制器再将其与通告的 SID 进行匹配。
使用有空闲容量的最近出口
端点为空的策略会请求最近的合适出口,因此控制器会选择距离头端最近且满足条件的出口,流量在穿越骨干网之前即可出网。
控制器能力,不在联合验证范围内:空端点需要基于颜色的引流,而联合实验室全程采用业务环回引流。
对等互联故障会反映在策略状态中
当邻居中断时,Peer SID 被撤销,出口策略失效,该失效会在策略状态中报告。
联合实验室测试了哪些内容,以及得到的结果。
IP Infusion 与 Vegvísir Systems 共同构建并发布了该设计。下表列出了测试的每项能力,以及每项测试得到的结果。
| 能力 | 测试方式 | 结果 |
|---|---|---|
| 拓扑导出 | 在一台路由器上将 IS-IS level-2 数据库重分发到 BGP-LS | R3 导出了 34 条链路状态信息:5 个节点、10 条链路、19 个前缀。控制器自身的表显示均已接收。 |
| 显式路径 | 在策略中指定严格跳,并预留 2 Gbps | 段列表 [16001, 16002, 16005] 已安装。 |
| 带宽约束 | 在候选路径上携带带宽数值 | 显式路径策略上的 2 Gbps 预留在计算时即经过检查,并记录在控制器数据库中,路径上每条链路的未预留带宽都相应减少。亲和性策略以 40 Gbps 使用了相同的机制。 |
| 链路亲和性 | 同一对路由器之间的两条策略,每个管理组各一条 | BLUE 生成 [16004] ,度量值为 10;YELLOW 生成 [16002, 16004] ,度量值为 20。端点相同,路径不同,网络中任何度量值均未更改。 |
| 业务映射 | 两个 L3VPN 客户使用各自独立的业务环回地址 | 每个 VRF 通过各自的策略进行解析。在中转路由器上抓取了 VRF101 中的一个 ping 报文,其携带了预期的传输标签和 VPN 标签。 |
| 路径多样性 | 将两条策略放入同一个不相交组 | 两条策略始终走不同的链路,完全没有配置亲和性或显式路径。 |
| ECMP 与 anycast SID | 两台路由器通告同一个前缀 SID,并清除节点标志 | 两个段列表合并为一个,从而节省转发表空间。 |
| 出口对等工程 | 为外部对等互联分配 BGP Peer SID,并将策略引导至该出口 | 段列表 [16002, 25600],其中最后一个标签是对等互联而非路由器。加入亲和性后生成 [16001, 16002, 25600]. |
| 控制器故障切换 | 停止主控制器,其上委托有策略 | 路由器将所有策略重新委托给第二个控制器。两个控制器之间没有同步任何状态。 |
| 控制器全部失效 | 停止所有控制器 | 策略被撤销,业务路由通过 IS-IS 段路由解析,下一跳保持不变。读取表项时,替代表项已安装并处于活动状态。 |
一个控制器失效时,以及所有控制器都失效时,会发生什么。
两种情况下流量都会持续转发。 若一个控制器失效,路由器会将其策略转移到另一个控制器;而 若所有控制器均失效,业务将回退到 IGP 一直在计算的最短路径。
若一个控制器失效,路由器会自行重新委托策略
每条策略都委托给创建它的控制器;当该控制器停止响应时,路由器会将策略重新委托给另一个控制器。由于该机制运行在路由器中,而非控制器之间, 控制器之间从不共享状态,因此增加第三个控制器不会带来任何状态同步开销。
若所有控制器均失效,一切重新通过 IS-IS 解析
策略被撤销,业务路由改为通过 IS-IS 段路由解析。 BGP 下一跳保持不变.
P> 172.16.101.4/32 out-label 3 out-intf cd1 nexthop 10.100.3.2
P> 172.16.102.4/32 out-label 3 out-intf cd0 nexthop 10.100.6.4
P 表示 SR Policy 表项。两项业务,两条不同的工程路径。各列摘自完整的 show mpls forwarding-table 输出。
B> 172.16.101.4/32 out-label 24962 out-intf cd0 nexthop 4.4.4.4
B> 172.16.102.4/32 out-label 24963 out-intf cd0 nexthop 4.4.4.4
B 表示通过 IS-IS 段路由解析的 BGP 表项。VPN 路由的 BGP 下一跳保持不变。变化的是解析方式:改为通过 IS-IS 段路由解析,而不再通过策略解析,因此出标签和出接口有所不同。读取表项时,两个表项均已存在 16 秒。各列摘自完整输出。
在路由器一侧,配置就是常规的 IS-IS 和 BGP,只需额外添加一个 PCEP 配置块。
以下内容摘自联合验证,并添加了注释。由于 Traffic Dictator 采用业界标准的 CLI, 控制器配置与路由器配置同样易读,一位工程师即可同时负责两侧。
PCEP 已验证组合
PCEP 是有状态协议,因此控制器能够知道路由器是否已安装策略并正在按其转发;每个头端需要一个会话。联合验证采用的就是这一方式。
BGP SR-TE 会话数量最少
策略以 BGP 路由的形式承载,因此可以借助现有的路由反射器传递,而无需与每个头端建立会话。在大型网络中,这意味着只需少量会话,而不是数百个会话。
! feed the IS-IS link-state database into BGP
router isis 1
distribute bgp-ls
!
router bgp 65002
bgp router-id 3.3.3.3
neighbor 192.168.123.1 remote-as 65001
!
address-family link-state link-state
neighbor 192.168.123.1 activate
exit-address-family
每一行的作用
distribute bgp-ls就是全部的导出配置:IS-IS 将其数据库交给 BGP。- 控制器只是另一个 BGP 邻居,位于其自己的自治系统中。
link-state地址族承载拓扑信息。经由该地址族传递的信息共有三类:Node,包含系统 ID 和段路由全局块;Link,包含度量值、带宽、管理组和邻接 SID;Prefix,包含前缀及其 SID。- 只有一台路由器需要此配置,因为它会重新通告整个 IS-IS 层级已提供给它的链路状态数据库。
摘自 IP Infusion 与 Vegvísir Systems 联合应用说明,2025 年 8 月。当前语法请参阅 documentation.ipinfusion.com.
pce configuration 1
capability
segment-routing pcep
pce instantiation
exit-capability
!
update-source 192.168.123.3
peer-address ipv4 192.168.123.1
每一行的作用
segment-routing pcep告知控制器,该路由器可以接收段列表,而非 RSVP 隧道。pce instantiation是允许控制器创建策略(而不仅是更新策略)的权限,因此策略可以在控制器上创建,而不必在路由器上创建。- 随后会话向控制器报告自身能力:有状态 PCE、LSP 实例化和 SR PCE 能力均显示为支持。
摘自 IP Infusion 与 Vegvísir Systems 联合应用说明,2025 年 8 月。当前语法请参阅 documentation.ipinfusion.com.
! ---- on R3: name the link groups once, then tag interfaces ----
admin-group BLUE 0
admin-group YELLOW 1
!
interface cd0
admin-group BLUE
!
interface cd1
admin-group YELLOW
!
! ---- on the border router R2, which holds the external peering ----
router bgp 65002
bgp router-id 2.2.2.2
neighbor 192.168.123.2 remote-as 101
!
egress-engineering
neighbor 192.168.123.2 peer-node
exit-egress-engineering
每一行的作用
admin-group将名称绑定到比特位。为接口打上标记后,IGP 会通告该标记,控制器无需额外会话即可看到。- 名称可自行选择。此处使用 BLUE 和 YELLOW,但在实际网络中,名称通常用于描述资产,例如租用电路、海缆路径或低时延环。
egress-engineering和peer-node共同为该对等互联分配 BGP Peer SID。没有它,策略就无法指定该出口。请注意,此面板中的两个配置块分别配置在不同的路由器上。- 边界路由器在 BGP-LS 中通告 Peer SID,可以直接通告给控制器,也可以通告给已与控制器建立会话的路由器,再由其重新通告。无论哪种方式,都只需多一条 BGP-LS 邻居语句。
摘自 IP Infusion 与 Vegvísir Systems 联合应用说明,2025 年 8 月。当前语法请参阅 documentation.ipinfusion.com.
traffic-eng affinities
affinity-map
name BLUE bit-position 0
name YELLOW bit-position 1
!
affinity-set YELLOW_ONLY
constraint include-all
name YELLOW
!
traffic-eng policies
!
policy R3_R4_YELLOW
headend 3.3.3.3 topology-id 1
endpoint 4.4.4.4 service-loopback 172.16.101.4
priority 7 7
install direct pcep 192.168.123.3
!
candidate-path preference 200
affinity-set YELLOW_ONLY
bandwidth 40 gbps
每一行的作用
- 亲和性映射让两侧对相同的比特位使用相同的名称。比特 1 在路由器和控制器上都称为 YELLOW,因此两侧无需转换层即可保持一致。
constraint include-all表示路径上的每条链路都必须带有该标记。endpoint和service-loopback共同挂接一项业务。每项业务都以自己的环回地址作为下一跳,因此同一对路由器之间的两项业务可以走不同的路径。priority 7 7设置建立优先级和保持优先级。当更重要的策略需要带宽时,由它决定哪条策略让出带宽。candidate-path preference 200是首选尝试;再添加一条 preference 值较低的路径,即可在同一策略内描述回退路径。
摘自 IP Infusion 与 Vegvísir Systems 联合应用说明,2025 年 8 月。Traffic Dictator 文档发布于 vegvisir.ie.
流量工程问答
什么是 SR-TE 控制器?
运行段路由是否需要控制器?
Traffic Dictator 是必需的吗?能否使用其他控制器?
该解决方案的两部分分别由谁提供和支持?
增加 SR-TE 控制器是否需要更换现有路由器?
能否在不重建业务的情况下从 RSVP-TE 迁移?
带宽预留能否跟随实测流量调整?
该设计是否支持 SRv6 流量工程?
需要完整的实验室内容吗?
一份简短的技术资料,内容比本页更深入:段路由应用说明。
推进到概念验证。
Vegvísir Systems 提供可用于评估和概念验证的 Traffic Dictator,无需许可证,上限为 100 条策略;OcNOS 也提供虚拟机版本。告诉我们需要引导哪些流量,我们将在合适的组合上界定范围,再确定生产部署的规模。
需要我们联系您吗?
留下联系方式,IP Infusion 工程师将介绍流量工程在贵方网络中的实现方式。仅在贵方希望时我们才会联系。