NTP的工作模式
Server/Client mode:用戶向一個(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í)間的一致性。
聯(lián)網(wǎng)計(jì)算機(jī)同步時(shí)鐘簡便的方法是網(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è)迫切需要解決的問題。
實(shí)際應(yīng)用中,還有確保秒級(jí)精度的簡單的網(wǎng)絡(luò)時(shí)間協(xié)議SNTP(Simple Network Time Protocol)。SNTP是NTP的一個(gè)子集,主要用于那些不需要NTP的精度以較高實(shí)現(xiàn)復(fù)雜性的網(wǎng)絡(luò)時(shí)間同步客戶機(jī)。SNTP協(xié)議已減少了網(wǎng)絡(luò)延時(shí)對(duì)校對(duì)準(zhǔn)確的影響,但沒有冗余服務(wù)器和校正時(shí)鐘頻率誤差功能。
本程序能通過網(wǎng)絡(luò)授時(shí)服務(wù)器獲取當(dāng)前時(shí)間,因?yàn)橐话阄覀兊氖謾C(jī)只能提供到分鐘的時(shí)間顯示,并且由于手機(jī)硬件的固有問題導(dǎo)致經(jīng)常會(huì)出現(xiàn)手機(jī)系統(tǒng)時(shí)間不準(zhǔn)確問題,(已知的某平臺(tái)的手機(jī)會(huì)在充電后時(shí)間變快4分鐘),這是編寫本程序的初衷,本程序功能夠提供給使用者到秒級(jí)的時(shí)間顯示,同時(shí)告訴使用者手機(jī)系統(tǒng)時(shí)間與當(dāng)前標(biāo)準(zhǔn)時(shí)間的差值,但無權(quán)去修改使用者手機(jī)的系統(tǒng)時(shí)間,軟件使用中會(huì)消耗非常少的網(wǎng)絡(luò)流量。