彭逸飛,涂曉東,許 都,王顥鋼,謝 軍,蔣體鋼
(電子科技大學(xué)信息與通信工程學(xué)院 成都 611731)
確定性網(wǎng)絡(luò)(deterministic networking, DN)技術(shù)是一類在承載多種混合流量的網(wǎng)絡(luò)中控制并降低特定業(yè)務(wù)流端到端時延以及抖動的技術(shù)。它能給“時間敏感”業(yè)務(wù)提供確定性業(yè)務(wù)保證的能力,其基本特征主要包括:時鐘同步、零擁塞數(shù)據(jù)丟失、可靠數(shù)據(jù)包交付等。時間觸發(fā)以太網(wǎng)(timetriggered ethernet, TTE)和時間敏感網(wǎng)絡(luò)(timesensitive networking, TSN)是兩種代表性的DN 網(wǎng)絡(luò),其關(guān)鍵技術(shù)之一是建立可靠的網(wǎng)絡(luò)時間同步。
SAE AS6802 時間同步協(xié)議[1]定義了時間觸發(fā)以太網(wǎng)(TTE),滿足了分布式綜合化航電系統(tǒng)[2-3]的發(fā)展需求,并已經(jīng)逐步在航空電子系統(tǒng)中得到應(yīng)用。為了進(jìn)一步滿足分布式綜合化的需求,保障混合關(guān)鍵網(wǎng)絡(luò)中高安全的時間觸發(fā)業(yè)務(wù)與其他業(yè)務(wù)隔離,構(gòu)建支撐飛行控制系統(tǒng)和航電系統(tǒng)的機(jī)載統(tǒng)一通信網(wǎng)絡(luò),基于SAE AS6802 協(xié)議對系統(tǒng)可靠性影響的分析將變得尤為重要。
文獻(xiàn)[4-5]已經(jīng)通過形式化方法對AS6802 協(xié)議收斂性進(jìn)行驗(yàn)證,文獻(xiàn)[6]僅討論了如何利用TTE 網(wǎng)絡(luò)構(gòu)建單一拜占庭失效場景下的應(yīng)用層協(xié)議。文獻(xiàn)[7-8]利用形式化方法對TTE 時鐘精度進(jìn)行證明。文獻(xiàn)[9-10]研究了TTE 網(wǎng)絡(luò)故障的仿真模擬方法,文獻(xiàn)[11]研究了故障注入測試方法,但并未給出失效概率評估方法。雖然前人已經(jīng)對TTE 網(wǎng)絡(luò)有了一定的研究,但并未對協(xié)議失效場景進(jìn)行系統(tǒng)分析,也未給出時間同步失效概率計算方法。
目前TSN 技術(shù)的研究主要活躍在車載網(wǎng)絡(luò)和工業(yè)網(wǎng)絡(luò)領(lǐng)域。文獻(xiàn)[12]著重研究了車載時間敏感軟件定義網(wǎng)絡(luò),將TSN 與軟件定義網(wǎng)絡(luò)(software define network, SDN)結(jié)合,研究結(jié)果表明,在較低的網(wǎng)絡(luò)層上,自動控制流的可見性對于在整個網(wǎng)絡(luò)基礎(chǔ)設(shè)施中提供隔離和訪問控制至關(guān)重要。文獻(xiàn)[13-14]也在探索TSN 技術(shù)與邊緣計算網(wǎng)絡(luò)的結(jié)合方式。
TSN 網(wǎng)絡(luò)采用IEEE Std802.1AS 協(xié)議中規(guī)定的算法實(shí)現(xiàn)時間同步。文獻(xiàn)[15]使用Petri Net 技術(shù)對該協(xié)議進(jìn)行了形式化驗(yàn)證,但并未考慮802.1AS的失效場景。文獻(xiàn)[16]分別對無線以及工業(yè)場景無故障情況下運(yùn)行該協(xié)議組成的多跳網(wǎng)絡(luò)時鐘精度等性能進(jìn)行了評估。文獻(xiàn)[17]探討了幾種在TSN網(wǎng)絡(luò)中時間敏感流的可靠性保障機(jī)制。但均未給出可靠性理論評估方法。故目前802.1AS 時間同步缺乏針對各種失效場景下的系統(tǒng)性分析以及失效概率評估方法。
針對目前兩種協(xié)議缺乏失效場景系統(tǒng)性分析和對比的問題,本文首先根據(jù)協(xié)議分析了時間同步過程以及造成時間同步失效的原因,在此基礎(chǔ)上對比了兩種協(xié)議的失效場景。再針對目前兩種協(xié)議缺乏失效概率理論分析的問題,分別給出了失效概率的計算模型,并用模型進(jìn)行失效概率對比,用OPNET 軟件進(jìn)行失效概率模擬。結(jié)果表明本文提出的模型計算結(jié)果與仿真結(jié)果一致。
網(wǎng)絡(luò)失效是指由于組件故障造成的網(wǎng)絡(luò)的非正常運(yùn)行。本文進(jìn)一步將網(wǎng)絡(luò)時鐘同步失效進(jìn)行定義。
定義 1 定義網(wǎng)絡(luò)時鐘同步失效為網(wǎng)絡(luò)中未發(fā)生故障的設(shè)備數(shù)量不足以保障協(xié)議的正確運(yùn)行,或者網(wǎng)絡(luò)形成了多個相互獨(dú)立的同步集團(tuán)。
相關(guān)參數(shù)如表1 所示。
表1 關(guān)鍵參數(shù)含義說明
AS6802 協(xié)議規(guī)定時間同步過程可分解為冷啟動和穩(wěn)定同步兩個主要階段,每個階段均通過PCF幀(protocol control frame)交互實(shí)現(xiàn),交互過程如圖1 所示。
圖1 協(xié)議交互模型
SM(synchronization master)和CM(compression master)為協(xié)議定義的兩種協(xié)議實(shí)體。SM 協(xié)議實(shí)體通常運(yùn)行在終端節(jié)點(diǎn)上,CM 協(xié)議實(shí)體通常運(yùn)行在交換機(jī)上。通過協(xié)議交互模型可知,如果交互過程中PCF 幀發(fā)生了丟失、超時等異常,就存在導(dǎo)致系統(tǒng)無法正常進(jìn)入同步狀態(tài),或者無法正常維持同步的風(fēng)險。
其同步關(guān)鍵為協(xié)議中定義的時鐘容錯平均算法,即CM 設(shè)備會首先對每個輪次來自SM 的時間信息進(jìn)行排序,其次選取位于序號居中的時間信息,取平均后作為本次修正的參考時鐘。
根據(jù)該算法,結(jié)合協(xié)議運(yùn)行流程[8],假設(shè)全局時鐘基線為每次同步之前各個設(shè)備的本地時鐘相對于tglobal存在偏差,假定各個設(shè)備相對于全局時鐘基線的偏差為:
式中,tlocal,device代表設(shè)備device 的本地視圖。
可以得到校正后的時鐘值為:
式中,telapse為SM 完成一次時間同步算法后的觀測點(diǎn)。需要說明的是,式(3)和式(4)形式上是一致的,這說明AS6802 時間同步算法組建的網(wǎng)絡(luò)系統(tǒng),各個設(shè)備的時鐘均收斂到第k+1與 第n-k個設(shè)備的時鐘平均值,這也體現(xiàn)了分布式時間同步算法無主時鐘的特點(diǎn)。
結(jié)論1 通過式(3)和式(4)可得,對于共有n個 SM 設(shè)備的系統(tǒng),在系統(tǒng)中有k個SM 設(shè)備故障,并且不考慮時鐘偏移的情況下,不失一般性地假設(shè)各個SM 設(shè)備的PCF 幀的固化時刻按照設(shè)備編號遞增排序,最終交換機(jī)與SM 設(shè)備時鐘會保持一致,且時鐘同步的最終值僅和落入窗內(nèi)的第k+1和 第n-k個SM 設(shè)備的時鐘有關(guān)。
AS6802 協(xié)議定義了3 種失效保障機(jī)制。
1) 自檢測對機(jī)制
Self-check pair 算法要求各個設(shè)備(包括交換機(jī)和端系統(tǒng))需要對發(fā)送到鏈路的數(shù)據(jù)幀進(jìn)行完整性檢查與一致性檢查。
每個設(shè)備將會包含兩個獨(dú)立運(yùn)行的協(xié)議服務(wù)實(shí)體,正常情況下,這兩個協(xié)議服務(wù)實(shí)體的動作應(yīng)該保持一致。當(dāng)兩個協(xié)議實(shí)體不一致時,會阻止協(xié)議數(shù)據(jù)幀輸出。
2) Central guardian 機(jī)制配合leaky bucket 機(jī)制
Central guardian 算法要求交換機(jī)對輸入的數(shù)據(jù)幀進(jìn)行時間完整性和數(shù)據(jù)完整性檢查,對于不滿足完整性要求的數(shù)據(jù)幀,交換機(jī)會將其丟棄。
Leaky Bucket 算法通常是用來限定流量占用的帶寬,配合Central guardian 實(shí)現(xiàn)協(xié)議幀合理性檢查:在確定性網(wǎng)絡(luò)中拓?fù)渫ǔJ枪潭ǖ?,所以交換機(jī)可以檢查是否接收到了異常來源的數(shù)據(jù)幀,或者某些來源的數(shù)據(jù)幀數(shù)量異常,同時利用leaky bucket 限定特定流量的帶寬。
3) 集團(tuán)檢測機(jī)制
集團(tuán)檢測機(jī)制用于保證網(wǎng)絡(luò)不會分裂成多個相互獨(dú)立的同步集團(tuán)。如圖2 所示,該拓?fù)浒? 臺CM 設(shè)備和4 臺SM 設(shè)備,CM1、SM1、SM2設(shè)備的時鐘在1:00±10 min 范圍內(nèi),CM2、SM3、SM4 設(shè)備的時鐘在3:00±10 min 范圍內(nèi)。CM1 檢測到SM1、SM2 的信息落入窗中(圖中CM1 窗口所示),由結(jié)論1 可知,CM1 本輪次的參考時間為(1:00+1:10)/2,即1:05,而SM3、SM4 的信息由于沒有落入CM1 窗內(nèi),而不被CM1 使用,對于CM2類似。這樣就使得網(wǎng)絡(luò)形成了兩個互不相干的時間同步集團(tuán)。根據(jù)定義1,此時發(fā)生時間同步失效。
圖2 網(wǎng)絡(luò)形成多個不相交同步集團(tuán)
為了處理這種失效,協(xié)議規(guī)定了集團(tuán)檢測算法,該算法本質(zhì)為設(shè)備監(jiān)視落入窗內(nèi)的時間信息個數(shù),當(dāng)該信息數(shù)量低于集團(tuán)檢測閾值Q時(換句話來說如果有大部分時間信息均未落入窗內(nèi)),設(shè)備就會認(rèn)為自己當(dāng)前處于小集團(tuán)中,進(jìn)而會選擇進(jìn)行重啟或者凍結(jié)。集團(tuán)檢測的關(guān)鍵在于閾值Q的確定,下面給出確定方法。
結(jié)論2 根據(jù)結(jié)論1,在交換機(jī)不發(fā)生故障,且網(wǎng)絡(luò)設(shè)備均開啟失效保障機(jī)制的前提下,網(wǎng)絡(luò)中SM 設(shè)備的數(shù)量為n≥2k,同步集團(tuán)檢測的閾值Q至少應(yīng)為n-k。(其中k為發(fā)生故障的設(shè)備數(shù)量)。
證明:
1) 當(dāng)Q<n-k時 ,意味著系統(tǒng)第n-k個SM 設(shè)備的時鐘發(fā)生故障,這與結(jié)論1 矛盾。
2) 利用反證法,假定當(dāng) Q ≥n-k時,仍同時存在m個穩(wěn)定同步的子系統(tǒng),則應(yīng)有:
則可推得:
由:
可得:
式中,m∈[2,n]。
所以,當(dāng)m=2時,右邊取最大值,故網(wǎng)絡(luò)中SM 設(shè)備的數(shù)量為n≥2k,同步集團(tuán)檢測的閾值Q至少應(yīng)為n-k。
如圖2 所示,SM 總個數(shù)為4 個,此時應(yīng)設(shè)置集團(tuán)檢測閾值為2。觀察CM1,落入CM1 窗內(nèi)的時鐘信息數(shù)量為2,2=2 不滿足 2 >Q,所以同步集團(tuán)1 集團(tuán)檢測成功。同步集團(tuán)2 同理。
根據(jù)定義1,當(dāng)網(wǎng)絡(luò)中有超過k個設(shè)備發(fā)生故障時,將無法滿足AS6802 協(xié)議正常運(yùn)行的要求,協(xié)議將無法維持當(dāng)前網(wǎng)絡(luò)的時鐘同步服務(wù),最終導(dǎo)致同步失效。
利用1.2 節(jié)中所述的故障保障機(jī)制,可以將構(gòu)成TTE 網(wǎng)絡(luò)中的任何一個運(yùn)行AS6802 協(xié)議的設(shè)備看作為一個兩狀態(tài)組件(正常工作狀態(tài)和失效狀態(tài))。TTE 網(wǎng)絡(luò)最終是否能夠正常同步則取決于當(dāng)前網(wǎng)絡(luò)中正常工作的設(shè)備數(shù)量與閾值的關(guān)系。事實(shí)上,此種TTE 網(wǎng)絡(luò)的可以正常同步的概率取決于可用設(shè)備的數(shù)量。因此,AS6802 協(xié)議構(gòu)建的時間同步網(wǎng)絡(luò)是典型的k-out-of-n系統(tǒng)。k-out-of-n系統(tǒng)可采用二項(xiàng)分布進(jìn)行建模[18],因此給出如下定理。
定理 1 在不考慮CM 發(fā)生故障的情況下,可以給出由n個設(shè)備組成的系統(tǒng),由于k個SM 設(shè)備發(fā)生失效而導(dǎo)致網(wǎng)絡(luò)同步故障概率為:
式中,R(t)如表1 定義為節(jié)點(diǎn)可靠性函數(shù)。
當(dāng)網(wǎng)絡(luò)規(guī)模較大時,對網(wǎng)絡(luò)同步故障概率的求解將變得復(fù)雜,這主要是因?yàn)閷?dǎo)致網(wǎng)絡(luò)失效的排列組合數(shù)量急劇增多。考慮到一般情況下交換設(shè)備的故障率相較于端系統(tǒng)會低一個數(shù)量級,根據(jù)式(10)可以得出:
結(jié)論3 對于TTE 網(wǎng)絡(luò),隨著網(wǎng)絡(luò)規(guī)模變大,交換設(shè)備(CM)發(fā)生故障將成為導(dǎo)致網(wǎng)絡(luò)故障的主要因素。(由于篇幅限制,本文將證明過程上傳到Github,網(wǎng)址為https://github.com/YifeiPengEE/AS6802_IEEE8021AS)
進(jìn)一步考慮實(shí)際情況,設(shè)備的失效通常小于10-3,所以本文對于k-out-of-n的求解進(jìn)行如下簡化。當(dāng) λ <10-2,且運(yùn)行時間小于100 h 時,同步失效可近似為(由于篇幅限制,本文將證明過程上傳到Github,網(wǎng)址為https://github.com/YifeiPengEE/AS6802_IEEE8021AS):
評估TTE 網(wǎng)絡(luò)時間同步失效概率的算法如下。
該算法的輸入包括節(jié)點(diǎn)、交換機(jī)的可靠度函數(shù)R(t), 網(wǎng)絡(luò)的鄰接矩陣G(v,e)以及網(wǎng)絡(luò)中SM 的總數(shù)量n。算法輸出為網(wǎng)絡(luò)時鐘同步失效概率函數(shù)fprob(t)。其中1~3 行為相關(guān)參數(shù)的初始化操作。第4 行調(diào)用 g et_tt_failcomp()函數(shù),該函數(shù)用于根據(jù)結(jié)論2,獲取當(dāng)前網(wǎng)絡(luò)拓?fù)湎?,所有可能造成時鐘同步失效的設(shè)備失效集合。該算法遍歷各種交換機(jī)失效場景。下面進(jìn)行舉例說明(其中深色為失效設(shè)備),如圖3a 所示為正常網(wǎng)絡(luò),圖3b 為系統(tǒng)中交換機(jī)未發(fā)生失效,此時根據(jù)結(jié)論2,則系統(tǒng)中至少存在4 個以上節(jié)點(diǎn)發(fā)生失效,才會導(dǎo)致系統(tǒng)時間同步失效,則此時失效情場景:{Node3,Node4,Node5,Node6}。圖3c 所示為一臺交換機(jī)失效場景示例,當(dāng)SW1 發(fā)生失效后,意味著Node1 與Node2 也無法正常與其他節(jié)點(diǎn)通信,根據(jù)結(jié)論2,與SW2 連接的節(jié)點(diǎn),至少存在2 個節(jié)點(diǎn)失效才會導(dǎo)致系統(tǒng)時間同步失效,則此時失效情況為:{SW1,Node3,Node4}。圖3d 為在當(dāng)前拓?fù)湎?,?dāng)SW1 與SW2均發(fā)生失效時,導(dǎo)致系統(tǒng)時間同步失效,則此時失效情況為: { SW1,SW2}。第4 行comb 變量就保存了這些會導(dǎo)致系統(tǒng)時間同步失效場景的可能集合。5~7 行為遍歷comb 統(tǒng)計的所有失效場景,tteget_failprob()函數(shù)利用式(11)求解各種場景下的失效概率進(jìn)行求和,該求和結(jié)果作為系統(tǒng)最終的失效概率。
圖3 TTE 網(wǎng)絡(luò)時鐘同步失效組合示例
802.1AS 協(xié)議實(shí)現(xiàn)的同步過程同樣也可以人為地劃分為冷啟動階段和同步維持兩個階段。協(xié)議的正常運(yùn)轉(zhuǎn)通過如下3 類業(yè)務(wù)實(shí)現(xiàn)。
1)基于Announce 報文交互,實(shí)現(xiàn)的BMCA(best master clock algorithm)算法;
2)基于Sync 等報文交換,實(shí)現(xiàn)網(wǎng)絡(luò)時間同步;
3)基于Pdelay 等報文交互,實(shí)現(xiàn)的頻率和延時參數(shù)補(bǔ)償;
圖4 為802.1AS 協(xié)議流程。網(wǎng)絡(luò)設(shè)備初始化后,首先Announce 報文獲取對端設(shè)備的信息(包括同步優(yōu)先級、時鐘源等)。根據(jù)所獲取的信息,按照BMCA 算法規(guī)定的比較規(guī)則,選出主從設(shè)備,生成全局時鐘樹。此后,端到端之間通過交互Pdelay 相關(guān)報文獲取鏈路時延、端到端頻率偏差等相關(guān)信息。同時主設(shè)備周期性地下發(fā)Sync 報文,用于更新從設(shè)備的時鐘信息,進(jìn)而實(shí)現(xiàn)周期性的時鐘校準(zhǔn)。
圖4 協(xié)議交互模型
通過對協(xié)議流程的分析可以看出,如果協(xié)議數(shù)據(jù)幀發(fā)生了丟失或者報文發(fā)生了延時發(fā)送,就會對網(wǎng)絡(luò)的時間同步造成影響,甚至?xí)?dǎo)致網(wǎng)絡(luò)形成多個獨(dú)立的同步集團(tuán)。然而802.1AS 協(xié)議僅對超時事件給出了記錄機(jī)制,并沒有說明其他可靠性保障機(jī)制。所以可以給出如下失效模式。
首先需要說明802.1AS-2020 介紹了時鐘樹冗余策略,但是并沒有給出多時鐘樹生成算法以及類似的時鐘容錯平均算法,所以本文暫不討論。
802.1AS 對故障的處理機(jī)制可以簡單理解為:發(fā)生超時后,BMCA 進(jìn)行重新選舉,進(jìn)而形成新的時鐘樹。如圖5 所示,假設(shè)某一時刻TSN1 發(fā)送的Sync 報文發(fā)生了故障,即承載在Sync 報文中的時間信息發(fā)生了突變(變大)。當(dāng)TSN 設(shè)備2 接收到后,就會將自身的時鐘修正到Sync 報文中指定的時刻。此外如果當(dāng)前設(shè)備運(yùn)行在立即轉(zhuǎn)發(fā)模式(非鎖步模式),則會將該錯誤的Sync 報文向下游設(shè)備傳播。當(dāng)TSN 節(jié)點(diǎn)2 依據(jù)Sync 報文中的時間信息修訂本地時鐘后,觸發(fā)Announce 報文接收超時故障,進(jìn)而導(dǎo)致該節(jié)點(diǎn)重新進(jìn)入BMCA 算法的選舉狀態(tài),下游節(jié)點(diǎn)類似。并且選舉過程需要一定時間后才會穩(wěn)定。
圖5 故障處理機(jī)制說明
由此可以得出,雖然BMCA 算法擁有一定的能力可以使得系統(tǒng)從故障中恢復(fù),但是仍然會引入抖動。并且BMCA 算法的自恢復(fù)能力是有限的,如果失效設(shè)備一致無法恢復(fù),極端情況下有可能導(dǎo)致系統(tǒng)分裂成多個同步集團(tuán)。
BMCA 算法本質(zhì)是按照廣度優(yōu)先遍歷的結(jié)果,以GM 節(jié)點(diǎn)為根節(jié)點(diǎn),實(shí)現(xiàn)逐層同步。所以在不考慮惡意攻擊的前提下,802.1AS 協(xié)議失效可以定義為至少一臺非最下層交換機(jī)所連接葉節(jié)點(diǎn)設(shè)備發(fā)生故障的概率。
根據(jù)式(10),802.1AS 網(wǎng)絡(luò)同步失效概率為:
式中,
P1表示網(wǎng)絡(luò)所有設(shè)備均不發(fā)生故障的概率;P2表示僅邊緣設(shè)備發(fā)生故障的概率。
對802.1AS 算法進(jìn)行故障概率分析可以分為兩個步驟,依據(jù)廣度優(yōu)先遍歷算法求解網(wǎng)絡(luò)時鐘同步樹,根據(jù)式(12)計算網(wǎng)絡(luò)同步失效概率,具體算法如下。
該算法的輸入包括節(jié)點(diǎn)、交換機(jī)的可靠度函數(shù)R(t), 網(wǎng)絡(luò)的鄰接矩陣G(v,e)。算法輸出為網(wǎng)絡(luò)時鐘同步失效概率函數(shù)fprob(t)。其中第1 行為相關(guān)參數(shù)的初始化操作。第2 行根據(jù)802.1AS 標(biāo)準(zhǔn)給出的BMCA 算法求取當(dāng)前時鐘樹,結(jié)果保存在bfs_result 中。第3 行 get_kleaf_cnt()函 數(shù),依 據(jù)bfs_result結(jié)果,求取當(dāng)前同步樹的最下層葉子節(jié)點(diǎn)數(shù)量。第4 行tsnget_failprob()函數(shù)依據(jù)式(12)計算系統(tǒng)最終的失效概率。
對TTE、TSN 同步失效場景進(jìn)行對比,如表2所示。當(dāng)TTE 網(wǎng)絡(luò)運(yùn)行1.2 節(jié)所述的失效保障機(jī)制后,將大部分失效模式轉(zhuǎn)化為靜默失效。由于遺漏失效和崩潰失效對外特性與靜默失效類似,即均為缺失部分?jǐn)?shù)據(jù)幀,因此在3.2 節(jié)仿真中考慮將TTE 網(wǎng)絡(luò)節(jié)點(diǎn)的故障模式設(shè)置為靜默故障,即根據(jù)表1 節(jié)點(diǎn)都以1 -R(t)的概率發(fā)生靜默失效。
表2 TTE、TSN 失效場景對比
對于TSN 網(wǎng)絡(luò),由于802.1AS 協(xié)議并未規(guī)定類似的失效保障機(jī)制,因此幾乎每一種失效模式都有可能導(dǎo)致網(wǎng)絡(luò)同步失效。因此3.2 節(jié)直接將TSN 網(wǎng)絡(luò)節(jié)點(diǎn)的故障模式設(shè)置為時鐘大幅度偏移,即根據(jù)表1 節(jié)點(diǎn)的同步時鐘都以1 -R(t)的概率發(fā)生大幅度偏移。
通過對比理論計算和OPNET 仿真的方式說明本文的故障概率計算算法的合理性。
圖6a 和圖6b 分別給出了本次采用的兩種拓?fù)浞抡鎇19]。其中實(shí)線連線為實(shí)際物理鏈路,SW 代表運(yùn)行AS6802-CM 或運(yùn)行802.1AS 協(xié)議的交換機(jī),Node 代表運(yùn)行AS6802-SM 或802.1AS 協(xié)議的端系統(tǒng)。這些端系統(tǒng)通常可以是攝像頭、雷達(dá)、GPS等設(shè)備。
圖6 OPNET 網(wǎng)絡(luò)仿真拓?fù)?/p>
為了便于理解,當(dāng)網(wǎng)絡(luò)采用AS6802 協(xié)議時,僅觀察拓?fù)渲袠?biāo)記為SM/CM 的設(shè)備,如圖6a 所示,此時Node1 運(yùn)行AS6802-SM 協(xié)議,別名為SM1。SW1 運(yùn)行AS6802-CM 協(xié)議,別名為CM1。當(dāng)采用802.1AS 協(xié)議時,其中標(biāo)記為GM 的設(shè)備為主時鐘,如圖6b 所示,各個設(shè)備均運(yùn)行802.1AS協(xié)議,假定Node1 為當(dāng)前拓?fù)湎碌?02.1AS-GM設(shè)備(主節(jié)點(diǎn)),虛線箭頭給出了BMCA 算法形成的時鐘同步樹,其他節(jié)點(diǎn)均為運(yùn)行802.1AS 協(xié)議的普通節(jié)點(diǎn)。
表3 所示為本次對比試驗(yàn)所采用的參數(shù)設(shè)置,該參數(shù)設(shè)置與所選擇的仿真拓?fù)錈o關(guān),需要說明的是,上述Rdur持 續(xù)時間或 A STO超時時間均是指離散時間仿真器中的仿真時間,而非實(shí)際設(shè)備的運(yùn)行時間。
表3 仿真參數(shù)說明
圖7 和圖8 分別展示了兩種拓?fù)湎翧S6802、802.1AS 網(wǎng)絡(luò)按照算法1 和算法2 理論計算和使用OPNET 進(jìn)行150 000 次試驗(yàn)后取平均的結(jié)果。其中節(jié)點(diǎn)相關(guān)參數(shù)按照表1 進(jìn)行設(shè)定,縱坐標(biāo)代表失效概率,橫坐標(biāo)代表所模擬的系統(tǒng)運(yùn)行時間。
圖7 拓?fù)? 同步失效概率對比
圖8 拓?fù)? 同步失效概率對比
對比理論計算結(jié)果曲線和OPNET 仿真結(jié)果曲線,失效概率偏差范圍均在一個數(shù)量級。理論計算方法所獲得曲線與仿真所得失效概率最大偏離不高于同一個數(shù)量級(如圖中標(biāo)注)。說明本文提出的時間同步協(xié)議故障概率量化估計模型與OPNET仿真實(shí)驗(yàn)得出的結(jié)果基本一致。理論計算與OPNET 仿真兩種失效概率曲線存在偏差,主要原因是計算二項(xiàng)分布結(jié)果時對排列組合的計算進(jìn)行了放縮與近似(由于篇幅限制,本文將證明過程上傳到Github,網(wǎng)址為https://github.com/YifeiPengEE/AS6802_IEEE8021AS)。
失效模式作為協(xié)議的薄弱環(huán)節(jié),在設(shè)計使用這兩種協(xié)議組網(wǎng)的過程中需要重點(diǎn)考慮。本文針對兩種協(xié)議提出的失效概率模型符合OPNET 失效概率仿真結(jié)果,可以為相關(guān)人員評估兩種協(xié)議時間同步服務(wù)可靠性提供方法。此外,從本文的分析與仿真可看出,802.1AS 時間同步相對于AS6802 故障概率較高,未來可以通過改進(jìn)同步機(jī)制,如采用分布式時鐘容錯算法等策略,提高時鐘同步服務(wù)的可靠性,進(jìn)而提高TSN 網(wǎng)絡(luò)整體可靠性。此外,當(dāng)前針對可靠性的量化評估采用的是k-out-of-n 系統(tǒng)基本可靠度模型,未來計劃在評估精度與仿真性能方面,對比其他可靠度模型。