王文嘉 崔宏磊
(中國(guó)艦船研究設(shè)計(jì)中心 武漢 430064)
隨著目前各類艦載電子設(shè)備信息化交互進(jìn)程的大力發(fā)展,各個(gè)系統(tǒng)之間通過艦載通信網(wǎng)絡(luò)進(jìn)行交互的信息量不斷加大。各個(gè)系統(tǒng)均需要記錄某些事件發(fā)生的時(shí)間信息,如果各個(gè)系統(tǒng)之間沒有一個(gè)統(tǒng)一的時(shí)間,或者計(jì)算機(jī)時(shí)鐘不精確,那么系統(tǒng)內(nèi)部很多應(yīng)用將會(huì)無法正常的工作,系統(tǒng)之間的信息交互就更加無法正常有序的進(jìn)行了,這將極大的影響設(shè)備的工作性能,從而影響全艦的作戰(zhàn)使用性能。
目前艦上擁有專用的時(shí)間統(tǒng)一設(shè)備,具備較高的授時(shí)精度,但是其接口有限,該時(shí)間源一般提供參照時(shí)間源給具有很高時(shí)間精度要求的作戰(zhàn)指揮及武器等設(shè)備,對(duì)于時(shí)間精度要求不高的各類其他入網(wǎng)設(shè)備若采用這種授時(shí)方法代價(jià)過高。隨著海軍艦載網(wǎng)絡(luò)技術(shù)不斷發(fā)展,為全船各類設(shè)備提供信息交互通道的全艦網(wǎng)絡(luò)系統(tǒng)具備為連接入網(wǎng)的各設(shè)備提供時(shí)間同步服務(wù)的能力,利用全艦網(wǎng)絡(luò)系統(tǒng)提供高精度網(wǎng)絡(luò)時(shí)間源可以有效地解決各設(shè)備時(shí)間統(tǒng)一的問題。
為了選擇適合艦用各系統(tǒng)對(duì)時(shí)需求,并且經(jīng)濟(jì)易用的時(shí)間同步方案,首先需要各系統(tǒng)正常工作情況下對(duì)時(shí)間精度的要求以及各種時(shí)間同步技術(shù)能夠提供的時(shí)間精度進(jìn)行一個(gè)統(tǒng)計(jì)與分析,根據(jù)分析選擇適合的時(shí)間同步技術(shù)。表1是目前各領(lǐng)域一些典型應(yīng)用對(duì)時(shí)間精度的要求。
表1 各領(lǐng)域中系統(tǒng)對(duì)時(shí)間精度要求
目前艦載入網(wǎng)各系統(tǒng)及設(shè)備從實(shí)時(shí)性上大致可分為兩大類,一類是實(shí)時(shí)監(jiān)控系統(tǒng),一類是非實(shí)時(shí)性MIS管理系統(tǒng)。毫秒級(jí)的時(shí)間精度可以滿足絕大部分監(jiān)控及管理系統(tǒng)對(duì)授時(shí)精度的要求。目前存在多種時(shí)間同步技術(shù),每一種技術(shù)都各有特點(diǎn),不同的時(shí)間同步技術(shù)的授時(shí)精度也存在較大的差異[1~2]。表2是各種時(shí)間同步技術(shù)授時(shí)精度比較。
表2 各種時(shí)間同步技術(shù)授時(shí)精度
互聯(lián)網(wǎng)授時(shí)技術(shù)(NTP)在局域網(wǎng)內(nèi)得到廣泛的應(yīng)用。標(biāo)準(zhǔn)的NTP協(xié)議采用的是RFC 1350標(biāo)準(zhǔn)[3],簡(jiǎn)化的網(wǎng)絡(luò)時(shí)間協(xié)議(SNTP)采用的是 RFC 2030標(biāo)準(zhǔn)[4~5]。基于NTP協(xié)議的時(shí)間同步技術(shù)可有效地利用艦載網(wǎng)絡(luò)的優(yōu)勢(shì),在不增設(shè)授時(shí)設(shè)備的情況下可滿足艦載各系統(tǒng)對(duì)于時(shí)間精度的要求,操作便捷,技術(shù)成熟,符合信息化技術(shù)發(fā)展的趨勢(shì)。
NTP協(xié)議全稱網(wǎng)絡(luò)時(shí)間協(xié)議(Network Time Procotol),用來在分布式時(shí)間服務(wù)器與客戶端之間進(jìn)行時(shí)間同步。使用NTP的目的是對(duì)網(wǎng)絡(luò)內(nèi)所有具有時(shí)鐘的設(shè)備進(jìn)行時(shí)鐘同步,使網(wǎng)絡(luò)內(nèi)的所有時(shí)鐘保持一致,從而使設(shè)備能夠提供基于統(tǒng)一時(shí)間的多種應(yīng)用。
NTP授時(shí)技術(shù)有三種工作模式,即主/被動(dòng)對(duì)稱模式、客戶/服務(wù)器模式、廣播模式。在NTP授時(shí)技術(shù)客戶/服務(wù)器工作模式中,時(shí)間服務(wù)器與需要時(shí)間同步的客戶以客戶/服務(wù)器模式相互交換NTP數(shù)據(jù)包??蛻羰紫认驎r(shí)間服務(wù)器發(fā)送一個(gè)NTP數(shù)據(jù)包,包中包含該包離開客戶時(shí)的時(shí)間標(biāo)簽T1。當(dāng)服務(wù)器接收到該包后向客戶發(fā)送一個(gè)NTP數(shù)據(jù)包,包中含有服務(wù)器收到客戶NTP數(shù)據(jù)包時(shí)的時(shí)間標(biāo)簽T2、該包離開服務(wù)器時(shí)的時(shí)間標(biāo)簽T3、數(shù)據(jù)包中原有的時(shí)間標(biāo)簽T1。然后服務(wù)器把包返回給客戶,客戶在接收到響應(yīng)包時(shí)在填入包回到客戶的時(shí)間標(biāo)簽T4。使用四個(gè)時(shí)間標(biāo)簽就能計(jì)算出服務(wù)器與客戶間的傳輸時(shí)延和時(shí)間偏差。網(wǎng)絡(luò)延時(shí)與時(shí)鐘偏差的測(cè)量原理圖如圖1。t為服務(wù)器和客戶端之間的時(shí)間偏差,d為兩者之間的往返時(shí)間。
圖1 客戶/服務(wù)器模式工作原理圖
通過計(jì)算可得到客戶端時(shí)鐘與時(shí)間服務(wù)器的時(shí)鐘偏差,再將兩端的時(shí)間進(jìn)行補(bǔ)償,客戶端就得到了時(shí)間服務(wù)器中的標(biāo)準(zhǔn)時(shí)間[6~8]。
進(jìn)行網(wǎng)絡(luò)授時(shí)的服務(wù)器工作在C/S模式下同步響應(yīng)時(shí)間相對(duì)廣播模式下響應(yīng)時(shí)間要快很多。同時(shí)由于廣播模式下NTP服務(wù)器工作對(duì)于網(wǎng)絡(luò)時(shí)延的計(jì)算并非通過4個(gè)發(fā)送的時(shí)間戳進(jìn)行計(jì)算所得的,而是通過內(nèi)部算法估算獲得的,所以相對(duì)C/S模式下對(duì)時(shí)精度要差。而且NTP服務(wù)器使用廣播模式進(jìn)行時(shí)間同步對(duì)于網(wǎng)絡(luò)開銷遠(yuǎn)遠(yuǎn)大于C/S模式的網(wǎng)絡(luò)開銷,所以選用C/S模式對(duì)各個(gè)系統(tǒng)進(jìn)行網(wǎng)絡(luò)授時(shí)能得到較高的授時(shí)精度。在滿足一定時(shí)間精度要求的情況下通常選用C/S模式。
艦載時(shí)間同步選用網(wǎng)絡(luò)授時(shí)技術(shù),網(wǎng)絡(luò)服務(wù)器從艦上專用的時(shí)統(tǒng)設(shè)備通過串口獲取秒脈沖信號(hào),將秒脈沖信號(hào)結(jié)合網(wǎng)絡(luò)時(shí)碼信息作為參考時(shí)間源,校正艦用網(wǎng)絡(luò)服務(wù)器的時(shí)鐘。艦用網(wǎng)絡(luò)服務(wù)器提供NTP/SNTP服務(wù),需校時(shí)的各系統(tǒng)設(shè)備作為校時(shí)客戶端,時(shí)間以校時(shí)服務(wù)器為準(zhǔn)。客戶端周期向服務(wù)器發(fā)送校時(shí)請(qǐng)求,取得服務(wù)器時(shí)間后,按特定算法除掉網(wǎng)絡(luò)延遲后,修改客戶端本地時(shí)鐘。艦載網(wǎng)絡(luò)內(nèi)部可分為多級(jí)時(shí)間服務(wù)器為各級(jí)系統(tǒng)接入的客戶端提供時(shí)間信息。
采用NTP網(wǎng)絡(luò)授時(shí),艦載網(wǎng)絡(luò)專用授時(shí)服務(wù)器可以作為一級(jí)授時(shí)服務(wù)器(Stratum1),艦載網(wǎng)絡(luò)核心層交換機(jī)可以作為二級(jí)授時(shí)服務(wù)器(Stratum2),艦載網(wǎng)絡(luò)中各級(jí)接入交換機(jī)可以作為三級(jí)授時(shí)服務(wù)器(Stratum3)。商用產(chǎn)品測(cè)試指標(biāo)顯示Stratum1授時(shí)精度達(dá)到1ms~10ms,Stratum2訪問Stratum1授時(shí)精度達(dá)到10ms~100ms,Stratum3訪問Stratum1授時(shí)精度達(dá)到100ms~1s。
艦載網(wǎng)絡(luò)內(nèi)采用NTP網(wǎng)絡(luò)授時(shí)的三級(jí)組網(wǎng)結(jié)構(gòu)示意如圖2。下面針對(duì)上述三級(jí)組網(wǎng)結(jié)構(gòu)基礎(chǔ)對(duì)比分析選用不同組網(wǎng)結(jié)構(gòu)配合不同NTP授時(shí)工作模式情況下的三種方案。
圖2 NTP授時(shí)三級(jí)組網(wǎng)結(jié)構(gòu)示意圖
方案1 一級(jí)NTPserver(C/S模式)
使用艦載網(wǎng)絡(luò)專用授時(shí)服務(wù)器作為NTP的一級(jí)服務(wù)器,以C/S模式向各級(jí)系統(tǒng)接入客戶端進(jìn)行網(wǎng)絡(luò)授時(shí)。
圖3 艦載網(wǎng)絡(luò)時(shí)間同步方案1工作原理圖
圖3為使用一級(jí)NTP服務(wù)器的時(shí)間同步工作原理圖。時(shí)統(tǒng)設(shè)備向艦載網(wǎng)絡(luò)專用授時(shí)服務(wù)器提供兩路基準(zhǔn)時(shí)間,一路是以1秒/次的頻率提供的1pps的時(shí)間脈沖,一路是網(wǎng)絡(luò)時(shí)碼信息。選擇NTP服務(wù)器根據(jù)秒脈沖信號(hào)與網(wǎng)絡(luò)時(shí)碼信號(hào)對(duì)本地時(shí)間進(jìn)行校準(zhǔn)后作為艦載網(wǎng)絡(luò)的基準(zhǔn)時(shí)間。NTP服務(wù)器以C/S模式向入網(wǎng)的各個(gè)設(shè)備發(fā)送網(wǎng)絡(luò)時(shí)碼。按照一級(jí)授時(shí)精度該方案可以達(dá)到1ms~10ms的授時(shí)精度。客戶端如果使用 WindowsXP、2003、2000操作系統(tǒng)可以使用系統(tǒng)自帶的NTP客戶端程序。如果使用的其它操作系統(tǒng)可以安裝時(shí)間同步客戶端軟件。
方案2 一級(jí)NTPserver(廣播模式)+二級(jí)NTPserver(C/S模式)
圖4 艦載網(wǎng)絡(luò)時(shí)間同步方案2工作原理圖
網(wǎng)絡(luò)時(shí)統(tǒng)設(shè)備向艦載網(wǎng)絡(luò)專用授時(shí)服務(wù)器發(fā)送秒脈沖信號(hào)以及網(wǎng)絡(luò)時(shí)碼,本地時(shí)鐘校準(zhǔn)后作為基準(zhǔn)時(shí)間,艦載網(wǎng)絡(luò)核心層交換機(jī)作為Stratum2級(jí)時(shí)間服務(wù)器,Stratum1級(jí)時(shí)間服務(wù)器以廣播模式將網(wǎng)絡(luò)時(shí)碼發(fā)送給各核心層交換機(jī),Stratum2級(jí)交換機(jī)使用C/S模式對(duì)客戶端進(jìn)行網(wǎng)絡(luò)授時(shí)。對(duì)于時(shí)間精度要求比較高的系統(tǒng)客戶端我們可以使用Stratum1級(jí)時(shí)間服務(wù)器對(duì)其直接進(jìn)行授時(shí)。該方案工作原理圖如圖4。該方案授時(shí)精度可以達(dá)到10ms~100ms精度要求??蛻舳伺渲猛桨?。
方案3 一級(jí)NTPserver(C/S模式)+二級(jí)NTPserver(C/S模式)
圖5 艦載網(wǎng)絡(luò)時(shí)間同步方案3工作原理圖
網(wǎng)絡(luò)時(shí)統(tǒng)設(shè)備向艦載網(wǎng)絡(luò)專用授時(shí)服務(wù)器發(fā)送秒脈沖信號(hào)以及網(wǎng)絡(luò)時(shí)碼,本地時(shí)鐘校準(zhǔn)后作為基準(zhǔn)時(shí)間,核心層交換機(jī)作為stratum2級(jí)時(shí)間服務(wù)器,stratum1級(jí)時(shí)間服務(wù)器以C/S模式將基準(zhǔn)時(shí)間以網(wǎng)絡(luò)時(shí)碼形式發(fā)送給核心層交換機(jī),stratum2級(jí)交換機(jī)使用C/S模式對(duì)客戶端進(jìn)行網(wǎng)絡(luò)授時(shí)。對(duì)于時(shí)間精度要求比較高的客戶端可以使用Stratum1級(jí)時(shí)間服務(wù)器對(duì)其直接進(jìn)行授時(shí)。該方案工作原理圖如圖5。該方案授時(shí)精度可以達(dá)到10ms~100ms精度要求。客戶端配置同方案1。
第一種方案授時(shí)精度最高,但是使用一級(jí)授時(shí)服務(wù)器,根據(jù)接入艦載網(wǎng)絡(luò)的客戶端的數(shù)量情況來看,選擇的授時(shí)服務(wù)器需要支持較大數(shù)量的客戶端進(jìn)行對(duì)時(shí),這種方式對(duì)服務(wù)器的要求很高,而且系統(tǒng)的可擴(kuò)展性差,如果多路客戶端同時(shí)對(duì)時(shí)間服務(wù)器發(fā)送對(duì)時(shí)申請(qǐng),會(huì)加重網(wǎng)絡(luò)負(fù)擔(dān)及授時(shí)服務(wù)器的負(fù)擔(dān),使整個(gè)系統(tǒng)可靠性降低。
第二種方案與第三種方案使用二級(jí)授時(shí)方案,雖然對(duì)于連接在二級(jí)時(shí)間服務(wù)器上的客戶端來說授時(shí)精度有所降低,但是系統(tǒng)的可擴(kuò)展性更高,系統(tǒng)能夠支持的同時(shí)授時(shí)的客戶端數(shù)量增加。對(duì)于時(shí)間精度要求比較高的客戶端系統(tǒng)也可提供專線直接將其與一級(jí)授時(shí)服務(wù)器相連,獲得較高的授時(shí)精度。第二種方案相對(duì)第三種方案來說,使用了廣播模式,其授時(shí)精度以及響應(yīng)時(shí)間相對(duì)C/S模式都要差一些,而且廣播模式對(duì)于網(wǎng)絡(luò)的利用率也比較低。
艦載網(wǎng)絡(luò)系統(tǒng)可選用具有授時(shí)服務(wù)器功能的三層交換機(jī),其授時(shí)功能可以支持主/被動(dòng)對(duì)稱模式、客戶/服務(wù)器模式、廣播模式的同步授時(shí)功能,系統(tǒng)選用服務(wù)器端可以同時(shí)支持多路接入客戶端進(jìn)行對(duì)時(shí),其授時(shí)服務(wù)器授時(shí)精確度可以達(dá)到1ms。如果使用第三種方案工作方式,既可以滿足系統(tǒng)對(duì)于時(shí)間精確度的要求,又可以避免由于各個(gè)客戶端同時(shí)向服務(wù)器提出對(duì)時(shí)申請(qǐng)?jiān)斐煞?wù)器負(fù)擔(dān)過重的現(xiàn)象,同時(shí)系統(tǒng)具備較強(qiáng)的擴(kuò)展性。通過上述分析比較,網(wǎng)絡(luò)授時(shí)方案3可以有效地解決艦載網(wǎng)絡(luò)各接入設(shè)備時(shí)間同步的問題。
NTP協(xié)議的時(shí)間精度為1~50ms,影響時(shí)間精度的主要因素由網(wǎng)絡(luò)延遲的隨機(jī)性導(dǎo)致的時(shí)鐘延遲計(jì)算偏差及客戶端時(shí)鐘硬件精確度。計(jì)算機(jī)時(shí)鐘一般使用振蕩電路或者石英鐘為基礎(chǔ),準(zhǔn)確度在1E-6甚至1E-5量級(jí),經(jīng)過長(zhǎng)時(shí)間的累積后就會(huì)出現(xiàn)時(shí)間誤差。時(shí)間同步周期可以任意設(shè)定,若需要較高的同步精度應(yīng)該設(shè)置小的數(shù)值。按照設(shè)備的晶振級(jí)別,目前客戶端晶振按最小精確度(a)1E-6或者1E-5(s/s)計(jì)算[9~10],系統(tǒng)所需要的最大時(shí)間精度要求為(b)(ms),其客戶端設(shè)定的同步周期c=(b/a)/1000。表3為根據(jù)上述計(jì)算方法對(duì)不同系統(tǒng)時(shí)間精度要求,不同客戶端設(shè)備精度級(jí)別,計(jì)算所得客戶端對(duì)時(shí)同步周期值。
表3 時(shí)間同步周期計(jì)算表
客戶端可以根據(jù)各自的晶振精度結(jié)合系統(tǒng)對(duì)于時(shí)間精度的要求來設(shè)置客戶端的同步時(shí)間周期。
隨著網(wǎng)絡(luò)授時(shí)技術(shù)的不斷發(fā)展,越來越多的網(wǎng)絡(luò)設(shè)備,例如大部分三層交換機(jī)均具備授時(shí)服務(wù)的功能,在進(jìn)行授時(shí)系統(tǒng)設(shè)計(jì)時(shí),可根據(jù)各類設(shè)備對(duì)于時(shí)間精度要求的不同選擇合適的結(jié)構(gòu)形式,并對(duì)不同級(jí)別的授時(shí)服務(wù)器的授時(shí)模式進(jìn)行設(shè)置。網(wǎng)絡(luò)授時(shí)系統(tǒng)的設(shè)計(jì)應(yīng)用可以有效的發(fā)揮艦載網(wǎng)絡(luò)設(shè)備的潛在功能,在不增加設(shè)備情況下實(shí)現(xiàn)接入網(wǎng)絡(luò)設(shè)備的時(shí)間同步,節(jié)省了艦載空間,縮短了系統(tǒng)開發(fā)周期,為艦載各類設(shè)備時(shí)間同步提供了經(jīng)濟(jì)有效的工程方案。
[1]童寶潤(rùn).時(shí)間統(tǒng)一系統(tǒng)[M].北京:國(guó)防工業(yè)出版社,2003,9:134~141
[2]謝華.基于GPS信號(hào)和NTP協(xié)議的本地時(shí)間同步網(wǎng)絡(luò)[J].工業(yè)控制計(jì)算機(jī),2010(6):75~76
[3]Mills David L.Network time Protocal(Version 3)Specification.Implementation and Analysis-RFC 1305,1992
[4]Mills David L.Simple Network Time Protocal(SNTP)version 4for IPv6and OSI-RFC 2030,1996
[5]魯美連.嵌入式NTP網(wǎng)絡(luò)時(shí)鐘源的研究與開發(fā)[D].華中科技大學(xué)碩士學(xué)位論文,2007
[6]宋妍,朱爽.基于NTP的網(wǎng)絡(luò)時(shí)間服務(wù)系統(tǒng)的研究[J].計(jì)算機(jī)工程與應(yīng)用,2003,39(36):147~149
[7]王若宇,譚華志,蘇瀅瀅.基于NTP的網(wǎng)絡(luò)時(shí)間同步抗毀性設(shè)計(jì)[J].艦船電子工程,2008,28(5):103~105
[8]李德河.計(jì)算機(jī)網(wǎng)絡(luò)授時(shí)中時(shí)延問題的討論[J].電子測(cè)量與儀器學(xué)報(bào),2005,19(4):34~38
[9]黃沛芳.基于NTP的高精度時(shí)間同步系統(tǒng)實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2009(7):122~127
[10]毛瀛洲.NTP網(wǎng)絡(luò)授時(shí)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].山東大學(xué)碩士學(xué)位論文,2008