王賢德, 賈連興
(1. 國防信息學院八系, 湖北 武漢 430010; 2. 國防信息學院四系, 湖北 武漢 430010)
基于DTS和IEEE1588v2協議的網絡跳變同步技術研究
王賢德1, 賈連興2
(1. 國防信息學院八系, 湖北 武漢430010;2. 國防信息學院四系, 湖北 武漢430010)
在對以往跳變同步技術進行梳理分析的基礎上,針對軍事信息網絡的實際情況,借鑒分布式時間戳(DistributedTimestampSynchronization,DTS)技術,提出分布式改進型PTP同步(DistributedImprovedPTP(PrecisionTimeProtocol)Synchronization,DIPS)技術,通過改進型IEEE1588v2協議進行全網時間同步,并利用GPS/北斗授時系統和本地高精度晶振對主時鐘進行智能時鐘糾正,不僅提高了時間同步精度,而且有效提高了系統可靠性,可很好地適應復雜惡劣的軍事斗爭環境。
分布式時間戳技術;IEEE1588v2協議; 分布式改進型PTD同步技術; 智能時鐘糾正
軍事信息網絡存在諸多漏洞和缺陷,而當前的靜態防護體系經不起敵方的長期觀察、分析和反復攻擊,變靜為動則可以大幅提高敵方攻擊難度[1-2],使得運用跳變技術構建網絡動態安全防護系統具有重要意義。同步技術在網絡跳變中極其重要,它不僅能夠使通信雙方達成同步跳變,而且會對整個網絡的安全功能和服務性能產生直接影響。目前,常見的同步技術有嚴格時間同步、ACK(ACKnowledgement)應答同步和時間戳同步等技術。嚴格時間同步技術廣泛應用于跳頻通信,但在網絡通信中,因傳輸時延、網絡堵塞和其他原因往往會導致傳輸時間不固定,另外時鐘漂移現象也不容忽視,這就很容易導致同步失敗[3-5]。ACK應答同步技術只有在收到ACK應答消息后發送方才會改變跳變信息[6-7]。它能夠很好地避免嚴格時間同步的缺陷,然而如果發送端一直沒有收到ACK應答消息,則跳變信息就可能因保持不變而存在安全隱患。為了克服以上2種同步方式的弊端,石樂義等[8-9]提出時間戳同步機制。服務器收到時間戳請求報文時,當即生成時間戳并發送給客戶端,而后二者各自根據該時間戳和密鑰生成同樣的跳變信息,從而達成同步。但服務器一般要與多個客戶端同時進行通信,大量的時間戳將會對網絡傳輸性能造成嚴重影響。另外,服務器的唯一性也會降低系統的可靠性。為了緩解時間戳同步技術存在的問題,林楷等[10]提出了分布式時間戳(Distributed Timestamp Synchronization,DTS)技術。它主要采用一組分布式部署的時間戳服務器來提供服務,并利用網絡時間協議(Network Time Protocol,NTP)進行時間校準。與以上技術相比,DTS技術具有極大的優勢,然而它依賴軟件實現,時間精度有限。
筆者在前人研究成果的基礎上,以服務器和客戶端進行單工跳變通信為例,提出一種改進的跳變同步技術——分布式改進型PTP同步(Distributed Improved PTP (Precision Time Protocol) Synchronization,DIPS)技術。其跳變機制為:在網絡中分布式部署多個相互獨立的時間戳服務器,用于獨立自主地向服務器和客戶端提供時間戳服務。服務器和客戶端均維護著一份時間戳服務器列表,根據預置規則從列表中選擇相應的時間戳服務器作為主時鐘,并利用GPS/北斗授時系統和本地高精度晶振對主時鐘進行智能時鐘糾正,利用改進型IEEE1588協議[11]與之通信,以便對本地時間進行校準,進而實現服務器和客戶端的同步,這就提高了時間同步精度和系統可靠性。
1.1IEEE1588協議及存在的問題
隨著網絡技術的發展,日期查詢協議、時間協議和NTP協議等同步技術因精度較低而不能滿足需要,GPS或北斗系統雖然信號穩定且同步精度高,但購置成本大、不易安裝維護且容易遭受干擾,IEEE1588因其高精度、低成本和易維護等優點而得到了日益廣泛的應用。
IEEE1588協議現已發展到v2版本,具有事件報文和通用報文2類報文,并定義了5種網絡節點模型。它屬于主從同步類技術,在單步模式的同步過程中,主時鐘master周期性發送時間同步報文,從時鐘slave接收master發來的報文,然后根據報文計算主從時鐘之間的時間延遲和時間偏差,進而利用時間延遲和時間偏差來糾正本地時間,使主從時鐘保持同步[12-15]。其同步過程如圖1所示。

圖1 IEEE1588v2協議同步過程
這里用Toffset表示主從時鐘之間的偏差,用Tdelay12和Tdelay34分別表示發送sync時間同步報文和delay_req延遲請求報文的網絡延遲,則
Toffset=[(T2-T1)-(T4-T3)+
(Tdelay12-Tdelay34)]/2。
(1)
假設主從時鐘之間的網絡延遲是雙向對稱的,即Tdelay12=Tdelay34,用Tdelay表示主從時鐘之間的網絡延遲,則
Toffset=[(T2-T1)-(T4-T3)]/2,
(2)
Tdelay=[(T2-T1)+(T4-T3)]/2。
(3)
IEEE1588v2協議雖然相比其他時間同步技術具有很大優勢,但也存在如下一些問題[16-18]:
1)同步報文內的時間戳不精確。主時鐘master向從時鐘slave發送sync時間同步報文時,首先對當前時間取值,此值為T1,然后將T1放入報文內再發送出去,由于對當前時間取值、將時間值放入報文和發送報文均需要耗時,因此報文內的時間戳T1并不是報文的實際發送時間,兩者之間的差值會影響同步精度。
2)主從時鐘間的雙向網絡時延不同且不穩定。在上面的公式中,假設主從時鐘之間的雙向網絡時延相等,然而這只是理想情況下的正常推理,在實際網絡中不可能存在。目前有些網絡電纜采用了非對稱設計,不少收發器也采用不對稱的發送和接收路徑,而且網絡負載不均衡、不確定,因而不同方向上的網絡延遲一般不同,同一方向的網絡延遲也不會一直不變。而上述公式假定它們都是相等的,這自然影響時間同步精度。
3)同步報文丟失導致誤差增大。無論是主時鐘master還是從時鐘slave,都有可能因自身故障、敵方攻擊或網絡堵塞而導致同步報文丟失。當報文丟失后,從時鐘不能正常進行時間校準,不能及時對時間偏差進行糾正,自然也會影響時間同步精度。
1.2IEEE1588v2協議的改進措施
針對這些問題,筆者借鑒前人成果,提出如下改進措施:
1)在報文中增加相應處理時間以進行補償。主時鐘master計算出從T1到報文真實發送時刻之間所有操作所耗費的時間,將該值也放入sync時間同步報文中,從時鐘收到報文后再將該值加到T1上即可[19]。假設從T1到報文真實發送時刻之間主時鐘master需要取當前時間值、將該值放入報文和發送報文3個操作,對應的耗費時間分別為t1、t2、t3,則耗費總時間為t=t1+t2+t3。因此,公式需要改為
T2-(T1+t)=Toffset+Tdelay12。
(4)
2)通過糾正相應指標來改進雙向網絡時延不同的問題。雙向網絡延遲不同對主從時鐘之間的偏差具有一定影響。如果對時間偏差進行糾正,則可以提高時間同步精度。由于主從時鐘之間時間偏差Toffset的實際測量值和理論計算值不一致,為了提高同步精度,一般對已經取得的大量測量值進行加權平均。但在時間源保持穩定的情況下,主從時鐘之間的時間偏差值近似服從正態分布。如果只是對時間偏差進行加權平均求值,當采集的實際測量值不理想時,加權平均值與期望值可能會有偏差,或者主時鐘master的源時間發生輕微的時間跳變時,此時對從時鐘slave進行調相操作就可能使得從時鐘的相位發生位移,從而降低時間同步精度和運行穩定性。因此這里采用方差濾波的方法進行改進[20]。當n個時間偏差的方差D小于某一個閾值Dthreshold時,即

