賈杰峰,王 錚,劉連照
(1.中華通信系統有限責任公司 河北分公司,河北 石家莊 050081;2.中國電子科技集團公司第五十四研究所,河北 石家莊 050081;3.中國洛陽電子裝備試驗中心,河南 洛陽 471003)
隨著計算機技術的發展,網絡時間協議(Network Time Protocol,NTP)授時技術已經滲入到了國民經濟的各個方面。NTP由美國特拉華大學的David L.Mills教授提出,是互聯網上公認的時間同步工具[1]。NTP協議是一種用在分布式時間服務器和客戶端之間的時間同步授時技術[2]。在文獻[3-8]中論述了NTP時間同步精度在局域網上可以達到1 ms級,在互聯網中可以達到幾十毫秒級的同步精度。在應用NTP授時服務過程中,傳輸網絡架構、網絡負荷及網絡拓撲等因素會導致NTP授時服務精度出現波動。當NTP授時精度惡化到一定程度時,NTP授時設備將無法完成正常授時服務。因此,研制一款NTP授時監測終端顯得尤為重要。
通過獲取NTP用時設備與時間基準設備的時間偏差,實時反映NTP授時服務的健康狀態,可以增強整個NTP授時服務系統的時間傳遞穩定性和可靠性,為用戶評估NTP授時服務提供支撐。
NTP是TCP/IP協議家族的一員。目前,應用較為廣泛的有NTPv3協議(RFC 1305)、NTPv4協議(RFC 5905)和SNTP協議,其中NTPv4協議兼容NTPv3與SNTP協議。NTP時間服務器為客戶機提供標準時間,時間服務器的時間主要來自于接收衛星導航系統時間[9]。NTP協議采用UDP協議進行傳輸,NTP服務器端的端口號為123[10]。NTP協議支持3種工作模式:主從模式(Server/Client Mode)、對稱模式(Symmetric Mode)和多播/廣播模式(Multicast/Broadcast Mode)[11]。NTP的設計充分考慮了互聯網上時間同步的復雜性,是一種主流的網絡時間同步工具[12]。
NTP最典型的工作模式以客戶端和服務器的方式進行通信,不僅可以估算數據包在網絡上的往返時延,還可以估算計算機時鐘偏差,從而實現網絡上的高精度計算機校時[13]。客戶端使用時鐘偏差來調整本地時鐘,實現自身時間向服務器時間溯源[14-15]。
在客戶端/服務器模式下,NTP服務器與NTP客戶端依據NTP協議規定的報文格式進行報文交互。客戶端周期性地向服務器發送時間同步請求消息,該信息包含客戶端發送時本地時刻T1。服務器收到該報文后,立即將接收時刻T2寫入報文,同時將該報文回復給客戶端,在發送時將服務器的發送時刻T3寫入報文。客戶端在接收到該報文后,將本地接收時刻T4寫入[16]。至此,這個NTP報文內就有了4個時間參數。在進行NTP監測時,NTP監測終端僅獲取時間偏差,不進行本地時鐘的調整,同時將時間偏差上報給監控計算機,由監控計算機進行數據分析與處理。NTP授時監測原理如圖1所示。

