摘要:工業(yè)4.0、《中國制造2025》戰(zhàn)略不斷推動工業(yè)生產向網絡化、智能化升級,基于SDN&TSN的網絡架構以其靈活性、開放性、實時性、高效集中管控的特點普適于未來工業(yè)網絡各種業(yè)務需求。SDN架構的控制平面與數據平面分離機制便于集中管控工業(yè)網絡資源,靈活、合理地為不同QoS需求的業(yè)務分配不同的網絡資源集,提高網絡利用率的同時保障時間敏感應用的實時性需求。TSN主要技術包括時間窗口整形、隊列調度、流過濾、路徑控制等。未來工業(yè)網絡架構的趨勢是將SDN和TSN技術有機結合,通過集中式控制實現網絡動態(tài)規(guī)劃與調度以滿足工業(yè)應用實時性要求。
關鍵詞:軟件定義網絡;時間敏感網絡
Abstract: Made-in-China 2025 and “Industry 4.0” strategy continually promote industrial production upgrade to networked and intelligent. The network architecture based on SDN&TSN is suitable for various business needs of future industrial networks because of its flexibility, openness, real-time and efficient centralized management. The separation mechanism of control plane and data plane facilitate centralized management and control of industrial network resources, flexibly and reasonably allocating different network resource sets for different QoS requirements, improving network utilization while ensuring delay requirements for time-sensitive applications. The main technologies of TSN include time window shaping, queue scheduling, flow filtering, and path control. The trend of future industrial network architecture is to combine SDN and TSN technologies to achieve dynamic network planning and scheduling through centralized control and then meet the real-time requirements of industrial applications.
Key words: SDN; TSN
1 引言
隨著控制、通信、計算機等技術的飛速發(fā)展,工業(yè)現場也呈現出以網絡為中心的趨勢,越來越多的企業(yè)需要建立包含從工廠現場設備層到控制層、管理層等各個層次的綜合網絡管控平臺,建立以工業(yè)控制網絡技術為基礎的企業(yè)信息化系統(tǒng)。然而工業(yè)網絡對實時性、靈活性、動態(tài)性等都有更高的要求,這就決定了傳統(tǒng)的網絡技術難以適用于工業(yè)網絡,因此引入了基于SDN&TSN的新的工業(yè)網絡架構。
軟件定義網絡SDN技術將數據平面和控制平面分離,解決因快速更替的通信技術引起不斷更新硬件和網絡基礎設施的問題。SDN技術通過集中控制機制以滿足定制化的工業(yè)業(yè)務需求,加快部署時間、提高網絡資源利用率,同時穩(wěn)定硬件投入成本增長速度。
工業(yè)網絡中的生產制造業(yè)務具有時間敏感性,該類業(yè)務對底層通信系統(tǒng)的服務質量提出了巨大挑戰(zhàn)。TSN通過使用全局時延調度機制為跨多個網絡組件的數據流規(guī)劃消息路徑以實現確定性實時通信。
基于SDN&TSN的工業(yè)網絡架構新思路以其靈活的組網特點實現細粒度按需動態(tài)網絡規(guī)劃,能夠有效地支撐工業(yè)時間敏感應用,提高網絡資源利用率,同時保障網絡安全性,最大限度的滿足工業(yè)生產的需求。
2 基于SDN&TSN的工業(yè)網絡架構分析
2.1 網絡總體架構
基于SDN&TSN的工業(yè)網絡架構可以分為四層,包括現場層、數據交換層、控制層、應用層,如圖1所示。
圖1 基于SDN&TSN的工業(yè)網絡架構
(1)現場層由工業(yè)現場設備構成,包括工控機、智能終端、機器人、可編程邏輯器件、數控機床等,即傳統(tǒng)工業(yè)生產網部分。
(2)數據交換層由SDN交換機和網關構成,SDN交換機用于實現數據轉發(fā)傳遞,網關用于將工業(yè)現場數據轉換為IP數據格式,OPC-UA是目前前景較好的網關協(xié)議。
(3)集中管控層是由SDN控制器組成,主要功能包括制定轉發(fā)規(guī)則、生成優(yōu)先級隊列調度策略及帶寬分配策略等。
(4)應用層包含不同QoS需求的應用,應用請求發(fā)送到SDN控制器,由控制器解析具體QoS需求,并通過流表規(guī)則約束各項需求,下發(fā)到數據平面,進而傳遞到工業(yè)現場層。
該架構的核心是SDN控制器,具有集中式管理控制能力,通過下發(fā)流表配置TSN規(guī)則,滿足時間敏感應用的時延要求。
2.2 集中管控平臺
該架構中的集中管控平臺功能結構如圖2所示,包括處理模塊、規(guī)劃模塊、網絡監(jiān)測模塊和執(zhí)行模塊。其主要功能是將不同應用的QoS映射到SDN網絡基礎設施上。
(1)處理模塊與應用層相連,用于解析不同應用的QoS參數,并將該需求傳遞到規(guī)劃器中。
(2)網絡監(jiān)測模塊用于收集網絡底層信息,包括設備狀態(tài)、網絡拓撲、網絡容量、隊列狀態(tài)、數據流時延和速率等。
(3)規(guī)劃模塊利用網絡監(jiān)測模塊獲得的監(jiān)測數據計算出網絡資源的最優(yōu)集合,同時滿足數據流的QoS參數需求。
(4)執(zhí)行模塊將規(guī)劃模塊計算出的結果應用到網絡中,通過下發(fā)流表的形式配置SDN交換機。
圖2 集中管控平臺功能結構圖
2.3 SDN交換機
該架構中的SDN交換機是一種為滿足時間敏感應用設計的支持TSN的自適應交換機,包括隊列狀態(tài)獲取模塊、帶寬調節(jié)模塊、流處理模塊、帶寬控制模塊、優(yōu)先級調度模塊和其他功能模塊。
圖3 SDN交換機功能結構圖
(1)隊列狀態(tài)獲取模塊用于監(jiān)測端口發(fā)送隊列緩存的數據長度,并根據預設的擁塞閾值和正常閾值設置隊列狀態(tài)信息,使其它模塊能夠通過其獲取端口發(fā)送隊列擁塞情況,具體包括:
·隊列狀態(tài)信息獲取單元:用于讀取隊列狀態(tài)信息存儲單元中保存的隊列狀態(tài)信息,并將獲取的所述隊列狀態(tài)信息提供給帶寬調節(jié)模塊處理。
·隊列狀態(tài)信息存儲單元:用于存儲所述隊列狀態(tài)信息。
·隊列狀態(tài)監(jiān)測單元:用于對發(fā)送隊列的長度進行監(jiān)測,當所述發(fā)送隊列長度超出預設的擁塞閾值時,將所述隊列狀態(tài)信息設置為擁塞狀態(tài),當所述發(fā)送隊列長度小于正常閾值時,將所述隊列狀態(tài)信息設置為正常狀態(tài)。
·發(fā)送隊列:用于緩存等待發(fā)送數據的隊列。
(2)帶寬調節(jié)模塊用于當帶寬調整觸發(fā)時,根據隊列狀態(tài)信息自動調整端口隊列的帶寬,并將調整完成的所述端口隊列帶寬參數存儲到對應的Meter表中,具體包括:
·觸發(fā)單元:用于觸發(fā)帶寬調節(jié)單元的執(zhí)行。
·帶寬調節(jié)單元:用于根據隊列狀態(tài)信息對端口隊列的帶寬進行自動調節(jié),得到端口隊列帶寬參數。
·Meter表更新單元:用于將帶寬調節(jié)單元調整完成的所述端口隊列帶寬參數存儲到對應的Meter表中。
(3)流處理模塊用于對接收的數據包進行數據解析,流表匹配和流表的執(zhí)行,具體包括:
·Meter表單元:用于存儲Meter表項。
·流表存儲單元:用于存儲流表項。
·數據包解析單元:用于對Openflow交換機接收到的數據包進行解析,提取出所述數據包的關鍵信息。
·流表匹配單元:用于將所述數據包解析單元提取的數據包的關鍵信息與所述流表存儲單元中的所有流表的頭域進行匹配,如果有匹配流表項,則由流表執(zhí)行單元進行處理;如果沒有,則按照openflow協(xié)議發(fā)送給openflow控制器。
·流表執(zhí)行單元:用于按照流表的指定動作對數據包進行操作,發(fā)送到對應Meter表,調用所述Meter表對應的端口隊列的帶寬控制單元(令牌桶)進行帶寬控制,如果當前數據包在所述端口隊列的帶寬控制范圍內,則執(zhí)行流表的下一項操作,最后將數據包放入指定的優(yōu)先級隊列中等待調度單元的調度。
(4)帶寬控制模塊用于根據Meter表中參數設置帶寬控制參數,并根據設置的所述帶寬控制參數對端口隊列帶寬進行控制,具體包括:
·帶寬設置單元:用于根據所述Meter表中相應端口隊列的參數信息對帶寬控制單元進行參數設置。
·帶寬控制單元:用于根據設置的參數對所述端口隊列的帶寬進行控制,如果當前數據包在所述端口隊列的帶寬控制范圍內,將數據包交給下一模塊處理,如果當前數據包超出所述端口隊列帶寬,則按照Meter中設置的操作丟棄或者等待。
(5)優(yōu)先級調度模塊用于對端口隊列進行優(yōu)先級調度,并按調度完成后的順序將數據放入發(fā)送隊列,具體包括:
·優(yōu)先級隊列單元:用于緩存各個優(yōu)先級的數據包,不同優(yōu)先級隊列代表不同的優(yōu)先級別,同一個優(yōu)先級隊列中數據包按照先入先出順序排列。
·調度單元:用于對所述優(yōu)先級隊列中的數據包按照隊列優(yōu)先級的高低排列發(fā)送順序,高優(yōu)先級隊列中的數據包先發(fā)送,低優(yōu)先級隊列中的數據包等高優(yōu)先級隊列數據包發(fā)送完成后再發(fā)送。
(6)其它功能模塊用于實現交換機的其他功能,與現有技術相同。
3 時間敏感業(yè)務處理方法
時間敏感業(yè)務是指工業(yè)生產場景中對時延要求苛刻的應用,在基于SDN&TSN的未來工業(yè)網絡中,時間敏感應用的處理分為兩部分,一部分是在集中控制器中,另一部分是在SDN交換機中。以下內容分別介紹具體處理過程。
SDN控制器中的工作流程描述如下:
step1:處理模塊將QoS參數解析為能夠被SDN網絡架構實現的消息命令;
step2:該消息命令傳送到規(guī)劃模塊中,規(guī)劃模塊在滿足QoS需求的前提下,根據網絡監(jiān)控模塊提供的網絡數據計算出網絡資源的最優(yōu)集合;
step3:規(guī)劃模塊將該網絡資源最優(yōu)集合傳輸到執(zhí)行模塊,執(zhí)行模塊下發(fā)流表配置SDN交換機的轉發(fā)規(guī)則。
SDN交換機中處理過程如圖4所示,具體描述如下:
當接收到數據時,交換機流處理模塊解析接收到的數據,提取出所述數據幀各層的關鍵信息,與流表項進行匹配,如果匹配成功,則按照流表中的action 列表執(zhí)行操作。當操作是Meter時,以Meter Action中的arguments項為key,匹配Meter中所有Band的type specific arguments項標示的隊列號,找到與其匹配的Band,進而利用該Band對應的令牌桶進行帶寬控制。如圖4所示,Meter Action的Meter_id是Port_1,arguments項為3,即匹配的是Port 1的Band為Band3(Queue 3),因此由Queue 3對應的令牌桶進行帶寬控制處理,從令牌桶中取出與數據包流量對應數量的令牌。如果數據率超出令牌桶限制(桶中令牌數據不足),則按照Band type指示執(zhí)行丟棄或者其他操作;如果數據流的速率沒有超出令牌桶的限制,不對數據包進行處理,接著執(zhí)行下一個Action操作。經過令牌桶操作后,各個隊列的帶寬被限制在Meter表設定的帶寬范圍內。
接下來的Output/Enqueue操作中,交換機會將數據包發(fā)送到指定端口的指定隊列中,然后等待優(yōu)先級調度模塊的調度。如圖4所示,這里action的內容是 Enqueue 1 3,表示輸出到端口是Port 1,隊列號是3的隊列中,即Queue 3隊列。交換機將該數據報放入Queue 3隊列中,等待調度器的調度。交換機的優(yōu)先級調度單元按照隊列的優(yōu)先級發(fā)送數據:高優(yōu)先級隊列數據先發(fā)送,待高優(yōu)先級隊列中所有數據發(fā)送完成后再發(fā)送低優(yōu)先級隊列的數據。即Queue 1隊列中的數據包進行發(fā)送,當所有Queue 1中數據包都發(fā)送完成后再一次讀取Queue 2、Queue 3中的數據包發(fā)送,完成優(yōu)先級控制方式的功能。
圖4 SDN交換機中數據處理過程示意圖
4 結論及未來工作
本文中針對工業(yè)場景中業(yè)務特點,提出了基于SDN&TSN的未來工業(yè)網絡架構構想,并對該架構下的業(yè)務處理方法進行了描述。對SDN控制器和交換機的通用功能進行擴充,以滿足工業(yè)工業(yè)控制網絡中存在的多種數據流類型的不同的特性和傳輸實時性、帶寬需求。該架構實用化之路任重道遠,還有很多問題亟待解決,如網關設計、多控制器管控機制、實時隊列調度算法及pub/sub中間件系統(tǒng)等。
作者簡介:
劉金娣(1988-),女,遼寧普蘭店人,碩士,中科院沈陽自動化研究所助理研究員,主要從事工業(yè)網絡相關技術研究。
李棟(1986-),男,遼寧沈陽人,博士,中科院沈陽自動化研究所副研究員,主要從事工業(yè)網絡相關技術研究及工業(yè)網絡標準制定工作。
曾鵬(1976-),男,遼寧沈陽人,博士,中科院沈陽自動化所研究員,科學院網絡化控制系統(tǒng)重點實驗室副主任,博士生導師,主要從事無線傳感器網絡、工業(yè)通信技術的研究工作。
摘自《自動化博覽》2018年10月刊