網(wǎng)絡時間協(xié)議(Network Time Protocol,NTP)是數(shù)據(jù)網(wǎng)絡潛伏時間可變的計算機系統(tǒng)之間通過分組交換進行時鐘同步的一個網(wǎng)絡協(xié)議,將所有網(wǎng)絡中的計算機與UTC(Universal Time Coordinated,世界協(xié)調時)同步。
NTP自從1985在RFC-958文檔中被特拉華大學的David L Mills首次設計提出,發(fā)展到至今的NTPv4,已經將近40年的歷程,是目前仍在使用的最古老的互聯(lián)網(wǎng)協(xié)議之一。
通過將網(wǎng)絡設備連接到時間服務器(該服務器接收來自明確時間源的信號),您可以在任何位置享受精確時間帶來的好處,從而提高生產力、改善客戶服務并實現(xiàn)同步運營。NTP在數(shù)字錄音、廣播電臺、計算機互聯(lián)、數(shù)字金融、文件協(xié)作和智能電網(wǎng)等等領域有著重要作用。
賽思在NTP技術方面也涌現(xiàn)出大量的優(yōu)秀產品,如TS3000系列的TS3000G和TS3000U,NS7200系列中NS7210的萬兆高精度時間服務器。
面對新時代的高精度的PTP、White Rabbit和光纖同步這些更高精度可達到納秒級甚至亞納秒級的技術,NTP是否會在不久的將來退出歷史舞臺?
答案顯然是否定的。NTP所具備生命力,創(chuàng)造力和完美的架構基礎使之在各行各業(yè)的應用上存在無限的延延伸。
下圖顯示了兩種NTP時間格式,64位時間戳格式和128位日期戳格式。日期戳格式在內部使用,而時間戳格式在客戶端和服務器之間交換的數(shù)據(jù)包頭中使用。時間戳格式跨越136年,稱為一個時代。當前時代始于1900年1月1日,而下一個時代始于2036年。
關于NTP時間刻度,最重要的一點是它對天、年或世紀一無所知,只知道與主紀元相關的秒差異。NTP的時間始于1900年1月1日0時。正值表示黃金時期之后的時間;負值表示在此之前的時間。任何日歷日期格式和NTP格式之間的轉換都是通過計算給定日期和NTP主紀元之間的秒和分數(shù)差來完成的。
時間戳格式是NTP中常見到的,32位字寬的秒代表了232秒≈136年,即時間戳所能代表的最長時間為136年,秒的小數(shù)部分代表1/232秒≈232ps。大部分人擔心,在2036年,NTP的協(xié)議的使用是否就會受到限制,甚至在那一年的時間翻轉會帶來時間紊亂。
隨著64位軟件系統(tǒng)全面普及,日期戳的使用是解決翻轉問題的重要手段,目前NTP v4就支持時代編碼與時代補償這兩個變量。日期戳中的32位時代編碼與32位秒所能延續(xù)的時間可以長到太陽系的滅亡,日期戳的小數(shù)部分的精度足以分辨光子以光速通過電磁場所需的時間。
可以看出,目前正處于NTP的第1個時代,還是NTP青壯年時期,NTP的發(fā)展會給時間信息時代帶來更多的驚喜。
TS3000U是賽思一款具備豐富功能的NTP服務器,以這款設備為例,描述一下NTP是如何實現(xiàn)網(wǎng)絡兩臺設備的時間同步的。
網(wǎng)絡內存在兩臺TS3000設備,一臺作為服務器,一臺作為客戶端。兩臺設備在時間同步之前客戶端的時間為0800AM,服務器的時間為1000AM。系統(tǒng)的同步過程如下:
首先,客戶端先發(fā)送一個NTP請求報文給服務器,該報文中帶有離開客戶端時的時間戳T1(0800 AM);當此NTP報文通過網(wǎng)絡到達服務器時,服務器會加上自己接收報文的時間戳T2(1001AM);當此NTP報文離開服務器時,服務器會加上發(fā)送時間戳T3(1002);當客戶端再次接收到該響應報文時,客戶端的時間是T4(0803)。
那么客戶端就有足夠的息來計算兩個重要的參數(shù):NTP報文的往返時延Delay=(T4-T1)-(T3-T2)=2秒。客戶端相對服務器的時間差Offset=((T2-T1)+(T3-T4))/2=2小時。
那么客戶端就可以根據(jù)與服務器的時間差來設置自己的時鐘,實現(xiàn)與服務器同步。雖然實例的時間同步精度為1秒,但實際的NTP報文分辨率可達到232皮秒,所以同步精度要超過秒級。
常規(guī)的NTP時間戳是采用軟件的中斷處理來進行打戳的,打戳精度受到線程和系統(tǒng)的影響,在軟件處理優(yōu)先等級高的軟件設計下,其精度達到百微秒級。但是,NTP網(wǎng)絡傳輸又會因為網(wǎng)絡數(shù)據(jù)傳輸問題,帶來來回鏈路延遲的不對稱和不穩(wěn)定,最終使得NTP的精度在毫秒級。如果采用專用網(wǎng)絡,那么能有效解決鏈路問題,NTP精度可達到百微秒量級。
在NTP技術的設計上,賽思公司在NTP時間戳上采用專有硬件邏輯設計打戳,使NTP的時間戳的精度達到納秒量級,在采用專有NTP網(wǎng)絡時,NTP的授時精度可以達到百納秒,在高精度NTP時間服務器的TS3000G中,就采用此項高精度時間戳技術提供NTP服務,在業(yè)界也得到了廣泛好評。
NTP時間同步網(wǎng)絡目標不僅僅是使網(wǎng)絡內部的時間同步,同時也要使網(wǎng)絡內的時間與UTC一致,這就決定了NTP網(wǎng)絡組成的四要素:BD/GPS接收機與天線、NTP服務器、NTP客戶端以及可用的網(wǎng)絡。
目前服務器內部都配備了高精度的BD/GPS接收機,與UTC的同步精度可達到100ns以內。
有兩種類型的NTP服務器可用于向網(wǎng)絡提供UTC時間:公共服務器和本地服務器。公共時間服務器由第三方擁有和運營,第三方可通過互聯(lián)網(wǎng)使用該服務器。本地NTP服務器是您自己擁有并安裝在您的場所中的服務器,在您的服務器和客戶端之間建立物理網(wǎng)絡連接。
如果同步時間對運營至關重要,那么本地時間服務器是更安全、更可靠的選擇。它們提供了改進的準確性和更多的控制,同時避免了公共服務器的各種缺點。
在大型網(wǎng)絡上,可能有太多的客戶端,以至于服務器無法處理來自所有客戶端的請求。在這些情況下,服務器和客戶機按照層次結構排列。
第一層服務器通過GPS/BD信號與UTC進行同步,并通過網(wǎng)絡連接將該時間提供給第二層上的客戶端。反過來,第二層設備可以通過向第三層上的客戶端提供時間來像服務器一樣工作,第三層設備可以向第四層設備提供時間,依此類推。這樣,第一層設備就不會因太多請求而過載。
常規(guī)最多共有15個同步的層級別(層16用于非同步的客戶端),但每個層都會引入另一層網(wǎng)絡延遲,導致準確性降低。
為了解決這一問題,NTP客戶端可以設置為從多個服務器請求時間,將多個服務器對等在一起,這樣,如果一個服務器失去硬件時鐘同步,客戶端可以從對等組中的其他服務器獲得時間,以幫助它們盡可能接近地正確的時間。
越來越多的計算機與設備使用網(wǎng)絡時間協(xié)議通過公共互聯(lián)網(wǎng)來傳輸時鐘數(shù)據(jù),進一步同步時鐘。但是,NTP是少數(shù)幾個仍在普遍使用的不安全的互聯(lián)網(wǎng)協(xié)議之一。攻擊者可以通過觀察客戶端與服務器之間的網(wǎng)絡流量為客戶端提供虛假數(shù)據(jù),并根據(jù)客戶端的時間和配置,修改NTP時間戳,強迫將系統(tǒng)時鐘設置為任何時間和日期。
一旦客戶端的系統(tǒng)時鐘不準確,一些程序和服務就可能無法工作,如Web服務器證書等以時間作為密鑰驗證手段(之一)的程序。
在NTP安全方面,賽思做了大量的技術研究和安全防護,如傳送時間戳偽裝和重放檢測;消息摘要保護數(shù)據(jù)包的完整性檢測;Autokey模型自動分發(fā)對稱摘要密鑰的保護措施;MD5 身份驗證;網(wǎng)絡黑名單;基于Autokey模型的NTP協(xié)議序列的保護措施;限制數(shù)據(jù)包到達率抵抗消耗資源的Dos攻擊防護等。
賽思為廣大用戶提供精確時間的同時,也為用戶享受服務過程中的安全性著想。在持續(xù)創(chuàng)新專研過程中,與廣大用戶和合作伙伴雙贏。
-
NTP
+關注
關注
1文章
169瀏覽量
13892 -
賽思電子
+關注
關注
0文章
55瀏覽量
390
發(fā)布評論請先 登錄
相關推薦
評論