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