隨著信息技術(shù)的飛速發(fā)展,時間同步技術(shù)在通信、導(dǎo)航、電力等多個領(lǐng)域發(fā)揮著越來越重要的作用。從日常生活到高精尖的科學(xué)實驗,精確的時間同步都是確保系統(tǒng)正常運行和任務(wù)成功完成的關(guān)鍵因素。本文將對幾種主流的時間同步技術(shù)進(jìn)行介紹和對比分析,探討各自的優(yōu)缺點及其適用場景,以期為相關(guān)領(lǐng)域的研究和應(yīng)用提供參考。
時間同步,顧名思義就是使分布在不同地點的時鐘保持一致的過程。在網(wǎng)絡(luò)通信中,時間同步意味著網(wǎng)絡(luò)中的所有設(shè)備參照同一時間基準(zhǔn)工作,這對于數(shù)據(jù)的采集、處理和傳輸至關(guān)重要。時間同步協(xié)議是現(xiàn)代計算機(jī)網(wǎng)絡(luò)和多種應(yīng)用領(lǐng)域中確保時鐘一致性的關(guān)鍵技術(shù)。不同的協(xié)議設(shè)計用于滿足不同精度和環(huán)境下的時間同步需求。
本文將會介紹一些常見的時間同步協(xié)議。
一、協(xié)議介紹
1.網(wǎng)絡(luò)時間協(xié)議(NTP)
NTP是一種廣泛使用的互聯(lián)網(wǎng)協(xié)議,通過互聯(lián)網(wǎng)在全球范圍內(nèi)提供免費參考服務(wù),能夠提供毫秒級別的時間同步精度。目前最新的版本是NTPv4。
它采用層次結(jié)構(gòu),通過服務(wù)器之間的時間信息交換來實現(xiàn)網(wǎng)絡(luò)內(nèi)設(shè)備的時間同步。其中頂層是一級時間服務(wù)器(Stratum 1),它們直接連接到可靠的時間源,如原子鐘、GPS接收器或其他物理時間源。這些一級服務(wù)器將時間信息傳遞給二級服務(wù)器(Stratum 2),二級服務(wù)器再傳遞給三級服務(wù)器,以此類推。客戶端通常與最低層的服務(wù)器(如Stratum 3或更低)同步。
而SNTP是NTP的簡化版本,用于不需要高精度時間同步的應(yīng)用,如個人計算機(jī)和消費類電子產(chǎn)品。
NTP最大的優(yōu)勢是其部署簡單,僅需通過互聯(lián)網(wǎng)即可獲得時間同步,且擁有較好的可擴(kuò)展性,分層設(shè)計允許大量設(shè)備通過網(wǎng)絡(luò)同步時間,同時減少了對頂級時間源的負(fù)載。但對于高精應(yīng)用來講,準(zhǔn)確性和精度較低。
SNTP/NTP廣泛應(yīng)用于互聯(lián)網(wǎng)和企業(yè)網(wǎng)絡(luò)中,最熟悉的這是我們每臺設(shè)備的時間信息傳遞與同步。
?2.精確時間協(xié)議(PTP)
PTP(Precision Time Protocol,精確時間協(xié)議)是一種IEEE 1588標(biāo)準(zhǔn)定義,是一種用于工業(yè)以太網(wǎng)的高精度時間同步協(xié)議,PTP通過精確測量報文在網(wǎng)絡(luò)中的傳輸時間來同步時鐘。它能夠為網(wǎng)絡(luò)中的所有設(shè)備提供一個統(tǒng)一的時間參考,從而確保數(shù)據(jù)的時效性和一致性。采用硬件時間戳,可以大幅減少軟件處理時間,同步精度可以達(dá)到亞微秒/數(shù)十納秒級。
PTP網(wǎng)絡(luò)由一個主時鐘(Master Clock)和多個從時鐘(Slave Clock)組成,主時鐘通常連接到一個高精度的物理時間源,而從時鐘則分布在網(wǎng)絡(luò)中的各個設(shè)備上。PTP協(xié)議通過在網(wǎng)絡(luò)上交換時間戳消息來同步時鐘。它定義了兩種主要的消息類型:同步(Sync)消息和跟隨(Follow-up)消息。主時鐘(Grandmaster)發(fā)送同步消息,并在消息中嵌入發(fā)送時間戳。隨后,主時鐘發(fā)送跟隨消息,其中包含同步消息的發(fā)送時間戳。從時鐘(Slave)記錄收到同步消息和跟隨消息的時間戳,并使用這些時間戳來計算與主時鐘的時間偏差和延遲。
不過,PTP在高流量狀態(tài)下精度易受影響變化,想要保證穩(wěn)定的高精時間同步,還需要專用的硬件設(shè)備與較復(fù)雜的相關(guān)配置,因此主要是在工業(yè)應(yīng)用中較為廣泛。
此外,PTP可以運行在L2層(MAC層)和L4層(UDP層),在L2層網(wǎng)絡(luò)運行時,可以在MAC層中直接進(jìn)行報文解析,避免在UDP層處理,減少協(xié)議棧中駐留時間,進(jìn)一步提高時間同步精度,因此十分適用于自動駕駛系統(tǒng)。
除了PTP時間同步協(xié)議,我們也會在自動駕駛領(lǐng)域時??匆奼PTP(Generalized Precision Time Protocol)協(xié)議。gPTP和PTP都是基于IEEE標(biāo)準(zhǔn)的時間同步協(xié)議,其中PTP遵循IEEE 1588標(biāo)準(zhǔn),而gPTP是IEEE 802.1AS標(biāo)準(zhǔn),專門為以太網(wǎng)音視頻橋接(AVB)和網(wǎng)絡(luò)化汽車應(yīng)用設(shè)計,提供高精度的時間同步。
PTP廣泛應(yīng)用于需要高精度時間同步的工業(yè)領(lǐng)域,如自動駕駛、電力系統(tǒng)、制造業(yè)自動化、電信網(wǎng)絡(luò)、金融市場交易等。在這些應(yīng)用中,PTP的精確時間同步能力對于確保系統(tǒng)的穩(wěn)定運行和數(shù)據(jù)的精確同步至關(guān)重要。自動駕駛的數(shù)據(jù)采集與回放中基本都會采用PTP或gPTP。
3.全球定位系統(tǒng)(GNSS)
GNSS提供了一種基于衛(wèi)星信號的時間同步服務(wù),精度可以達(dá)到微秒級別。GNSS接收器通過接收衛(wèi)星信號來同步本地時鐘,廣泛應(yīng)用于導(dǎo)航、定位和時間基準(zhǔn)服務(wù)。
GNSS衛(wèi)星上裝備有非常精確的原子鐘,它們不斷地發(fā)送時間信號和導(dǎo)航信息。地面的GNSS接收器可以接收到這些信號,并通過測量信號傳播時間來確定自己的位置和時間。由于光速是已知的,接收器可以通過計算信號從衛(wèi)星發(fā)出到接收器接收到的往返時間來計算衛(wèi)星和接收器之間的距離。通過同時接收多顆衛(wèi)星的信號,接收器可以精確地確定自己的位置和時間。
GNSS的使用十分簡單,基本上無需復(fù)雜的配置,且可以隨時拆除與重新部署,因此具備極大的靈活性與廣泛性。不過必竟是通過無線信號傳輸,因此并非是所有地方都可以使用,也不能確保百分之百的穩(wěn)定,因此一般作為初始同步與其他授時方式同步使用,例如銣原子鐘可以保證在脫離GNSS信號24小時僅具有1us誤差。

