前文回顧
虹科干貨 | Linux終端設備的時間敏感網絡協議實現(1)
在上一篇文章中,我們介紹了TSN技術不斷發展的背景,及其技術層面和實際應用層面的挑戰,并介紹了IEEE 802.1ASrev和IEEE 802.1Qbv這兩個基本標準。下面,我們將沿著這一方向探討如何在Linux終端設備中實現TSN時間敏感網絡協議。
Part 3
TSN實施的背景
TSN實施已在不同部門和應用中被廣泛提出和分析。一些研究指出,確定性延遲是通過時間同步和全局調度的應用實現的,分別對應于 IEEE 802.1AS 和 802.1Qbv TSN 標準。因此,原則上可以使用這兩個標準更確定地安排關鍵流量。但如果延遲和抖動的要求非常低,IEEE 802.1Qbv調度必須與時鐘同步機制相結合,而將IEEE 802.1ASrev時鐘同步于IEEE 802.1Qbv標準包括在內非常具有挑戰性,比如在包含許多流的網絡中決定如何調度它們是一件復雜的事情。
另一個重大挑戰是將最初不支持TSN的設備集成到TSN網絡中。例如,大多數分析的實現都是基于Linux操作系統的,而Linux也有實時性能的不確定性來源,例如搶占或中斷,但它包括許多機制來實現更好的可靠性。
Part 4
TSN實施的方案
正如前文所述,同步帶來了許多挑戰。而當我們尋求使用Slot并調整線路中的流量時,這些挑戰就會增加。為了,我們推出了應對這些挑戰的解決方案。該方案基于一款可用于TSN協議的PCIe網卡——RELY-TSN-PCIe。該網卡基于現場可編程門陣列 (FPGA) 和英特爾i210 芯片,其中英特爾i210芯片支持TSN,而FPGA提供多路徑(嵌入式以太網交換機)和實時功能。這種組合允許在PC中使用標準驅動程序,這在操作系統缺乏TSN支持時至關重要。同時,它還允許Intel芯片不支持的高級調度。RELY-TSN-PCIe卡是第一個已知的TSN解決方案,它允許部署從用戶終端設備及其將要使用的應用中抽象出來的確定性以太網網絡。換句話說,它可以用于不同的終端設備(監控和數據采集(SCADA)、物聯網網關),從而在設備中引入TSN技術并將其集成到確定性網絡中。
從操作系統的角度來看,插入是透明的,因為它只檢測標準以太網卡。如果OS想要使用高級調度,這個方案就變得不那么透明了,但是TSN網絡操作不需要這樣的改變。該解決方案是在 Ubuntu 20.04 LTS 中開發的。
1
IEEE 802.1ASrev實施
為實現時間敏感應用的802.1ASrev 定時和同步標準,首先確定必須參與該標準的網絡時鐘。圖3顯示了已識別的時鐘和同步鏈路。從圖中可以看出,可以區分為六個不同的時鐘。
圖3 需要同步的網絡時鐘
有必要區分同步所有時鐘的方式。同步有兩種:
- 網絡同步
- 設備-網絡同步
網絡同步是基于同步I210和PCIe的四個PTP硬件時鐘(PHC);為此,將使用linuxptp包中包含的ptp4l命令。linuxptp是Linux的PTP實現。ptp4l實現邊界時鐘(BC)和普通時鐘(OC)。另一方面,作為軟件的系統時鐘使用NTP或GPS從Internet獲取時間以實現設備網絡同步。盡管如此,在這種情況下,系統時鐘將通過linuxptp包中包含的phc2sys命令從TSN網絡獲取時間,而不是直接使用硬件時間戳的gPTP。
2
IEEE 802.1Qbv實施
有兩種選擇可以構建一個端到端實現Qbv的網絡。第一種是僅在充當talker的Linux端點的輸出上激活Qbv。這樣,數據包將有序地離開Linux內核,理論上在整個網絡中無序傳播,直到到達偵聽器。但是,這不是最好的方法。從內核輸出到線路,有幾層注入抖動。這種抖動可能導致不符合分配的時隙。
第二種選擇是在兩點激活Qbv:在Linuxtalker的內核中,和在連接到talker的以太網卡的輸出端口中,如圖4所示。第二種方法是一直使用的方法。在兩點配置相同的Qbv。以這種方式,數據包跟隨線路上分配的時隙。當所有網絡元素也都具有TSN感知能力時,這些時隙將一直保留到接收方。
圖4Qbv網絡結構
已創建內核補丁以向Linux機器提供Qbv功能。在下文中,我們將解釋數據包轉發在Linux機器上的工作原理、為處理時隙而創建的兩個補丁,以及它們在最終Linux機器上的實現。
Linux系統上的流量轉發是通過內核的流量控制(TC)子系統完成的。TC子系統代碼在知識產權(IP)和將數據傳輸到網絡的網絡接口驅動程序之間運行。該子系統負責不斷提供要發送給驅動程序的數據包。
TC由隊列規則(qdisc)組成。qdiscs表示應用于隊列的調度策略。它根據該調度程序中安裝的規則重新組織到達隊列的數據包,并以新的順序發送它們。默認情況下,此調度程序維護一個先進先出(FIFO)隊列。因此,需要一種能夠按照802.1Qbv標準,按照時間間隔重組數據包,有序發送流量的qdisc。
vanilla Linux內核沒有這種排隊規則,因此開發了內核補丁,引入了在Linux系統上實施802.1Qbv的必要工具。這些補丁引入了兩個新的qdisc:
Earliest TxTime First Qdisc (ETF)允許應用程序控制將數據包發送到網卡驅動程序的確切時間。ETF通過緩沖數據包直到傳輸時間之前的可配置時間來實現這一點。
時間感知優先級整形器(TAPRIO)實現了IEEE802.1Qbv標準定義的狀態機的簡化版本(請參閱IEEE802.1Qbv標準),允許配置一系列網關狀態,其中每個狀態允許或禁止流量出口對于流量類別的子集。
這些補丁還為系統套接字引入了一個名為SO_TXTIME的新選項,以啟用套接字進行基于時間的傳輸,從而配置其參數。
Part 5
結果
我們已經創建了一個高級應用程序來以圖形方式配置這兩個標準。它使網絡管理員能夠配置和觀察網絡提供的插槽信息,類似于圖5中所示的Wireshark的I/0圖表,但是是實時的。概念證明是在一個專門設置的網絡中開發的,該網絡由通過單個交換機組成的TSN感知網絡連接的兩臺PC(talker和listener)組成。
圖5 Wireshark捕獲演示插槽
第一步是檢查所有不同系統之間的同步。檢查PCIe板的每秒脈沖輸出和PTP守護程序提供的信息,以太網卡在10ns內同步,而系統在100ns范圍內(參見圖6)。
圖6 完全同步的系統
卡的內部交換機之間、內部交換機與i210芯片之間、芯片與PC之間都建立了gPTP關系。
已創建演示以測試補丁在端點上的操作。該演示在talker中配置Qbv補丁以發送ST和盡力而為流量。Listener接收此數據并以圖形方式實時顯示每個數據如何到達其插槽。由此產生的流量可以在圖7中看到,由開發的應用程序的實時窗口顯示。這些演示展示了標準的正確操作及其與PCIe卡的集成。結果是有序和整形的流量。
圖7創建的應用程序演示槽的實時捕獲
這種實時視圖允許網絡設計人員跟蹤網絡的運行并將不同的配置調整到所需的要求。
其結果與Wireshark提供的結果相似,但在這種情況下是實時獲得的。該應用程序允許對鏈接進行輕松管理。同時,它們有助于證明支持TSN的系統的正確操作。
使用此配置框架,設計人員可以創建具有不同配置的網絡并查看其結果。圖8中展示了一個更復雜的例子。在此示例中,TSN中的每種流量類型都基于虛擬局域網 (VLAN) 標簽的優先級代碼點(PCP) 位。在此設置中,流量分類如下:
- ST: 制動信息(數據分發服務(DDS)流1、VLAN11、PCP2)
- RT: 攝像機實時視頻(DDS流2、VLAN12、PCP5)
- BE: 剩余的TCP/IP流量(VLAN3,PCP6)
TSN配置分布在四個時隙中,完成 10毫秒的周期時間。每個時隙的流量分配如下:(1) Free. (2) ST. (3) Free. (4)RT+BE. 可以看出,不同的流被限制在配置的slot中。
圖8 車載網絡的真實示例
ST由剎車信息組成。RT提供實時視頻,而BE由其余信息娛樂數據組成。
Part 6
結論
本文所述工作的主要成果是構建了一個支持TSN的系統,該系統可用于提供可靠且可擴展的網絡。因此,可以在Linux終端設備中實施兩個主要的TSN標準并驗證RELY-TSN-PCIe卡的正確操作。終端設備已包含在TSN網絡中。一方面,所有網絡時鐘都已通過在終端設備中使用開源守護程序實施IEEE 802.1ASrev標準來同步。另一方面,我們使用公共Linux內核補丁按照IEEE 802.1Qbv標準在時隙中實現了數據包的有序發送。此外,我們還創建了一個配置和可視化工具,可幫助網絡設計人員設置和了解系統的操作。由于這項工作和所使用的兩種開放技術,在標準設備(即非專有設備)中實施TSN方面正在取得進展。
END
本文由虹科技術工程師翻譯整理。文章出處:https://www.mdpi.com/2227-7080/10/3/55
本文中使用的RELY-TSN-PCIe板卡是由虹科合作伙伴RELYUM推出的一款智能NIC卡,它可以插入任何windows和linux電腦,且不需要在主機上安裝任何特殊軟件,快速引入TSN技術。它能夠在TSN網絡中使用典型的工業應用和軟件,如SCADA、MES、OPC(UA)、MTConnect等。此外,RELY-TSN-PCIe 支持使用標準中定義的 YANG 模型進行自動配置。但是,為了便于早期試用,該板卡允許手動 TSN 配置
虹科進入TSN技術領域多年并已有豐富的技術積累,并面向國內客戶推出了TSN的IP核、網卡、交換機、流量記錄儀、測試工具、配置軟件等多款軟硬件產品,能夠幫助用戶快速加入TSN流量,享受新興技術發展帶來的好處。
-
Linux
+關注
關注
87文章
11228瀏覽量
208925 -
網絡
+關注
關注
14文章
7517瀏覽量
88627
發布評論請先 登錄
相關推薦
評論