SR-TE · PCEP · BGP-LS · EPE

適用於開放路由器的 SR-TE 控制器。

路由器從自身所處位置選擇最佳路徑,對於承載的絕大多數流量,這都是正確的選擇。但有三類決策需要掌握整個網路的視圖:沿路徑預留容量、讓兩項業務不共用相同鏈路,以及選擇業務從哪個對等互聯出網。Vegvísir Systems 的 Traffic Dictator 基於實時拓撲計算這些路徑,並將其安裝到執行 OcNOS 的 IP Infusion 開放路由器上。

2種開放協議,雙向交互
2種策略下發方式
10項能力在聯合實驗室中完成測試
流量工程的用途

路由器已經具備的能力,以及控制器帶來的補充。

OcNOS 路由器本身已能完成大量工作:ECMP、TI-LFA 本地保護,以及在 IGP 內構建的 Flex-Algo 平面。控制器只補充那些需要掌握全網視圖的決策。 每張卡片上的標籤註明由哪一部分實現。

避免一次故障引發下一次故障

TI-LFA 預先計算本地修復路徑,路由器無需等待網路重新收斂即可切換到該路徑。控制器則將這部分重路由流量分散到有空閒容量的鏈路上,使第一次故障不會引發第二次故障。

OcNOS + 控制器

讓時延敏感流量走短路徑

Flex-Algo 在 IGP 內構建低時延平面。交易、媒體和移動前傳流量沿該平面轉發,其他流量仍走開銷最低的路由。

OcNOS 獨立實現

為已售出的業務預留容量

策略攜帶頻寬數值。控制器在安裝路徑之前先檢查是否有空閒容量,如果某條鏈路已滿,則暫緩下發該策略。

OcNOS + 控制器

充分利用已付費的鏈路

ECMP 已經能夠填滿等價鏈路。控制器將業務放置到非等價鏈路上,把閒置容量轉化為可售賣的容量。

OcNOS + 控制器

讓備份路徑避開主用路徑所用的鏈路

不相交組將路徑分離納入策略本身,因此保護路徑永遠不會與其所保護的路徑共用任何鏈路。

OcNOS + 控制器
端到端工作原理

輸入的約束如何變成路由器壓入的標籤。

在此設計中,兩部分之間只有兩種協議交互,且二者均為標準協議,因此 任一部分都可以單獨替換.

本頁反覆用到的兩個術語

段列表 是一組有序的標籤。每個標籤指代一台路由器或一個對等互聯,頭端路由器將這些標籤壓入報文,使報文按順序依次經過。 策略 由頭端、端點以及決定二者之間段列表的約束組成。

段路由流量工程控制平面:四台 OcNOS 路由器組成一個 IS-IS 段路由域,其中一台通過 BGP-LS 將鏈路狀態拓撲導出到 Vegvísir Traffic Dictator 控制器,控制器再通過 PCEP 將計算得出的 SR-TE 策略安裝回頭端路由器;同時一個外部自治系統在邊界建立對等互聯,並以 BGP Peer SID 表示。
兩部分如何銜接:OcNOS 執行帶段路由的 IS-IS,並通過 BGP-LS 發布拓撲;Traffic Dictator 按照設定的約束計算路徑,再通過 PCEP 將其安裝迴路由器。
IP Infusion OcNOS 資料平面與控制平面

它以完整路由器的形式交付,由 IP Infusion 對硬體與 OcNOS 進行整體整合、驗證和支援,因此硬體與軟體的責任統一由一家廠商承擔。

  • 執行網路。 執行帶段路由擴展的 IS-IS,因此標籤、ECMP 和 TI-LFA 快速重路由全部在路由器內部完成。
  • 擔任頭端。 安裝下發的策略,壓入段列表,並回報執行狀態。
  • 為出口分配標籤。 為每個外部對等互聯分配一個 BGP Peer SID,使控制器能夠在段列表中指定該對等互聯。
Vegvísir Systems Traffic Dictator 僅控制平面

