命令 "ntpq -q" 輸出下面這樣的一個表:
復制代碼代碼如下: remote refid st t when poll reach delay offset jitter
==============================================================================
LOCAL(0) .LOCL. 10 l 96h 64 0 0.000 0.000 0.000
*ns2.example.com 10.193.2.20 2 u 936 1024 377 31.234 3.353 3.096
更多細節
表頭
- remote – 用於同步的遠程節點或服務器。“LOCAL”表示本機 (當沒有遠程服務器可用時會出現)
refid – 遠程的服務器進行同步的更高一級服務器
st – 遠程節點或服務器的 Stratum(級別,NTP 時間同步是分層的)
t – 類型 (u: unicast(單播) 或 manycast(選播) 客戶端, b: broadcast(廣播) 或 multicast(多播) 客戶端, l: 本地時鐘, s: 對稱節點(用於備份), A: 選播服務器, B: 廣播服務器, M: 多播服務器, 參見“Automatic Server Discovery“)
when – 最後一次同步到現在的時間 (默認單位為秒, “h”表示小時,“d”表示天)
poll – 同步的頻率:rfc5905建議在 NTPv4 中這個值的范圍在 4 (16秒) 至 17 (36小時) 之間(即2的指數次秒),然而觀察發現這個值的實際大小在一個小的多的范圍內 :64 (26 )秒 至 1024 (210 )秒
reach – 一個8位的左移移位寄存器值,用來測試能否和服務器連接,每成功連接一次它的值就會增加,以 8 進制顯示
delay – 從本地到遠程節點或服務器通信的往返時間(毫秒)
offset – 主機與遠程節點或服務器時間源的時間偏移量,offset 越接近於0,主機和 NTP 服務器的時間越接近(以方均根表示,單位為毫秒)
jitter – 與遠程節點同步的時間源的平均偏差(多個時間樣本中的 offset 的偏差,單位是毫秒),這個數值的絕對值越小,主機的時間就越精確
字段的統計代碼
表中第一個字符(統計代碼)是狀態標識(參見 Peer Status Word),包含 " ","x","-","#","+","*","o":
- " " – 無狀態,表示:
沒有遠程通信的主機
"LOCAL" 即本機
(未被使用的)高層級服務器
遠程主機使用的這台機器作為同步服務器
“x” – 已不再使用
“-” – 已不再使用
“#” – 良好的遠程節點或服務器但是未被使用 (不在按同步距離排序的前六個節點中,作為備用節點使用)
“+” – 良好的且優先使用的遠程節點或服務器(包含在組合算法中)
“*” – 當前作為優先主同步對象的遠程節點或服務器
“o” – PPS 節點 (當優先節點是有效時)。實際的系統同步是源於秒脈沖信號(pulse-per-second,PPS),可能通過PPS 時鐘驅動或者通過內核接口。
參考 Clock Select Algorithm.
refid
refid 有下面這些狀態值
- 一個IP地址 – 遠程節點或服務器的 IP 地址
.LOCL. – 本機 (當沒有遠程節點或服務器可用時)
.PPS. – 時間標准中的“Pulse Per Second”(秒脈沖)
.IRIG. – Inter-Range Instrumentation Group 時間碼
.ACTS. – 美國 NIST 標准時間 電話調制器
.NIST. –美國 NIST 標准時間電話調制器
.PTB. – 德國 PTB 時間標准電話調制器
.USNO. – 美國 USNO 標准時間 電話調制器
.CHU. – CHU (HF, Ottawa, ON, Canada) 標准時間無線電接收器
.DCFa. – DCF77 (LF, Mainflingen, Germany) 標准時間無線電接收器
.HBG. – HBG (LF Prangins, Switzerland) 標准時間無線電接收器
.JJY. – JJY (LF Fukushima, Japan) 標准時間無線電接收器
.LORC. – LORAN-C station (MF) 標准時間無線電接收器,注: 不再可用 (被 eLORAN 廢棄)
.MSF. – MSF (LF, Anthorn, Great Britain) 標准時間無線電接收器
.TDF. – TDF (MF, Allouis, France)標准時間無線電接收器
.WWV. – WWV (HF, Ft. Collins, CO, America) 標准時間無線電接收器
.WWVB. – WWVB (LF, Ft. Collins, CO, America) 標准時間無線電接收器
.WWVH. – WWVH (HF, Kauai, HI, America) 標准時間無線電接收器
.GOES. – 美國靜止環境觀測衛星;
.GPS. – 美國 GPS;
.GAL. – 伽利略定位系統歐洲 GNSS;
.ACST. – 選播服務器
.AUTH. – 認證錯誤
.AUTO. – Autokey (NTP 的一種認證機制)順序錯誤
.BCST. – 廣播服務器
.CRYPT. – Autokey 協議錯誤
.DENY. – 服務器拒絕訪問;
.INIT. – 關聯初始化
.MCST. – 多播服務器
.RATE. – (輪詢) 速率超出限定
.TIME. – 關聯超時
.STEP. – 間隔時長改變,偏移量比危險阈值小(1000ms) 比間隔時間 (125ms)大
操作要點
一個時間服務器只會報告時間信息而不會從客戶端更新時間(單向更新),而一個節點可以更新其他同級節點的時間,結合出一個彼此同意的時間(雙向更新)。
初次啟動時:
除非使用 iburst 選項,客戶端通常需要花幾分鐘來和服務器同步。如果客戶端在啟動時時間與 NTP 服務器的時間差大於 1000 秒,守護進程會退出並在系統日志中記錄,讓操作者手動設置時間差小於 1000 秒後再重新啟動。如果時間差小於 1000 秒,但是大於 128 秒,會自動矯正間隔,並自動重啟守護進程。
當第一次啟動時,時間頻率文件(通常是 ntp.drift 文件,記錄時間偏移)不存在,守護進程進入一個特殊模式來矯正頻率。當時鐘不符合規范時這會需要 900 秒。當校正完成後,守護進程創建時間頻率文件進入普通模式,並分步校正剩余的偏差。
NTP 0 層(Stratum 0 )的設備如原子鐘(铯,铷),GPS 時鐘或者其他標准時間的無線電時鐘為 1 層(Stratum 1)的時間服務器提供時間信號。NTP 只報告UTC 時間(統一協調時,Coordinated Universal Time)。客戶端程序使用時區從 UTC 導出本地時間。
NTP 協議是高精度的,使用的精度小於納秒(2的 -32 次方)。主機的時間精度和其他參數(受硬件和操作系統限制)使用命令 “ntpq -c rl” 查看(參見 rfc1305 通用變量和 rfc5905)。
“ntpq -c rl”輸出參數
- precision 為四捨五入值,且為 2 的冪數。因此精度為 2precision (秒)
rootdelay – 與同步網絡中主同步服務器的總往返延時。注意這個值可以是正數或者負數,取決於時鐘的精度。
rootdisp – 相對於同步網絡中主同步服務器的偏差(秒)
tc – NTP 算法 PLL (phase locked loop,鎖相環路) 或 FLL (frequency locked loop,鎖頻回路) 時間常量
mintc – NTP 算法 PLL/FLL 最小時間常亮或“最快響應
offset – 由結合算法得出的系統時鐘偏移量(毫秒)
frequency – 系統時鐘頻率
sys_jitter – 由結合算法得出的系統時鐘平均偏差(毫秒)
clk_jitter – 硬件時鐘平均偏差(毫秒)
clk_wander – 硬件時鐘偏移(PPM – 百分之一)
Jitter (也叫 timing jitter) 表示短期變化大於10HZ 的頻率, wander 表示長期變化大於10HZ 的頻率 (Stability 表示系統的頻率隨時間的變化,和 aging, drift, trends 等是同義詞)
操作要點(續)
NTP 軟件維護一系列連續更新的頻率變化的校正值。對於設置正確的穩定系統,在非擁塞的網絡中,現代硬件的 NTP 時鐘同步通常與 UTC 標准時間相差在毫秒內。(在千兆 LAN 網絡中可以達到何種精度?)
對於 UTC 時間,閏秒 leap second 可以每兩年插入一次用於同步地球自傳的變化。注意本地時間為夏令時時時間會有一小時的變化。在重同步之前客戶端設備會使用獨立的 UTC 時間,除非客戶端使用了偏移校准。
閏秒發生時會怎樣
閏秒發生時,會對當天時間增加或減少一秒。閏秒的調整在 UTC 時間當天的最後一秒。如果增加一秒,UTC 時間會出現 23:59:60。即 23:59:59 到 0:00:00 之間實際上需要 2 秒鐘。如果減少一秒,時間會從 23:59:58 跳至 0:00:00 。另見 The Kernel Discipline.