什么是NTP?
網(wǎng)絡時間協(xié)議(NTP)是RFC 1305定義的時間同步協(xié)議。它用于在分布式時間服務器和客戶端之間同步時間。 NTP基于UDP隔離,并使用UDP端口號123。
使用NTP的目的是使所有設備的時鐘與網(wǎng)絡上的時鐘同步,以使網(wǎng)絡上所有設備的時鐘保持一致,以便設備可以基于統(tǒng)一時間提供多個應用程序。
對于運行NTP的本地系統(tǒng),它可以接受來自其他時鐘源的同步,還可以用作同步其他時鐘的時鐘源,并且其他設備可以彼此同步。
NTP如何工作
該圖顯示了NTP的基本工作原理。設備A和設備B通過網(wǎng)絡連接。它們都有各自獨立的系統(tǒng)時鐘,并且它們需要通過NTP實現(xiàn)其系統(tǒng)時鐘的自動同步。為了便于理解,進行以下假設:
- 設備A向設備B發(fā)送NTP消息。消息離開設備A時帶有時間戳。時間戳為10:00:00 am(T1)。
- 當此NTP消息到達設備B時,設備B添加其自己的時間戳。時間戳是11:00:01 am(T2)。
- 當此NTP消息離開設備B時,設備B添加其自己的時間戳并將時間戳更改為11:00:02(T3)。
- 設備A收到響應消息后,設備A的本地時間為上午10:00:03(T4)。
- 此時,設備A具有足夠的信息來計算兩個重要參數(shù):
- NTP數(shù)據(jù)包的往返延遲為Delay =(T4-T1)-(T3-T2)= 2秒。
- 設備A和設備B之間的時間差為offset =((T2-T1)+(T3-T4))/ 2 = 1小時。
這樣,設備A可以根據(jù)該信息設置自己的時鐘,并將其與設備B的時鐘同步。以上內容只是對NTP工作原理的粗略描述。有關更多詳細信息,請參閱RFC 1305。
NTP工作模式
- 以客戶-服務器為基礎;
- 在對等模式下;
- 使用廣播/多播發(fā)送時間。
用戶可以根據(jù)自己的需要選擇合適的工作模式。當無法確定服務器或對端的IP地址,并且網(wǎng)絡上需要同步很多設備時,可以通過廣播或組播方式實現(xiàn)時鐘同步。在服務器和對等方模式下,設備從指定的服務器或對等方啟動。
Linux實戰(zhàn)部署系列之NTP服務器 http://www.haoyitu.cn/Linux/2013-11/92275.htm