聯(lián)網(wǎng)計(jì)算機(jī)同步時(shí)鐘簡(jiǎn)便的方法是網(wǎng)絡(luò)授時(shí)。網(wǎng)絡(luò)授時(shí)分為廣域網(wǎng)授時(shí)和局域網(wǎng)授時(shí)。廣域網(wǎng)授時(shí)精度通常能達(dá)50ms級(jí),但有時(shí)超過500ms,這是因?yàn)槊看谓?jīng)過的路由器路徑可能不相同?,F(xiàn)在還沒有更好的辦法將這種不同路徑延遲的時(shí)間誤差完全消除。局域網(wǎng)授時(shí)不存在路由器路徑延遲問題,因而授時(shí)精度理論上可以提到亞毫秒級(jí)。Windows內(nèi)置NTP服務(wù),在局域網(wǎng)內(nèi)其授時(shí)精度也只能達(dá)10ms級(jí)。因此,提高局域網(wǎng)NTP授時(shí)精度成為一個(gè)迫切需要解決的問題。
假定局域網(wǎng)內(nèi)NTP延時(shí)小于1ms,理論上授時(shí)誤差小于0.5ms,但對(duì)于Windows操作系統(tǒng)內(nèi)置的NTP客戶和NTP服務(wù),并不能達(dá)到此精度。Windows NTP時(shí)鐘分辨率因操作系統(tǒng)和硬件不同而有所不同,時(shí)鐘分辨率通常為10ms或15ms?;赪indows操作系統(tǒng)內(nèi)置的NTP授時(shí)精度不超過10ms。
基于NTP減少計(jì)算機(jī)時(shí)鐘頻率偏差 時(shí)鐘頻率偏差是時(shí)鐘長(zhǎng)期計(jì)時(shí)累積誤差的主要原因,要提高時(shí)鐘長(zhǎng)期計(jì)時(shí)精度,必須補(bǔ)償時(shí)鐘頻率偏差。聯(lián)網(wǎng)的計(jì)算機(jī)可采用NTP方式,可非常方便地校準(zhǔn)時(shí)鐘頻率偏差。以NTP服務(wù)器時(shí)鐘為標(biāo)準(zhǔn)時(shí)間,在某一時(shí)刻設(shè)置NTP客戶機(jī)時(shí)間為NTP服務(wù)器當(dāng)前時(shí)間T0,經(jīng)過一段時(shí)間后,NTP服務(wù)器時(shí)間為T0+tsn,NTP客戶端時(shí)間為T0+tcn。因?yàn)榇嬖跁r(shí)鐘頻率偏差,tsn與tcn并不相等。NTP客戶端時(shí)間tcn需乘以時(shí)鐘頻率偏差系數(shù)k才等于tsn,即tsn=k×tcn,所以k=tsn/tcn。
NTP意圖將所有參與計(jì)算機(jī)的協(xié)調(diào)世界時(shí)(UTC)時(shí)間同步到幾毫秒誤差內(nèi)。它使用Marzullo算法的修改版來選擇的時(shí)間服務(wù)器,其設(shè)計(jì)旨在減輕可變網(wǎng)絡(luò)延遲造成的影響。NTP通??梢栽诠不ヂ?lián)網(wǎng)保持幾十秒的誤差,并且在理想的局域網(wǎng)環(huán)境中可以實(shí)現(xiàn)超過1毫秒的精度。不對(duì)成路由可擁塞控制可能導(dǎo)致100毫秒(或更高)的錯(cuò)誤。