NTP協議原理簡介
瀏覽次數:4608發布日期:2010-11-27
網絡時間協議(network time protocol,簡稱ntp)是用來在整個網絡內發布時間的tcp/ip 協議,其本身的傳輸基于udp。Ntp協議基本原理如下:
上圖所示的是ntp 協議基本工作原理,路由器gwa 和gwb 通過網絡相連,它們都有自己獨立的系統時鐘, 要實現各自系統時鐘的自動同步,作如下假設:
1 在gwa 和gwb 的系統時鐘同步之前, gwa 的時鐘設定為10:00:00am,gwb 的時鐘設定為11:00:00am。
2 以gwb 為ntp 時間服務器,即gwa 將使自己的時鐘與gwb 的時鐘同步。
3 數據包在gwa 和gwb 之間單向傳輸所需要的時間為1 秒。
系統時鐘同步的工作過程如下:
1 gwa 發送一個ntp 消息包給gwb,該消息包帶有它離開gwa 時的時間戳,該時間戳為10:00:00am(t1)。
2 當此ntp 消息包到達gwb 時,gwb 加上自己的時間戳,該時間戳為11:00:01am(t2)。
3 當此ntp 消息包離開gwb 時,gwb 再加上自己的時間戳,該時間戳為11:00:02am(t3)。
4 當gwa 接收到該響應消息包時,加上一個新的時間戳,該時間戳為10:00:03am(t4)。
至此,gwa 已經擁有足夠的信息,來計算兩個重要的參數:
5 ntp 消息來回一個周期的時延delay=(t4-t1)-(t3-t2)。
6 gwa 相對gwb 的時間差offset=((t2-t1)+(t3-t4))/2。
這樣,gwa 就能夠根據這些信息,來設定自己的時鐘,使之與gwb 的時鐘同步。這只是ntp 工作原理的一個粗略描述,在rfc1305 規范中,ntp 使用復雜的算法,來確保時鐘同步的性。
根據網絡結構以及路由器在網絡中的位置,ntp 有六種工作模式,其中前兩種模式也稱單播模式。
1 設置遠程服務器為本地時間服務器,此時本地路由器工作在client 模式。在這種工作模式下,只能是本地客戶機同步到遠程服務器,而遠程服務器不會同步到本地客戶機;
2 設置遠程服務器作為本地路由器的對等體,本地運行在symmetric active 模式(即主動模式)在。這種配置下,本地服務器能同步到遠程服務器(被動模式),遠程服務器也能同步到本地服務器。如果雙方都有參考時鐘,以層數小的為準;
3 設置本地路由器的一個接口發送ntp 的廣播消息包,此時,本地路由器工作在廣播服務器模式;
4 設置本地路由器的一個接口接收ntp 的廣播信息包,此時,本地路由器工作在廣播客戶模式;
5 設置本地路由器的一個接口發送ntp 組播消息包,本地路由器運行在組播服務器模式;
6 設置本地路由器的一個接口接收ntp 組播消息包,本地路由器運行在組播客戶模式。