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