PTP技術介紹


PTP

PTP簡介

在通信網絡中,許多業務的正常運行都要求網絡時鍾同步,即整個網絡各設備之間的時間或頻率差保持在合理的誤差水平內。網絡時鍾同步包括以下兩個概念:

l              時間同步:也叫相位同步(Phase synchronization),是指信號之間的頻率和相位都保持一致,即信號之間的相位差恒為零。

l              頻率同步(Frequency synchronization):也叫時鍾同步,是指信號之間在頻率或相位上保持某種嚴格的特定關係,信號在其對應的有效瞬間以同一平均速率出現,以保證通信網絡中的所有設備都以相同的速率運行,即信號之間保持恒定的相位差。

圖 1 時間同步和頻率同步示意圖

 

1所示,有兩個表Watch AWatch B,如果這兩個表的時間每時每刻都保持一致,這個狀態就是時間同步;如果這兩個表的時間不一致,但保持一個恒定的差值(如圖中的Watch B總比Watch A6個小時),這個狀態就是頻率同步。

PTPPrecision Time Protocol,精確時間協議)是一種時間同步的協議,其本身隻是用於設備之間的高精度時間同步,但也可被借用於設備之間的頻率同步。相比現有的各種時間同步機製,PTP具備以下優勢:

l              相比NTPNetwork Time Protocol,網絡時間協議),PTP能夠滿足更高精度的時間同步要求:NTP一般隻能達到亞秒級的時間同步精度,而PTP則可達到亞微秒級。

l              相比GPSGlobal Positioning System,全球定位係統),PTP具備更低的建設和維護成本,並且由於可以擺脫對GPS的依賴,在國家安全方麵也具備特殊的意義。

H3C的設備目前隻支持PTP的時間同步功能,而不支持頻率同步功能。本文隻介紹PTP時間同步的相關概念和原理。

 

PTP基本概念

1. PTP

我們將應用了PTP協議的網絡稱為PTP域。PTP域內有且隻有一個同步時鍾,域內的所有設備都與該時鍾保持同步。

2. PTP端口

我們將設備上運行了PTP協議的端口稱為PTP端口。如 2所示,PTP端口的角色可分為以下三種:

l              主端口(Master Port):發布同步時間的端口,可存在於BCOC上。

l              從端口(Slave Port):接收同步時間的端口,可存在於BCOC上。

l              被動端口(Passive Port):既不接收同步時間、也不對外發布同步時間的端口,隻存在於BC上。

3. 時鍾節點

PTP域中的節點稱為時鍾節點,PTP協議定義了以下三種類型的基本時鍾節點:

(1)        OCOrdinary Clock,普通時鍾):該時鍾節點在同一個PTP域內隻有一個PTP端口參與時間同步,並通過該端口從上遊時鍾節點同步時間。此外,當時鍾節點作為時鍾源時,可以隻通過一個PTP端口向下遊時鍾節點發布時間,我們也稱其為OC

(2)        BCBoundary Clock,邊界時鍾):該時鍾節點在同一個PTP域內擁有多個PTP端口參與時間同步。它通過其中一個端口從上遊時鍾節點同步時間,並通過其餘端口向下遊時鍾節點發布時間。此外,當時鍾節點作為時鍾源時,可以通過多個PTP端口向下遊時鍾節點發布時間的,我們也稱其為BC,如 2中的BC 1

(3)        TCTransparent clock,透明時鍾):與BC/OC相比,BC/OC需要與其它時鍾節點保持時間同步,而TC則不與其它時鍾節點保持時間同步。TC有多個PTP端口,但它隻在這些端口間轉發PTP協議報文並對其進行轉發延時校正,而不會通過任何一個端口同步時間。TC包括以下兩種類型:

l              E2ETCEnd-to-End Transparent Clock,端到端透明時鍾):直接轉發網絡中非P2PPeer-to-Peer,點到點)類型的協議報文,並參與計算整條鏈路的延時。

l              P2PTCPeer-to-Peer Transparent Clock,點到點透明時鍾):隻直接轉發Sync報文、Follow_Up報文和Announce報文,而終結其它PTP協議報文,並參與計算整條鏈路上每一段鏈路的延時。

2所示,是上述三種基本時鍾節點在PTP域中的位置。

圖 2 基本時鍾節點示意圖

 

除了上述三種基本時鍾節點以外,還有一些混合時鍾節點,譬如融合了TCOC各自特點的TC+OC:它在同一個PTP域內擁有多個PTP端口,其中一個端口為OC類型,其它端口則為TC類型。一方麵,它通過TC類型的端口轉發PTP協議報文並對其進行轉發延時校正;另一方麵,它通過OC類型的端口進行時間的同步。與TC的分類類似,TC+OC也包括兩種類型:E2ETC+OCP2PTC+OC

4. 主從關係

主從關係(Master-Slave)是相對而言的,對於相互同步的一對時鍾節點來說,存在如下主從關係:

l              發布同步時間的節點稱為主節點,而接收同步時間的節點則稱為從節點。

l              主節點上的時鍾稱為主時鍾,而從節點上的時鍾則稱為從時鍾。

l              發布同步時間的端口稱為主端口,而接收同步時間的端口則稱為從端口。

5. 最優時鍾

