top of page

你必須知道的網路時間技術:NTP vs. PTP

已更新:2天前



時間同步(Time Synchronization)在任何網路中都扮演著基礎性的角色,但它往往是事後才添加的。然而,時間同步可在幾分鐘內正確排除衝突故障,也可讓使用者對伺服器著火的原因一無所知。對於金融和科學研究機構來說,時間同步必須精確到十億分之一秒,在某些特定情況下甚至是萬億分之一秒,但即使是商業和工業組織,也開始要求同步精度達到亞毫秒級(Sub-Millisecond)。


為什麼我們不能把電腦更新至NIST(National Institute of Standards and Technology - 美國國家標準暨技術研究院)的公共NTP(Network Time Protocol - 網路時間協定)伺服器上,然後就搞定呢?NIST運行著世界上最精確的時鐘之一。不幸的是,延遲無處不在,它使得完美同步成為不可能。光速很快 - 在真空中,一個光子每秒可繞地球七圈以上 - 儘管它在典型的光纖網路中的傳送速率要慢31%,但你可在不到十分之一秒的時間內,輕鬆的將一個資料位元(bit)傳輸至半個地球。



然而,我們都知道,理想世界是不存在的。再加上交換機(Switch)、路由器(Router)和其他網路基礎設施,十分之一秒的誤差就會翻幾倍。如果沒有專用設備,你的網路與美國的NIST或英國的NPL(英國國家物理實驗室 - National Physical Laboratory)相比,就會突然出現一秒的差距。


更令人擔憂的是,同一網路內不同用戶端的同步問題。試想一家金融機構正好有100股XX公司的股票。有關XX公司的重大新聞爆出後,該金融機構在一秒鐘內出售了這100股股票,而且不是只賣給一個投資者,而是賣給了多個投資者,但由於該機構的伺服器之間沒有同步,因此無法分辨是哪一個訂單先下。




什麼是網路時間協定?

NTP或網路時間協定(Network Time Protocol)已被廣泛採用為網路計時的方式,目前已是第四個主要版本。分層系統(Hierarchical System)有不同的層(Layer),稱為Strata(階層,英文複數為Stratum)。位於最頂層的第0層(Stratum 0)設備包括原子鐘(Atomic Clock),如:全球導航衛星系統(Global Navigation Satellite System - GNSS)衛星中的原子鐘。


第1層(Stratum 1),即主時間伺服器(Primary Time Server),與第0層時鐘一對一直接連接,與第0層時鐘進行微秒級(Microsecond)同步,並與其他第1層伺服器連接,進行快速正確性測試和資料備份。Stratum 2伺服器可連接至多個主時間伺服器,以進行更緊密的同步及更高的精確度,以此類推、不一而足。NTP最多支援15個階層,但每個層級都會略微降低用戶端與第0層的同步性。


目前實施的 64-bit 時間戳記(Timestamp)被分成兩個相等的 32-bit:

  • 前半部分計算秒數,最長超過136年

  • 後半部分表示零點幾秒,直至皮秒級(Picosecond Scale)


將128-bit時間戳記更新為NTPv4的提議,將把時間尺度提高至略低於6000億年,時間解析度提高至小於飛秒(Femtosecond)。



什麼是精確時間協議?

PTP(Precision Time Protocol - 精確時間協定)是另一種基於網路(Network-Based)的時間同步標準,但PTP網路的目標不是毫秒級同步,而是進行納秒級(Nanosecond)、甚至皮秒級同步。對於大多數商業和工業應用來說,NTP已經足夠精確,但如果你需要更嚴格的同步及時間戳記,則需要使用PTP伺服器。


為什麼PTP時間戳記如此精確?它使用的是硬體時間戳記而不是軟體,就像其他精密科學儀器一樣,PTP設備專用於一個特殊目的:保持設備同步。僅憑這一點,PTP網路的時間解析度就高得多,而與NTP不同的是,PTP設備會對同步資訊在每個設備中的停留時間進行實際時間戳記,進而考慮到設備的延遲(Device Latency)。




每個 PTP 序列(Sequence)涉及主站(Master)和從站(Slave)之間的一系列四條訊息:

  • 從主站到從站的初始同步訊息(Initial Sync)

  • 從主站到從站的後續同步訊息(Followup Sync)

  • 從站發送給主站的延遲請求訊息(Delay Request)

  • 主站發送給從站的最終延遲回應訊息(Final Delay Response)


此序列會產生四個不同的時間戳記:

  • T1 當主站發送初始同步資訊時

  • T2 當從站收到初始同步資訊時

  • T3 當從站發送延遲請求時

  • T4 當主站收到延遲請求時



主站在延遲回應階段(Delay Response Phase)向從站發送所有四個時間戳記,從站能計算出主站與從站之間的雙向網路延遲。透過專用硬體從本地(Local)時鐘獲取時間戳記,從站可避免本地作業系統所帶來的額外延遲。


NTP網路具有額外的延遲和較低的準確性,原因很簡單,因為它們是基於軟體,所有時間戳記請求都必須等待本地作業系統。對於大多數公司來說,NTP提供了足夠清晰的時間解析度,可及時解決衝突,但包括上述物理實驗室在內的一些機構,需要更高精準的同步,就必須採用Masterclock的:GMR1000及GMR5000 PTP Grandmaster Time Server,兩者皆完全遵循IEEE 1588標準:


  • 支援多種輸出,包括:PTP、NTP、PPS、PPO、10MHz、SMPTE、IRIG-B、IRIG-A、IRIG-E、NMEA 0183、NENA

  • 提供精確到15納秒以內的UTC(Coordinated Universal Time - 世界協調時間)精確度

  • 提供帶AES256加密的SSH規劃

  • 與IPv4/IPv6網路相容

  • 可作為NTP用戶端 和/或 伺服器