(5)
第n個時間偏差Toffset[n]才被接受,然后進行下一步運算。為了保證算法速度和系統穩定,可根據網絡狀態調整n的大小,以盡快與主時鐘master保持同步。
3)針對同步報文丟失而導致的從時鐘無法進行時間校準問題,進行如下設置:在從時鐘建立一個計時器,若一定時間內未收到主時鐘發來的sync時間同步報文,由計時器來觸發時間校準。可以依據之前時間偏差的平均值進行時間校準。
1.3DIPS的同步流程
基于GPS/北斗的時鐘同步技術可以有效解決全網時鐘同步問題,但GPS/北斗授時信號不穩定,不僅具有隨機誤差,且易受外界干擾。本地時鐘(本地晶振)雖不存在上述問題,但經過長時間運行后容易出現累積誤差,需要定期糾正。本文利用GPS/北斗授時具有隨機誤差但正常條件下誤差不累計、高精度晶振沒有隨機誤差但具有累計誤差的特點,并充分考慮GPS/北斗授時信號可能被干擾的情況,提出GPS/北斗授時與本地高精度晶振相結合的智能糾偏技術,提供優于二者本身的時鐘同步機制,以滿足高速跳變對高精度時鐘同步的要求。本系統采用上海奇微公司生產的IEEE1588v2 PTPGRAND-1000系列時鐘和西安同步電子科技有限公司研發的GPS/北斗雙模授時設備。DIPS的具體流程如下:
1)由GPS/北斗授時系統對多個時鐘進行授時,協調世界時
UCT=ft(Bi,Ni);
(6)
式中:Ni為一段時間內高精度晶振的計數平均值;Bi為接收到GPS/北斗時鐘的i個秒脈沖序列,其誤差服從正態分布;并將其中一個設為主時鐘,其他幾個均為備選主時鐘,以便在主時鐘不能正常運行時接替主時鐘繼續提供服務。
2)GPS/北斗授時,系統定期再次進行授時的時候,各(備選)主時鐘智能判斷GPS/北斗授時信息的有效性,屏蔽信號不穩定或被干擾時對時鐘同步的影響。計算當前接收的GPS/北斗時鐘i個秒脈沖序列Bi的方差D(Bi)。當D(Bi)≤正常GPS/北斗授時精度要求時,Bi為有效時鐘序列,表明當前GPS/北斗時鐘脈沖序列未受外部干擾,代入式(6),更新時鐘值;否則,重新選取一組GPS/北斗時鐘脈沖序列。
3)邊界時鐘(Boundary Clock,BC)、透明時鐘(Transparent Clock,TC)混合組網模式可以有效利用2類時鐘的優點,并且可以避免單一種類時鐘帶來的問題。按照這種方式進行部署,并建立主從時鐘層次。在一個時鐘域內,普通時鐘(Ordinary Clock,OC)和BC的各個端口檢查其收到的Announce報文,利用最佳主時鐘算法(Best Master Clock Algorithm,BMCA)對報文中的內容進行分析,以此判定各個端口的狀態。
4)主時鐘master定期(周期為T)向從時鐘slave發送sync時間同步報文,slave根據預置閾值1T設置定時器,以便判斷主時鐘 master 發來的報文是否發生延遲或丟失。
5)在定時器報警,也就是時間閾值到點之前,如果從時鐘slave正常收到報文,則使用此報文進行時間校準,復原定時器并重新開始計時,并根據上述公式計算時間偏差。如果之前與主時鐘master有過通信記錄,則使用歷次網絡延遲的平均值代替測量值(為了對網絡狀況保持及時跟蹤和提高計算速度,可將歷次網絡延遲測量值的記錄保存次數限定在一個數值,如只保存前100次網絡延遲測量值)來進行時間偏差計算,即

(7)
從時鐘再根據對歷次時間偏差測量值進行方差測量的結果決定是否將該時間偏差值放入歷次時間偏差數據庫,測量標準為

(8)
式中:Dthreshold為方差閾值。然后執行步驟8)。

7)如果在定時器到點前收到上一個周期對應的同步報文,則可認定報文延時,不予接收處理。
8)從時鐘slave用本地當前時間減去計算所得出的時間偏差值,則可得到與主時鐘master同步的時間。
由于現有網絡設備一般不支持IEEE1588v2協議,本文提出先將一部分關鍵設備進行升級,使其支持IEEE1588v2協議,之后再根據網絡發展狀況逐步進行更新換代。整個時間同步系統結構如圖2所示。

圖2 時間同步系統結構
2.1理論分析
由于主時鐘master發送的sync時間同步報文內所含的時間戳T1與報文實際發送時間不一致,設兩者之間的差值為Δt,則實際的時間偏差為
Toffset-true=T2-Δt-T1-Tdelay34。
(9)
由于本文對此進行了改進,則DIPS技術中的時間偏差為