2所示,PTP域中所有的時鍾節點都按一定層次組織在一起,整個域的參考時間就是最優時鍾(Grandmaster ClockGM),即最高層次的時鍾。通過各時鍾節點間PTP協議報文的交互,最優時鍾的時間最終將被同步到整個PTP域中,因此也稱其為時鍾源。

最優時鍾可以通過手工配置靜態指定,也可以通過BMCBest Master Clock,最佳主時鍾)協議動態選舉,動態選舉的過程如下:

(1)        各時鍾節點之間通過交互的Announce報文中所攜帶的最優時鍾優先級、時間等級、時間精度等信息,最終選出一個節點作為PTP域的最優時鍾,與此同時,各節點之間的主從關係以及各節點上的主從端口也確定了下來。通過這個過程,整個PTP域中建立起了一棵無環路、全連通,並以最優時鍾為根的生成樹。

(2)        此後,主節點會定期發送Announce報文給從節點,如果在一段時間內,從節點沒有收到主節點發來的Announce報文,便認為該主節點失效,於是重新進行最優時鍾的選擇。

PTP同步原理

PTP同步的基本原理如下:主、從時鍾之間交互同步報文並記錄報文的收發時間,通過計算報文往返的時間差來計算主、從時鍾之間的往返總延時,如果網絡是對稱的(即兩個方向的傳輸延時相同),則往返總延時的一半就是單向延時,這個單向延時便是主、從時鍾之間的時鍾偏差,從時鍾按照該偏差來調整本地時間,就可以實現其與主時鍾的同步。

PTP協議定義了兩種傳播延時測量機製:請求應答(Requset_Response)機製和端延時(Peer Delay)機製,且這兩種機製都以網絡對稱為前提。

1. 請求應答機製

圖 3 請求應答機製實現過程

 

請求應答方式用於端到端的延時測量。如 3所示,其實現過程如下:

(1)        主時鍾向從時鍾發送Sync報文,並記錄發送時間t1;從時鍾收到該報文後,記錄接收時間t2

(2)        主時鍾發送Sync報文之後,緊接著發送一個攜帶有t1Follow_Up報文。

(3)        從時鍾向主時鍾發送Delay_Req報文,用於發起反向傳輸延時的計算,並記錄發送時間t3;主時鍾收到該報文後,記錄接收時間t4

(4)        主時鍾收到Delay_Req報文之後,回複一個攜帶有t4Delay_Resp報文。

此時,從時鍾便擁有了t1t4這四個時間戳,由此可計算出主、從時鍾間的往返總延時為[(t2 – t1) + (t4 – t3)]由於網絡是對稱的,所以主、從時鍾間的單向延時為[(t2 – t1) + (t4 – t3)] / 2。因此,從時鍾相對於主時鍾的時鍾偏差為:Offset = (t2 – t1) - [(t2 – t1) + (t4 – t3)] / 2 = [(t2 – t1) - (t4 – t3) ] / 2

此外,根據是否需要發送Follow_Up報文請求應答機製又分為單步模式和雙步模式兩種:

l              在單步模式下,Sync報文的發送時間戳t1Sync報文自己攜帶,不發送Follow_Up報文。

l              在雙步模式下,Sync報文的發送時間戳t1Follow_Up報文攜帶。

3以雙步模式為例來說明請求應答機製的實現過程。

 

2. 端延時機製

圖 4 端延時機製實現過程

 

與請求應答機製相比,端延時機製不僅對轉發延時進行扣除,還對上遊鏈路的延時進行扣除。如 4所示,其實現過程如下:

(1)        主時鍾向從時鍾發送Sync報文,並記錄發送時間t1;從時鍾收到該報文後,記錄接收時間t2

(2)        主時鍾發送Sync報文之後,緊接著發送一個攜帶有t1Follow_Up報文。

(3)        從時鍾向主時鍾發送Pdelay_Req報文,用於發起反向傳輸延時的計算,並記錄發送時間t3;主時鍾收到該報文後,記錄接收時間t4

(4)        主時鍾收到Pdelay_Req報文之後,回複一個攜帶有t4Pdelay_Resp報文,並記錄發送時間t5;從時鍾收到該報文後,記錄接收時間t6

(5)        主時鍾回複Pdelay_Resp報文之後,緊接著發送一個攜帶有t5Pdelay_Resp_Follow_Up報文。

此時,從時鍾便擁有了t1t6這六個時間戳,由此可計算出主、從時鍾間的往返總延時為[(t4 – t3) + (t6 – t5)]由於網絡是對稱的,所以主、從時鍾間的單向延時為[(t4 – t3) + (t6 – t5)] / 2。因此,從時鍾相對於主時鍾的時鍾偏差為:Offset = (t2 – t1) - [(t4 – t3) + (t6 – t5)] / 2

此外,根據是否需要發送Follow_Up報文端延時機製也分為單步模式和雙步模式兩種:

l              在單步模式下Sync報文的發送時間戳t1Sync報文自己攜帶不發送Follow_Up報文t5t4差值由Pdelay_Resp報文攜帶不發送Pdelay_Resp_Follow_Up報文。

l              在雙步模式下Sync報文的發送時間戳t1Follow_Up報文攜帶t4t5分別由Pdelay_Resp報文和Pdelay_Resp_Follow_Up報文攜帶。

4以雙步模式為例來說明端延時機製的實現過程。

 

附件下載

聯係我們