IEEE1588V1-V2理解

IEEE 1588協(xié)議簡單理解

? IEEE 1588 是一個精密時間協(xié)議 (PTP)竭钝,用于同步計算機網(wǎng)絡(luò)中的時鐘。 在局域網(wǎng)中雹洗,它能將時鐘精確度控制在亞微秒范圍內(nèi)香罐,使其適于測量和控制系統(tǒng)。 IEEE 1588 標準為時鐘分配定義了一個主從式架構(gòu)时肿,由一個或多個網(wǎng)段及一個或多個時鐘組成庇茫。
? TSN 網(wǎng)絡(luò)中時間同步協(xié)議使用 IEEE 802.1AS 協(xié)議,它基于 IEEE 1588 協(xié)議進行精簡和修改螃成,也稱為 gPTP 協(xié)議旦签。
? IEEE 1588 協(xié)議簡稱精確時鐘協(xié)議 PTP(Precision Timing Protocol),它的全稱是“網(wǎng)絡(luò)測量和控制系統(tǒng)的精密時鐘同步協(xié)議標準”(IEEE 1588 Precision Clock Synchronization Protocol)寸宏。其工作的基本原理宁炫,是通過主從節(jié)點之間進行同步數(shù)據(jù)幀的發(fā)送,記錄數(shù)據(jù)幀的發(fā)送時間和接收時間信息進行击吱,并且將該時間信息添加到該數(shù)據(jù)幀中淋淀。從節(jié)點獲取這些時間信息,并計算從節(jié)點本地時鐘與主時鐘的時間偏差和網(wǎng)絡(luò)節(jié)點之間的傳輸延時,對本地時鐘進行糾正朵纷,使之與主節(jié)點時鐘同步炭臭。一個 PTP 網(wǎng)絡(luò)只能存在一個主時鐘。
? PTP 協(xié)議主要分為兩大部分來實現(xiàn)時鐘同步功能:
? 1袍辞、建立同步體系:
? 協(xié)議使用最佳主時鐘算法(Best Master Clock Algorithm鞋仍,BMCA),通過選取主時鐘搅吁,建立主從拓撲關(guān)系威创,進而在整個 PTP 網(wǎng)絡(luò)中建立起同步體系。
? 2谎懦、同步本地時鐘:
? 協(xié)議使用本地時鐘同步算法(Local Clock Synchronization Algorithm肚豺,LCS),通過 PTP 數(shù)據(jù)報文在網(wǎng)絡(luò)主從節(jié)點之間的交換界拦,計算各從節(jié)點本地時鐘與主時鐘間的時間偏差吸申,調(diào)整本地時鐘,使之與主時鐘同步享甸。

IEEE 1588v1

? 整個 PTP 網(wǎng)絡(luò)內(nèi)的時鐘可按照其上 PTP 通信端口的數(shù)目來劃分成普通時鐘(Ordinary Clock截碴,OC)與邊界時鐘(Boundary Clock,BC):普通時鐘只存在一個蛉威,而邊界時鐘則存在多個日丹。一般在確定性不高的網(wǎng)絡(luò)節(jié)點處使用邊界時鐘,例如交換機或者路由器一般用作邊界時鐘蚯嫌,如下圖所示哲虾。在每個端口上,PTP 通信都是獨立進行的齐帚。

邊界時鐘的引入.png

? 1妒牙、邊界時鐘:
? 邊界時鐘上只允許存在一個從端口,與上級節(jié)點的主端口通信对妄,將其本地時鐘與級主端口進行同步。其余端口為主端口敢朱,與下游節(jié)點的從端口進行通信剪菱。邊界時鐘可以連接不同的網(wǎng)絡(luò)協(xié)議。
? 2拴签、同步體系建立流程:
? (1)初始狀態(tài)孝常,各個節(jié)點端口會在指定的時間內(nèi)偵聽網(wǎng)絡(luò)中的 Sync 數(shù)據(jù)幀; 若接收到 Sync 數(shù)據(jù)幀蚓哩,節(jié)點端口將根據(jù)最佳主時鐘算法決定端口狀態(tài)构灸。若沒有收到 Sync 數(shù)據(jù)幀,該節(jié)點狀態(tài)變更為 Pre_Master岸梨,并將自己假定為主時鐘節(jié)點喜颁。此時節(jié)點端口狀態(tài)表現(xiàn)為主時鐘稠氮,但是并不發(fā)送 Sync 幀。
? (2)端口狀態(tài)在一定時間內(nèi)保持 Pre_Master:
若在端口指定時間內(nèi)接收到 Sync 數(shù)據(jù)幀半开,則該端口狀態(tài)由最佳主時鐘算法決定隔披。
若判定端口為主時鐘,則將周期性地發(fā)送 Sync 幀寂拆;若判定為從時鐘奢米,則接受 Sync 幀,并計算偏差纠永,糾正本地時鐘鬓长。
? 若在該時間段內(nèi)端口沒有收到 Sync 數(shù)據(jù)幀,則將狀態(tài)變更為主時鐘尝江,并且開始定時發(fā)送 Sync 數(shù)據(jù)幀涉波。
? (3)主時鐘和從時鐘的狀態(tài)隨著時鐘性能與運行狀態(tài)的變化而變化。下圖展示了 BMCA 中狀態(tài)轉(zhuǎn)移茂装。

