NTP技術介紹


NTP

NTP簡介

NTPNetwork Time Protocol,網絡時間協議)是由RFC 1305定義的時間同步協議,用來在分布式時間服務器和客戶端之間進行時間同步。NTP基於UDP報文進行傳輸,使用的UDP端口號為123

使用NTP的目的是對網絡內所有具有時鍾的設備進行時鍾同步,使網絡內所有設備的時鍾保持一致,從而使設備能夠提供基於統一時間的多種應用。

對於運行NTP的本地係統,既可以接受來自其他時鍾源的同步,又可以作為時鍾源同步其他的時鍾,並且可以和其他設備互相同步。

NTP的應用

對於網絡中的各台設備來說,如果依靠管理員手工輸入命令來修改係統時鍾是不可能的,不但工作量巨大,而且也不能保證時鍾的精確性。通過NTP,可以很快將網絡中設備的時鍾同步,同時也能保證很高的精度。

NTP主要應用於需要網絡中所有設備時鍾保持一致的場合,比如:

l              在網絡管理中,對於從不同設備采集來的日誌信息、調試信息進行分析的時候,需要以時間作為參照依據。

l              計費係統要求所有設備的時鍾保持一致。

l              完成某些功能,如定時重啟網絡中的所有設備,此時要求所有設備的時鍾保持一致。

l              多個係統協同處理同一個比較複雜的事件時,為保證正確的執行順序,多個係統必須參考同一時鍾。

l              在備份服務器和客戶端之間進行增量備份時,要求備份服務器和所有客戶端之間的時鍾同步。

NTP的優勢如下:

l              采用分層的方法定義時鍾的準確性,可以迅速同步網絡中各台設備的時間。

l              支持訪問控製和MD5驗證。

l              可以選擇采用單播、組播或廣播的方式發送協議報文。

NTP工作原理

NTP的基本工作原理如1所示。Device ADevice B通過網絡相連,它們都有自己獨立的係統時鍾,需要通過NTP實現各自係統時鍾的自動同步。為便於理解,作如下假設:

l              Device ADevice B的係統時鍾同步之前,Device A的時鍾設定為10:00:00amDevice B的時鍾設定為11:00:00am

l              Device B作為NTP時間服務器,即Device A將使自己的時鍾與Device B的時鍾同步。

l              NTP報文在Device ADevice B之間單向傳輸所需要的時間為1秒。

圖1 NTP基本原理圖

係統時鍾同步的工作過程如下:

l              Device A發送一個NTP報文給Device B,該報文帶有它離開Device A時的時間戳,該時間戳為10:00:00amT1)。

l              當此NTP報文到達Device B時,Device B加上自己的時間戳,該時間戳為11:00:01amT2)。

l              當此NTP報文離開Device B時,Device B再加上自己的時間戳,該時間戳為11:00:02amT3)。

l              Device A接收到該響應報文時,Device A的本地時間為10:00:03amT4)。

至此,Device A已經擁有足夠的信息來計算兩個重要的參數:

l              NTP報文的往返時延Delay=T4-T1-T3-T2=2秒。

l              Device A相對Device B的時間差offset=((T2-T1+T3-T4))/2=1小時。

這樣,Device A就能夠根據這些信息來設定自己的時鍾,使之與Device B的時鍾同步。

以上內容隻是對NTP工作原理的一個粗略描述,詳細內容請參閱RFC 1305

NTP的報文格式

NTP有兩種不同類型的報文,一種是時鍾同步報文,另一種是控製報文。控製報文僅用於需要網絡管理的場合,它對於時鍾同步功能來說並不是必需的,這裏不做介紹。

&  說明:

本文中提到的NTP報文,均為NTP時鍾同步報文。

 

時鍾同步報文封裝在UDP報文中,其格式如2所示。

圖2 時鍾同步報文格式

主要字段的解釋如下:

l              LILeap Indicator):長度為2比特,值為“11”時表示告警狀態,時鍾未被同步。為其他值時NTP本身不做處理。

l              VNVersion Number):長度為3比特,表示NTP的版本號,目前的最新版本為3

l              Mode:長度為3比特,表示NTP的工作模式。不同的值所表示的含義分別是:0未定義、1表示主動對等體模式、2表示被動對等體模式、3表示客戶模式、4表示服務器模式、5表示廣播模式或組播模式、6表示此報文為NTP控製報文、7預留給內部使用。

l              Stratum:係統時鍾的層數,取值範圍為116,它定義了時鍾的準確度。層數為1的時鍾準確度最高,準確度從116依次遞減,層數為16的時鍾處於未同步狀態,不能作為參考時鍾。