銣原子時鐘板卡德思特提供的Safran銣原子時鐘板卡是第一款在PCle板上利用銣振蕩器的時鐘卡,它是完全開源的,并由與硬件無關(guān)的監(jiān)控和規(guī)范軟件堆棧運行,可擴(kuò)展、面向未來和無縫集成,用于幫助客戶構(gòu)建自己的高性能網(wǎng)絡(luò)時間服務(wù)器。
? 憑借機(jī)載銣原子本振,對GNSS損失具有高度彈性
? 完全開源設(shè)計和驅(qū)動
? 易于集成到任何帶有PCIe插槽的服務(wù)器中
? 與現(xiàn)有的NTP和PTP兼容
GNSS授時的精度非常高,通??梢赃_(dá)到納秒級別。這種精度對于許多應(yīng)用來說已經(jīng)足夠,包括電信、金融、科學(xué)研究、電力系統(tǒng)同步和其他需要高精度時間同步的領(lǐng)域。
4.White Rabbit(WR)
White Rabbit(WR)協(xié)議是一種用于粒子物理實驗和其他需要極高水平時間同步的科學(xué)研究的高精度時間同步協(xié)議。它由歐洲核子研究組織(CERN)和其他研究機(jī)構(gòu)開發(fā),旨在提供亞微秒級別的時間同步精度和皮秒級別的時鐘同步精度。
White Rabbit協(xié)議基于以太網(wǎng)技術(shù),通過硬件時間戳、專用的時間同步網(wǎng)絡(luò)和高級的網(wǎng)絡(luò)協(xié)議,確保了數(shù)據(jù)傳輸?shù)拇_定性和同步性。它采用了IEEE 1588-2008(PTP)標(biāo)準(zhǔn)的一些核心概念,并對其進(jìn)行了一系列的優(yōu)化和擴(kuò)展,以實現(xiàn)更高精度的時間同步。
WR能夠提供亞微秒級別的時間同步精度和皮秒級別的時鐘同步精度,支持長達(dá)幾十公里的傳輸距離,適用于大型實驗設(shè)施的分布式時鐘同步,可以支持大量的同步節(jié)點,適用于大規(guī)模的實驗設(shè)施。目前在各類天文臺與粒子對撞機(jī)得到廣泛應(yīng)用。
White Rabbit精確時間分配系統(tǒng)
德思特提供的Safran White Rabbit精確時間分配系統(tǒng)具有以下優(yōu)勢,
? 易于集成進(jìn)現(xiàn)有的網(wǎng)絡(luò)架構(gòu)內(nèi)(Ethernet, PTPv2, NTP)
? 可擴(kuò)展超過1000km
? 沒有 GNSS 漏洞,性能不受數(shù)據(jù)流量影響,支持本地holdover
? 易于擴(kuò)展,支持自校準(zhǔn)
? 精度達(dá)到亞納秒/納秒級
? 支持區(qū)塊鏈與厘米級室內(nèi)定位等新技術(shù)融合
5.其他
除此之外,還有很多時間同步的方法與協(xié)議,他們有的伴隨著行業(yè)與技術(shù)發(fā)展逐步退出了歷史舞臺,還有一些目前依舊有著非常廣泛的作用,這里由于篇幅原因,不再展開講解,我們簡單列舉下一些時間同步方法與協(xié)議:
● 時間協(xié)議(Time Protocol):這是互聯(lián)網(wǎng)的一個早期協(xié)議,定義在RFC 868中。它提供了一種簡單的機(jī)制,允許互聯(lián)網(wǎng)上的計算機(jī)同步其時鐘。由于其簡單性,它的時間同步精度相對較低,通常只能達(dá)到秒級別。
● 電話公司時間協(xié)議(Telnet Time Protocol):這是一種通過電話線路同步時鐘的協(xié)議,現(xiàn)在已經(jīng)很少使用。
● 時間碼(IRIG-B):IRIG-B是一種時間碼格式,通常用于精確的時間同步應(yīng)用,如電力系統(tǒng)、航空航天和軍事應(yīng)用。時間碼發(fā)生器輸出一個帶有時間信息的信號,其他設(shè)備可以通過解析這個信號來同步時鐘。
● 本地時鐘同步(Local Oscillator, LO):通常指的是在一個設(shè)備或系統(tǒng)內(nèi)部使用本地振蕩器來維持時鐘同步的方法。這種方法不依賴于外部的時間源,而依賴于設(shè)備內(nèi)置的振蕩器,如晶體振蕩器、原子鐘或振蕩電路,來生成穩(wěn)定的時鐘信號。
● 同步設(shè)備之間的接口(SyncE):SyncE是一種網(wǎng)絡(luò)同步技術(shù),它通過以太網(wǎng)物理層提供同步信號,用于同步網(wǎng)絡(luò)中的時鐘。
● 網(wǎng)絡(luò)時間安全協(xié)議(NTS):NTS是NTP的擴(kuò)展,旨在提高時間同步的安全性,防止時鐘同步過程中的惡意攻擊。
● 點對點協(xié)議(PPP):PPP在建立點對點連接時,可以協(xié)商并同步兩端的時鐘。
● 時間戳協(xié)議(TSP):TSP是一種簡單的協(xié)議,用于請求時間戳服務(wù),通常用于安全相關(guān)的應(yīng)用。
二、主要協(xié)議對比
我們對主要的四個協(xié)議做一下對比:
三、總結(jié)
總的來講這些協(xié)議和方法各有特點,適用于不同的應(yīng)用場景和時間同步精度要求。在選擇時間同步協(xié)議時,需要考慮網(wǎng)絡(luò)環(huán)境、同步精度、設(shè)備兼容性以及實施成本等因素。隨著技術(shù)的發(fā)展,還可能出現(xiàn)新的時間同步技術(shù)和協(xié)議,以滿足不斷變化的需求。