時鐘同步狀態(tài)轉(zhuǎn)移.png

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

? 如下圖PTP同步原理

PTP同步原理.png

? 如圖所示,Master為網(wǎng)路中的同步時鐘源少态,可以認為其與UTC或者GPS時無限接近城侧。Slave為網(wǎng)絡(luò)中需要被同步設(shè)備。假設(shè)從Master到Slave的路徑符合對稱路徑彼妻,那么路徑上的延時我們設(shè)Delay嫌佑,然后設(shè)備Master和設(shè)備Slave之間待同步的時間差值為Offset,即Slave比Master在同一時刻慢Offset侨歉。

T2=Offset+Delay+T1

T4=T3-Offset+Delay

? 可以算出

Delay=[(T2-T1)+(T4-T3)]/2

Offset=[(T2-T1)-(T4-T3)]/2

? Slave設(shè)備根據(jù)算出的Offset即可以進行本地時鐘校準屋摇。但是1588V1協(xié)議依賴于鏈路的對稱性,即Master到Slave與Slave到Master時延一致幽邓,這在實際網(wǎng)絡(luò)狀況下很難滿足炮温,故需要額外的不對稱算法進行鏈路延時差計算和補償校準。

IEEE 1588v2

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

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

點對點延時測量原理.png

端口 A 與端口 B 間的路徑延遲時間 Delay 為
Delay=(tab+tba)/2

Delay=(T4-T1-(T3-T2))/2

? 在 PTPv1 中,平均路徑延遲測量時通過 Sync 幀與 Delay_Req 幀配合使用的畸颅,但是在 PTPv2 中卻不需要 Sync 幀的參與担巩,僅通過 PDelay_Req 數(shù)據(jù)幀系列來進行測量。這是一個獨立的延遲測量過程没炒,不依賴 Sync 幀和同步體系建立的參與涛癌,使得測量精度有所提高,并且可以經(jīng)過多次測量求得平均值得到更為準確的路徑延遲。另一方面拳话,如果網(wǎng)絡(luò)中的同步體系發(fā)生改變先匪,這時不需要重新計算該節(jié)點間的路徑延遲,直接使用之前已測得的延遲數(shù)據(jù)假颇,大大增強了協(xié)議執(zhí)行的效率胚鸯,使得協(xié)議更為方便靈活。在PTPv2 中笨鸡,利用 PDelay_req 數(shù)據(jù)幀系列已成為主要的測量路徑延遲方法姜钳。
? 2、新增透明時鐘模型
? 在 PTPv1 中形耗,網(wǎng)絡(luò)中間節(jié)點均采用邊界時鐘模型哥桥。與網(wǎng)絡(luò)中唯一的主時鐘,即一個普通時鐘連接的邊界時鐘激涤,其上唯一的從端口接收主節(jié)點發(fā)送的同步數(shù)據(jù)幀拟糕,與主時鐘實現(xiàn)同步,其余的主端口和與之相連的其他邊界時鐘發(fā)送同步數(shù)據(jù)幀倦踢,最后同步到網(wǎng)絡(luò)邊緣的普通時鐘送滞,這樣便實現(xiàn)了整個網(wǎng)絡(luò)的時間同步。這種方法雖然可行辱挥,但是由于這種方式是逐級同步犁嗅,所以距離主時鐘越遠的節(jié)點,同步精度越低晤碘。
? 當網(wǎng)絡(luò)中的一些節(jié)點不需要進行時鐘同步或者不具備同步功能時褂微,便可采用透明時鐘模型。透明時鐘不像 BC/OC 模式那樣园爷,需要每個節(jié)點都與主時鐘進行同步宠蚂,它的端口只對協(xié)議數(shù)據(jù)幀進行轉(zhuǎn)發(fā),并將計算出的數(shù)據(jù)幀滯留時間添加在校正域中童社。這種方式將 PTP 數(shù)據(jù)幀的處理變得更為簡單求厕,降低了網(wǎng)絡(luò)中 PTP 協(xié)議的實施難度,同時提高了各從節(jié)點的同步精度扰楼。
? 透明時鐘有模型兩種:端對端透明時鐘甘改,和點對點透明時鐘。
? (1)端對端(E2E)透明時鐘
? E2E 透明時鐘對網(wǎng)絡(luò)中普通數(shù)據(jù)幀不做任何處理灭抑,僅進行轉(zhuǎn)達讓其正常通過。但是對于 PTP 事件數(shù)據(jù)幀抵代,則將他們從接收端口到發(fā)送端口間的駐留延遲時間累加到數(shù)據(jù)幀中的修正域腾节,用以彌補 PTP 數(shù)據(jù)幀在經(jīng)過其自身所帶來的延遲誤差。
? (2)點對點(P2P)透明時鐘
? 點對點(P2P)透明時鐘只轉(zhuǎn)發(fā)特定的 PTP 報文,包括 Sync 幀案腺、Follo_Up 幀和Announce 幀等庆冕。并且會采用 Pdelay_Req 數(shù)據(jù)幀系列計算每個端口與所連接的端口間的路徑延遲時間,再與端口間延遲時間合并添加到時間修正域劈榨,來補償數(shù)據(jù)幀從源端口到點對點透明時鐘出端口的時間延遲访递。
? 3、增加單步時鐘模型
? 單步時鐘模型解決了 Follow_Up 幀與 Sync 幀匹配問題同辣。PTP 協(xié)議基本的同步過程采用雙步模式拷姿,即主時鐘節(jié)點發(fā)送 Sync 幀,和帶有 Sync 幀發(fā)送時間的Follow_Up幀旱函。這種方式雖然能提高 Sync 幀時間戳標記的精度响巢,提高同步效果,但是在網(wǎng)絡(luò)負載較大的情況下棒妨,數(shù)據(jù)幀很有可能發(fā)生丟失或者阻塞踪古,造成兩種數(shù)據(jù)幀的匹配出現(xiàn)差錯。
? 在 PTP 數(shù)據(jù)幀中設(shè)置一個標志券腔,來使用單步模式伏穆,將 Sync 幀的發(fā)送時間與數(shù)據(jù)幀中的時間標簽的差值作為傳輸延遲,并將其累加到修正域中纷纫。這樣主時鐘便通過單獨的 Sync 幀而不需要 Follow_Up 進行時間的同步校準工作枕扫。
? 單步模式可以減少網(wǎng)絡(luò)流量,提高網(wǎng)絡(luò)負載較大時同步的可靠性涛酗。單步模式需要額外的輔助硬件铡原,來幫助計算時間修正值并將其累加到校正域中,這對網(wǎng)絡(luò)的實時性有比較高的要求商叹。

