日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

时间同步绝对是一个大问题

發(fā)布時(shí)間:2023/12/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 时间同步绝对是一个大问题 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

上圖是加班看到的夜景

假設(shè)A電腦時(shí)間和B電腦時(shí)間不同,當(dāng)他們兩個(gè)電腦的用戶在使用電腦的時(shí)候就會(huì)存在問題,比如A電腦的用戶說,我們下午5:00 去打球,然后A電腦到了5:00就去打球了,但是可能這個(gè)時(shí)候B電腦的時(shí)間才到4:00,他們的信息就不能對齊。

還有一些問題的追溯,如果出現(xiàn)問題后,本地時(shí)間存在差異,那么我們根據(jù)日志時(shí)間來排查問題就會(huì)有問題。

NTP 時(shí)鐘

NTP(Network TimeProtocol,網(wǎng)絡(luò)時(shí)間)是由美國德拉瓦大學(xué)的David L. Mills教授于1985年提出,由時(shí)間協(xié)議、ICMP時(shí)間戳消息及IP時(shí)間戳選項(xiàng)發(fā) 展而來。NTP用于將計(jì)算機(jī)客戶或服務(wù)器的時(shí)間同步到另一服務(wù)器或參考時(shí)鐘源。它使用UTC作為時(shí)間標(biāo)準(zhǔn),是基于無連接的IP協(xié)議和UDP協(xié)議的應(yīng)用層協(xié)議,使用層次式時(shí)間分布模型,所能取得的準(zhǔn)確度依賴于本地時(shí)鐘硬件的精確度和對設(shè)備及進(jìn)程延遲的嚴(yán)格控制

PTP 時(shí)鐘

NTP 時(shí)鐘是不準(zhǔn)確時(shí)鐘,人們?yōu)榱双@得更加精準(zhǔn)的時(shí)鐘對齊,所以就出現(xiàn)了PTP時(shí)鐘。

PTP(PrecisionTime Protocol)是一種對標(biāo)準(zhǔn)以太網(wǎng)終端設(shè)備進(jìn)行時(shí)間和頻率同步的協(xié)議,也稱為IEEE 1588,簡稱為1588。1588分為1588v1和1588v2兩個(gè)版本,1588v1只能達(dá)到亞毫秒級的時(shí)間同步精度,而1588v2可以達(dá)到亞微秒級同步精度。1588v2被定義為時(shí)間同步的協(xié)議,最初只是用于設(shè)備之間的高精度時(shí)間同步,隨著技術(shù)的發(fā)展,1588v2也具備頻率同步的功能。

理論上任何PTP時(shí)鐘都能實(shí)現(xiàn)主時(shí)鐘和從時(shí)鐘的功能,但一個(gè)PTP通信子網(wǎng)內(nèi)只能有一個(gè)主時(shí)鐘。整個(gè)系統(tǒng)中的最優(yōu)時(shí)鐘為最高級時(shí)鐘GMC(Grandmaster Clock),有著最好的穩(wěn)定性、精確性、確定性等。根據(jù)各節(jié)點(diǎn)上時(shí)鐘的精度和級別以及UTC(通用協(xié)調(diào)時(shí)間)的可追溯性等 特性,由最佳主時(shí)鐘算法(Best MasterClock)來自動(dòng)選擇各子網(wǎng)內(nèi)的主時(shí)鐘;在只有一個(gè)子網(wǎng)的系統(tǒng)中,主時(shí)鐘就是最高級時(shí)鐘GMC。每個(gè)系統(tǒng)只有一個(gè)GMC,且每個(gè)子網(wǎng)內(nèi)只有一個(gè)主時(shí)鐘,從時(shí)鐘與主時(shí)鐘保持同步。

整個(gè)PTP網(wǎng)絡(luò)中,所有時(shí)鐘都會(huì)按照主從(Master-Slave)層次關(guān)系組織在一起,各節(jié)點(diǎn)逐級同步時(shí)鐘,最終完成與系統(tǒng)的最優(yōu)時(shí)鐘Grandmaster的同步。整個(gè)同步的過程是通過交換1588v2報(bào)文來完成的。從時(shí)鐘通過1588v2報(bào)文中攜帶的時(shí)間戳信息計(jì)算與主時(shí)鐘之間的時(shí)間偏移和路徑延遲,據(jù)此調(diào)整本地時(shí)鐘達(dá)到與主時(shí)鐘的同步。

1588v2報(bào)文是在物理芯片上打時(shí)間戳,而不是在上層網(wǎng)絡(luò),這樣能最大程度上保證時(shí)間戳的準(zhǔn)確。因此,與傳統(tǒng)的應(yīng)用層協(xié)議NTP(Network Time Protocol,網(wǎng)絡(luò)時(shí)間協(xié)議)相比,1588v2的精度更高。

時(shí)間同步的原理

1588V2時(shí)間同步的基本原理和NTP相同,都是主從設(shè)備之間雙向收發(fā)時(shí)間同步報(bào)文,根據(jù)報(bào)文的收發(fā)時(shí)間戳,計(jì)算得到兩個(gè)設(shè)備之間往返的總時(shí)間T。

如果兩個(gè)方向的時(shí)延相同,T/2 就是單向時(shí)延。

根據(jù)單向時(shí)延就可以得到主設(shè)備和從設(shè)備的時(shí)間偏差,從設(shè)備根據(jù)這個(gè)時(shí)間偏差來調(diào)整自身的時(shí)間,就可以完成主從設(shè)備之間的時(shí)間同步。

PTP 與NTP的區(qū)別

NTP 協(xié)議運(yùn)行在應(yīng)用層,測量出來的時(shí)間差除了在實(shí)際物理網(wǎng)絡(luò)上的時(shí)間,還包括操作系統(tǒng)的處理時(shí)間,比如你在發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包的時(shí)候,被更高優(yōu)先級的任務(wù)中斷了,又或者緩存阻塞了等等。

所以NTP的抖動(dòng)相對PTP來說大得非常非常多

1588v2 的優(yōu)勢在于,它的時(shí)間戳是在物理層發(fā)送前加上去的,就撇開了操作系統(tǒng)對它和影響。

因?yàn)樽罱ぷ餍枰芯康囊恍┲R(shí)點(diǎn),我們要解決的問題是在兩個(gè)網(wǎng)絡(luò)設(shè)備上保證他們時(shí)間是完全對齊的,這個(gè)完全對齊一定是要求非常非常高的。如果也是在從事這方面研究的同學(xué),歡迎一起討論。


推薦閱讀:

專輯|Linux文章匯總

專輯|程序人生

專輯|C語言

我的知識(shí)小密圈

總結(jié)

以上是生活随笔為你收集整理的时间同步绝对是一个大问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。