網絡運維|關于NTP的介紹
2020-04-12 19:43 作者:admin
網絡運維|關于NTP的介紹
大家好,我是一枚從事
IT外包的
網絡運維工程師,今天跟大家分享一個日常
網絡運維需要分析流量是會用到的端口鏡像技術。
介紹NTP的定義、目的和版本演進。
定義
網絡時間協議NTP(Network Time Protocol)是TCP/IP協議族里面的一個應用層協議。NTP用于在一系列分布式時間服務器與客戶端之間同步時鐘。NTP的實現基于IP和UDP。NTP報文通過UDP傳輸,端口號是123。
目的
隨著網絡拓撲的日益復雜,整個網絡內設備的時鐘同步將變得十分重要。如果依靠管理員手工修改系統時鐘,不僅工作量巨大,而且時鐘的準確性也無法得到保證。NTP的出現就是為了解決網絡內設備系統時鐘的同步問題。
NTP主要應用于網絡中所有設備時鐘需要保持一致的場合,比如:
· 網絡管理:對從不同路由器采集來的日志信息、調試信息進行分析時,需要以時間作為參照依據。
· 計費系統:要求所有設備的時鐘保持一致。
· 多個系統協同處理同一個復雜事件:為保證正確的執行順序,多個系統必須參考同一時鐘。
· 備份服務器和客戶機之間進行增量備份:要求備份服務器和所有客戶機之間的時鐘同步。
· 系統時間:某些應用程序需要知道用戶登錄系統的時間以及文件修改的時間。
NTP基本原理
如圖4-1所示,NTP客戶端和NTP服務器相連,它們都有自己獨立的系統時鐘,現在通過NTP實現系統時鐘自動同步。
設定參數及同步方式如下:
· 在NTP客戶端和NTP服務器的系統時鐘同步之前,NTP客戶端的時鐘設定為Ta,NTP服務器的時鐘設定為Tb。
· NTP服務器作為NTP時間服務器,NTP客戶端的時鐘要與NTP服務器的時鐘進行同步。
· 這里描述的原理是在NTP客戶端和NTP服務器的系統時鐘精度為0,即完全精確的場景下進行的。
圖4 NTP實現圖
系統時鐘的同步流程如下:
1. NTP客戶端在T1時刻發送一個NTP請求報文給NTP服務器,該請求報文攜帶離開NTP客戶端時的時間戳T1。
2. NTP請求報文到達NTP服務器,此時NTP服務器的時刻為T2。NTP服務器處理之后,于T3時刻發出NTP應答報文。該應答報文中攜帶離開NTP客戶端時的時間戳T1、到達NTP服務器時的時間戳T2、離開NTP服務器時的時間戳T3。
3. NTP客戶端在T4時刻接收到該應答報文。
通過上面的NTP報文交互,NTP客戶端獲得4個時間參數,分別為T1、T2、T3、T4。由于NTP客戶端和NTP服務器的時鐘完全精確,我們可以通過以下公式計算出NTP客戶端與NTP服務器之間的時間差,也就是NTP客戶端需要調整的時間。
1. 計算NTP報文從NTP客戶端發送到NTP服務器所需要的時間Delay。
Delay = [ ( T4 - T1 ) - ( T3 – T2 ) ] / 2
2. 計算NTP客戶端與NTP服務器之間的時間差Offset。
以T4時刻為例,在這個時刻點,NTP服務器發送過來的報文被NTP客戶端接收到時,服務器的時刻已經為T3 + Delay。那么時間差Offset可由以下公式進行計算:
T4 + Offset = T3 + Delay
公式整理之后,Offset = T3 + Delay – T4 = T3 + [ ( T4 - T1 ) - ( T3 – T2 ) ] / 2 – T4 = [ ( T2- T1 ) + ( T3 – T4 ) ] / 2。
NTP客戶端根據計算得到Offset來調整自己的時鐘,實現與NTP服務器的時鐘同步。
介紹NTP特性的常見應用場景。
NTP的典型應用
在如圖4所示的組網中,為達到全網的時鐘同步,將接入標準時鐘的RouterA作為網絡中的NTP主時鐘服務器。RouterA分別和RouterB、RouterC、RouterD配置為單播客戶端/服務器模式,RouterA作為服務器。RouterE分別和上行的RouterB以及下行的RouterF采用對等體模式。
圖4 NTP的典型組網
在VPN組網中的應用
NTP服務在VPN網絡的應用如圖4-9所示。CE A和CE B同屬于VPN2。CE B作為NTP單播服務器,CE A作為NTP單播客戶端,兩者可實現NTP時間同步。
圖4 NTP在VPN組網中的應用