基於 NTP 的航天測控網路對時系統研究論文

基於 NTP 的航天測控網路對時系統研究論文

  0 引言

  隨著我國航天技術的快速發展,在系統內已經形成了多種業務種類、多種網路拓撲結構的航天網路裝置體系。例如衛星發射和測控系統需要依靠高可靠性和高精確度的計算機來控制關鍵節點工作。這類應用對系統內部各裝置的時鐘統一性和精確度要求很高,必須對使用者裝置進行時間同步,以保持航天器與測控系統各使用者裝置時間和頻率的高度一致。網路時間協議(network time protocol,NTP)採用主動對時方法,克服了網路競爭機制對系統校時精度的影響,能實現系統時鐘的一致和精確;因此,採用 NTP 協議實現網路對時系統,可以有效解決這一問題。筆者對 NTP 基本原理、工作模式等進行研究,建立了在航天測控網路上的 NTP 對時系統構架,設計並程式設計實現了 NTP 網路對時系統。

  1 NTP 的基本概念

  1.1 NTP 協議

  NTP 協議是美國 Delaware 大學的 Mills 教授在1985 年提出的,可以實現時間伺服器或精確的時鐘源(如石英鐘、GPS 等)同計算機的時鐘同步。NTP協議適用於在擁塞的網路環境下提供精確和健壯的對時服務,把計算機的時間同步到標準時鍾源上,可實現在區域網上誤差小於 1 ms,廣域網上幾十毫秒的高精度時間校準,同時其加密認證的模式可防止惡意的協議攻擊,具有廣泛的應用前景。

  1.2 NTP 基本原理

  NTP協議主要以客戶端/伺服器方式進行對時,而且適用於效能差異大的客戶端及伺服器,每次對時共需2個數據包。假設客戶端傳送對時請求的本地時間為T1,伺服器端接收對時請求的伺服器時間為T2,伺服器端返回對時請求的伺服器時間為T3,客戶端收到返回請求的本地時間為T4為客戶端和伺服器端的時間偏差,T1到T2的路徑延遲為1,T3到T4的路徑延遲為2總路徑延遲。

  2 NTP 在航天測控網路中的系統架構

  目前,航天測控網路的主要裝置使用直接連線時鐘源的方式來實現時間同步,如以銣原子鐘為高精度時鐘源,IRIG-B 為序列時間同步碼(該碼可以實現高精度對時,具有標準化介面等特點)。這樣每臺裝置都需配置 PCI 時統卡來解 B(DC)碼,造成系統成本高且增加了系統的複雜性。而未配置 PCI 時統卡的裝置時鐘大多靠人工手動來調整,鑑於人工手動調整引起的.誤差以及各個裝置內部時鐘的效能差異等因素,會造成整個網路中裝置時間的不統一。

  3 網路對時系統的設計實現

  筆者以 Visual C++6.0 為開發平臺,運用 Winsock網路程式設計技術,實現了 NTP 報文的收發功能。

  3.1 伺服器軟體設計

  伺服器軟體設計流程如圖 3 所示。伺服器執行後,透過對串列埠接收資料,自動判斷上級時鐘源的型別,計算出 UTC 時間;根據工作模式的設定可以定時向客戶端廣播時間報文,或接收客戶端的時間同步請求,呼叫本地時鐘查詢函式來新增請求報文的到達時間戳 T2,將上述報文儲存在表中,接收下一個時間同步請求;如果此時沒有新的請求,則再次呼叫系統時間並新增返回給客戶端的時間戳 T3,並同時將時間報文送回客戶端。

  3.2 客戶端軟體實現

  客戶端軟體主要功能有:定時向 NTP 時間伺服器傳送時間同步請求並接收時間伺服器返回的帶有時間戳的 NTP 報文,計算時間偏差、網路延遲和調整本地系統時間;能夠透過廣播方式接收報文並直接調整本地系統時間;提供對時請求函式介面為其他應用程式呼叫。

  4 結束語

  實踐結果證明:該系統能把全網中的裝置時間偏差精度控制在 1 ms 以內,實現了高精度對時,確保了航天測控網路系統內時間的準確性和一致性。

最近訪問