圖1 NTP授時監測原理Fig.1 Principle diagram of NTP timing monitoring
圖1中,T1為NTP監測終端發出NTP報文時的本地時刻;T2為NTP服務器收到NTP報文時的到達時刻;T3為NTP服務器發送NTP報文時的發送時刻;T4為NTP監測終端收到NTP報文時的本地時刻;單向時延(T_MS)為由NTP監測終端發出到NTP服務器的路徑延遲;單向時延(T_SM)為由NTP服務器發出到NTP監測終端的路徑延遲。
由此可知以下關系:
offset=T2-T1-TMS,
(1)
offset=T4-T3+TSM。
(2)
按照NTP協議規定,服務器與客戶端間的單向時延是相等的,即:
delay=-TMS=+TSM。
(3)
將式(1)與式(2)相加,并將式(3)帶入,可得主從鐘差offset:
(4)
將式(1)與式(2)相減,并將式(3)帶入,可得單向路徑延遲delay:
(5)
由以上公式可求得主從時鐘鐘差offset,主從時鐘路徑延遲delay,即可實現NTP監測的目的。
NTP授時監測終端由電源單元、散熱單元、主板單元、監控單元、時鐘單元、接收機單元和NTP授時監測單元組成。
電源單元為整機提供高效純凈的供電。散熱單元負責整機散熱,保證終端處于合適的溫度下。主板單元為終端內各個板卡提供物理支撐和直流電源并負責板卡間1 pps、10 MHz、ToD監控信息等信息的傳送。監控單元負責終端內各個單元狀態信息采集和監控,并與上位機完成通信。接收機單元接收北斗導航信號為時鐘單元提供1 pps和ToD信號。時鐘單元以接收機單元送來的北斗信息實現向北斗時溯源,為終端提供穩定準確的1 pps、10 MHz、ToD時頻信息。NTP授時監測單元以時鐘單元輸出的時間頻率信號為基準,運行NTP協議完成NTP信號的監測,每個NTP授時監測單元可以同時監測10個NTP服務器或客戶端,整機配備6個NTP授時監測單元可以同時完成60個NTP服務器或客戶端的監測任務。NTP授時監測終端工作原理如圖2所示。

圖2 NTP授時監測終端工作原理Fig.2 Working principle diagram of NTP timing monitoring terminal
為驗證NTP授時監測終端的NTP監測功能,搭建測試驗證連接如圖3所示。

圖3 NTP授時監測測試驗證連接Fig.3 Connection diagram of NTP timing monitoring test verification
使用NTP授時監測終端和SyncEdge綜合時間分析儀分別對NTP授時服務器進行測試。NTP授時監測終端、SyncEdge綜合時間分析儀、NTP授時服務器分別接收北斗信號,向北斗時間溯源。NTP授時監測終端和SyncEdge綜合時間分析儀分別通過交換機與被監測NTP授時服務器相連接。NTP授時監測終端通過串口將獲取的鐘差數據上傳到監控計算機。
測試過程如下:首先將NTP授時監測終端、SyncEdge綜合時間分析儀、NTP授時服務器加電預熱1 h,使各設備達到工作穩定狀態。保持NTP授時服務器狀態不變,同時開啟NTP授時監測終端和SyncEdge綜合時間分析儀NTP監測任務,進行監測,直到測試結束。
分別將60個NTP服務器端口的IP添加至NTP授時監測終端,對各個服務器IP進行連續數據監測,其中NTP服務器IP為192.168.1.224端口的監測終端測試數據如圖4所示。

圖4 NTP授時監測終端測試數據Fig.4 Test data diagram of NTP timing monitoring terminal
使用SyncEdge綜合時間分析儀對NTP服務器IP為192.168.1.224的NTP授時服務器進行連續數據監測,測試數據結果如圖5和圖6所示。通過測試數據結果可以看出,NTP授時監測終端與SyncEdge綜合時間分析儀監測的同一NTP端口的標準差數據基本一致。因2個設備的零值不同,所以平均偏差數據存在差異。可見,NTP授時監測終端與SyncEdge綜合時間分析儀均實際反映了NTP授時服務器的授時性能。

圖5 Sync-edge測試數據結果Fig.5 Sync-edge test data diagram

圖6 SyncEdge測試數據結果Fig.6 SyncEdge test data statistics
NTP授時監測終端添加60個NTP服務器IP后,能夠實現對全部端口的NTP監測,NTP授時監測終端監測NTP端口數量監測如圖7所示。

圖7 NTP端口數量監測Fig.7 NTP port number monitoring diagram
由圖7和圖4可以看出,NTP授時監測終端實現了對60個NTP授時端口的實時連續性能監測,并對測試數據進行了平均偏差、標準方差等統計分析,有利于用戶掌握NTP授時服務器的相關情況。
本文提出了一種NTP授時監測技術,并完成了工程實現。通過實驗表明,NTP授時監測終端可以同時對多個NTP服務端口進行實時監測,同時對監測數據進行了統計分析,為NTP授時網絡健康管理、故障定位提供了數據支撐。