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