NTP意圖將所有參與計算機的協(xié)調世界時(UTC)時間同步到幾毫秒誤差內。它使用Marzullo算法的修改版來選擇的時間服務器,其設計旨在減輕可變網絡延遲造成的影響。NTP通??梢栽诠不ヂ?lián)網保持幾十秒的誤差,并且在理想的局域網環(huán)境中可以實現(xiàn)超過1毫秒的精度。不對成路由可擁塞控制可能導致100毫秒(或更高)的錯誤。
基于NTP減少計算機時鐘頻率偏差
時鐘頻率偏差是時鐘長期計時累積誤差的主要原因,要提高時鐘長期計時精度,必須補償時鐘頻率偏差。聯(lián)網的計算機可采用NTP方式,可非常方便地校準時鐘頻率偏差。以NTP服務器時鐘為標準時間,在某一時刻設置NTP客戶機時間為NTP服務器當前時間T0,經過一段時間后,NTP服務器時間為T0+tsn,NTP客戶端時間為T0+tcn。因為存在時鐘頻率偏差,tsn與tcn并不相等。NTP客戶端時間tcn需乘以時鐘頻率偏差系數k才等于tsn,即tsn=k×tcn,所以k=tsn/tcn。
計算機時鐘偏差分析
通用PC機自帶兩類時鐘源:硬件時鐘和軟件時鐘(或稱為系統(tǒng)時鐘)。不論是硬件時鐘還是軟件時鐘,都是由石英晶體振蕩器驅動的,通過累計石英晶體振蕩器輸出脈沖數,換算出時間。所以計算機時鐘的準確度取決于晶振頻率準確度。受溫度變化、電壓、芯片老化等因素影響,晶振頻率會發(fā)生小幅度波動,其中溫度對晶振頻影響。
由于工藝和材料的原因,同一生產線上標稱頻率相同的石英晶體,其實際頻率是不同的,實際頻率與標稱頻率偏差率從10-4量級到10-9量級不等。以10-4量級為例,時鐘每天至少誤差8.64 s。
假定局域網內NTP延時小于1ms,理論上授時誤差小于0.5ms,但對于Windows操作系統(tǒng)內置的NTP客戶和NTP服務,并不能達到此精度。Windows NTP時鐘分辨率因操作系統(tǒng)和硬件不同而有所不同,時鐘分辨率通常為10ms或15ms?;赪indows操作系統(tǒng)內置的NTP授時精度不超過10ms。