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