BMCA

? BMCA燕刻,即最佳主時鐘算法,它選擇網(wǎng)絡(luò)中性能最佳的時鐘作為主時鐘剖笙,并以
此建立網(wǎng)絡(luò)拓撲卵洗,生成同步體系,進而實現(xiàn)時鐘同步功能弥咪。
? 最佳主時鐘的選取是通過Announce幀在網(wǎng)絡(luò)中各節(jié)點的傳輸过蹂,比較各個節(jié)點上的時鐘屬性(比如是否將時鐘指定為主或者從時鐘),用于標識精度的時鐘等級聚至,以及用于標識時鐘源類型的時鐘類型(比如銣鐘酷勺、銫鐘等),還有表示時鐘偏移扳躬、方差等的時鐘特性脆诉、時鐘地址以及時鐘端口號等特征來選擇最佳主時鐘甚亭,當其他時鐘特征都一樣是,協(xié)議會將端口號最小的節(jié)點時鐘作為主時鐘击胜。IEEE 1588協(xié)議會以主時鐘節(jié)點作為根節(jié)點形成樹形拓撲結(jié)構(gòu)亏狰,并且為避免生成回路,那些競爭失敗的節(jié)點端口偶摔,協(xié)議將他們定義為被動或者禁用狀態(tài)暇唾。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市辰斋,隨后出現(xiàn)的幾起案子策州,更是在濱河造成了極大的恐慌,老刑警劉巖亡呵,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件抽活,死亡現(xiàn)場離奇詭異,居然都是意外死亡锰什,警方通過查閱死者的電腦和手機下硕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來汁胆,“玉大人梭姓,你說我怎么就攤上這事∧勐耄” “怎么了誉尖?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長铸题。 經(jīng)常有香客問我铡恕,道長,這世上最難降的妖魔是什么丢间? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任探熔,我火速辦了婚禮,結(jié)果婚禮上烘挫,老公的妹妹穿的比我還像新娘诀艰。我一直安慰自己,他們只是感情好饮六,可當我...
    茶點故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布其垄。 她就那樣靜靜地躺著,像睡著了一般卤橄。 火紅的嫁衣襯著肌膚如雪绿满。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天窟扑,我揣著相機與錄音棒口,去河邊找鬼寄月。 笑死,一個胖子當著我的面吹牛无牵,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播厂抖,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼茎毁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了忱辅?” 一聲冷哼從身側(cè)響起七蜘,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎墙懂,沒想到半個月后橡卤,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡损搬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年碧库,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片巧勤。...
    茶點故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡嵌灰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出颅悉,到底是詐尸還是另有隱情沽瞭,我是刑警寧澤,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布剩瓶,位于F島的核電站驹溃,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一陋桂、第九天 我趴在偏房一處隱蔽的房頂上張望右核。 院中可真熱鬧,春花似錦枝恋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至擦酌,卻和暖如春俱诸,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背赊舶。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工睁搭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留赶诊,地道東北人。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓园骆,卻偏偏與公主長得像舔痪,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子锌唾,可洞房花燭夜當晚...
    茶點故事閱讀 44,647評論 2 354

推薦閱讀更多精彩內(nèi)容