局域網(wǎng)內(nèi)同步(這個(gè)時(shí)在工作中用得多的):如果只需要在本局域網(wǎng)內(nèi)進(jìn)行系統(tǒng)間的時(shí)鐘同步,那么就可以使用局域網(wǎng)中任何一個(gè)系統(tǒng)的時(shí)鐘。你需要選擇局域網(wǎng)中的一個(gè)節(jié)點(diǎn)的時(shí)鐘作為“”的時(shí)間源,然后其它的節(jié)點(diǎn)就只需要與這個(gè)時(shí)間源進(jìn)行時(shí)間同步即可。使用這種方式,所有的節(jié)點(diǎn)都會(huì)使用一個(gè)公共的系統(tǒng)時(shí)鐘,但是不需要可局域網(wǎng)外的系統(tǒng)進(jìn)行時(shí)鐘同步。如果一個(gè)系統(tǒng)在局域網(wǎng)的內(nèi)部,同時(shí)又不能使用無(wú)線時(shí)鐘,這種方式是的選擇。
NTP意圖將所有參與計(jì)算機(jī)的協(xié)調(diào)世界時(shí)(UTC)時(shí)間同步到幾毫秒誤差內(nèi)。它使用Marzullo算法的修改版來(lái)選擇的時(shí)間服務(wù)器,其設(shè)計(jì)旨在減輕可變網(wǎng)絡(luò)延遲造成的影響。NTP通??梢栽诠不ヂ?lián)網(wǎng)保持幾十秒的誤差,并且在理想的局域網(wǎng)環(huán)境中可以實(shí)現(xiàn)超過(guò)1毫秒的精度。不對(duì)成路由可擁塞控制可能導(dǎo)致100毫秒(或更高)的錯(cuò)誤。
計(jì)算機(jī)時(shí)鐘偏差分析
通用PC機(jī)自帶兩類時(shí)鐘源:硬件時(shí)鐘和軟件時(shí)鐘(或稱為系統(tǒng)時(shí)鐘)。不論是硬件時(shí)鐘還是軟件時(shí)鐘,都是由石英晶體振蕩器驅(qū)動(dòng)的,通過(guò)累計(jì)石英晶體振蕩器輸出脈沖數(shù),換算出時(shí)間。所以計(jì)算機(jī)時(shí)鐘的準(zhǔn)確度取決于晶振頻率準(zhǔn)確度。受溫度變化、電壓、芯片老化等因素影響,晶振頻率會(huì)發(fā)生小幅度波動(dòng),其中溫度對(duì)晶振頻影響。
由于工藝和材料的原因,同一生產(chǎn)線上標(biāo)稱頻率相同的石英晶體,其實(shí)際頻率是不同的,實(shí)際頻率與標(biāo)稱頻率偏差率從10-4量級(jí)到10-9量級(jí)不等。以10-4量級(jí)為例,時(shí)鐘每天至少誤差8.64 s。
NTP授時(shí)精度與NTP服務(wù)器與用戶間的網(wǎng)絡(luò)狀況有關(guān),主要取決于NTP包往返路由的延時(shí)對(duì)稱程度,往返路由的延時(shí)不對(duì)稱值不超過(guò)網(wǎng)絡(luò)延時(shí)。式(2)是在假設(shè)NTP請(qǐng)求和回復(fù)包在網(wǎng)上傳送延時(shí)相等,即d1=d2=d/2的情況下得出的,而d1、d2的取值范圍在(0...d)間,由式(3)可以得出授時(shí)誤差是±d/2。一般廣域網(wǎng)的網(wǎng)絡(luò)延時(shí)在10 ms~500ms之間;局域網(wǎng)的網(wǎng)絡(luò)延時(shí)在計(jì)時(shí)操作系統(tǒng)內(nèi)核處理延遲的情況下通常小于1ms。