NTP服務(wù)器是用來使計算機時間同步化的一種協(xié)議,它可以使計算機對其服務(wù)器或時鐘源(如石英鐘,GPS等等)做同步化,它可以提供高度的時間校正(LAN上與標準間差小于1毫秒,WAN上幾十毫秒),且可介由加密確認的方式來防止惡毒的協(xié)議攻擊。 NTP提供準確時間,首先要有準確的時間來源,這一時間應(yīng)該是標準時間UTC。NTP獲得UTC的時間來源可以是原子鐘、天文臺、衛(wèi)星,也可以從Internet上獲取。這樣就有了準確而可靠的時間源。時間按NTP服務(wù)器的等級傳播。按照離外部UTC源的遠近將所有服務(wù)器歸入不同的Stratum(層)中。Stratum-1在頂層,有外部UTC接入,而Stratum-2則從Stratum-1獲取時間,Stratum-3從Stratum-2獲取時間,以此類推,但Stratum層的總數(shù)限制在15以內(nèi)。所有這些服務(wù)器在邏輯上形成階梯式的架構(gòu)相互連接,而Stratum-1的時間服務(wù)器是整個系統(tǒng)的基礎(chǔ)。 計算機主機一般同多個時間服務(wù)器連接,利用統(tǒng)計學的算法過濾來自不同服務(wù)器的時間,以選擇佳的路徑和來源來校正主機時間。即使主機在長時間無法與某一時間服務(wù)器相的情況下,NTP服務(wù)依然有效運轉(zhuǎn)。 為防止對時間服務(wù)器的惡意破壞,NTP使用了識別(Authentication)機制,檢查來對時的信息是否是真正來自所宣稱的服務(wù)器并檢查資料的返回路徑,以提供對抗干擾的保護機制。 時間服務(wù)器可以利用以下三種方式與其他服務(wù)器對時: broadcast/multicast client/server symmetric broadcast/multicast方式主要適用于局域網(wǎng)的環(huán)境,時間服務(wù)器周期性的以廣播的方式,將時間信息傳送給其他網(wǎng)路中的時間服務(wù)器,其時間僅會有少許的延遲,而且配置非常的簡單。但是此方式的度并不高,對時間度要求不是很高的情況下可以采用。 symmetric的方式得一臺服務(wù)器可以從遠端時間服務(wù)器獲取時鐘,如果需要也可提供時間信息給遠端的時間服務(wù)器。此一方式適用于配置冗余的時間服務(wù)器,可以提供更高的度給主機。 client/server方式與symmetric方式比較相似,只是不提供給其他時間服務(wù)器時間信息,此方式適用于一臺時間服務(wù)器接收上層時間服務(wù)器的時間信息,并提供時間信息給下層的用戶。 上述三種方式,時間信息的傳輸都使用UDP協(xié)議。每一個時間包內(nèi)包含近一次的事件的時間信息、包括上次事件的發(fā)送與接收時間、傳遞現(xiàn)在事件的當?shù)貢r間、及此包的接收時間。在收到上述包后即可計算出時間的偏差量與傳遞資料的時間延遲。時間服務(wù)器利用一個過濾演算法,及先前八個校時資料計算出時間參考值,判斷后續(xù)校時包的性,一個相對較高的離散程度,表示一個對時資料的可信度比較低。僅從一個時間服務(wù)器獲得校時信息,不能校正通訊過程所造成的時間偏差,而同時與許多時間服務(wù)器通信校時,就可利用過濾算法找出相對較可靠的時間來源,然后采用它的時間來校時。 |