0731-84728105
15116127200
OpenTSN解決方案

一(yī)、 引言

    在工業自(zì)動化系統控制中,不同的(de)廠商(shāng)在各自(zì)的(de)細分領域中有(yǒu)自(zì)己的(de)通信标 準和(hé)協議,有(yǒu)些雖然是基于傳統以太網實現,但其為(wèi)了支持自(zì)動化應用對延時的(de) 嚴格要求在傳統以太網的(de)基礎上附加了一(yī)些其他技術和(hé)機(jī)制,從而導緻各廠家的(de) 協議互不兼容。因此面對不同廠家的(de)産品在運行(xíng)、錯誤診斷、維護和(hé)存儲時都會 存在諸多不便。
    随着工業物聯網(IIoT)的(de)興起和(hé)工業 4.0 的(de)提出,目前越來越多的(de)廠家開 始關注 TSN(Time Sensitive Networking,時間敏感網絡)。TSN 為(wèi)以太網提供 确定性性能,并可(kě)以滿足不同的(de)數據流在同一(yī)網絡統一(yī)傳輸,從而可(kě)以滿足工業 自(zì)動化嚴格的(de)延時需求,并最終可(kě)以使的(de)工業通信創建一(yī)個統一(yī)的(de)基礎成為(wèi)可(kě)能。
    SDN 架構的(de)控制平面與數據平面分離(lí)機(jī)制便于集中管控工業網絡的(de)資源,可(kě) 以靈活、合理(lǐ)的(de)為(wèi)不同 QoS 需求的(de)業務分配不同的(de)網絡資源集,提高(gāo)網絡利用 率。SDN 和(hé) TSN 技術的(de)結合可(kě)以提高(gāo)網絡利用率的(de)同時保證時間敏感流的(de)實現 實時需求,并且可(kě)以實現集中式的(de)網絡控制、網絡動态規劃與調度,因此 SDN 和(hé) TSN 相結合的(de)方式可(kě)能會是未來工業網絡的(de)發展方向。

二、 TSN 解決方案

    TSN 協議包含了如(rú) IEEE 802.1AS 時間步同協議、802.1Qbv 計劃流量增強協 議、802.1Qci 流預留過濾協議以及 802.1Qcc 管理(lǐ)控制協議等。雖然成套的(de) TSN 協議還在繼續擴展,功能不斷改進,但現有(yǒu)标準提供了豐富的(de)功能選擇。OpenTSN 解決方案支持 802.1AS 協議、802.1Qbv 的(de) CQF 調度算法、802.1Qci 的(de)流隊列映 射其具體實現結構如(rú)圖 1 所示。
圖 1 TSN 整體實現結構圖
圖 1 TSN 整體實現結構圖
    OpenTSN支持如(rú)下功能:
  • 其可(kě)以通過配置設置為(wèi)交換設備/端設備,也可(kě)以通過配置選擇是時鍾同步的(de)主或從;
  • 支持 802.1AS 1588 的(de)時間同步;
  • 支持 CQF 的(de)調度、基于令牌桶的(de)資源預留的(de)流量控制;
  • 支持設備端口時鍾與主時鍾的(de)同步;
  • 支持分組報文透明時間的(de)計算;
OpenTSN 解決方案為(wèi) FPGA 實現,其中模塊可(kě)以根據用戶的(de)需求進行(xíng)添加 或删除即可(kě)以實現用戶需求的(de)迅速定制。

2.1 OpenTSN 時間同步解決方案

    如(rú)圖 2 所示,OpenTSN 的(de)時間同步解決方案是 FPGA 硬件實現的(de)基于1588 的(de)端到端的(de)方式實現時間同步,同步精度可(kě)以達到 100ns 以內(nèi),其中:
  • DMAX 模塊用于判斷接收的(de)報文是否為(wèi) PTP 報文;
  • Manage_Ctrl 模塊配置該時鍾作為(wèi)主時鍾或從時鍾;
  • PTP_Ctrl 模塊接收控制信息,并按照控制信息進行(xíng)相應的(de)處理(lǐ);
  • Rx_proc 模塊對接收的(de) PTP 報文進行(xíng)解析,提取關鍵字;
  • Tx_proc 模塊按照要求構造并發送 PTP 報文;
  • Cyc_sync 模塊維持時鍾計數器,存儲 T1、T2、T3、T4 時間值,并且完成時間偏移量的(de)計算;
  • MAX模塊用于彙聚 PTP 的(de)報文和(hé) DMAX輸出的(de)報文進行(xíng)控制轉發;
