1、 方案概述
PTP(Precision Time Protocol,精確時間協議)是一種時間同步的協議,其協議標準為IEEE1588,IEEE1588的全稱是“網絡測量和控制系統的精密時鐘同步協議標準”;由網絡時間協議(NTP)發展而來,但NTP的同步準確度最好只能達到200us,隨著測量儀器和工業控制對準確度的要求越來越高,為了解決測量和控制應用的分布網絡定時同步的需要。
2、 方案原理
PTP同步的基本原理如下:主、從時鐘之間交互同步報文并記錄報文的收發時間,通過計算報文往返的時間差來計算主、從時鐘之間的往返總延時,如果網絡是對稱的(即兩個方向的傳輸延時相同),則往返總延時的一半就是單向延時,這個單向延時便是主、從時鐘之間的時鐘偏差,從時鐘按照該偏差來調整本地時間,就可以實現其與主時鐘的同步。
PTP 協議定義了兩種傳播延時測量機制:
? 請求應答(Request-Response)機制,即E2E延時機制。
? 端延時(Peer-Delay)機制,即P2P延時機制。
1.1 請求應答機制
請求應答機制實現過程(雙步模式)
(1) 主時鐘向從時鐘發送Sync報文,并在本地記錄發送時間t1;從時鐘收到該報文后,記錄接收時間t2。
(2) 主時鐘發送Sync報文之后,緊接著發送一個攜帶有t1的Follow_Up報文。
(3) 從時鐘向主時鐘發送Delay_Req報文,用于發起反向傳輸延時的計算,并在本地記錄發送時間t3;主時鐘收到該報文后,記錄接收時間t4。
(4) 主時鐘收到Delay_Req報文之后,回復一個攜帶有t4的Delay_Resp報文。
此時,從時鐘便擁有了t1~t4這四個時間戳,由此可計算出主、從時鐘間的往返總延時為[(t2 – t1) +(t4 – t3)],由于網絡是對稱的,所以主、從時鐘間的單向延時為[(t2 – t1) + (t4 – t3)] / 2。因此,從時鐘相對于主時鐘的時鐘偏差為:Offset = (t2 – t1) - [(t2 – t1) + (t4 – t3)] / 2 = [(t2 – t1) - (t4 – t3) ] /2。
此外,根據是否需要發送Follow_Up報文,請求應答機制又分為單步模式和雙步模式兩種:
? 單步模式下,Sync報文的發送時間戳t1由Sync報文自己攜帶,不發送Follow_Up 報文。
? 雙步模式下,Sync報文的發送時間戳t1由Follow_Up報文攜帶。
1.2 端延時機制
圖表 SEQ 圖表 \* ARABIC 3 端延時機制實現過程(雙步模式)
與請求應答機制相比,端延時機制不僅對轉發延時進行扣除,還對上游鏈路的延時進行扣除。如圖“端延時機制實現過程”所示,其實現過程如下:
(1) 主時鐘向從時鐘發送Sync 報文,并記錄發送時間t1;從時鐘收到該報文后,記錄接收時間t2。
(2) 主時鐘發送Sync 報文之后,緊接著發送一個攜帶有t1 的Follow_Up報文。
(3) 從時鐘向主時鐘發送Pdelay_Req報文,用于發起反向傳輸延時的計算,并記錄發送時間t3,主時鐘收到該報文后,記錄接收時間t4。
(4) 主時鐘收到Pdelay_Req報文之后,回復一個攜帶有t4 的Pdelay_Resp報文,并記錄發送時間t5;從時鐘收到該報文后,記錄接收時間t6。
(5) 主時鐘回復Pdelay_Resp報文之后,緊接著發送一個攜帶有t5的Pdelay_Resp_Follow_Up報文。
此時,從時鐘便擁有了t1~t6 這六個時間戳,由此可計算出主、從時鐘間的往返總延時為[(t4 – t3) + (t6 – t5)],由于網絡是對稱的,所以主、從時鐘間的單向延時為[(t4 – t3) + (t6 – t5)] / 2。因此,從時鐘相對于主時鐘的時鐘偏差為:Offset = (t2 – t1) - [(t4 – t3) + (t6 – t5)] / 2。
此外,根據是否需要發送Follow_Up報文,端延時機制也分為單步模式和雙步模式兩種:
? 單步模式下,Sync報文的發送時間戳t1由Sync報文自己攜帶,不發送Follow_Up 報文;而t5和t4的差值由Pdelay_Resp報文攜帶,不發送Pdelay_Resp_Follow_Up 報文。
? 雙步模式下,Sync報文的發送時間戳t1由Follow_Up報文攜帶,而t4和t5則分別由Pdelay_Resp報文和Pdelay_Resp_Follow_Up報文攜帶。