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