它以 Docker 容器形式交付,可執行在伺服器上、現有虛擬化環境中,或能夠承載容器的路由器上,並提供用於自動化的 HTTP API。

  • 構建拓撲圖。 Node、Link 和 Prefix 資訊通過 BGP-LS 傳入,形成附帶段 ID 的實時拓撲。
  • 保存約束。 顯式跳、鏈路親和性、頻寬、不相交組和出口對等體,均以策略約束的形式表達。
  • 計算並安裝。 計算出段列表,將其推送到頭端,並在拓撲變化時進行更新。
頻寬帳本保存在哪裡

OcNOS 可以藉助 Flex-Algo 等 IGP 機制實現分散式流量引導,而外部 PCE 或控制器可以基於全網約束計算顯式 SR 策略。 頻寬是需要全局視圖的約束: 段路由之所以具備擴展性,是因為它不逐跳以信令方式進行預留,因此所有策略已佔用頻寬的累計總量改為集中保存。該數值按策略設定,目前不會根據實測流量自動調整。 RSVP-TE 則採用另一種方式,在每一跳上以信令方式進行預留。

完整流程

從啟用段路由到策略在網路中執行,共分四步。

前兩步是在路由器上一次性完成的設置。 後兩步在每次創建策略時重複執行。

01

啟用段路由

IS-IS 在每台路由器上承載段路由擴展以及流量工程擴展,因此鏈路頻寬和管理組也會一併通告。標籤由段路由本身分配。

02

將拓撲導出到控制器

由一台路由器將鏈路狀態資料庫重分發到 BGP-LS,所用命令為 distribute bgp-ls ,並與控制器建立對等關係。

03

定義策略及其約束

策略指定頭端、端點以及必須滿足的約束。控制器基於實時拓撲計算路徑,並返回一個 段列表,即頭端將壓入報文的標籤列表。

04

安裝策略並保持更新

控制器通過 PCEP 下發策略,頭端回報該策略已啟用並正在按其轉發。如果之後拓撲發生變化,同一策略會原地更新,而不是重新構建。

逐項查看約束

每種約束如何改變控制器返回的路徑。

在下方選擇一種約束,查看其生成的路徑和標籤。此處顯示的每個段列表和度量值,均為聯合實驗室中記錄的輸出。

左右滑動圖示以跟蹤路徑

基於已驗證實驗室拓撲簡化視圖的交互式約束選擇器 四台路由器 R1 至 R4 和一個外部自治系統。R3 為左側的頭端。兩組鏈路帶有標記:BLUE 組包括 R3 至 R1、R1 至 R2 以及 R3 至 R4,YELLOW 組包括 R3 至 R2 以及 R2 至 R4。R2 在右側與 AS 101 建立對等互聯。選擇一種約束後,圖中會高亮顯示控制器計算出的路徑,並顯示相應的段列表,圖示旁也以文字形式給出。 admin-group BLUE admin-group YELLOW eBGP 對等互聯 已預留 40 Gbps 已預留 40 Gbps R3 頭端 R1 16001 R2 16002 R4 16004 AS 101 25600 目的地 目的地
控制器的計算結果

OcNOS 安裝的內容
路徑
段列表
聚合度量值

五種約束及其各自返回的路徑

保持在藍色鏈路上:鏈路親和性約束
路徑 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 的私有對等互聯上。其中一條對等互聯發生故障。如果不具備頻寬感知,全部 120 Gbps 流量都會落到剩餘的 100 Gbps 對等互聯上並造成擁塞。有了頻寬約束,控制器只接納可容納的流量,並將其餘流量改經中轉上行鏈路發送。 4 台入口路由器,每台 30 Gbps 輸入 120 Gbps 私有對等互聯 A 100 Gbps,已中斷 私有對等互聯 B 100 Gbps,已接納 90 可容納 3 條策略 中轉上行鏈路 第二候選路徑 第 4 條走這裡 AS 200

機制示例,並非實驗室測量結果。

四台路由器各自向同一目的地發送 30 Gbps 流量,負載均衡分布在 兩條 100 Gbps 私有對等互聯 上,由於成本低於中轉,這兩條對等互聯為優選路徑。隨後其中一條對等互聯發生故障。