l              Poll:輪詢時間,即兩個連續NTP報文之間的時間間隔。

l              Precision:係統時鍾的精度。

l              Root Delay:本地到主參考時鍾源的往返時間。

l              Root Dispersion:係統時鍾相對於主參考時鍾的最大誤差。

l              Reference Identifier:參考時鍾源的標識。

l              Reference Timestamp:係統時鍾最後一次被設定或更新的時間。

l              Originate TimestampNTP請求報文離開發送端時發送端的本地時間。

l              Receive TimestampNTP請求報文到達接收端時接收端的本地時間。

l              Transmit Timestamp:應答報文離開應答者時應答者的本地時間。

l              Authenticator:驗證信息。

NTP的工作模式

設備可以采用多種NTP工作模式進行時間同步:

l              客戶端/服務器模式

l              對等體模式

l              廣播模式

l              組播模式

用戶可以根據需要選擇合適的工作模式。在不能確定服務器或對等體IP地址、網絡中需要同步的設備很多等情況下,可以通過廣播或組播模式實現時鍾同步;服務器和對等體模式中,設備從指定的服務器或對等體獲得時鍾同步,增加了時鍾的可靠性。

1. 客戶端/服務器模式

圖3 客戶端/服務器模式

在客戶端/服務器模式中,客戶端向服務器發送時鍾同步報文,報文中的Mode字段設置為3(客戶模式)。服務器端收到報文後會自動工作在服務器模式,並發送應答報文,報文中的Mode字段設置為4(服務器模式)。客戶端收到應答報文後,進行時鍾過濾和選擇,並同步到優選的服務器。

在該模式下,客戶端能同步到服務器,而服務器無法同步到客戶端。

2. 對等體模式

圖4 對等體模式

在對等體模式中,主動對等體和被動對等體之間首先交互Mode字段為3(客戶端模式)和4(服務器模式)的NTP報文。之後,主動對等體向被動對等體發送時鍾同步報文,報文中的Mode字段設置為1(主動對等體),被動對等體收到報文後自動工作在被動對等體模式,並發送應答報文,報文中的Mode字段設置為2(被動對等體)。經過報文的交互,對等體模式建立起來。主動對等體和被動對等體可以互相同步。如果雙方的時鍾都已經同步,則以層數小的時鍾為準。

3. 廣播模式

圖5 廣播模式

在廣播模式中,服務器端周期性地向廣播地址255.255.255.255發送時鍾同步報文,報文中的Mode字段設置為5(廣播模式)。客戶端偵聽來自服務器的廣播報文。當客戶端接收到第一個廣播報文後,客戶端與服務器交互Mode字段為3(客戶模式)和4(服務器模式)的NTP報文,以獲得客戶端與服務器間的網絡延遲。之後,客戶端就進入廣播客戶端模式,繼續偵聽廣播報文的到來,根據到來的廣播報文對係統時鍾進行同步。

4. 組播模式

圖6 組播模式

在組播模式中,服務器端周期性地向組播地址發送時鍾同步報文,報文中的Mode字段設置為5(組播模式)。客戶端偵聽來自服務器的組播報文。當客戶端接收到第一個組播報文後,客戶端與服務器交互Mode字段為3(客戶模式)和4(服務器模式)的NTP報文,以獲得客戶端與服務器間的網絡延遲。之後,客戶端就進入組播客戶模式,繼續偵聽組播報文的到來,根據到來的組播報文對係統時鍾進行同步。

NTP多實例

客戶端/服務器模式和對等體模式支持NTP多實例,可以實現MPLS VPN網絡的時間同步,即物理位置不同的網絡設備(CEPE),隻要屬於同一個VPN,就可以通過NTP來獲得時間同步。具體功能如下:

l              CE上的NTP客戶端可以同步到另一個CE上的NTP服務器;

l              CE上的NTP客戶端可以同步到PE上的NTP服務器;

l              PE上的NTP客戶端可以通過指定的VPN實例同步到CE上的NTP服務器;

l              PE上的NTP客戶端可以通過指定的VPN實例同步到另一個PE上的NTP服務器;

l              PE上的NTP服務器可以同步不同VPN內多個CE上的NTP客戶端。

&  說明:

l      CECustomer Edge)設備:用戶網絡邊緣設備,有接口直接與服務提供商(Service ProviderSP)相連。CE“感知”不到VPN的存在。

l      PEProvider Edge)設備:服務提供商網絡的邊緣設備,與用戶的CE直接相連。

 

附件下載

聯係我們