網(wǎng)絡(luò)時間協(xié)議NTP(Network Time Protocol)的主要開發(fā)者是美國特拉華大學(xué)的MILLS David L教授設(shè)計實(shí)現(xiàn)的,由時間協(xié)議、ICMP時間戳消息及IP時間戳選項(xiàng)發(fā)展而來。NTP用于將計算機(jī)客戶或服務(wù)器的時間與另一服務(wù)器同步,使用層次式時間分布模型。在配置時,NTP可以利用冗余服務(wù)器和多條網(wǎng)絡(luò)路徑來獲得時間的高準(zhǔn)確性和高可靠性。即使客戶機(jī)在長時間無法與某一時間服務(wù)器相聯(lián)系的情況下,仍可提供高準(zhǔn)確度時間。
實(shí)際應(yīng)用中,還有確保秒級精度的簡單的網(wǎng)絡(luò)時間協(xié)議SNTP(Simple Network Time Protocol)。SNTP是NTP的一個子集,主要用于那些不需要NTP的精度以較高實(shí)現(xiàn)復(fù)雜性的網(wǎng)絡(luò)時間同步客戶機(jī)。SNTP協(xié)議已減少了網(wǎng)絡(luò)延時對校對準(zhǔn)確的影響,但沒有冗余服務(wù)器和校正時鐘頻率誤差功能。
局域網(wǎng)絡(luò)延相對較大的原因在于時間戳一般都是在應(yīng)用層加蓋。為減少操作系統(tǒng)內(nèi)核處理延時的影響提高NTP授時精度,發(fā)/收NTP包時間戳應(yīng)盡量接近主機(jī)真實(shí)發(fā)/收包時刻。在不改變硬件的條件下,一個可行的辦法是修改網(wǎng)卡驅(qū)動程序,將記錄NTP包發(fā)/收時間戳從應(yīng)用程序移至網(wǎng)卡驅(qū)動程序處,可消除操作系統(tǒng)內(nèi)核處理延時不確定而引入的誤差。這種方法在局域網(wǎng)中可大幅提高NTP授時精度至μs級。
為了減少溫度引起晶振頻率漂移對時鐘準(zhǔn)確度的影響,可以采用數(shù)字溫漂補(bǔ)償方法,提高時鐘長期計時準(zhǔn)確度。先測出工作溫度范圍內(nèi)溫度對應(yīng)的溫漂補(bǔ)償系數(shù),工作時每隔一定時間,根據(jù)實(shí)際溫度查出對應(yīng)補(bǔ)償系數(shù)動態(tài)地修正時間。