NTP网络授时产品技术资料  NTP网络授时产品技术资料

NTP网络授时产品技术资料 NTP网络授时产品技术资料

NTP网络授时产品技术资料 NTP网络授时产品技术资料

NTP(Network Time Protocol)是由美國德拉瓦大學的D.L. Mills教授於1985年提出,除了可以估算封包在網路上的往返延遲外,還可獨立地估算電腦時鐘偏差,達到在網路上實現高精準度電腦校時的目的。

技术交流:

NTP伺服器以階層式架構形成時間同步體系。位於階層頂層(階)的伺服器直接同步到國家標準時間,第二階伺服器則透過階伺服器間接同步到國家標準時間。


每台伺服器均以本身的時鐘來維持某精準度的時間,並自行於適當校時週期主動向上一階層伺服器發出校時請求。為了時間同步的穩健性,有三條以上的同步路徑。每條路徑的時鐘過濾器會從近幾次的時鐘偏差值中挑選出者作為輸出。時鐘選擇器會估算各同步路徑的同步成本,封包往返時間延遲是主要參數,延遲愈大者成本就愈高,成本較低的時鐘偏差值才會被選取。時鐘合成器則將各時鐘偏差值加權合成後送往鎖相迴路以調整NTP伺服器本身的時鐘。 


1.    時鐘過濾器模組 
時鐘偏差就是本地電腦時鐘所需調整的數量估計值。客戶端校時程式(SNTP; Simple Network Time Protocol)就是直接使用這個估計值來調整本地電腦時鐘;而伺服器程式(NTP; Network Time Protocol)則是由時鐘過濾器模組從近8個時鐘偏差估計值中選出者,以作為時鐘選擇器模組的輸入。

2.    時鐘選擇器模組 
同步成本(Synchronization Distance,Λ)是總誤差項(E)和總網路延遲項(Δ)之函數,關係式為 Λ = Ε+Δ/2 ,Ε 和 Δ 均為自階伺服器開起,逐階累加直到本地電腦為止。時鐘選擇器模組的評比依據為取 W = STRATUM_NO * MAXDISP +Λ 較小者。STRATUM_NO是循同步路徑,位於本地電腦上面一階伺服器的階層數,MAXDISP的值一般為16。在此可指出的特性如下:(1) 當各同步路徑的同步成本相當時,則階層數較小(例如階)的伺服器會被選取。(2) 當各同步路徑上的伺服器階數相同時(例如都是階),因為本地網路上的同步成本很可能比遠處網路者低甚多,所以遠處網路上的伺服器可能被捨棄。一般而言,在台灣地區,同時指定位於本實驗室以及位於美國或歐洲的階NTP伺服器,評比的結果會非常傾向於選擇本實驗室的伺服器。另一方面,由於NTP封包採用UDP/IP協議(時間封包是即時資料,不得重送),若指定的伺服器遠在美洲或歐洲,NTP封包常常在網路往返途中就逾齡死亡,無法達成NTP時間同步目的。
時鐘選擇器模組的評比功能,使得能選取性能較好且距離較近的伺服器。因為不是採用多數決方式,即使性能差的時鐘數量較多,也不會誤選。

3.時鐘合成器模組 
時鐘選擇器模組可能產生一個以上的輸出。如果有多個輸出值,時鐘合成器模組就以 1/W 為權值,將 Θ 予以加權平均。即W愈大者,其Θ之貢獻愈小。後的合成時鐘偏差值 Θ 即可用來調整本地電腦的時鐘。

4.NTP伺服器電腦時鐘調整 
以時鐘偏差值調整本地電腦時鐘可有兩種方式,即式調整(Step Phase Adjustment)和逐漸式調整(Gradual Phase Adjustment)。式調整法是直接將時鐘偏差值加到本地電腦時鐘上,雖然能快速達到時間同步目的,但會引起 Jitter 副作用。逐漸式調整法用鎖相迴路原理間接而緩慢地調整本地電腦時鐘,以避免引起 Jitter。雖達到時間同步較耗時,卻是較好的時鐘調整方式。NTP伺服器採用那種時鐘調整法需視作業系統而定。在Windows NT環境下,因不提供 adjust time 功能,只能採用式調整法。就安裝Windows NT的IBM相容個人電腦而言,於NTP伺服器啟動後十分鐘內可達到時間同步。Unix OS 環境下有 adjust time 功能,採用逐漸式調整法,達到時間同步的經歷時間視機器不同而不同,約十幾分鐘到幾十分鐘。 
詳細資料可參考 
RFC 1305:Network Time Protocol
RFC 2030:Simple Network Time Protocol