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

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

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

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

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

自由構包

配置流表

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

關注FAST開源社區
FAST一一開源、開放、高速、高效、可編程、可定義!軟硬件協同并行處理。