(10)
而在IEEE1588v2協議中,時間偏差計算公式為
Toffset-1588=T2-T1-Tdelay-1588。
(11)
設同步誤差為DIS,則
DIS=Toffset-value-Toffset-tue。
(12)
由此可得

(13)
DIS1588=Δt-Tdelay-1588+Tdelay34。
(14)
在發生報文丟失的情況下,IEEE1588v2協議的主從時延會增大,而本文的改進方法可以通過定時器自動進行校時,用于計算的數值為以往延遲的平均值,則有如下公式:

(15)
IEEE1588v2協議采用硬件打時間戳,相對來說t的大小一般可忽略,則由式(13)、(14)可得
DIS1588>DISDIPS。
(16)
誤差越小,同步精度越高,所以本文設計的DIPS同步策略要優于IEEE1588v2協議所描述的同步策略。
2.2實驗驗證
本文通過如下實驗驗證了所提方法的有效性。
1)非對稱時延改進實驗
實驗主要是對比非對稱時延糾正前后的時間同步精度。為了更形象地展示實驗效果,該實驗的測試環境如圖3所示。
路由器中的調試工具較多,便于進行測試。本實驗使用其中的ptp debug命令行工具,在主機上可以直接顯示結果。采用ATMEL出品的ARM9260芯片來完成本文所設計的算法,并與路由器相聯。主機通過串口服務器登錄多個路由器。主從時鐘端口在全雙工模式下工作,端口間的光纖長度分別為5、14 km。
記主從時鐘端口間的傳輸時延分別為tms和tsm,由于光的傳輸速度是固定的,則非對稱延遲delayasy為

圖3 非對稱時延糾正實驗
(tms-tsm)/2= [(14-5)/(3×108)]/2=
1.5×10-8(s)=15(ns)。
通過對主從時鐘端口進行配置后,主從時鐘建立主從關系,從時鐘對本地時間進行糾正以同步主時鐘,糾正過程可通過命令行查看,其中的Correction(s,ns)表示與主時鐘的偏移程度,即同步精度,根據是否對IEEE1588v2協議進行改進可得糾正前后的時間同步精度對比,如圖4所示。可以看出:經過改進后,同步精度及穩定性明顯提高,能夠降低對鏈路對稱性的依賴。

圖4 非對稱時延改進前后同步精度對比圖
2)時間同步系統原型實驗
分別對DIPS和IEEE1588v2單步模式算法進行了實驗測試。主時鐘由GPS/北斗授時系統和頻率為100 MHz的高精度恒溫晶振通過智能糾正算法提供時間, CPU采用由ATMEL出品的ARM9260芯片,用于完成本文所設計的算法,采用ACTEL公司出品的A3P125當作FPGA芯片以便在PHY(物理)層打時間戳。從時鐘由頻率為100 MHz的高精度恒溫晶振時間,并采用A3P125當作FPGA芯片。由3個路由器組成模擬網絡,路由器由ARM9260實現本文所設計的同步機制,從時鐘根據策略從2個主時鐘中優選一個進行同步,主從時鐘硬件設計及整個測試環境如圖5-7所示。

圖5 主時鐘設計圖

圖6 從時鐘設計圖

圖7 DIPS技術的測試環境
連續多次利用示波器比較主從時鐘硬件電路的脈沖輸出,可以得到主從時鐘之間的誤差,實驗測試結果如圖8所示。在網絡通暢時,由于增加了處理時間,對主時鐘發送sync時間同步報文的時間進行了修正,因此能夠縮小主從時鐘之間的誤差,也驗證了本文所做改進的有效性。經過測試驗證可知:該同步系統的時間同步精度可以達到10 ns等級,能夠實現比較精準的網絡同步,而且具有較強的可靠性和環境適應性,達到了預期目標。

