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

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

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

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

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

自(zì)由構包

配置流表

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

關注FAST開(kāi)源社區
FAST一(yī)一(yī)開(kāi)源、開(kāi)放(fàng)、高(gāo)速、高(gāo)效、可編程、可定義!軟硬件(jiàn)協同并行處理。