本文關鍵詞:SNTP工作原理、工作模式、數據格式!

本文關鍵詞:SNTP、工作原理、工作模式、數據格式

SNTP是簡單網絡時間協議(Simple Network Time protocol)的簡稱,它是目前Internet網上實現時間同步的一種重要工程化方法。

SNTP協議工作原理

SNTP 協議採用客戶/服務器工作方式,服務器通過接收 GPS信號或自帶的原子鐘作為系統的時間基準,客戶機通過定期訪問服務器提供的時間服務獲得準確的時間信息,並調整自己的系統時鐘,達到網絡時間同步的目的。

本文關鍵詞:SNTP工作原理、工作模式、數據格式!

SNTP 校時原理

SNTP協議主要是通過記錄客戶端向服務器發送數據包時的時間戳t1,服務器端接收到該數據包時的時間戳t2,服務器向客戶端回應時的時間戳t3和最後客戶端接收到服務器回應時的時間戳t4來計算客戶端時間和服務器端時間的偏差,從而進行校時操作,如下圖所示:

本文關鍵詞:SNTP工作原理、工作模式、數據格式!

t1與t2之間的時間差為 ((T2-T1)+ (T3-T4))/2

數據包在網絡上的傳播時間是 (T2-T1) + (T4-T3)

SNTP協議工作模式

SNTP 協議可以使用單播、廣播或多播模式進行工作。

單播模式是指一個客戶發送請求到預先指定的一個服務器地址,然後從服務器獲得準確的時間、來回時延和與服務器時間的偏差。

單播模式下,一種簡單的計算可以用來計算與服務器有關的往返傳播延遲 d及本地時鐘補償 t,通常對在數十毫秒內。當收到答覆時,客戶端將目的時間戳作為到達時間,並根據它的本地時鐘,將其轉變成NTP格式。下述表格總結4個時間戳:

本文關鍵詞:SNTP工作原理、工作模式、數據格式!

廣播模式是指一個廣播服務器週期地向指定廣播地址發送時間信息,在這組地址內的服務器偵聽廣播並且不發送請求。

多播模式是對廣播模式的一種擴展,它設計的目的是對地址未知的一組服務器進行協調。在這種模式下,多播客戶發送一個普通的NTP請求給指定的廣播地址,多個多播服務器在此地址上進行偵聽。

一旦收到一個請求信息,一個多播服務器就對客戶返回一個普通的 NTP服務器應答,然後客戶依此對廣播地址內剩下的所有服務器作同樣的操作,最後利用 NTP遷移算法篩選出最好的三臺服務器使用。

在 Internet上,SNTP 廣播或多播客戶極易受到來自其它SNTP服務器的攻擊,因此在 Internet上使用該服務時,一定要採用訪問控制和加密的措施。

SNTP數據格式

SNTP協議同其它

的網絡應用層協議一樣,都具有一定的數據格式,它主要涉及時間的表示,即時間戳的格式;數據如何組幀在網絡上傳輸,即信息幀格式。

SNTP信息幀格式

SNTP協議是UDP協議的客戶,它利用UDP的123端口提供服務,SNTP客戶在設置請求信息時要把UDP目的端口設置為該值,源端口可以為任何非零值,服務器在響應信息中對這些值進行交換。同其它應用層協議一樣,SNTP協議的數據通信也是按數據幀的格式進行。

SNTP時間戳格式

SNTP時間戳是該協議的重要產品,用來對時間進行精確表示。它由一個64位無符號浮點數組成,整數部分為頭32位,小數部分為後32位;單位為秒,時間相對於1900年1月零點。它能表示的最大數字為4,294,967,295秒,同時具有232PS的精確性,這能滿足最苛刻的時間要求。

本文關鍵詞:SNTP工作原理、工作模式、數據格式!

值得注意的是在1968年的某一個時間(2,147,483,648秒)時間戳的最高位已被設置為1,在2036年的某一個時間(4,294,967,295秒)64位字段將會溢出,所有位將會被置為零,此時的時間戳將會被視為無效。


分享到:


相關文章: