NTP的工作模式
Server/Client mode:用戶向一個或多個服務(wù)器發(fā)出服務(wù)請求,根據(jù)所交換的信息,從中選擇認(rèn)為準(zhǔn)確的時間,并調(diào)整本地的時鐘。
Multicast/Broadcast mode:此種模式是適用于在高速的LAN上。利用一個或多個服務(wù)器在固定的周期向某個多播地址做廣播。
Symmetric mode:兩個以上的Server互相進(jìn)行時間消息的通訊,可以相互校正對方的時間,以維持整個subnet的時間的一致性。
基于NTP減少計(jì)算機(jī)時鐘頻率偏差
時鐘頻率偏差是時鐘長期計(jì)時累積誤差的主要原因,要提高時鐘長期計(jì)時精度,必須補(bǔ)償時鐘頻率偏差。聯(lián)網(wǎng)的計(jì)算機(jī)可采用NTP方式,可非常方便地校準(zhǔn)時鐘頻率偏差。以NTP服務(wù)器時鐘為標(biāo)準(zhǔn)時間,在某一時刻設(shè)置NTP客戶機(jī)時間為NTP服務(wù)器當(dāng)前時間T0,經(jīng)過一段時間后,NTP服務(wù)器時間為T0+tsn,NTP客戶端時間為T0+tcn。因?yàn)榇嬖跁r鐘頻率偏差,tsn與tcn并不相等。NTP客戶端時間tcn需乘以時鐘頻率偏差系數(shù)k才等于tsn,即tsn=k×tcn,所以k=tsn/tcn。
網(wǎng)絡(luò)時間協(xié)議NTP(Network Time Protocol)的主要開發(fā)者是美國特拉華大學(xué)的MILLS David L教授設(shè)計(jì)實(shí)現(xiàn)的,由時間協(xié)議、ICMP時間戳消息及IP時間戳選項(xiàng)發(fā)展而來。NTP用于將計(jì)算機(jī)客戶或服務(wù)器的時間與另一服務(wù)器同步,使用層次式時間分布模型。在配置時,NTP可以利用冗余服務(wù)器和多條網(wǎng)絡(luò)路徑來獲得時間的高準(zhǔn)確性和高可靠性。即使客戶機(jī)在長時間無法與某一時間服務(wù)器相聯(lián)系的情況下,仍可提供高準(zhǔn)確度時間。
本程序能通過網(wǎng)絡(luò)授時服務(wù)器獲取當(dāng)前時間,因?yàn)橐话阄覀兊氖謾C(jī)只能提供到分鐘的時間顯示,并且由于手機(jī)硬件的固有問題導(dǎo)致經(jīng)常會出現(xiàn)手機(jī)系統(tǒng)時間不準(zhǔn)確問題,(已知的某平臺的手機(jī)會在充電后時間變快4分鐘),這是編寫本程序的初衷,本程序功能夠提供給使用者到秒級的時間顯示,同時告訴使用者手機(jī)系統(tǒng)時間與當(dāng)前標(biāo)準(zhǔn)時間的差值,但無權(quán)去修改使用者手機(jī)的系統(tǒng)時間,軟件使用中會消耗非常少的網(wǎng)絡(luò)流量。