圖8 IEEE 1588v2改進前后對比圖
本文通過對IEEE1588v2協議進行改進,提出DIPS同步技術,并通過理論推導和原型實驗驗證了其優越性。下一步將根據網絡堵塞、網絡時延抖動等情況,設置不同的復雜場景進行仿真或實驗,分析存在的問題,以便進一步改進。
[1] 林楷.端信息跳變的若干關鍵技術研究[D].天津:南開大學.2013.
[2] JAJODIA S,GHOSH A K,SWARUP V, et al.動態目標防護:為應對賽博威脅構建非對稱的不確定性[M].楊林,譯.北京:國防工業出版社.2014:2.
[3] LEEH C J, THINGV L L. Port hopping for resilient networks[C]∥IEEE 60th Vehicular Technology Conference(VTC2004-Fall),September 26-29,2004,Los Angeles CA,USA.IEEE:c2004: 3291-3295.
[4] MILLS D L.Internet time synchronization:The network time protocol.Communications[J]. IEEE Transactions on Communications, 1991, 39(10): 1482-1493.
[5] 賀鵬,李菁,吳海濤.網絡時間同步算法研究與實現[J].計算機應用,2003(2):15-17.
[6] BADISHI G, HERZBERG A,KEIDAR I.Keeping denial-of-service attackers in the dark[C]∥Proc of the 19th International Symposium on Distributed Computing.Berlin:Springer-Verlag, 2005: 18-32.
[7] BADISHI G, HERZBERG A,KEIDAR I.Keeping denial-of-ser-vice attackers in the dark[J].IEEE Trans on Dependable and Secure Computing,2007, 4(3):191-204.
[8] 石樂義,賈春福,呂述望.基于端信息跳變的主動網絡防護研究[J].通信學報,2008,29(2):106-110.
[9] SHI L Y, LI J.Research on timestamp synchronization for network confrontation[C]∥The 6th International Conference on Wireless Communications Networking and Mobile Computing(WiCOM),September 23-25,2010,Chengdu,China.IEEE:c2010:1-4.
[10] LIN K, JIA C F, WENG C.Distributed timestamp synchronization for end hopping[J].China Communications, 2011, 8(4): 164-169.
[11] 劉建成.基于IEEE1558協議的精確時鐘同步算法改進[J].電子設計工程,2015,23(4):105-107.
[12] 曾祥君,黎銳烽,李澤文,等.基于IEEE1588的智能變電站時鐘同步網絡[J].電力科學與技術學報,2011,26(3):3-8.
[13] 黎銳烽,曾祥君,李澤文,等.IEEE1588同步時鐘網絡時延誤差的分析及修正[J].電力系統自動化,2012,36(12):82-87.
[14] 張軍,李信,黃源源,等.1588技術在大規模網絡環境下的應用方式探討[J].電信網技術,2015(7):29-33.
[15] 沈瑞武,劉興銓.基于PTN網的1588時間同步技術及應用研究[J].移動通信,2009,18(2):57-62.
[16] 俞慧春.IEEE1588v2時鐘特性和應用方案[J].信息安全與技術,2015(4):44-45,51.
[17] 張大帥.基于IEEE1588協議的光傳送網同步技術研究[D].烏魯木齊:新疆大學.2016.
[18] 張大帥,葛文萍,趙俊飛,等.一種基于IEEE1588協議的同步誤差修正算法[J].激光雜志,2014,35(7):46-49,54.
[19] 蔡羽.IEEE1588精密時鐘同步協議的研究及其在核心路由器的實現[D].南京:東南大學.2015.
[20] HE Z Y.Automatic asymmetric delay correction for IEEE1588 in TSS-5R [C]∥Alcatel-Lucent 2012 Technical Volume.Shanghai:Alcatel-Lucent,2012:10-11.
(責任編輯: 牛燕平)
ResearchofNetworkHoppingSynchronizationTechnologyBasedonDTSandIEEE1588v2Protocol
WANG Xian-de1, JIA Lian-xing2
(1. The Eighth Department, Defense Information Academy, Wuhan430010, China;2. The Fourth Department, Defense Information Academy, Wuhan430010, China)
According to the actual situation of military information network, we analyze the previous hopping synchronization technologies and learn from Distributed Timestamp Synchronization (DTS) firstly. Then Distributed Improved PTP(Precision Time Protocol) Synchronization(DIPS)technology is proposed to realize the whole network time synchronization using improved IEEE1588v2protocol, and the master clock is intelligently corrected using GPS/Beidou timing system and local high precision crystal oscillator. It not only improves the precision of time, but also the reliability of the system, and can well adapt to the complex and harsh environment of military struggle.
Distributed Timestamp Synchronization(DTS); IEEE1588v2protocol; Distributed Improved PTP(Precision Time Protocol) Synchronization(DIPS); intelligent clock correcting
1672-1497(2017)04-0087-06
2017-05-09
國家重大專項基金資助項目
王賢德(1986-),男,博士研究生。
TN915
:ADOI:10.3969/j.issn.1672-1497.2017.04.017