NTP的工作模式
Server/Client mode:用戶(hù)向一個(gè)或多個(gè)服務(wù)器發(fā)出服務(wù)請(qǐng)求,根據(jù)所交換的信息,從中選擇認(rèn)為準(zhǔn)確的時(shí)間,并調(diào)整本地的時(shí)鐘。
Multicast/Broadcast mode:此種模式是適用于在高速的LAN上。利用一個(gè)或多個(gè)服務(wù)器在固定的周期向某個(gè)多播地址做廣播。
Symmetric mode:兩個(gè)以上的Server互相進(jìn)行時(shí)間消息的通訊,可以相互校正對(duì)方的時(shí)間,以維持整個(gè)subnet的時(shí)間的一致性。
局域網(wǎng)內(nèi)同步(這個(gè)時(shí)在工作中用得多的):如果只需要在本局域網(wǎng)內(nèi)進(jìn)行系統(tǒng)間的時(shí)鐘同步,那么就可以使用局域網(wǎng)中任何一個(gè)系統(tǒng)的時(shí)鐘。你需要選擇局域網(wǎng)中的一個(gè)節(jié)點(diǎn)的時(shí)鐘作為“”的時(shí)間源,然后其它的節(jié)點(diǎn)就只需要與這個(gè)時(shí)間源進(jìn)行時(shí)間同步即可。使用這種方式,所有的節(jié)點(diǎn)都會(huì)使用一個(gè)公共的系統(tǒng)時(shí)鐘,但是不需要可局域網(wǎng)外的系統(tǒng)進(jìn)行時(shí)鐘同步。如果一個(gè)系統(tǒng)在局域網(wǎng)的內(nèi)部,同時(shí)又不能使用無(wú)線時(shí)鐘,這種方式是的選擇。
為了減少溫度引起晶振頻率漂移對(duì)時(shí)鐘準(zhǔn)確度的影響,可以采用數(shù)字溫漂補(bǔ)償方法,提高時(shí)鐘長(zhǎng)期計(jì)時(shí)準(zhǔn)確度。先測(cè)出工作溫度范圍內(nèi)溫度對(duì)應(yīng)的溫漂補(bǔ)償系數(shù),工作時(shí)每隔一定時(shí)間,根據(jù)實(shí)際溫度查出對(duì)應(yīng)補(bǔ)償系數(shù)動(dòng)態(tài)地修正時(shí)間。
局域網(wǎng)絡(luò)延相對(duì)較大的原因在于時(shí)間戳一般都是在應(yīng)用層加蓋。為減少操作系統(tǒng)內(nèi)核處理延時(shí)的影響提高NTP授時(shí)精度,發(fā)/收NTP包時(shí)間戳應(yīng)盡量接近主機(jī)真實(shí)發(fā)/收包時(shí)刻。在不改變硬件的條件下,一個(gè)可行的辦法是修改網(wǎng)卡驅(qū)動(dòng)程序,將記錄NTP包發(fā)/收時(shí)間戳從應(yīng)用程序移至網(wǎng)卡驅(qū)動(dòng)程序處,可消除操作系統(tǒng)內(nèi)核處理延時(shí)不確定而引入的誤差。這種方法在局域網(wǎng)中可大幅提高NTP授時(shí)精度至μs級(jí)。