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