賈杰峰,王 錚,劉連照
(1.中華通信系統(tǒng)有限責(zé)任公司 河北分公司,河北 石家莊 050081;2.中國(guó)電子科技集團(tuán)公司第五十四研究所,河北 石家莊 050081;3.中國(guó)洛陽電子裝備試驗(yàn)中心,河南 洛陽 471003)
隨著計(jì)算機(jī)技術(shù)的發(fā)展,網(wǎng)絡(luò)時(shí)間協(xié)議(Network Time Protocol,NTP)授時(shí)技術(shù)已經(jīng)滲入到了國(guó)民經(jīng)濟(jì)的各個(gè)方面。NTP由美國(guó)特拉華大學(xué)的David L.Mills教授提出,是互聯(lián)網(wǎng)上公認(rèn)的時(shí)間同步工具[1]。NTP協(xié)議是一種用在分布式時(shí)間服務(wù)器和客戶端之間的時(shí)間同步授時(shí)技術(shù)[2]。在文獻(xiàn)[3-8]中論述了NTP時(shí)間同步精度在局域網(wǎng)上可以達(dá)到1 ms級(jí),在互聯(lián)網(wǎng)中可以達(dá)到幾十毫秒級(jí)的同步精度。在應(yīng)用NTP授時(shí)服務(wù)過程中,傳輸網(wǎng)絡(luò)架構(gòu)、網(wǎng)絡(luò)負(fù)荷及網(wǎng)絡(luò)拓?fù)涞纫蛩貢?huì)導(dǎo)致NTP授時(shí)服務(wù)精度出現(xiàn)波動(dòng)。當(dāng)NTP授時(shí)精度惡化到一定程度時(shí),NTP授時(shí)設(shè)備將無法完成正常授時(shí)服務(wù)。因此,研制一款NTP授時(shí)監(jiān)測(cè)終端顯得尤為重要。
通過獲取NTP用時(shí)設(shè)備與時(shí)間基準(zhǔn)設(shè)備的時(shí)間偏差,實(shí)時(shí)反映NTP授時(shí)服務(wù)的健康狀態(tài),可以增強(qiáng)整個(gè)NTP授時(shí)服務(wù)系統(tǒng)的時(shí)間傳遞穩(wěn)定性和可靠性,為用戶評(píng)估NTP授時(shí)服務(wù)提供支撐。
NTP是TCP/IP協(xié)議家族的一員。目前,應(yīng)用較為廣泛的有NTPv3協(xié)議(RFC 1305)、NTPv4協(xié)議(RFC 5905)和SNTP協(xié)議,其中NTPv4協(xié)議兼容NTPv3與SNTP協(xié)議。NTP時(shí)間服務(wù)器為客戶機(jī)提供標(biāo)準(zhǔn)時(shí)間,時(shí)間服務(wù)器的時(shí)間主要來自于接收衛(wèi)星導(dǎo)航系統(tǒng)時(shí)間[9]。NTP協(xié)議采用UDP協(xié)議進(jìn)行傳輸,NTP服務(wù)器端的端口號(hào)為123[10]。NTP協(xié)議支持3種工作模式:主從模式(Server/Client Mode)、對(duì)稱模式(Symmetric Mode)和多播/廣播模式(Multicast/Broadcast Mode)[11]。NTP的設(shè)計(jì)充分考慮了互聯(lián)網(wǎng)上時(shí)間同步的復(fù)雜性,是一種主流的網(wǎng)絡(luò)時(shí)間同步工具[12]。
NTP最典型的工作模式以客戶端和服務(wù)器的方式進(jìn)行通信,不僅可以估算數(shù)據(jù)包在網(wǎng)絡(luò)上的往返時(shí)延,還可以估算計(jì)算機(jī)時(shí)鐘偏差,從而實(shí)現(xiàn)網(wǎng)絡(luò)上的高精度計(jì)算機(jī)校時(shí)[13]。客戶端使用時(shí)鐘偏差來調(diào)整本地時(shí)鐘,實(shí)現(xiàn)自身時(shí)間向服務(wù)器時(shí)間溯源[14-15]。
在客戶端/服務(wù)器模式下,NTP服務(wù)器與NTP客戶端依據(jù)NTP協(xié)議規(guī)定的報(bào)文格式進(jìn)行報(bào)文交互??蛻舳酥芷谛缘叵蚍?wù)器發(fā)送時(shí)間同步請(qǐng)求消息,該信息包含客戶端發(fā)送時(shí)本地時(shí)刻T1。服務(wù)器收到該報(bào)文后,立即將接收時(shí)刻T2寫入報(bào)文,同時(shí)將該報(bào)文回復(fù)給客戶端,在發(fā)送時(shí)將服務(wù)器的發(fā)送時(shí)刻T3寫入報(bào)文??蛻舳嗽诮邮盏皆搱?bào)文后,將本地接收時(shí)刻T4寫入[16]。至此,這個(gè)NTP報(bào)文內(nèi)就有了4個(gè)時(shí)間參數(shù)。在進(jìn)行NTP監(jiān)測(cè)時(shí),NTP監(jiān)測(cè)終端僅獲取時(shí)間偏差,不進(jìn)行本地時(shí)鐘的調(diào)整,同時(shí)將時(shí)間偏差上報(bào)給監(jiān)控計(jì)算機(jī),由監(jiān)控計(jì)算機(jī)進(jìn)行數(shù)據(jù)分析與處理。NTP授時(shí)監(jiān)測(cè)原理如圖1所示。
圖1 NTP授時(shí)監(jiān)測(cè)原理Fig.1 Principle diagram of NTP timing monitoring
圖1中,T1為NTP監(jiān)測(cè)終端發(fā)出NTP報(bào)文時(shí)的本地時(shí)刻;T2為NTP服務(wù)器收到NTP報(bào)文時(shí)的到達(dá)時(shí)刻;T3為NTP服務(wù)器發(fā)送NTP報(bào)文時(shí)的發(fā)送時(shí)刻;T4為NTP監(jiān)測(cè)終端收到NTP報(bào)文時(shí)的本地時(shí)刻;單向時(shí)延(T_MS)為由NTP監(jiān)測(cè)終端發(fā)出到NTP服務(wù)器的路徑延遲;單向時(shí)延(T_SM)為由NTP服務(wù)器發(fā)出到NTP監(jiān)測(cè)終端的路徑延遲。
由此可知以下關(guān)系:
offset=T2-T1-TMS,
(1)
offset=T4-T3+TSM。
(2)
按照NTP協(xié)議規(guī)定,服務(wù)器與客戶端間的單向時(shí)延是相等的,即:
delay=-TMS=+TSM。
(3)
將式(1)與式(2)相加,并將式(3)帶入,可得主從鐘差offset:
(4)
將式(1)與式(2)相減,并將式(3)帶入,可得單向路徑延遲delay:
(5)
由以上公式可求得主從時(shí)鐘鐘差offset,主從時(shí)鐘路徑延遲delay,即可實(shí)現(xiàn)NTP監(jiān)測(cè)的目的。
NTP授時(shí)監(jiān)測(cè)終端由電源單元、散熱單元、主板單元、監(jiān)控單元、時(shí)鐘單元、接收機(jī)單元和NTP授時(shí)監(jiān)測(cè)單元組成。
電源單元為整機(jī)提供高效純凈的供電。散熱單元負(fù)責(zé)整機(jī)散熱,保證終端處于合適的溫度下。主板單元為終端內(nèi)各個(gè)板卡提供物理支撐和直流電源并負(fù)責(zé)板卡間1 pps、10 MHz、ToD監(jiān)控信息等信息的傳送。監(jiān)控單元負(fù)責(zé)終端內(nèi)各個(gè)單元狀態(tài)信息采集和監(jiān)控,并與上位機(jī)完成通信。接收機(jī)單元接收北斗導(dǎo)航信號(hào)為時(shí)鐘單元提供1 pps和ToD信號(hào)。時(shí)鐘單元以接收機(jī)單元送來的北斗信息實(shí)現(xiàn)向北斗時(shí)溯源,為終端提供穩(wěn)定準(zhǔn)確的1 pps、10 MHz、ToD時(shí)頻信息。NTP授時(shí)監(jiān)測(cè)單元以時(shí)鐘單元輸出的時(shí)間頻率信號(hào)為基準(zhǔn),運(yùn)行NTP協(xié)議完成NTP信號(hào)的監(jiān)測(cè),每個(gè)NTP授時(shí)監(jiān)測(cè)單元可以同時(shí)監(jiān)測(cè)10個(gè)NTP服務(wù)器或客戶端,整機(jī)配備6個(gè)NTP授時(shí)監(jiān)測(cè)單元可以同時(shí)完成60個(gè)NTP服務(wù)器或客戶端的監(jiān)測(cè)任務(wù)。NTP授時(shí)監(jiān)測(cè)終端工作原理如圖2所示。
圖2 NTP授時(shí)監(jiān)測(cè)終端工作原理Fig.2 Working principle diagram of NTP timing monitoring terminal
為驗(yàn)證NTP授時(shí)監(jiān)測(cè)終端的NTP監(jiān)測(cè)功能,搭建測(cè)試驗(yàn)證連接如圖3所示。
圖3 NTP授時(shí)監(jiān)測(cè)測(cè)試驗(yàn)證連接Fig.3 Connection diagram of NTP timing monitoring test verification
使用NTP授時(shí)監(jiān)測(cè)終端和SyncEdge綜合時(shí)間分析儀分別對(duì)NTP授時(shí)服務(wù)器進(jìn)行測(cè)試。NTP授時(shí)監(jiān)測(cè)終端、SyncEdge綜合時(shí)間分析儀、NTP授時(shí)服務(wù)器分別接收北斗信號(hào),向北斗時(shí)間溯源。NTP授時(shí)監(jiān)測(cè)終端和SyncEdge綜合時(shí)間分析儀分別通過交換機(jī)與被監(jiān)測(cè)NTP授時(shí)服務(wù)器相連接。NTP授時(shí)監(jiān)測(cè)終端通過串口將獲取的鐘差數(shù)據(jù)上傳到監(jiān)控計(jì)算機(jī)。
測(cè)試過程如下:首先將NTP授時(shí)監(jiān)測(cè)終端、SyncEdge綜合時(shí)間分析儀、NTP授時(shí)服務(wù)器加電預(yù)熱1 h,使各設(shè)備達(dá)到工作穩(wěn)定狀態(tài)。保持NTP授時(shí)服務(wù)器狀態(tài)不變,同時(shí)開啟NTP授時(shí)監(jiān)測(cè)終端和SyncEdge綜合時(shí)間分析儀NTP監(jiān)測(cè)任務(wù),進(jìn)行監(jiān)測(cè),直到測(cè)試結(jié)束。
分別將60個(gè)NTP服務(wù)器端口的IP添加至NTP授時(shí)監(jiān)測(cè)終端,對(duì)各個(gè)服務(wù)器IP進(jìn)行連續(xù)數(shù)據(jù)監(jiān)測(cè),其中NTP服務(wù)器IP為192.168.1.224端口的監(jiān)測(cè)終端測(cè)試數(shù)據(jù)如圖4所示。
圖4 NTP授時(shí)監(jiān)測(cè)終端測(cè)試數(shù)據(jù)Fig.4 Test data diagram of NTP timing monitoring terminal
使用SyncEdge綜合時(shí)間分析儀對(duì)NTP服務(wù)器IP為192.168.1.224的NTP授時(shí)服務(wù)器進(jìn)行連續(xù)數(shù)據(jù)監(jiān)測(cè),測(cè)試數(shù)據(jù)結(jié)果如圖5和圖6所示。通過測(cè)試數(shù)據(jù)結(jié)果可以看出,NTP授時(shí)監(jiān)測(cè)終端與SyncEdge綜合時(shí)間分析儀監(jiān)測(cè)的同一NTP端口的標(biāo)準(zhǔn)差數(shù)據(jù)基本一致。因2個(gè)設(shè)備的零值不同,所以平均偏差數(shù)據(jù)存在差異??梢姡琋TP授時(shí)監(jiān)測(cè)終端與SyncEdge綜合時(shí)間分析儀均實(shí)際反映了NTP授時(shí)服務(wù)器的授時(shí)性能。
圖5 Sync-edge測(cè)試數(shù)據(jù)結(jié)果Fig.5 Sync-edge test data diagram
圖6 SyncEdge測(cè)試數(shù)據(jù)結(jié)果Fig.6 SyncEdge test data statistics
NTP授時(shí)監(jiān)測(cè)終端添加60個(gè)NTP服務(wù)器IP后,能夠?qū)崿F(xiàn)對(duì)全部端口的NTP監(jiān)測(cè),NTP授時(shí)監(jiān)測(cè)終端監(jiān)測(cè)NTP端口數(shù)量監(jiān)測(cè)如圖7所示。
圖7 NTP端口數(shù)量監(jiān)測(cè)Fig.7 NTP port number monitoring diagram
由圖7和圖4可以看出,NTP授時(shí)監(jiān)測(cè)終端實(shí)現(xiàn)了對(duì)60個(gè)NTP授時(shí)端口的實(shí)時(shí)連續(xù)性能監(jiān)測(cè),并對(duì)測(cè)試數(shù)據(jù)進(jìn)行了平均偏差、標(biāo)準(zhǔn)方差等統(tǒng)計(jì)分析,有利于用戶掌握NTP授時(shí)服務(wù)器的相關(guān)情況。
本文提出了一種NTP授時(shí)監(jiān)測(cè)技術(shù),并完成了工程實(shí)現(xiàn)。通過實(shí)驗(yàn)表明,NTP授時(shí)監(jiān)測(cè)終端可以同時(shí)對(duì)多個(gè)NTP服務(wù)端口進(jìn)行實(shí)時(shí)監(jiān)測(cè),同時(shí)對(duì)監(jiān)測(cè)數(shù)據(jù)進(jìn)行了統(tǒng)計(jì)分析,為NTP授時(shí)網(wǎng)絡(luò)健康管理、故障定位提供了數(shù)據(jù)支撐。