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