一、時間參考
什么是參考時間
參考時鐘是一些對外發(fā)出當(dāng)前時間的設(shè)備,它必須在一段時間內(nèi)相當(dāng)準(zhǔn)確;典型的參考時鐘是非常昂貴的銫鐘,最常使用的是在一段時間內(nèi)能接受到國家標(biāo)準(zhǔn)機(jī)構(gòu)時間信號的接收器。一個示例示例是GPS接收器從衛(wèi)星獲取時間。銫鐘的準(zhǔn)確性是由衛(wèi)星定期修正提供的。比較便宜和準(zhǔn)確的參考時鐘可以使用地面廣播如DCF77,MSF,WWV,即HJ210-CDMA設(shè)備。
衛(wèi)星授時時間參考源
一般說現(xiàn)在時鐘服務(wù)器高精度的是銫鐘,單銫鐘價格在十多萬。一般常用的是銣鐘的HJ210-BDRBP,價格相對便宜,守時精度大約在3ms左右。在相對便宜的是時時連接天線的HJ210,也可以采購相對便宜的HJ210-CDMA設(shè)備,采用移動基站時間,但精度相對差點(diǎn)。
在NTP中這個參考時間被稱為0層時鐘源,往往它是NTP中質(zhì)量最好的。
NTP如何利用參考時間
參考時鐘將提供當(dāng)前時間。NTP將計算一些額外的統(tǒng)計值以描述時間的質(zhì)量。這些值包括: offset 偏差(or phase), jitter抖動 (or dispersion), frequency error頻率偏差, 和 stability穩(wěn)定度。每一個NTP時間源將維持參考時鐘和本身的質(zhì)量估值。
NTP如何知道時間源
有以下方法NTP客戶端將知道NTP服務(wù)器如何使用:服務(wù)器可以被手動配置,服務(wù)器可以直接發(fā)送時間給對等體;服務(wù)器可能使用多播或廣播地址發(fā)送時間,無論采取何種方式,在NTP使用前都將對NTP進(jìn)行配置,以確定時間源。
如果參考時間源改變會怎樣?
理想情況下在世界各地的參考時間都是相同的。一旦同步在操作系統(tǒng)和參考時鐘的時鐘之間不應(yīng)當(dāng)有任何意想不到的變化。因此NTP沒有專門的方法來處理這種情況。ntpd的反應(yīng)取決于本地時鐘之間的偏移量和參考時間。對于微小的偏差ntpd將照常調(diào)整本地時鐘;對于稍大的偏移量,ntpd將維持最后一個有效修正值,拒絕引用上級時間源一段時間。當(dāng)認(rèn)為上級源可信后,小偏移量將突然轉(zhuǎn)向緩慢調(diào)整;更大的偏差將導(dǎo)致時鐘重新設(shè)置,對于太大的偏差(一般為1000s),ntpd將終止本身。
這些算法也應(yīng)用ntpd首次啟動或系統(tǒng)重啟。
什么是一級時間服務(wù)器?
工作在層次1的服務(wù)器屬于最好的NTP服務(wù)器可用類,因為它有一個參考時鐘。作為準(zhǔn)確的參考時鐘是昂貴的,只有很少的這些服務(wù)器可以公開可用。一級服務(wù)器不但有一個精確的和維護(hù)良好的參考時鐘,還應(yīng)該有可以給他系統(tǒng)可能依賴于時間的服務(wù)。這也許就是為什么不是每個NTP與參考時鐘服務(wù)器都可以公開使用。
二、時間同步
什么是時間同步?時間可以從一個時間源到另一個來源,典型的從一個參考時鐘到一級時鐘服務(wù)器,從一級時鐘服務(wù)器到二級時鐘服務(wù)器。通常一個時鐘服務(wù)器相對參考時間源有不止各個層次。
客戶端網(wǎng)絡(luò)同步服務(wù)器由幾種分組數(shù)據(jù)包,每個數(shù)據(jù)包是一對請求和應(yīng)答??蛻舳讼葘⒆约旱臅r間戳(T1)寫到數(shù)據(jù)包被發(fā)送。服務(wù)器接收到這樣一個包時,它將存儲自己的時間戳(T2)接收到數(shù)據(jù)包,數(shù)據(jù)包將被返回后將發(fā)送包的發(fā)送時間戳(T3)。當(dāng)收到回復(fù)時,客戶端將再次將自己時間放到收到時間包中(T4)。假設(shè)在延遲對稱情況下,時間延遲估計是 “總延遲-遠(yuǎn)程處理時間” 的一半,即((T4- T3)-(T3- T2))/2。
那些時間差異可以用來估計兩臺機(jī)器之間的時間偏移和最大偏移誤差。更短更對稱的往返時間,導(dǎo)致更準(zhǔn)確的對當(dāng)前時間的估計。服務(wù)的時間是不被信任的直到發(fā)生了數(shù)據(jù)包交換和算法檢查。只有從服務(wù)器回復(fù)滿足協(xié)議規(guī)范中定義的條件,服務(wù)器才被認(rèn)為是有效的。一些必要的值放入多級過濾器用于改進(jìn)和估計樣本每個服務(wù)器的質(zhì)量統(tǒng)計。所有使用的服務(wù)器都采用一個一致的評估時間。在分歧的情況下,最大的一組同意服務(wù)器相結(jié)合(truechimers)用于生產(chǎn)參考時間,從而宣布其他服務(wù)器無效(falsetickers)。
通常需要大約5分鐘,直到NTP服務(wù)器被接受為同步源。有趣的是,這也是對本地參考時鐘,沒有延遲的定義。初始同步后, 通??蛻舳说馁|(zhì)量隨著時間的推移改善。隨著客戶越來越準(zhǔn)確,一個或多個潛在的服務(wù)器可能在一段時間后被認(rèn)為是無效的。
網(wǎng)絡(luò)協(xié)議如何使用NTP為快速連接設(shè)置和響應(yīng)時間NTP使用UDP數(shù)據(jù)包進(jìn)行數(shù)據(jù)傳輸。官方的NTP端口號是123(ntpd,ntpdate監(jiān)聽和交流)。
NTP如何對時間進(jìn)行編碼
有一個不錯的答案由Don Payette innews://comp.protocols.time.ntp, 我們進(jìn)行輕微的調(diào)整:NTP的時間戳是一個64位的二進(jìn)制值與一個隱含分?jǐn)?shù)點(diǎn)兩個32位之間的部分。如果你把所有的64位無符號整數(shù)位,把它在一個浮點(diǎn)變量至少有64位尾數(shù)(通常兩倍)和做一個浮點(diǎn)數(shù)除以2 ^ 32,你會得到正確的答案。
例如64位二進(jìn)制值:
00000000000000000000000000000001 10000000000000000000000000000000為一個小數(shù)1.5。點(diǎn)的右邊的乘數(shù)是1/2,1/4,1/8,1/16,等等。
200秒,1除以2 ^ 32(4294967296),得到0.00000000023283064365386962890625或233 e-12秒。1 e-12秒微微秒;除了每個人都應(yīng)該知道,1900年NTP開始的時代而UNIX的時代開始于1970年。因此以下值都對應(yīng)于2000 - 08 - 31 - _18:52:30.735861
UNIX: 39aea96e.000b3a75
00111001 10101110 10101001 01101110.
00000000 00001011 00111010 01110101
NTP: bd5927ee.bc616000
10111101 01011001 00100111 11101110.
10111100 01100001 01100000 00000000
查詢時間服務(wù)器間隔
輪詢服務(wù)器基本上抖動(白噪聲)不應(yīng)超過隨機(jī)漫步噪聲頻率。輪詢間隔試圖接近的最小噪聲(Allan攔截),且間隔永遠(yuǎn)是2的冪??梢允褂胢inpoll和maxpoll指定最小和最大允許指數(shù)。如果選擇較低的頻率查詢時鐘同步服務(wù)器,可能比沒有更頻繁地查詢時鐘服務(wù)器更及時發(fā)現(xiàn)參考時鐘的錯誤。
咨詢電話:
掃一掃咨詢微信客服