計算機時鐘偏差分析 通用PC機自帶兩類時鐘源:硬件時鐘和軟件時鐘(或稱為系統(tǒng)時鐘)。不論是硬件時鐘還是軟件時鐘,都是由石英晶體振蕩器驅(qū)動的,通過累計石英晶體振蕩器輸出脈沖數(shù),換算出時間。所以計算機時鐘的準(zhǔn)確度取決于晶振頻率準(zhǔn)確度。受溫度變化、電壓、芯片老化等因素影響,晶振頻率會發(fā)生小幅度波動,其中溫度對晶振頻影響。 由于工藝和材料的原因,同一生產(chǎn)線上標(biāo)稱頻率相同的石英晶體,其實際頻率是不同的,實際頻率與標(biāo)稱頻率偏差率從10-4量級到10-9量級不等。以10-4量級為例,時鐘每天至少誤差8.64 s。
局域網(wǎng)絡(luò)延相對較大的原因在于時間戳一般都是在應(yīng)用層加蓋。為減少操作系統(tǒng)內(nèi)核處理延時的影響提高NTP授時精度,發(fā)/收NTP包時間戳應(yīng)盡量接近主機真實發(fā)/收包時刻。在不改變硬件的條件下,一個可行的辦法是修改網(wǎng)卡驅(qū)動程序,將記錄NTP包發(fā)/收時間戳從應(yīng)用程序移至網(wǎng)卡驅(qū)動程序處,可消除操作系統(tǒng)內(nèi)核處理延時不確定而引入的誤差。這種方法在局域網(wǎng)中可大幅提高NTP授時精度至μs級。
網(wǎng)絡(luò)時間協(xié)議(英語:Network Time Protocol,簡稱NTP)是在數(shù)據(jù)網(wǎng)絡(luò)潛伏時間可變的計算機系統(tǒng)之間通過分組交換進(jìn)行時鐘同步的一個網(wǎng)絡(luò)協(xié)議之一。NTP由特拉華大學(xué)David.Mills設(shè)計。
NTP意圖將所有參與計算機的協(xié)調(diào)世界時(UTC)時間同步到幾毫秒誤差內(nèi)。它使用Marzullo算法的修改版來選擇的時間服務(wù)器,其設(shè)計旨在減輕可變網(wǎng)絡(luò)延遲造成的影響。NTP通??梢栽诠不ヂ?lián)網(wǎng)保持幾十秒的誤差,并且在理想的局域網(wǎng)環(huán)境中可以實現(xiàn)超過1毫秒的精度。不對成路由可擁塞控制可能導(dǎo)致100毫秒(或更高)的錯誤。