一、
引言
在工業(yè)自動化系統(tǒng)控制中,不同的廠商在各自的細分領域中有自己的通信標
準和協(xié)議,有些雖然是基于傳統(tǒng)以太網實現(xiàn),但其為了支持自動化應用對延時的
嚴格要求在傳統(tǒng)以太網的基礎上附加了一些其他技術和機制,從而導致各廠家的
協(xié)議互不兼容。因此面對不同廠家的產品在運行、錯誤診斷、維護和存儲時都會 存在諸多不便。
隨著工業(yè)物聯(lián)網(IIoT)的興起和工業(yè) 4.0 的提出,目前越來越多的廠家開 始關注
TSN(Time Sensitive Networking,時間敏感網絡)。TSN 為以太網提供
確定性性能,并可以滿足不同的數(shù)據(jù)流在同一網絡統(tǒng)一傳輸,從而可以滿足工業(yè)
自動化嚴格的延時需求,并最終可以使的工業(yè)通信創(chuàng)建一個統(tǒng)一的基礎成為可能。
SDN 架構的控制平面與數(shù)據(jù)平面分離機制便于集中管控工業(yè)網絡的資源,可
以靈活、合理的為不同 QoS 需求的業(yè)務分配不同的網絡資源集,提高網絡利用 率。SDN 和 TSN
技術的結合可以提高網絡利用率的同時保證時間敏感流的實現(xiàn) 實時需求,并且可以實現(xiàn)集中式的網絡控制、網絡動態(tài)規(guī)劃與調度,因此 SDN 和
TSN 相結合的方式可能會是未來工業(yè)網絡的發(fā)展方向。
二、
TSN 解決方案
TSN 協(xié)議包含了如 IEEE 802.1AS 時間步同協(xié)議、802.1Qbv
計劃流量增強協(xié) 議、802.1Qci 流預留過濾協(xié)議以及 802.1Qcc 管理控制協(xié)議等。雖然成套的 TSN
協(xié)議還在繼續(xù)擴展,功能不斷改進,但現(xiàn)有標準提供了豐富的功能選擇。OpenTSN 解決方案支持 802.1AS 協(xié)議、802.1Qbv 的
CQF 調度算法、802.1Qci 的流隊列映 射其具體實現(xiàn)結構如圖 1 所示。

圖
1 TSN 整體實現(xiàn)結構圖
OpenTSN支持如下功能:
- 其可以通過配置設置為交換設備/端設備,也可以通過配置選擇是時鐘同步的主或從;
- 支持 802.1AS 1588 的時間同步;
- 支持 CQF 的調度、基于令牌桶的資源預留的流量控制;
- 支持設備端口時鐘與主時鐘的同步;
- 支持分組報文透明時間的計算;
OpenTSN 解決方案為 FPGA 實現(xiàn),其中模塊可以根據(jù)用戶的需求進行添加 或刪除即可以實現(xiàn)用戶需求的迅速定制。
2.1
OpenTSN 時間同步解決方案
如圖 2 所示,OpenTSN 的時間同步解決方案是 FPGA 硬件實現(xiàn)的基于1588
的端到端的方式實現(xiàn)時間同步,同步精度可以達到 100ns 以內,其中:
- DMAX 模塊用于判斷接收的報文是否為 PTP 報文;
- Manage_Ctrl 模塊配置該時鐘作為主時鐘或從時鐘;
- PTP_Ctrl 模塊接收控制信息,并按照控制信息進行相應的處理;
- Rx_proc 模塊對接收的 PTP 報文進行解析,提取關鍵字;
- Tx_proc 模塊按照要求構造并發(fā)送 PTP 報文;
- Cyc_sync 模塊維持時鐘計數(shù)器,存儲 T1、T2、T3、T4 時間值,并且完成時間偏移量的計算;
- MAX模塊用于匯聚 PTP 的報文和 DMAX輸出的報文進行控制轉發(fā);

圖
2 時間同步實現(xiàn)方案
2.2
OpenTSN透明傳輸時間計算解決方案
OpenTSN 的透明傳輸時間(駐留時間)是通過在 PTP 報文輸入時標記
時間戳,并在輸出時根據(jù)輸入時標記的時間戳與當前時間進行對比計算,從 而計算出 PTP 報文分組從端口輸入到端口輸出的駐留時間,如圖 3
所示。

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

圖
4 流映射及調度解決方案
2.4
SDN 與 TSN相結合的實現(xiàn)方案思考
SDN 和 TSN 相結合的實現(xiàn)中,在原有 UM 中通過插入報文解析和流
表查找模塊實現(xiàn),控制平面通過 OpenFlow 協(xié)議向數(shù)據(jù)平臺下發(fā)流表配置。
硬件數(shù)據(jù)平面首先對輸入的報文進行解析操作,并針對解析的結果提取查找
Key,流表查找模塊則根據(jù)提取的Key值以及控制平面下面的規(guī)則進行匹配, 并輸出匹配的查找結果。根據(jù)流表的配置規(guī)則目前支持的
Action 包括:端 口轉發(fā)、丟棄、轉發(fā)給 CPU、添加 Vlan 頭等操作,實現(xiàn)結構圖如圖 5 所示。 輸出控制中的端口調度實現(xiàn)基于
2.3 方案實現(xiàn)。

圖
5 TSN 和 SDN 結合實現(xiàn)結構圖
Vlan 頭的添加分兩種情況:
- 作為端系統(tǒng),此方案為端系統(tǒng)時通過流的區(qū)分以及 OpenFlow
對流表規(guī)則的配置確定流的優(yōu)先級,從而實現(xiàn)根據(jù)不同優(yōu)先級的流調度。
- 作為交換,輸入的時間敏感流的報文應已經攜帶 Vlan 頭(在端添加,
通過規(guī)劃可以提前了解其優(yōu)先級以及轉發(fā)路徑),此功能只對資源預 留和盡力轉發(fā)的流添加 Vlan 頭,并進行轉發(fā)處理。即對未進行
Vlan 頭添加流報文添加 Vlan 頭,已經添加則不進行處理。