在標準 BGP 下,全部 120 Gbps 流量都會落到剩餘的對等互聯上,經過它的所有業務同時劣化。

頻寬約束使控制器只接納該對等互聯能夠承載的流量,因此三條策略落在剩餘的對等互聯上,第四條策略則經中轉走其第二候選路徑。

結果是只產生少量中轉費用,而該對等互聯上的其他流量均保持正常執行。

每個對等互聯都有各自的標籤

egress-engineering 在邊界路由器上為該對等互聯分配 BGP Peer SID 並進行通告,使控制器能夠將出口置於段列表的底部。

鏈路親和性一直作用到邊界

BGP Peer SID 不攜帶鏈路屬性,因此需要在控制器上為出口對等體指定親和性和頻寬,控制器再將其與通告的 SID 進行匹配。

使用有空閒容量的最近出口

端點為空的策略會請求最近的合適出口,因此控制器會選擇距離頭端最近且滿足條件的出口,流量在穿越骨幹網之前即可出網。

控制器能力,不在聯合驗證範圍內:空端點需要基於顏色的引流,而聯合實驗室全程採用業務環回引流。

對等互聯故障會反映在策略狀態中

當鄰居中斷時,Peer SID 被撤銷,出口策略失效,該失效會在策略狀態中報告。

聯合構建與測試

聯合實驗室測試了哪些內容,以及得到的結果。

IP Infusion 與 Vegvísir Systems 共同構建並發布了該設計。下表列出了測試的每項能力,以及每項測試得到的結果。

路由器UfiSpace S9510-28DC
路由器軟體OcNOS 6.6.0
控制器Traffic Dictator 1.6
發布時間2025 年 8 月
聯合驗證中測試的十項能力。
能力 測試方式 結果
拓撲導出 在一台路由器上將 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 段路由解析,下一跳保持不變。讀取表項時,替代表項已安裝並處於活動狀態。

驗證在一個平台上進行。所測試的架構基於標準的 IS-IS、BGP-LS 和 PCEP,因此該設計可以遷移到其他平台;平台與版本支援應對照 硬體相容性清單 與 功能矩陣 ,針對擬選用的設備進行確認。

故障行為

一個控制器失效時,以及所有控制器都失效時,會發生什麼。

兩種情況下流量都會持續轉發。 若一個控制器失效,路由器會將其策略轉移到另一個控制器;而 若所有控制器均失效,業務將回退到 IGP 一直在計算的最短路徑。

若一個控制器失效,路由器會自行重新委託策略

每條策略都委託給創建它的控制器;當該控制器停止響應時,路由器會將策略重新委託給另一個控制器。由於該機制執行在路由器中,而非控制器之間, 控制器之間從不共享狀態,因此增加第三個控制器不會帶來任何狀態同步開銷。

PCEP 委託從失效控制器轉移到存活控制器 一台路由器上方有兩個控制器。策略最初委託給主控制器。當主控制器停止響應時,路由器撤銷該委託,並將同一策略重新委託給第二個控制器,由其繼續更新。兩個控制器之間不同步任何內容。 控制器 A 停止響應 控制器 B 現持有該策略 OcNOS 頭端 全程持續轉發 委託 已撤銷 重新委託 由路由器完成 控制器之間不共享狀態

若所有控制器均失效,一切重新通過 IS-IS 解析

策略被撤銷,業務路由改為通過 IS-IS 段路由解析。 BGP 下一跳保持不變.

R3,控制器停止之前
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 輸出。
R3,控制器停止之後
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 路由的形式承載,因此可以藉助現有的路由反射器傳遞,而無需與每個頭端建立會話。在大型網路中,這意味著只需少量會話,而不是數百個會話。

OcNOS · BGP-LS 導出
! 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

每一行的作用

  1. distribute bgp-ls 就是全部的導出配置:IS-IS 將其資料庫交給 BGP。
  2. 控制器只是另一個 BGP 鄰居,位於其自己的自治系統中。
  3. link-state 地址族承載拓撲資訊。經由該地址族傳遞的資訊共有三類:Node,包含系統 ID 和段路由全局塊;Link,包含度量值、頻寬、管理組和鄰接 SID;Prefix,包含前綴及其 SID。
  4. 只有一台路由器需要此配置,因為它會重新通告整個 IS-IS 層級已提供給它的鏈路狀態資料庫。

