任何晶振實(shí)際工作頻率都是不穩(wěn)定的,只是程度不同而已。即使溫度補(bǔ)償?shù)木д?,在常溫范圍?nèi)(攝氏10℃~35℃)也有大約5×10-7~2×10-6的誤差。晶振實(shí)際頻率是受外界多種因素(溫度、電壓、老化等)影響而改變的。因此,時鐘頻率偏差系數(shù)k并非恒定不變的。每隔一定時間,NTP客戶機(jī)要對時鐘頻率偏差系數(shù)k進(jìn)行校正,才能保證計時精度。
基于NTP減少計算機(jī)時鐘頻率偏差
時鐘頻率偏差是時鐘長期計時累積誤差的主要原因,要提高時鐘長期計時精度,必須補(bǔ)償時鐘頻率偏差。聯(lián)網(wǎng)的計算機(jī)可采用NTP方式,可非常方便地校準(zhǔn)時鐘頻率偏差。以NTP服務(wù)器時鐘為標(biāo)準(zhǔn)時間,在某一時刻設(shè)置NTP客戶機(jī)時間為NTP服務(wù)器當(dāng)前時間T0,經(jīng)過一段時間后,NTP服務(wù)器時間為T0+tsn,NTP客戶端時間為T0+tcn。因?yàn)榇嬖跁r鐘頻率偏差,tsn與tcn并不相等。NTP客戶端時間tcn需乘以時鐘頻率偏差系數(shù)k才等于tsn,即tsn=k×tcn,所以k=tsn/tcn。
假定局域網(wǎng)內(nèi)NTP延時小于1ms,理論上授時誤差小于0.5ms,但對于Windows操作系統(tǒng)內(nèi)置的NTP客戶和NTP服務(wù),并不能達(dá)到此精度。Windows NTP時鐘分辨率因操作系統(tǒng)和硬件不同而有所不同,時鐘分辨率通常為10ms或15ms?;赪indows操作系統(tǒng)內(nèi)置的NTP授時精度不超過10ms。
NTP授時精度與NTP服務(wù)器與用戶間的網(wǎng)絡(luò)狀況有關(guān):廣域網(wǎng)授時精度通常能達(dá)50ms級,但有時超過500ms;局域網(wǎng)授時不存在路由器路徑延遲問題,因而授時精度理論上可以提到亞毫秒級;但是Windows內(nèi)置NTP服務(wù),在局域網(wǎng)內(nèi)其授時精度也只能達(dá)10ms級。