999久久免费精品国产_日韩秘 无码一区二区三区_国产福利在线观看不卡视频_久热精品视频综合在线观看_午夜黄色亚洲av_成人青草亚洲国产_三级国产短视频在线观看_大西瓜pro亚洲福利在线观看_日本黄色一级片视频_欧美人与动牲高清

時(shí)頻百科

當(dāng)前位置:首頁(yè)>時(shí)頻百科

客戶端時(shí)間為什么是隨機(jī)的?

時(shí)間:2023-03-20   訪問量:2990

現(xiàn)象

  在NTS授時(shí)狀態(tài)監(jiān)控系統(tǒng)的同步日志頁(yè)面中,記錄著所有客戶端向NTS服務(wù)器校時(shí)的日志信息,我們可以看到有些同步日志中的客戶端時(shí)間是隨機(jī)的。如下圖所示:

圖片.png

分析

  經(jīng)過統(tǒng)計(jì)后得知,隨機(jī)時(shí)間的客戶端均是centos7(redhat7)及以上版本的Linux系統(tǒng),centos6.5及以下版本中客戶端同步時(shí)間均是正常的。我們都知道Linux7之前的版本同步時(shí)間用的是ntpd服務(wù),Linux7以及7之后的版本都改用chrony了,兩者區(qū)別參考:https://chrony.tuxfamily.org/comparison.html。

  在centos7.9的測(cè)試環(huán)境中對(duì)123端口進(jìn)行抓包后發(fā)現(xiàn),客戶端發(fā)送給服務(wù)器的NTP包中,transmit timestamp(T3)的時(shí)間戳是隨機(jī)的,同時(shí),服務(wù)器收到客戶端請(qǐng)求后,原封不動(dòng)的將時(shí)間賦值給origin timestamp(T1),如下圖所示:(時(shí)間戳參考文末附1)

  但是這種情況在使用ntpdate同步本地時(shí)間時(shí)并不存在,時(shí)間都是正確的:

  經(jīng)過抓包后,可以初步確定問題出現(xiàn)在chrony上了。經(jīng)過查詢資料發(fā)現(xiàn),自chrony2.3開始不顯示客戶端數(shù)據(jù)包中的本地時(shí)間和同步狀態(tài),這個(gè)版本是2016年2月16日發(fā)布的。參考:https://chrony.tuxfamily.org/news.html

  而centos7.9的測(cè)試環(huán)境中,chrony的版本是3.4。

圖片.png

  但是,chrony2.3版本更新記錄中,只是說明不再顯示客戶端數(shù)據(jù)包中的本地時(shí)間和同步狀態(tài),但是沒說明本地時(shí)間為什么是隨機(jī)的。

  經(jīng)過查詢資料發(fā)現(xiàn),chrony與NTP對(duì)比官方文檔的安全性對(duì)比表格中,有關(guān)于隨機(jī)時(shí)間戳的說明,如下圖所示

圖片.png

  同時(shí)RFC5905(NTPv4)中也給出了隨機(jī)時(shí)間戳的說明:雖然該備忘錄要求客戶端數(shù)據(jù)包中的大部分字段設(shè)置為零,但發(fā)送時(shí)間戳應(yīng)該是隨機(jī)的。這個(gè)決定是出于安全和隱私的動(dòng)機(jī)。在沒有密碼認(rèn)證的情況下,驗(yàn)證原始時(shí)間戳是客戶端對(duì)NTP響應(yīng)進(jìn)行盲欺騙的主要防御手段。因此,客戶端的傳輸時(shí)間戳不可預(yù)測(cè)是很重要的。


結(jié)論

  chrony官方為了安全考慮,從chrony2.3起不在客戶端數(shù)據(jù)包中顯示本地時(shí)間和同步狀態(tài),即客戶端發(fā)起NTP校時(shí)的數(shù)據(jù)包中的本地時(shí)間直接被賦值為隨機(jī)時(shí)間,這樣NTP服務(wù)器收到客戶端的校時(shí)請(qǐng)求后,經(jīng)過解析后保存同步日志,我們看到的客戶端時(shí)間就是一個(gè)隨機(jī)時(shí)間。

根據(jù)上面的分析可得出:

  1. 使用chrony2.3及以上版本作為同步服務(wù)的系統(tǒng),客戶端時(shí)間(T1)均是隨機(jī)時(shí)間戳。

  2. 一些遵循NTPv4(RFC5905)協(xié)議開發(fā)的時(shí)間同步工具,客戶端時(shí)間(T1)均是隨機(jī)時(shí)間戳。

  3. Linux7及以下版本系統(tǒng)使用的同步服務(wù)是ntpd,客戶端時(shí)間(T1)是客戶端本地時(shí)間。

  4. NTS授時(shí)狀態(tài)監(jiān)控系統(tǒng)同步日志中的客戶端時(shí)間只是將T1時(shí)間戳展示出來,作為對(duì)客戶端進(jìn)行同步超時(shí)告警和客戶端時(shí)間偏差告警時(shí)的參考依據(jù)。所以,當(dāng)客戶端時(shí)間隨機(jī)化后,NTS授時(shí)狀態(tài)監(jiān)控系統(tǒng)將無法對(duì)此類客戶端進(jìn)行同步超時(shí)告警和時(shí)間偏差告警。

NTS授時(shí)狀態(tài)監(jiān)控系統(tǒng)如何監(jiān)控這類客戶端?

  目前可以先將chrony的版本降低至chrony2.2.1,這樣可保證正常監(jiān)控客戶端時(shí)間偏差。后續(xù)我們會(huì)繼續(xù)對(duì)NTS授時(shí)狀態(tài)監(jiān)控系統(tǒng)進(jìn)行升級(jí),屆時(shí)可不降低chrony版本的同時(shí)監(jiān)控高版本的Linux客戶端。

附1:時(shí)間戳

  一個(gè)完整的NTP協(xié)議校時(shí)請(qǐng)求數(shù)據(jù)包中有4個(gè)時(shí)間戳(T1、T2、T3、T4),分別表示:

  起源時(shí)間戳   T1(origin timestamp):請(qǐng)求離開服務(wù)器時(shí)在客戶端的時(shí)間,即:請(qǐng)求數(shù)據(jù)包離開客戶端時(shí),客戶端本地時(shí)間
  接收時(shí)間戳   T2(receive timestamp):請(qǐng)求從客戶端到達(dá)時(shí)在服務(wù)器的時(shí)間,即:請(qǐng)求數(shù)據(jù)包到達(dá)服務(wù)器時(shí),服務(wù)器本地時(shí)間
  發(fā)送時(shí)間戳   T3(transmit timestamp):響應(yīng)離開客戶端時(shí)在服務(wù)器的時(shí)間,即:響應(yīng)數(shù)據(jù)包離開服務(wù)器時(shí),服務(wù)器本地時(shí)間
  目的地時(shí)間戳  T4(destination timestamp):響應(yīng)到達(dá)客戶端時(shí)在客戶端的時(shí)間,即:響應(yīng)數(shù)據(jù)包到達(dá)客戶端時(shí),客戶端本地時(shí)間

圖片.png

通過這4個(gè)時(shí)間戳可以得出:

    網(wǎng)絡(luò)延遲:     delay=(T4-T1)-(T3-T2)

    客戶端時(shí)間偏差:  offset=((T2-T1)+(T3-T4))/2

上一篇:AIX主機(jī)配置時(shí)間同步的方法

下一篇:大華攝像頭時(shí)間同步配置方法

售前咨詢客服

售前咨詢
QQ客服1
QQ客服2
返回頂部