美國 Masterclock GMR1000

為什麼要使用時間伺服器?

時間戳記(Timestamp)及用戶端同步(Client Synchronization)對網路來說非常重要,但一些網路工程師仍然認為,只需將伺服器與公共網際網路時鐘同步就可以了。雖然網際網路時鐘對於智慧手機等消費類設備來說完全沒有問題,但對於企業網路來說卻很不合適,原因很簡單:安全性(Security)。


要將伺服器連接至網際網路時鐘,首先需要打開防火牆上的123埠。其結果會發生什麼可怕的事情嗎?你不知道!就像你不知道小偷會不會因為你沒鎖門,而闖入你家一樣。為什麼要冒險呢?專用NTP伺服器可確保網路安全,同時提供更準確的時間戳記。



如果我的時間伺服器斷開連接,會發生什麼事?

沒有一個網路是完美的,你所能做的只是儘量減少停機時間(Downtime),而不是消除停機時間。如果你的NTP或PTP時間伺服器因任何原因無法連接到GPS衛星或其他輸入,你可以放心,它將繼續同步你的設備,並保持準確的時間戳記。


例如,GMR1000 NTP伺服器具有維持每年3秒的穩定性,這意味著你的伺服器在黑暗中運行一整年後,仍能與UTC保持3秒的同步。配備烤箱控制晶體振盪器(Oven-Controlled Crystal Oscillator)高穩定性型號的維持穩定性就更高了,達到每年250毫秒,即每天不到1毫秒。可選購的HSO-3振盪器(Oscillator),適用於GRM5000 NTP Server及PTP Grandmaster,可更進一步將漂移偏差(Drift)減少到每年最多1毫秒。


美國 Masterclock GRM5000

PTP 裝置類型

PTP裝置類型是可規劃,可用於設定時鐘類型。


時鐘

下列時鐘為常見的 PTP 裝置:


普通時鐘(Ordinary Clock)

基於單一實體連接埠與網路溝通,類似於終端主機。普通時鐘可作為主時鐘(Grandmaster Clock)使用。


邊界時鐘(Boundary Clock)

通常具有數個實體連接埠,每個連接埠的行為就像一般時鐘的連接埠。但是,每個連接埠都共用本機時鐘,時鐘資料集(Clock Data Set)也是所有連接埠共用的。每個連接埠都會根據透過邊界時鐘上所有其他連接埠所能獲得的最佳時鐘,決定其個別的狀態,或是主站(Master -與連接到它的其他連接埠同步),或是從站(Slave - 與下游連接埠同步)。與同步化和建立主從層級結構相關的訊息,會在邊界時鐘的通訊協定引擎中終止,不會被轉發。


透明時鐘(Transparent Clock)

像普通交換器(Switch)或路由器(Router)一樣轉發所有PTP訊息,但會測量封包在交換器中的停留時間(封包穿越透明時鐘所花的時間),在某些情況下,還會測量封包入口埠的鏈路延遲。連接埠沒有狀態,因為透明時鐘不需要與主時鐘同步。


PTP – 透明時鐘(Transparent Clock)運作流程圖
PTP – 透明時鐘(Transparent Clock)運作流程圖


透明時鐘有兩種:


端對端透明時鐘(End-to-End Transparent Clock)

測量PTP訊息的停留時間,並將時間累計在PTP訊息或相關後續訊息的修正欄位中。


點對點透明時鐘(Peer-to-Peer Transparent Clock)

測量 PTP訊息的停留時間,並計算每個連接埠及共用連結的其他節點上具有類似的連接埠之間的連結延遲。對於封包,這個傳入的連結延遲,會被加至PTP訊息或相關後續訊息的修正欄位中的停留時間。


請注意

PTP僅在邊界時鐘模式下運作。建議在上游部主時鐘(Grandmaster Clock 10 MHz),並將包含需同步時鐘的伺服器連接至交換器。


不支援端對端透明時鐘及點對點透明時鐘模式。


主時鐘(Grandmaster Clock)

在單一PTP網域中,Grandmaster(GM)節點是整個PTP網路的主要時鐘來源。GM節點的主要時鐘來源可來自內部GNSS系統或外部GNSS系統。GM節點不能與其他PTP節點同步時間或頻率,也就是說,GM節點不能有任何從屬埠,所有的埠都只扮演Master的角色。


PTP 感知網路裝置(PTP aware network devices) - 總結

邊界時鐘(Boundary clocks)(主動的 PTP 裝置)

  • 本地時鐘(Local Clock)與主時鐘(Grandmaster Clock)同步

  • 每一個連接埠都是 PTP 節點(普通時鐘)

  • 時間會重新產生,並轉送至所有 Slave


透明時鐘(Transparent Clocks)(被動的 PTP 裝置)

  • 測量每個 PTP 封包的停留時間

  • 在入口和出口處繪製時間戳(Timestamp)

  • “差異會被加入至“修正欄位(Correction Field)”中


PTP 感知網路裝置 – 優缺點

邊界時鐘(Boundary Clock)

👍⭕ 適用於階層式系統(Hierarchical System)

👍⭕ 可隨裝置數量擴充

👍⭕ 可在不同媒體間轉換

👎❌ 串聯系統(Cascaded System) 需要特別注意

👎❌ 需要持續監控


透明時鐘(Transparent Clock)

👍⭕ 部署簡單,監控最少

👍⭕ 精確度與網路拓樸結構(Network Topology )無關

👎❌ 裝置數量越多,擴充性越差(主站會看到所有從站)



堅達公司 為美國 Masterclock 台灣獨家代理,歡迎致電(02)7720-9899洽詢。我們將有專人竭誠解答你的疑問。




4,611 次查看0 則留言

Comments


bottom of page