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