一、什么是PTP
PTP 是一種主從同步系統,一般采用硬件時間戳,并配合一些對NTP更高精度的延時測量算法,可達到30納秒左右的偏差精度。
PTP 最常用的是直接在 MAC 層進行 PTP 協議包分析 , 這樣可以不經過UDP 協議棧 , 減少PTP 在協議棧中駐留時間 , 提高同步的精確度。
PTP 也可以承載在 UDP 上時 , 軟件可以采用 SOCKET 進行收發 UDP包 , 事件消息的 UDP 端口號 319 , 普通消息的組播端口號為 320 ,但其精度就大大降低。
在物理硬件要求主從端都是PTP設備,且網絡不能太大,其中間經過的交換機設備也必須支持PTP協議,并且主從時間網絡鏈路唯一,不存在交替的PTP通道。
一般在實際使用中,現有的NTP可以達到5ms以內的精度,對一般的應用都是滿足的;非超高精度設備,不建議使用PTP設備。
二、PTP的一些名詞
PTP域中的節點稱為時鐘節點,PTP協議定義了以下三種類型的基本時鐘節點:
OC(Ordinary Clock,普通時鐘):只有一個PTP通信端口的時鐘是普通時鐘。
BC(Boundary Clock,邊界時鐘):有一個以上PTP通信端口的時鐘。
TC(Transparentclock,透明時鐘):與BC/OC相比,BC/OC需要與其它時鐘節點保持時間同步,而TC則不與其它時鐘節點保持時間同步。TC有多個PTP端口,但它只在這些端口間轉發PTP協議報文并對其進行轉發延時校正,而不會通過任何一個端口同步時間。TC包括以下兩種類型:
E2ETC(End-to-End TransparentClock,端到端透明時鐘):直接轉發網絡中非P2P(Peer-to-Peer,點到點)類型的協議報文,并參與計算整條鏈路的延時。
P2PTC(Peer-to-PeerTransparent Clock,點到點透明時鐘):只直接轉發Sync報文、Follow_Up報文和Announce報文,而終結其它PTP協議報文,并參與計算整條鏈路上每一段鏈路的延時。
一般鏈式的P2P網絡選擇E2E-TC,而從鐘節點較多的網絡考慮P2P-TC。因在 P2P 延時測量機制中,延時報文交互是在每條鏈路的兩個端口間進行的,主鐘只與直接相連的網絡交換設備有延時報文交互,因此在 P2P TC 的延時測量機制中,沒有對從鐘數量的限制。
主時鐘:一個PTP通信子網中只能有一個主時鐘。
PTP端口有九種狀態主站,從站,待機,未校正,監聽,禁止,初始化,故障
三、PTP報文
PTP協議定義了4種多點傳送的報文類型和管理報文,包括同步報文(Sync),跟隨報文(Follow_up),延遲請求報文(Delay_Req),延遲應答報文(Delay_Resp)和管理報文。
報文有一般報文和事件報文兩種類型。跟隨報文和延遲應答報文屬于一般報文,一般報文本身不進行時戳處理,它可以攜帶事件報文的準確發送或接收時刻值信息。同步報文和延遲請求報文屬于事件報文,事件報文是時間敏感消息,需要加蓋精確的時間戳。
這些報文的交互順序下圖所示。
同步報文是從主時鐘周期性發出的(一般為每兩秒一次),它包含了主時鐘算法所需的時鐘屬性,它包含了一個時間戳,精確地描述了數據包發出的預計時間。
Sync: 同步消息 , 由主設備發送給從設備 , 消息中可以包含 Sync 發送時間標簽 , 也可以在后續的Follow UP 消息中包含 ;
Delay Req: 請求對端返回接收到 Delay Req消息時的時間標簽 , 時間標簽嵌入在響應消息Delay Resp ;
Pdelay req: 用于發起鏈路延時測量請求 , 帶發送時間標簽。
普通消息沒有時間標簽 , 主要用于傳遞其他消息的發送時間標簽、系統狀態以及管理信息 , 包括 :
Announce: 廣播發送節點和高級主鐘的狀態和特征信息 ;
Follow Up : 用于傳送Sync 消息的發送時間 ;
Delay Resp : 對 Pdelayreq 的響應 , 可以帶發送時間標簽 , 如果沒有帶由隨后的 Pdelay RespFollow Up 傳送 ;
Pdelay Resp Follow Up : 用于傳送 DelayResp 的發送時間 ;
Management : 傳輸用于管理時鐘設備的的信息以及命令 ;Signaling: 在不同時鐘之間傳送信息、請求以及命令。
Signaling: 在不同時鐘之間傳送信息、請求以及命令。
掃一掃咨詢微信客服