2021-05-12 14:32:11
NTP網路時間協定是如何工作的
2020-06-16 16:25:56
什麼是NTP?
網路時間協定(NTP)是RFC 1305定義的時間同步協定。它用於在分散式時間伺服器和用戶端之間同步時間。 NTP基於UDP隔離,並使用UDP埠號123。
使用NTP的目的是使所有裝置的時鐘與網路上的時鐘同步,以使網路上所有裝置的時鐘保持一致,以便裝置可以基於統一時間提供多個應用程式。
對於執行NTP的本地系統,它可以接受來自其他時鐘源的同步,還可以用作同步其他時鐘的時鐘源,並且其他裝置可以彼此同步。
NTP如何工作
該圖顯示了NTP的基本工作原理。裝置A和裝置B通過網路連線。它們都有各自獨立的系統時鐘,並且它們需要通過NTP實現其系統時鐘的自動同步。為了便於理解,進行以下假設:
- 裝置A向裝置B傳送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具有足夠的資訊來計算兩個重要引數:
- NTP封包的往返延遲為Delay =(T4-T1)-(T3-T2)= 2秒。
- 裝置A和裝置B之間的時間差為offset =((T2-T1)+(T3-T4))/ 2 = 1小時。
這樣,裝置A可以根據該資訊設定自己的時鐘,並將其與裝置B的時鐘同步。以上內容只是對NTP工作原理的粗略描述。有關更多詳細資訊,請參閱RFC 1305。
NTP工作模式
- 以客戶-伺服器為基礎;
- 在對等模式下;
- 使用廣播/多播傳送時間。
使用者可以根據自己的需要選擇合適的工作模式。當無法確定伺服器或對端的IP地址,並且網路上需要同步很多裝置時,可以通過廣播或組播方式實現時鐘同步。在伺服器和對等方模式下,裝置從指定的伺服器或對等方啟動。
Linux實戰部署系列之NTP伺服器 https://www.linuxidc.com/Linux/2013-11/92275.htm
相關文章