0731-84728105
15116127200
OpenTSN解決方案

一(yī)、 引言

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

二、 TSN 解決方案

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

2.1 OpenTSN 時間同步解決方案

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

2.2 OpenTSN透明傳輸時間計算(suàn)解決方案

    OpenTSN 的透明傳輸時間(駐留時間)是通(tōng)過在 PTP 報(bào)文輸入時标記 時間戳,并在輸出時根據輸入時标記的時間戳與當前時間進行對比計算(suàn),從(cóng) 而計算(suàn)出 PTP 報(bào)文分組從(cóng)端口輸入到(dào)端口輸出的駐留時間,如圖 3 所示。
圖 3 透明傳輸時間計算(suàn)解決方案
圖 3 透明傳輸時間計算(suàn)解決方案

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

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

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

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