當前位置:編程學習大全網 - 編程語言 - IEEE1588V1-V2理解

IEEE1588V1-V2理解

? IEEE 1588 是壹個精密時間協議 (PTP),用於同步計算機網絡中的時鐘。 在局域網中,它能將時鐘精確度控制在亞微秒範圍內,使其適於測量和控制系統。 IEEE 1588 標準為時鐘分配定義了壹個主從式架構,由壹個或多個網段及壹個或多個時鐘組成。

? TSN 網絡中時間同步協議使用 IEEE 802.1AS 協議,它基於 IEEE 1588 協議進行精簡和修改,也稱為 gPTP 協議。

? IEEE 1588 協議簡稱精確時鐘協議 PTP(Precision Timing Protocol),它的全稱是“網絡測量和控制系統的精密時鐘同步協議標準”(IEEE 1588 Precision Clock Synchronization Protocol)。其工作的基本原理,是通過主從節點之間進行同步數據幀的發送,記錄數據幀的發送時間和接收時間信息進行,並且將該時間信息添加到該數據幀中。從節點獲取這些時間信息,並計算從節點本地時鐘與主時鐘的時間偏差和網絡節點之間的傳輸延時,對本地時鐘進行糾正,使之與主節點時鐘同步。壹個 PTP 網絡只能存在壹個主時鐘。

? PTP 協議主要分為兩大部分來實現時鐘同步功能:

? 1、建立同步體系:

? 協議使用最佳主時鐘算法(Best Master Clock Algorithm,BMCA),通過選取主時鐘,建立主從拓撲關系,進而在整個 PTP 網絡中建立起同步體系。

? 2、同步本地時鐘:

? 協議使用本地時鐘同步算法(Local Clock Synchronization Algorithm,LCS),通過 PTP 數據報文在網絡主從節點之間的交換,計算各從節點本地時鐘與主時鐘間的時間偏差,調整本地時鐘,使之與主時鐘同步。

? 整個 PTP 網絡內的時鐘可按照其上 PTP 通信端口的數目來劃分成普通時鐘(Ordinary Clock,OC)與邊界時鐘(Boundary Clock,BC):普通時鐘只存在壹個,而邊界時鐘則存在多個。壹般在確定性不高的網絡節點處使用邊界時鐘,例如交換機或者路由器壹般用作邊界時鐘,如下圖所示。在每個端口上,PTP 通信都是獨立進行的。

? 1、邊界時鐘:

? 邊界時鐘上只允許存在壹個從端口,與上級節點的主端口通信,將其本地時鐘與級主端口進行同步。其余端口為主端口,與下遊節點的從端口進行通信。邊界時鐘可以連接不同的網絡協議。

? 2、同步體系建立流程:

? (1)初始狀態,各個節點端口會在指定的時間內偵聽網絡中的 Sync 數據幀; 若接收到 Sync 數據幀,節點端口將根據最佳主時鐘算法決定端口狀態。若沒有收到 Sync 數據幀,該節點狀態變更為 Pre_Master,並將自己假定為主時鐘節點。此時節點端口狀態表現為主時鐘,但是並不發送 Sync 幀。

? (2)端口狀態在壹定時間內保持 Pre_Master:

若在端口指定時間內接收到 Sync 數據幀,則該端口狀態由最佳主時鐘算法決定。

若判定端口為主時鐘,則將周期性地發送 Sync 幀;若判定為從時鐘,則接受 Sync 幀,並計算偏差,糾正本地時鐘。

? 若在該時間段內端口沒有收到 Sync 數據幀,則將狀態變更為主時鐘,並且開始定時發送 Sync 數據幀。

? (3)主時鐘和從時鐘的狀態隨著時鐘性能與運行狀態的變化而變化。下圖展示了 BMCA 中狀態轉移。

? 3、時間同步建立流程:

? 如下圖PTP同步原理

? 如圖所示,Master為網路中的同步時鐘源,可以認為其與UTC或者GPS時無限接近。Slave為網絡中需要被同步設備。假設從Master到Slave的路徑符合對稱路徑,那麽路徑上的延時我們設Delay,然後設備Master和設備Slave之間待同步的時間差值為Offset,即Slave比Master在同壹時刻慢Offset。

? 可以算出

? Slave設備根據算出的Offset即可以進行本地時鐘校準。但是1588V1協議依賴於鏈路的對稱性,即Master到Slave與Slave到Master時延壹致,這在實際網絡狀況下很難滿足,故需要額外的不對稱算法進行鏈路延時差計算和補償校準。

? IEEE1588V2在IEEE1588V1版本上做了改進和擴展。主要包括:

? 1.新增點到點路徑延時測量的獨立消息模式。

端口 A 與端口 B 間的路徑延遲時間 Delay 為

