網(wǎng)絡(luò)時(shí)間協(xié)議NTP是什么?
網(wǎng)絡(luò)時(shí)間協(xié)議NTP(Network Time Protocol)是TCP/IP協(xié)議族里面的一個(gè)應(yīng)用層協(xié)議。NTP用于在一系列分布式時(shí)間服務(wù)器與客戶端之間同步時(shí)鐘。
隨著網(wǎng)絡(luò)拓?fù)涞娜找鎻?fù)雜,整個(gè)網(wǎng)絡(luò)內(nèi)設(shè)備的時(shí)鐘同步將變得十分重要。如果依靠管理員手工修改系統(tǒng)時(shí)鐘,不僅工作量巨大,而且時(shí)鐘的準(zhǔn)確性也無法得到保證。NTP的出現(xiàn)就是為了解決網(wǎng)絡(luò)內(nèi)設(shè)備系統(tǒng)時(shí)鐘的同步問題。
NTP主要應(yīng)用于網(wǎng)絡(luò)中所有設(shè)備時(shí)鐘需要保持一致的場合,比如:
?網(wǎng)絡(luò)管理:對從不同路由器采集來的日志信息、調(diào)試信息進(jìn)行分析時(shí),需要以時(shí)間作為參照依據(jù)。
?計(jì)費(fèi)系統(tǒng):要求所有設(shè)備的時(shí)鐘保持一致。
?多個(gè)系統(tǒng)協(xié)同處理同一個(gè)復(fù)雜事件:為保證正確的執(zhí)行順序,多個(gè)系統(tǒng)必須參考同一時(shí)鐘。
?備份服務(wù)器和客戶機(jī)之間進(jìn)行增量備份:要求備份服務(wù)器和所有客戶機(jī)之間的時(shí)鐘同步。
?系統(tǒng)時(shí)間:某些應(yīng)用程序需要知道用戶登錄系統(tǒng)的時(shí)間以及文件修改的時(shí)間。
NTP基本原理
如圖所示,NTP客戶端和NTP服務(wù)器相連,它們都有自己獨(dú)立的系統(tǒng)時(shí)鐘,現(xiàn)在通過NTP實(shí)現(xiàn)系統(tǒng)時(shí)鐘自動(dòng)同步。
設(shè)定參數(shù)及同步方式如下:
?在NTP客戶端和NTP服務(wù)器的系統(tǒng)時(shí)鐘同步之前,NTP客戶端的時(shí)鐘設(shè)定為Ta,NTP服務(wù)器的時(shí)鐘設(shè)定為Tb。
?NTP服務(wù)器作為NTP時(shí)間服務(wù)器,NTP客戶端的時(shí)鐘要與NTP服務(wù)器的時(shí)鐘進(jìn)行同步。
?這里描述的原理是在NTP客戶端和NTP服務(wù)器的系統(tǒng)時(shí)鐘精度為0,即完全精確的場景下進(jìn)行的。

系統(tǒng)時(shí)鐘的同步流程如下:
1.NTP客戶端在T1時(shí)刻發(fā)送一個(gè)NTP請求報(bào)文給NTP服務(wù)器,該請求報(bào)文攜帶離開NTP客戶端時(shí)的時(shí)間戳T1。
2.NTP請求報(bào)文到達(dá)NTP服務(wù)器,此時(shí)NTP服務(wù)器的時(shí)刻為T2。NTP服務(wù)器處理之后,于T3時(shí)刻發(fā)出NTP應(yīng)答報(bào)文。該應(yīng)答報(bào)文中攜帶離開NTP客戶端時(shí)的時(shí)間戳T1、到達(dá)NTP服務(wù)器時(shí)的時(shí)間戳T2、離開NTP服務(wù)器時(shí)的時(shí)間戳T3。
3.NTP客戶端在T4時(shí)刻接收到該應(yīng)答報(bào)文。
通過上面的NTP報(bào)文交互,NTP客戶端獲得4個(gè)時(shí)間參數(shù),分別為T1、T2、T3、T4。由于NTP客戶端和NTP服務(wù)器的時(shí)鐘完全精確,我們可以通過以下公式計(jì)算出NTP客戶端與NTP服務(wù)器之間的時(shí)間差,也就是NTP客戶端需要調(diào)整的時(shí)間。
1.計(jì)算NTP報(bào)文從NTP客戶端發(fā)送到NTP服務(wù)器所需要的時(shí)間Delay。
Delay = [ ( T4 - T1 ) - ( T3 – T2 ) ] / 2
2.計(jì)算NTP客戶端與NTP服務(wù)器之間的時(shí)間差Offset。
以T4時(shí)刻為例,在這個(gè)時(shí)刻點(diǎn),NTP服務(wù)器發(fā)送過來的報(bào)文被NTP客戶端接收到時(shí),服務(wù)器的時(shí)刻已經(jīng)為T3 + Delay。那么時(shí)間差Offset可由以下公式進(jìn)行計(jì)算:
T4 + Offset = T3 + Delay
公式整理之后,Offset = T3 + Delay – T4 = T3 + [ ( T4 - T1 ) - ( T3 – T2 ) ] / 2 – T4 = [ ( T2- T1 ) + ( T3 – T4 ) ] / 2。
NTP客戶端根據(jù)計(jì)算得到Offset來調(diào)整自己的時(shí)鐘,實(shí)現(xiàn)與NTP服務(wù)器的時(shí)鐘同步。
網(wǎng)絡(luò)結(jié)構(gòu)
在NTP的網(wǎng)絡(luò)結(jié)構(gòu)中,主要存在如下概念:
?同步子網(wǎng):如圖所示,由主時(shí)間服務(wù)器、二級(jí)時(shí)間服務(wù)器、PC客戶端和它們之間互連的傳輸路徑組成同步子網(wǎng)。
?主時(shí)間服務(wù)器:通過線纜或無線電直接同步到標(biāo)準(zhǔn)參考時(shí)鐘,標(biāo)準(zhǔn)參考時(shí)鐘通常是Radio Clock或衛(wèi)星定位系統(tǒng)等。
?二級(jí)時(shí)間服務(wù)器:通過網(wǎng)絡(luò)中的主時(shí)間服務(wù)器或者其他二級(jí)服務(wù)器取得同步。二級(jí)時(shí)間服務(wù)器通過NTP將時(shí)間信息傳送到局域網(wǎng)內(nèi)部的其它主機(jī)。
?層數(shù)(stratum):層數(shù)是對時(shí)鐘同步情況的一個(gè)分級(jí)標(biāo)準(zhǔn),代表了一個(gè)時(shí)鐘的精確度,取值范圍1~15,數(shù)值越小,精確度越高。1表示時(shí)鐘精確度最高,15表示未同步。

