网络时间协议NTP
網(wǎng)絡(luò)時間協(xié)議NTP(Network Time Protocol)是TCP/IP協(xié)議族里面的一個應(yīng)用層協(xié)議。NTP用于在一系列分布式時間服務(wù)器與客戶端之間同步時鐘。
隨著網(wǎng)絡(luò)拓撲的日益復(fù)雜,整個網(wǎng)絡(luò)內(nèi)設(shè)備的時鐘同步將變得十分重要。如果依靠管理員手工修改系統(tǒng)時鐘,不僅工作量巨大,而且時鐘的準確性也無法得到保證。NTP的出現(xiàn)就是為了解決網(wǎng)絡(luò)內(nèi)設(shè)備系統(tǒng)時鐘的同步問題。
NTP主要應(yīng)用于網(wǎng)絡(luò)中所有設(shè)備時鐘需要保持一致的場合,比如:
?網(wǎng)絡(luò)管理:對從不同路由器采集來的日志信息、調(diào)試信息進行分析時,需要以時間作為參照依據(jù)。
?計費系統(tǒng):要求所有設(shè)備的時鐘保持一致。
?多個系統(tǒng)協(xié)同處理同一個復(fù)雜事件:為保證正確的執(zhí)行順序,多個系統(tǒng)必須參考同一時鐘。
?備份服務(wù)器和客戶機之間進行增量備份:要求備份服務(wù)器和所有客戶機之間的時鐘同步。
?系統(tǒng)時間:某些應(yīng)用程序需要知道用戶登錄系統(tǒng)的時間以及文件修改的時間。
NTP基本原理
設(shè)定參數(shù)及同步方式
如圖所示,NTP客戶端和NTP服務(wù)器相連,它們都有自己獨立的系統(tǒng)時鐘,現(xiàn)在通過NTP實現(xiàn)系統(tǒng)時鐘自動同步。
設(shè)定參數(shù)及同步方式如下:
?在NTP客戶端和NTP服務(wù)器的系統(tǒng)時鐘同步之前,NTP客戶端的時鐘設(shè)定為Ta,NTP服務(wù)器的時鐘設(shè)定為Tb。
?NTP服務(wù)器作為NTP時間服務(wù)器,NTP客戶端的時鐘要與NTP服務(wù)器的時鐘進行同步。
?這里描述的原理是在NTP客戶端和NTP服務(wù)器的系統(tǒng)時鐘精度為0,即完全精確的場景下進行的。
**
**
系統(tǒng)時鐘的同步流程
系統(tǒng)時鐘的同步流程如下:
1.NTP客戶端在T1時刻發(fā)送一個NTP請求報文給NTP服務(wù)器,該請求報文攜帶離開NTP客戶端時的時間戳T1。
2.NTP請求報文到達NTP服務(wù)器,此時NTP服務(wù)器的時刻為T2。NTP服務(wù)器處理之后,于T3時刻發(fā)出NTP應(yīng)答報文。該應(yīng)答報文中攜帶離開NTP客戶端時的時間戳T1、到達NTP服務(wù)器時的時間戳T2、離開NTP服務(wù)器時的時間戳T3。
3.NTP客戶端在T4時刻接收到該應(yīng)答報文。
NTP客戶端與NTP服務(wù)器之間的時間差
通過上面的NTP報文交互,NTP客戶端獲得4個時間參數(shù),分別為T1、T2、T3、T4。由于NTP客戶端和NTP服務(wù)器的時鐘完全精確,我們可以通過以下公式計算出NTP客戶端與NTP服務(wù)器之間的時間差,也就是NTP客戶端需要調(diào)整的時間。
1.計算NTP報文從NTP客戶端發(fā)送到NTP服務(wù)器所需要的時間Delay。
Delay = [ ( T4 - T1 ) - ( T3 – T2 ) ] / 2
2.計算NTP客戶端與NTP服務(wù)器之間的時間差Offset。
以T4時刻為例,在這個時刻點,NTP服務(wù)器發(fā)送過來的報文被NTP客戶端接收到時,服務(wù)器的時刻已經(jīng)為T3 + Delay。那么時間差Offset可由以下公式進行計算:
T4 + Offset = T3 + Delay
公式整理之后,Offset = T3 + Delay – T4 = T3 + [ ( T4 - T1 ) - ( T3 – T2 ) ] / 2 – T4 = [ ( T2- T1 ) + ( T3 – T4 ) ] / 2。
NTP客戶端根據(jù)計算得到Offset來調(diào)整自己的時鐘,實現(xiàn)與NTP服務(wù)器的時鐘同步。
NTP網(wǎng)絡(luò)結(jié)構(gòu)
名稱概念
在NTP的網(wǎng)絡(luò)結(jié)構(gòu)中,主要存在如下概念:
?同步子網(wǎng):如圖所示,由主時間服務(wù)器、二級時間服務(wù)器、PC客戶端和它們之間互連的傳輸路徑組成同步子網(wǎng)。
?主時間服務(wù)器:通過線纜或無線電直接同步到標準參考時鐘,標準參考時鐘通常是Radio Clock或衛(wèi)星定位系統(tǒng)等。
?二級時間服務(wù)器:通過網(wǎng)絡(luò)中的主時間服務(wù)器或者其他二級服務(wù)器取得同步。二級時間服務(wù)器通過NTP將時間信息傳送到局域網(wǎng)內(nèi)部的其它主機。
?層數(shù)(stratum):層數(shù)是對時鐘同步情況的一個分級標準,代表了一個時鐘的精確度,取值范圍1~15,數(shù)值越小,精確度越高。1表示時鐘精確度最高,15表示未同步。
設(shè)計目的
在正常情況下,同步子網(wǎng)中的主時間服務(wù)器和二級時間服務(wù)器呈現(xiàn)出一種分層主從結(jié)構(gòu)。在這種分層結(jié)構(gòu)中,主時間服務(wù)器位于根部,二級時間服務(wù)器向葉子節(jié)點靠近,層數(shù)遞增,準確性遞減,降低的程度取決于網(wǎng)絡(luò)路徑和本地時鐘的穩(wěn)定性。
如此設(shè)計的目的是:
?當(dāng)一臺或多臺主/二級時間服務(wù)器或它們之間的網(wǎng)絡(luò)路徑發(fā)生故障時,同步子網(wǎng)的主從分層結(jié)構(gòu)將自動發(fā)生重構(gòu)以獲得最精確和最可靠的時間。
?當(dāng)同步子網(wǎng)中正常使用的主時間服務(wù)器都失效,備用的主時間服務(wù)器將繼續(xù)運行。
當(dāng)子網(wǎng)中所有的主時間服務(wù)器都失效時,其它二級時間服務(wù)器將在它們內(nèi)部達到同步。此時,這些二級時間服務(wù)器將脫離同步子網(wǎng),自動運行在它們最后一次確定的時間和頻率。由于這些路由器計算精度很高,所以當(dāng)一臺具有比較穩(wěn)定的振蕩器的路由器長時間脫離子網(wǎng)時,它的計時誤差可以保持在一天不大于幾毫秒。
總結(jié)
- 上一篇: 弹筝峡
- 下一篇: 提升团队战斗力的要点