? 在 PTPv1 中,平均路徑延遲測量時通過 Sync 幀與 Delay_Req 幀配合使用的,但是在 PTPv2 中卻不需要 Sync 幀的參與,僅通過 PDelay_Req 數據幀系列來進行測量。這是壹個獨立的延遲測量過程,不依賴 Sync 幀和同步體系建立的參與,使得測量精度有所提高,並且可以經過多次測量求得平均值得到更為準確的路徑延遲。另壹方面,如果網絡中的同步體系發生改變,這時不需要重新計算該節點間的路徑延遲,直接使用之前已測得的延遲數據,大大增強了協議執行的效率,使得協議更為方便靈活。在PTPv2 中,利用 PDelay_req 數據幀系列已成為主要的測量路徑延遲方法。

? 2、新增透明時鐘模型

? 在 PTPv1 中,網絡中間節點均采用邊界時鐘模型。與網絡中唯壹的主時鐘,即壹個普通時鐘連接的邊界時鐘,其上唯壹的從端口接收主節點發送的同步數據幀,與主時鐘實現同步,其余的主端口和與之相連的其他邊界時鐘發送同步數據幀,最後同步到網絡邊緣的普通時鐘,這樣便實現了整個網絡的時間同步。這種方法雖然可行,但是由於這種方式是逐級同步,所以距離主時鐘越遠的節點,同步精度越低。

? 當網絡中的壹些節點不需要進行時鐘同步或者不具備同步功能時,便可采用透明時鐘模型。透明時鐘不像 BC/OC 模式那樣,需要每個節點都與主時鐘進行同步,它的端口只對協議數據幀進行轉發,並將計算出的數據幀滯留時間添加在校正域中。這種方式將 PTP 數據幀的處理變得更為簡單,降低了網絡中 PTP 協議的實施難度,同時提高了各從節點的同步精度。

? 透明時鐘有模型兩種:端對端透明時鐘,和點對點透明時鐘。

? (1)端對端(E2E)透明時鐘

? E2E 透明時鐘對網絡中普通數據幀不做任何處理,僅進行轉達讓其正常通過。但是對於 PTP 事件數據幀,則將他們從接收端口到發送端口間的駐留延遲時間累加到數據幀中的修正域,用以彌補 PTP 數據幀在經過其自身所帶來的延遲誤差。

? (2)點對點(P2P)透明時鐘

? 點對點(P2P)透明時鐘只轉發特定的 PTP 報文,包括 Sync 幀、Follo_Up 幀和Announce 幀等。並且會采用 Pdelay_Req 數據幀系列計算每個端口與所連接的端口間的路徑延遲時間,再與端口間延遲時間合並添加到時間修正域,來補償數據幀從源端口到點對點透明時鐘出端口的時間延遲。

? 3、增加單步時鐘模型

? 單步時鐘模型解決了 Follow_Up 幀與 Sync 幀匹配問題。PTP 協議基本的同步過程采用雙步模式,即主時鐘節點發送 Sync 幀,和帶有 Sync 幀發送時間的Follow_Up幀。這種方式雖然能提高 Sync 幀時間戳標記的精度,提高同步效果,但是在網絡負載較大的情況下,數據幀很有可能發生丟失或者阻塞,造成兩種數據幀的匹配出現差錯。

? 在 PTP 數據幀中設置壹個標誌,來使用單步模式,將 Sync 幀的發送時間與數據幀中的時間標簽的差值作為傳輸延遲,並將其累加到修正域中。這樣主時鐘便通過單獨的 Sync 幀而不需要 Follow_Up 進行時間的同步校準工作。

? 單步模式可以減少網絡流量,提高網絡負載較大時同步的可靠性。單步模式需要額外的輔助硬件,來幫助計算時間修正值並將其累加到校正域中,這對網絡的實時性有比較高的要求。

? BMCA,即最佳主時鐘算法,它選擇網絡中性能最佳的時鐘作為主時鐘,並以

此建立網絡拓撲,生成同步體系,進而實現時鐘同步功能。

? 最佳主時鐘的選取是通過Announce幀在網絡中各節點的傳輸,比較各個節點上的時鐘屬性(比如是否將時鐘指定為主或者從時鐘),用於標識精度的時鐘等級,以及用於標識時鐘源類型的時鐘類型(比如銣鐘、銫鐘等),還有表示時鐘偏移、方差等的時鐘特性、時鐘地址以及時鐘端口號等特征來選擇最佳主時鐘,當其他時鐘特征都壹樣是,協議會將端口號最小的節點時鐘作為主時鐘。IEEE 1588協議會以主時鐘節點作為根節點形成樹形拓撲結構,並且為避免生成回路,那些競爭失敗的節點端口,協議將他們定義為被動或者禁用狀態。

  • 上一篇:PLC與伺服控制
  • 下一篇:新入職簡單大方的自我介紹
  • copyright 2024編程學習大全網