楊明亮,吳春明,沈叢麒,邱于兵
(1.浙江大學(xué),浙江杭州 310013;2.之江實驗室,浙江杭州 311100;3.南昌大學(xué),江西南昌 330031)
隨著工業(yè)化與信息化的深度融合,智能制造業(yè)加速了新一代網(wǎng)絡(luò)信息技術(shù)與制造業(yè)的深度融合,推進了工業(yè)互聯(lián)網(wǎng)的部署建設(shè)[1].
工業(yè)互聯(lián)網(wǎng)總體架構(gòu)如圖1所示,工業(yè)車間級網(wǎng)絡(luò)處于工業(yè)互聯(lián)網(wǎng)總體架構(gòu)的核心位置,需要實現(xiàn)類型多樣、規(guī)模龐大的工業(yè)設(shè)備的融合接入,同時需要與上層IT(Information Technology)網(wǎng)絡(luò)對接,實現(xiàn)控制信息等實時數(shù)據(jù)與數(shù)據(jù)信息等非實時數(shù)據(jù)在同一網(wǎng)絡(luò)中傳輸,滿足工業(yè)生產(chǎn)過程實時監(jiān)控、自動控制、業(yè)務(wù)管理等需求.另外,為保證IT/OT(Operation Technology)雙網(wǎng)一體化融合,需要提供多維可視、安全可靠、智能運維的網(wǎng)絡(luò)服務(wù),建立從現(xiàn)場設(shè)備層、工業(yè)控制層、企業(yè)管理層直到工業(yè)云端的深度融合網(wǎng)絡(luò).當前,工業(yè)場景網(wǎng)絡(luò)的架構(gòu)大多通過兩種層次、三類級別進行劃分:在技術(shù)架構(gòu)上,工業(yè)互聯(lián)網(wǎng)包括工廠信息化網(wǎng)絡(luò)以及工廠工業(yè)化制造網(wǎng)絡(luò),兩種層次的網(wǎng)絡(luò)核心技術(shù)架構(gòu)完全不同;在管理上,工業(yè)互聯(lián)網(wǎng)呈現(xiàn)三類界別,由低到高分別包括現(xiàn)場設(shè)備級、車間控制級、工廠企業(yè)管理級,每級別之間的網(wǎng)絡(luò)配置和管理策略相互獨立.
圖1 TSN工業(yè)互聯(lián)網(wǎng)總體架構(gòu)
建設(shè)工業(yè)互聯(lián)網(wǎng)的難點技術(shù)在于構(gòu)建一個具備普適性與可靠性的網(wǎng)絡(luò),從而用于多種生產(chǎn)場景.兼?zhèn)溥m應(yīng)性與可靠性的網(wǎng)絡(luò)的一個重要指標是網(wǎng)絡(luò)延時可預(yù)測、可確定.當前工業(yè)網(wǎng)絡(luò)中,EtherCAT、PROFINET等傳統(tǒng)工業(yè)以太網(wǎng)協(xié)議通常是針對特定的任務(wù)或領(lǐng)域而開發(fā)的,存在帶寬不足、欠缺互操作性且成本昂貴、網(wǎng)絡(luò)鏈路上延時測量不準確等,無法滿足當今工業(yè)4.0時代的數(shù)據(jù)通信傳輸?shù)姆€(wěn)定可靠要求.因此,在工業(yè)互聯(lián)網(wǎng)中研究大量設(shè)備共享網(wǎng)絡(luò)同時保證原有工業(yè)業(yè)務(wù)實時穩(wěn)定的問題具有重要的現(xiàn)實意義.
依據(jù)網(wǎng)絡(luò)自底向上的結(jié)構(gòu),工業(yè)互聯(lián)網(wǎng)的實時穩(wěn)定問題可分解為三個層次的問題.首先,在幀的層次,需要解決幀搶占問題;其次,在隊列層次,需要解決隊列調(diào)度問題;最后,在業(yè)務(wù)層次,需要解決業(yè)務(wù)流量調(diào)度問題.
針對這些問題,目前學(xué)術(shù)界開展了相應(yīng)的研究,已經(jīng)取得了一定的理論成果[2~4].隨著新型網(wǎng)絡(luò)技術(shù)的發(fā)展,時間敏感網(wǎng)絡(luò)(Time Sensitive Network,TSN)[5]為上述問題提供了一種解決思路.TSN可保障工業(yè)互聯(lián)網(wǎng)高帶寬、低時延、網(wǎng)絡(luò)可靠性高[6~9].理論研究結(jié)果表明,TSN通過基于802.1Qci的流量監(jiān)控管理技術(shù)保證了數(shù)據(jù)傳輸?shù)陌踩煽啃?基于IEEE 802.1Qci的時間感知調(diào)度將以太網(wǎng)網(wǎng)絡(luò)上的流量通過過濾策略形成不同的流、重復(fù)的時間周期,配置不同的時間片,并分配給不同的門控切片,從而在有限的時間內(nèi)為那些需要傳輸保證且不能中斷的業(yè)務(wù)流類別授予以太網(wǎng)傳輸介質(zhì)的獨占使用權(quán).在隊列層面,通過隊列調(diào)度技術(shù)保障流量能夠按照預(yù)設(shè)的優(yōu)先級進行傳輸,其中一種典型的技術(shù)如基于802.1Qbv的隊列調(diào)度機制.此外,還有學(xué)者提出了基于時間感知的隊列整形機制等.Farzaneh等[10]設(shè)計了實驗驗證了時間感知整形對關(guān)鍵流量傳輸性能的改善,可看做初步對TSN部分功能的測試.在幀層面,利用幀搶占技術(shù),避免因幀長度變化而導(dǎo)致的傳輸窗口空白,從而影響后續(xù)流量的時延特性.文獻[11]梳理了這些機制的核心技術(shù)思想.
但是目前這些技術(shù)仍然存在于理論研究階段,尚無技術(shù)層面的評估.因此,本文將實施基于802.1Qbv的隊列調(diào)度技術(shù)以及幀搶占技術(shù)等,并針對基于802.1Qbv策略以及幀搶占的隊列調(diào)度機制開展技術(shù)評估,研究其性能并驗證該技術(shù)能夠保障工業(yè)互聯(lián)網(wǎng)的實時可靠.
為了保證工業(yè)環(huán)境中上層指令有序到達且到達時間可控,我們基于IEEE 802.1Qbv標準提出隊列和時間門映射從而靈活調(diào)度流量.IEEE 802.1Qbv(見圖2)時間感知調(diào)度程序與以太網(wǎng)八個優(yōu)先級進行映射,將以太網(wǎng)網(wǎng)絡(luò)上的通信分離為長度固定的循環(huán)時間周期.在這些周期中,可以配置不同的時間片,可以將其分配給八個以太網(wǎng)優(yōu)先級中的一個或多個,從而在有限的時間內(nèi)為那些需要傳輸保證且不能中斷的業(yè)務(wù)類別授予以太網(wǎng)傳輸介質(zhì)的獨占使用權(quán).其實質(zhì)是一個時分多址方案,通過建立特定時間段的虛擬通信信道,將時間關(guān)鍵通信業(yè)務(wù)與非關(guān)鍵的背景業(yè)務(wù)分離開來.
圖2 IEEE 802.1Qbv流程圖
當以太網(wǎng)接口已經(jīng)向傳輸介質(zhì)傳輸幀時,必須在另一個傳輸之前完成該傳輸.這包括在幀結(jié)束時發(fā)送CRC32(Cyclic Redundancy Check 32)校驗和,以確??煽俊o故障的傳輸.以太網(wǎng)網(wǎng)絡(luò)的固有特性再次對IEEE 802.1Qbv調(diào) 度 的TDMA(Time Division Multiple Access)方法提出了挑戰(zhàn).如圖3中Without Guard Band所示.在周期n的時間片2結(jié)束之前,開始一個新的幀傳輸,但是由于這個幀太大,無法適應(yīng)其時間段.又由于該幀的發(fā)送不能被中斷,所以幀會侵入下一個周期n+1的后續(xù)時間片1.通過部分或完全阻塞,實時幀會延遲到無法滿足應(yīng)用程序需求的程度.這與在非TSN以太網(wǎng)交換機中發(fā)生的實際緩沖效果非常類似,因此TSN必須指定一種機制來防止這種情況發(fā)生.
圖3 保護帶示意圖
時間感知調(diào)度通過在每個時間片的前面放置一個保護帶來實現(xiàn)這一點.在該保護帶時間內(nèi),不能啟動新的以太網(wǎng)幀傳輸,只有已進行的傳輸可完成.該保護帶的持續(xù)時間只需保證最大幀被安全傳輸.對于一個以太網(wǎng)幀,根據(jù)IEEE 802.3和一個單獨的IEEE 802.1Q VLAN標記且包括幀間間隔的總長度為:1518字節(jié)(幀)+4字節(jié)(VLAN標記)+12字節(jié)(幀間距)=1534字節(jié).
發(fā)送此幀所需的總時間依賴于以太網(wǎng)網(wǎng)絡(luò)的鏈路速度.通過快速以太網(wǎng)100 Mbit/s傳輸速率,傳輸持續(xù)時間如下:
在這種情況下,保護帶至少為122.72 μs長.所以由于保護帶的存在,在時間片內(nèi)可用的總帶寬/時間將會減少,如圖3中With Guard Band所示,時間片1總是包含高優(yōu)先級數(shù)據(jù)(例如,用于運動控制),而時間片2總是包含盡力而為傳輸模式下的數(shù)據(jù).因此,每個轉(zhuǎn)換點都需要放置一個保護帶,以保護臨界數(shù)據(jù)流的時間片.
雖然保護帶設(shè)法保護了高優(yōu)先級、臨界流量的時間片,但它們也存在一些重大缺陷.首先,保護帶會導(dǎo)致帶寬利用率降低.因為在保護帶期間以太網(wǎng)端口需要保持靜默,不能用于傳送任何數(shù)據(jù).其次,單個時間片的配置不能小于保護帶大小.尤其是低速以太網(wǎng)連接和不斷增長的保護帶的大小,這會影響最低可實現(xiàn)的時間片長度和周期時間.
為了部分減輕因保護帶存在而導(dǎo)致的帶寬損失,標準的IEEE 802.1Qbv包含了一個長度感知的調(diào)度機制.此機制在存儲和轉(zhuǎn)發(fā)切換時使用:在具有保護帶的有效端口上傳輸?shù)囊蕴W(wǎng)幀被完全接收之后,調(diào)度器檢查幀的總體長度.如果幀完全可以在保護帶內(nèi),而不侵犯下一個高優(yōu)先級時間片,則調(diào)度器可以發(fā)送該幀,從而減少帶寬的浪費.然而,當啟用直通切換(無存儲轉(zhuǎn)發(fā))時,不能使用此機制,因為需要知道以太網(wǎng)幀的總長度.因此,當使用直通切換來最小化端到端的延遲時,仍會發(fā)生帶寬的浪費.此外,這對于可實現(xiàn)的最小周期時間并沒有幫助,因此,長度感知調(diào)度只是一個改進,并不能減輕由保護帶引入的所有缺點.本文所提出的基于IEEE 802.1Qbv及幀搶占的隊列調(diào)度機制描述見算法1.
算法1基于IEEE 802.1Qbv及幀搶占的隊列調(diào)度機制1:2:3;4:while當前調(diào)度門控仍然開放查看門控開關(guān)狀態(tài)傳輸if當前數(shù)據(jù)包未完成傳輸開啟基于幀搶占的隊列調(diào)度策略
基于IEEE 802.1Qbv隊列優(yōu)先級的流量調(diào)度策略保證了業(yè)務(wù)有序發(fā)送且延時可預(yù)測,但是引入的保護帶導(dǎo)致了帶寬的損失且提高了對時間片設(shè)置要求.為減少保護帶造成的負面影響,我們提出了基于優(yōu)先級的幀搶占機制以最小化保護帶.
圖4給出了一個幀搶占工作原理的基本示例.在發(fā)送盡力而為的以太網(wǎng)幀的過程中,MAC(Media Access Control)在保護帶開始之前中斷幀傳輸,并存儲在下一個交換機中等待幀的第二部分到達.在時間片1的高優(yōu)先級流量通過后,周期切換回時間片2,中斷的幀傳輸被恢復(fù).只有一個以太網(wǎng)的片段切換到下一個以太網(wǎng)交換機,幀才被重新組合.每部分幀都有用于糾錯的CRC32,為了與普通的以太網(wǎng)CRC32區(qū)分開,最后的16位被反轉(zhuǎn).此外,還改變了幀分隔符(Start Frame Delimiter,SFD)的開始.
圖4 幀搶占示例
為了實現(xiàn)幀搶占,網(wǎng)絡(luò)操作員必須在各個設(shè)備之間的每個鏈路上激活對幀搶占的支持.為了在鏈路上表明幀搶占的能力,以太網(wǎng)交換機通過LLDP(Link Layer Discovery Protocol)(鏈路層發(fā)現(xiàn)協(xié)議)宣布此功能.當設(shè)備在網(wǎng)絡(luò)端口上接收到LLDP聲明并支持幀搶占時,可以激活該功能,但它沒有直接協(xié)商和激活相鄰設(shè)備的能力.任何接收LLDP搶占聲明的設(shè)備都假設(shè)在鏈接的另一端有某個設(shè)備可以理解幀格式的變化(更改CRC32和SFD).
幀搶占可大大減少保護帶.保護帶的長度現(xiàn)在取決于幀搶占機制的精度,IEEE 802.3br為這個機制指定了64字節(jié)的最佳精度,因為這是一個仍然有效的以太網(wǎng)幀的最小大小.在這種情況下,保護帶可以減少到127字節(jié):64字節(jié)(最小幀)+63字節(jié)(不能搶占的剩余長度)
本文實驗分為兩部分:首先,在TSN交換機某一端口上實施報文調(diào)度實驗,驗證交換機門控的流量通過或阻斷功能,同時驗證隊列的調(diào)度間隔及深度.其次,將針對交換機發(fā)送多條TSN流,從網(wǎng)絡(luò)整體的時延變化角度驗證TSN交換機的實時可靠性.
基于所提出的工業(yè)互聯(lián)網(wǎng)流量調(diào)度及管控體系,研發(fā)TSN交換機作為實驗對象,并驗證所開發(fā)的TSN交換機具備延時可預(yù)測、流量按序到達等功能.實驗連接結(jié)構(gòu)如圖5所示,其中,左邊為TSN交換機,右邊為產(chǎn)生流量的終端.
圖5 實驗架構(gòu)圖
通過分別測試流量的允許阻斷功能、調(diào)度間隔、控制深度等指標驗證隊列調(diào)度功能.
首先,以間隔100 μs持續(xù)發(fā)送100個報文,共10個周期.在交換機對應(yīng)端口開啟隊列7.實驗結(jié)果顯示,第1個周期在100 μs調(diào)度窗口有6個報文被調(diào)度,第2個周期在100 μs調(diào)度窗口有10個報文被調(diào)度(本次實驗中是指上一周期緩存的9個和在調(diào)度窗口開放時候收到的1個報文),第11個周期表示緩存了4個報文,調(diào)度窗口開放時正常調(diào)度這4個報文.由此可知,TSN交換機能正常允許通過或阻斷流量.
第二,測試儀端口1以1 μs間隔發(fā)送40個報文,包含5個周期,每周期8個報文.我們觀察對應(yīng)的交換機端口接收到的報文.實驗發(fā)現(xiàn)當報文到達的時候,對應(yīng)隊列的門控正好開啟,說明隊列調(diào)度正常.另外,實驗發(fā)現(xiàn),隊列調(diào)度間隔可設(shè)置為1 μs~260 μs都能保證調(diào)度正常.表1及表2分別給出了最小最大間隔下的交換機隊列7每個周期內(nèi)首先到達的報文序列號.由序列號可以看到報文序號變化規(guī)律,無論調(diào)度間隔為1 μs或260 μs,都不存在報文缺失的情況.這說明在交換機時鐘同步的前提下,能夠?qū)崿F(xiàn)隊列的正確調(diào)度.
表1 最小間隔下的交換機隊列7每個周期內(nèi)首先到達的報文序列號
表2 最大間隔下的交換機隊列7每個周期內(nèi)首先到達的報文序列號
第三,為了驗證隊列控制深度,假定前15個門控狀態(tài)不允許隊列7報文轉(zhuǎn)發(fā),第16個門控狀態(tài)允許隊列7報文轉(zhuǎn)發(fā):測試儀端口1在每周期的第900 μs發(fā)送5個報文.實驗發(fā)現(xiàn)能在100 μs之內(nèi)在交換機上收到隊列7的報文.因此,TSN交換機的控制深度為16.
針對單一隊列驗證TSN功能,驗證設(shè)備可以按照所提出的調(diào)度策略進行調(diào)度.發(fā)送端生成10條TSN流,發(fā)送速率均為1000 pps,即每毫秒有1個報文,每條TSN周期流都是走7隊列,open時長是100 μs,則每周期都隨機有1條流是走隊列7.所有報文按照Qbv調(diào)度策略轉(zhuǎn)發(fā).圖6給出了TSN交換機在單一隊列情況下發(fā)包延時性能.其中藍色表示經(jīng)過多個周期統(tǒng)計后平均延時,紅色表示單次TSN周期內(nèi)的延時.由圖可知,盡管單個周期內(nèi)各條流的延時浮動較大,但統(tǒng)計而言,各TSN流延時波動較小,能夠?qū)崿F(xiàn)延時可預(yù)測的要求.
圖6 單隊列環(huán)境下的TSN性能
針對多隊列調(diào)度驗證交換機TSN調(diào)度功能.在發(fā)送端生成8條流發(fā)給交換機,每流1000 pps,每條流調(diào)度周期是1 ms,每毫秒有8條流打入設(shè)備,每條流固定走1個隊列.針對多隊列的Qbv調(diào)度表如圖7的端口調(diào)度表中control list所示,設(shè)定了16個開放窗口,各開放窗口長度信息如表3所示.默認100 μs是關(guān)閉狀態(tài).在轉(zhuǎn)發(fā)時,每條流按control list調(diào)度表調(diào)度.
表3 16個開放窗口配置信息
圖7給出了TSN交換機在多隊列情形下的流量調(diào)度性能.由圖7可知,流量轉(zhuǎn)發(fā)的最小延時是2.65 μs,最大調(diào)度延時是450 μs左右.與圖6中的最大時延和最小時延比對可知,相比于單一隊列的情形,多隊列下的最大時延存在一定浮動,但都小于單一隊列情形下的最大時延.如在多隊列的實驗情況下,最大時延在450 μs左右,而單一隊列情況下,最大時延近900 μs.另外,由長時間的時延統(tǒng)計可以看到,各個門控的時延較為近似.因此,所提出的調(diào)度策略能夠有效調(diào)度多個窗口,提高發(fā)包效率,降低最大時延,減小時延抖動,按照預(yù)期調(diào)度流量.
圖7 多隊列延時調(diào)度性能
本文研究了工業(yè)互聯(lián)網(wǎng)中的靈活可靠的流量調(diào)度與管控體系.基于時間敏感網(wǎng)絡(luò),本文提出了一種靈活可靠的流量調(diào)度及管控體系,包括基于隊列優(yōu)先級的流量調(diào)度策略、基于幀搶占的流量監(jiān)管策略、基于流的連續(xù)管控策略,實現(xiàn)流量的可靠、高效、連續(xù)傳輸.實驗結(jié)果表明,所提出的流量調(diào)度及管控體系具有良好的性能.