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