摘自 IP Infusion 與 Vegvísir Systems 聯合應用說明,2025 年 8 月。當前語法請參閱 documentation.ipinfusion.com.

流量工程問答

什麼是 SR-TE 控制器?
SR-TE 控制器是一種控制平面組件,代表路由器計算段路由流量工程路徑並進行安裝。它學習網路拓撲,應用頻寬、鏈路親和性和路徑多樣性等約束,然後向每台頭端路由器下發段列表。
執行段路由是否需要控制器?
不需要。段路由無需控制器即可執行:帶 SR 擴展的 IS-IS 或 OSPF 本身即可提供連通性、ECMP 和 TI-LFA 本地保護,Flex-Algo 也可以在完全沒有控制器的情況下,在 IGP 中劃分時延平面和親和性平面。需要逐跳顯式路徑、全網頻寬預留、指定出口對等體,或保證兩項業務不共用鏈路時,才需要增加控制器。
Traffic Dictator 是必需的嗎?能否使用其他控制器?
OcNOS 支援標準的 BGP-LS 和 PCEP,因此不綁定特定控制器;出於同樣的原因,Traffic Dictator 也支援多廠商。聯合設計將 OcNOS 與 Traffic Dictator 搭配,是因為 IP Infusion 與 Vegvísir 共同構建並發布了該設計,兩側的配置和實驗室結果均已公開。如果使用其他控制器,路由器一側無需任何改動。
該解決方案的兩部分分別由誰提供和支援?
兩部分分別來自各自的廠商。IP Infusion 將路由器與 OcNOS 作為一體化系統提供,Traffic Dictator 則來自 Vegvísir Systems。雙方共同設計和測試了該方案,並以聯合應用說明的形式發布。歡迎聯繫我們,我們將協助界定兩側的範圍,並就控制器事宜為客戶對接 Vegvísir。
增加 SR-TE 控制器是否需要更換現有路由器?
通常不需要。支援 PCEP 或 BGP SR-TE 的路由器可以直接接收策略,因此控制器只需在支援這些協議的頭端引入,網路其餘部分仍按現有方式基於 IS-IS 段路由轉發。兩者都不支援的設備只是不作為頭端,而且也無需作為頭端,因此混合設備環境仍在適用範圍內,可以按自身計劃逐步更換設備。
能否在不重建業務的情況下從 RSVP-TE 遷移?
可以,這也是聯合設計採用業務環回引流而非基於顏色的引流的原因。PCEP 既可承載 RSVP-TE 隧道,也可承載段列表,而業務環回地址兩者皆可使用,因此業務可以逐一遷移到段路由,無需更改其配置。遷移完成後,基於顏色的引流是更靈活的模式。
頻寬預留能否跟隨實測流量調整?
目前不能。策略攜帶的是設定的頻寬數值,控制器在安裝路徑之前會確認容量空閒,聯合實驗室分別在 2 Gbps 和 40 Gbps 下測試了這一行為。根據實測流量自動調整的預留屬於 RSVP-TE 的行為,詳見 MPLS-TE 頁面。Traffic Dictator 目前不具備此功能,Vegvísir Systems 可根據客戶需求進行開發,如果網路需要該功能,請儘早告知我們。
該設計是否支援 SRv6 流量工程?
聯合驗證僅涵蓋 SR-MPLS,限制來自所測試的路由器版本,而非控制器。OcNOS 本身支援 SRv6 資料平面,因此請針對擬選用的具體版本和平台確認 SRv6 流量工程支援情況。
下一步

推進到概念驗證。

Vegvísir Systems 提供可用於評估和概念驗證的 Traffic Dictator,無需許可證,上限為 100 條策略;OcNOS 也提供虛擬機版本。告訴我們需要引導哪些流量,我們將在合適的組合上界定範圍,再確定生產部署的規模。