圖 1 TSN 時間同步實現方案
圖 2 時間同步實現方案

2.2 OpenTSN透明傳輸時間計算解決方案

    OpenTSN 的(de)透明傳輸時間(駐留時間)是通過在 PTP 報文輸入時标記 時間戳,并在輸出時根據輸入時标記的(de)時間戳與當前時間進行(xíng)對比計算,從 而計算出 PTP 報文分組從端口輸入到端口輸出的(de)駐留時間,如(rú)圖 3 所示。
圖 3 透明傳輸時間計算解決方案
圖 3 透明傳輸時間計算解決方案

2.3 OpenTSN 流映射及調度解決方案

    流的(de)映射是根據分組的(de) Vlan 頭的(de) PCP 域進行(xíng)隊列映射,在 OpenTSN 的(de)實現中,根據其分組 PCP 值的(de)不同将其映射為(wèi) 3 個不同的(de)等級,即 7、6 優先級最高(gāo)為(wèi) TSN 的(de)時間敏感流,5-3 為(wèi)預約帶寬流、2-0 為(wèi)盡力轉發流, 如(rú)圖 4 所示。
    在流分組的(de)處理(lǐ)時,首先是将分組數據緩存到數據緩存內(nèi),将流分組的(de) 描述信息封裝到 Metadata 內(nèi)進行(xíng)隊列映射轉發。在映射時 TSN 流是基于 CQF 的(de)乒乓隊列的(de)形式進行(xíng)輸入控制,即在偶時間存入偶隊列 Q2,奇時間 存入奇隊列 Q3。在輸出調度時偶時間調度奇隊列的(de)數據輸出,奇時間調度 偶隊列數據輸出,根據輸入時間以及調度時間的(de)控制從而保證了數據分組的(de) 轉發延時。資源預留分組的(de)輸出是基于令牌桶算法實現,從而保證了資源預 留流的(de)帶寬要求。另外 3 類數據流均以嚴格優先級的(de)方式進行(xíng)輸出調度,即 TSN 時間敏感流優先級最高(gāo),預約帶寬流次之,盡力轉發流最低(dī)。
圖 4 流映射及調度解決方案
圖 4 流映射及調度解決方案

2.4 SDN 與 TSN相結合的(de)實現方案思考

    SDN 和(hé) TSN 相結合的(de)實現中,在原有(yǒu) UM 中通過插入報文解析和(hé)流 表查找模塊實現,控制平面通過 OpenFlow 協議向數據平台下發流表配置。 硬件數據平面首先對輸入的(de)報文進行(xíng)解析操作,并針對解析的(de)結果提取查找 Key,流表查找模塊則根據提取的(de)Key值以及控制平面下面的(de)規則進行(xíng)匹配, 并輸出匹配的(de)查找結果。根據流表的(de)配置規則目前支持的(de) Action 包括:端 口轉發、丢棄、轉發給 CPU、添加 Vlan 頭等操作,實現結構圖如(rú)圖 5 所示。 輸出控制中的(de)端口調度實現基于 2.3 方案實現。
圖 5 TSN 和(hé) SDN 結合實現結構圖
圖 5 TSN 和(hé) SDN 結合實現結構圖
    Vlan 頭的(de)添加分兩種情況:
  1. 作為(wèi)端系統,此方案為(wèi)端系統時通過流的(de)區分以及 OpenFlow 對流表規則的(de)配置确定流的(de)優先級,從而實現根據不同優先級的(de)流調度。
  2. 作為(wèi)交換,輸入的(de)時間敏感流的(de)報文應已經攜帶 Vlan 頭(在端添加, 通過規劃可(kě)以提前了解其優先級以及轉發路徑),此功能隻對資源預 留和(hé)盡力轉發的(de)流添加 Vlan 頭,并進行(xíng)轉發處理(lǐ)。即對未進行(xíng) Vlan 頭添加流報文添加 Vlan 頭,已經添加則不進行(xíng)處理(lǐ)。
下載該文檔