0731-84728105
15116127200
OpenBox:軟件定義時間敏感網絡系統全家桶
發布時間:2021-05-19
     軟件定義時間敏感網絡系統是在軟件定義網絡框架下融入了時間敏感網絡技術的(de)綜合性網絡系統。該系統既具備軟件定義網絡的(de)組網靈活性、協議無關轉發的(de)高(gāo)适應性、轉發控制分離(lí)的(de)高(gāo)效性與可(kě)控性,同時又有(yǒu)低(dī)延時、低(dī)抖動的(de)時間敏感特性。該系統通過軟件流表與隊列映射的(de)靈活定義,極大放寬了全網流規劃調度的(de)難度,增強了TSN網絡的(de)适用範圍和(hé)行(xíng)業兼容能力。
     時間敏感是業務的(de)屬性,故在業務流交互過程中分組所經曆的(de)所有(yǒu)處理(lǐ)環節都要滿足時間敏感特性才能夠真正保證業務的(de)時間要求。TSN一(yī)定是一(yī)個完整的(de)時間敏感網絡系統。
     湖南新實是OpenTSN項目的(de)忠實支持者、貢獻者與推動者,OpenTSN 1.0開源版本(github與gitee均有(yǒu)下載)受到廣大TSN研究者的(de)熱捧。在該版本基礎上,湖南新實網絡與沈陽自(zì)動化所結合應用行(xíng)業特性要求做(zuò)了大量的(de)修改與改進,共同研發了一(yī)套較為(wèi)完整的(de)軟件定義時間敏感網絡系統。
     軟件定義時間敏感網絡系統主要包括:端節點、交換機(jī)和(hé)控制器。其中端節點可(kě)分為(wèi)實時端節點和(hé)普通節點。時間敏感流路徑上所有(yǒu)交換機(jī)都支持TSN規範要求。控制器使用SDN控制器Floodlight,部署在普通電腦上。端節點和(hé)交換機(jī)都使用OpenBox-S4設備,該設備核心芯片是Zynq-7020,由雙核CPU+FGPA異構組成,采用FAST架構搭建網絡IO系統。通過軟件靈活配置可(kě)運行(xíng)為(wèi)端節點或交換機(jī)。

基于FAST架構的(de)OpenBox-S4平台
      該系統的(de)TSN功能全部由FPGA邏輯實現,包括時鍾同步和(hé)Qbv調度。其中PTP分組同步數據根據硬件流表控制轉發,确保同步分組雙向路徑對稱。所有(yǒu)分組數據均可(kě)在不同節點根據硬件流表映射不同優先級隊列和(hé)輸出端口,既可(kě)有(yǒu)效降低(dī)規劃沖突,又能方便路徑規劃。所有(yǒu)分組數據均根據硬件相應流表轉發,既可(kě)由軟件動态配置,也可(kě)從本地(dì)存儲空間加載規劃配置好的(de)所有(yǒu)流表。全FPGA實現功能與靜态流表加載非常适合在車載等相對固定的(de)環境使用,搭建CPU後則适合大規模網絡環境和(hé)動态變化的(de)網絡環境下使用。不僅适應BE流的(de)動态變化,TSN流也可(kě)以通過流表方式動态規劃和(hé)配置。
      1.端節點
     實時節點:實時節點CPU運行(xíng)硬實時操作系統,包含PL側的(de)實時驅動、實時網絡協議棧和(hé)實時應用,如(rú)rtping和(hé)rtudp等。FPGA加載支持TSN功能的(de)硬件邏輯,支持與網絡中時間主節點同步,支持流表映射和(hé)規劃調度設置。
     普通節點:普通節點運行(xíng)普通操作系統,包含PL側普通驅動,使用系統标準協議棧功能,支持标準的(de)SOCKET應用,如(rú)ping和(hé)iperf等。FPGA邏輯加載FAST标準5級流水線功能邏輯。
     2.交換機(jī)
     交換機(jī)運行(xíng)普通操作系統,包含PL側普通驅動,使用系統标準協議棧功能,支持标準的(de)SOCKET應用。安裝運行(xíng)OVS虛拟交換機(jī),移植開發OVS流表硬件卸載功能、南向OpenFlow協議擴展支持功能,主要包括對TSN相關參數的(de)配置,如(rú)硬件流表配置、門控列表等。
     3.控制器
      安裝運行(xíng)于普通電腦上,需要移植開發對TSN相關屬性配置的(de)北(běi)向APP、北(běi)向REST API、控制器支撐模塊、OpenFlow協議擴展模塊等。如(rú)TSN同步使能、調度使能、TSN門控列表配置、協議無關流表配置等。
     4.系統演示環境
     演示系統包含1個時鍾主節點(交換)、8個時鍾從節點(交換)、2個時鍾從節點(實時端)、1個數據采集監控節點和(hé)2個BE流普通節點。交換網絡連接為(wèi)田字格,端節點數據流可(kě)通過軟件定義流表的(de)方式做(zuò)不同的(de)路徑切換。

軟件定義時間敏感網絡演示系統
1.SDN控制器拓撲
2.SDN流表(端口輸出與TSN隊列映射)
3.接口狀态與計數
4.實時門控與BUFF統計
5.實時同步狀态
6.拓撲重組網
8.Qbv門控調度配置(靈活)
9.實時端系統實時ping
10.修改調度門控
11.新門控實時ping對比
12.路徑重規劃後實時ping對比(紅(hóng)色A路徑,黃色B路徑)
13.實時UDP通信測試

實時UDP服務端(接收并返回)

實時UDP發送、接收統計客戶端
14.協議無關轉發(OT節點不移植協議)

自(zì)由構包

配置流表

接收抓包
     軟件定義時間敏感網絡系統是一(yī)個綜合性網絡系統,業務數據流經的(de)每個層級和(hé)環節(應用、協議棧、驅動、系統調度、網卡、交換機(jī)等)都要求具備實時性,缺一(yī)不可(kě)。在不同的(de)應用場景下或流特性要求不同的(de)情況下,系統的(de)解決方案不完全相同。比如(rú)端系統不一(yī)定要采用帶系統的(de)環境,可(kě)以裸CPU運行(xíng),也可(kě)以使用PLC或純FPGA邏輯等方式。具體要看業務的(de)運行(xíng)環境和(hé)時間敏感需求,完全可(kě)以根據用戶要求實現各類定制需求。
      上述驗證場景隻是提供一(yī)了整套可(kě)能的(de)使用方法,中間許多細節也并不完善,時間精度的(de)控制及全網規劃調度也還需要進一(yī)步改進和(hé)優化。
      歡迎大家多多交流溝通,多提寶貴意見,共同促進TSN網絡技術的(de)普及發展。

關注FAST開源社區
FAST一(yī)一(yī)開源、開放、高(gāo)速、高(gāo)效、可(kě)編程、可(kě)定義!軟硬件協同并行(xíng)處理(lǐ)。