在正常情況下,同步子網(wǎng)中的主時(shí)間服務(wù)器和二級(jí)時(shí)間服務(wù)器呈現(xiàn)出一種分層主從結(jié)構(gòu)。在這種分層結(jié)構(gòu)中,主時(shí)間服務(wù)器位于根部,二級(jí)時(shí)間服務(wù)器向葉子節(jié)點(diǎn)靠近,層數(shù)遞增,準(zhǔn)確性遞減,降低的程度取決于網(wǎng)絡(luò)路徑和本地時(shí)鐘的穩(wěn)定性。
如此設(shè)計(jì)的目的是:
?當(dāng)一臺(tái)或多臺(tái)主/二級(jí)時(shí)間服務(wù)器或它們之間的網(wǎng)絡(luò)路徑發(fā)生故障時(shí),同步子網(wǎng)的主從分層結(jié)構(gòu)將自動(dòng)發(fā)生重構(gòu)以獲得最精確和最可靠的時(shí)間。
?當(dāng)同步子網(wǎng)中正常使用的主時(shí)間服務(wù)器都失效,備用的主時(shí)間服務(wù)器將繼續(xù)運(yùn)行。
當(dāng)子網(wǎng)中所有的主時(shí)間服務(wù)器都失效時(shí),其它二級(jí)時(shí)間服務(wù)器將在它們內(nèi)部達(dá)到同步。此時(shí),這些二級(jí)時(shí)間服務(wù)器將脫離同步子網(wǎng),自動(dòng)運(yùn)行在它們最后一次確定的時(shí)間和頻率。由于這些路由器計(jì)算精度很高,所以當(dāng)一臺(tái)具有比較穩(wěn)定的振蕩器的路由器長時(shí)間脫離子網(wǎng)時(shí),它的計(jì)時(shí)誤差可以保持在一天不大于幾毫秒。
關(guān)于網(wǎng)絡(luò)時(shí)間協(xié)議NTP, SPOTO思博網(wǎng)絡(luò)今天就跟大家分享到這里,更多相關(guān)NTP的內(nèi)容請繼續(xù)關(guān)注SPOTO思博網(wǎng)絡(luò):SPOTO思博網(wǎng)絡(luò)是全球IT技術(shù)人才在線培訓(xùn)學(xué)習(xí)基地,致力于培育優(yōu)質(zhì)的IT人才,加速IT互聯(lián)網(wǎng)技術(shù)人才職業(yè)技能進(jìn)階。我們在思科認(rèn)證、華為認(rèn)證、CISSP信息安全認(rèn)證、Linux、云計(jì)算、大數(shù)據(jù)和人工智能等領(lǐng)域?yàn)榭蛻籼峁┯懈偁幜Φ呐嘤?xùn)產(chǎn)品和可信賴的服務(wù),持續(xù)為客戶創(chuàng)造價(jià)值,釋放個(gè)人潛能。始終圍繞客戶需求持續(xù)創(chuàng)新,加大課程研發(fā)投入,厚積薄發(fā),推動(dòng)個(gè)人成長,加速職業(yè)進(jìn)程,為世界節(jié)省培養(yǎng)ICT架構(gòu)師的時(shí)間。