IEEE1588及其測試方法簡介
IEEE1588定義了為網(wǎng)絡測量和控制系統(tǒng)提供精確時鐘同步協(xié)議的標準,運營商、電力、制造、運輸?shù)雀鞔笮袠I(yè)的部分系統(tǒng)都需要一個能在低成本、易部署的以太網(wǎng)上為其提供高精度時鐘同步的方法,IEEE1588能滿足此需求??梢灶A見,IEEE1588將是這些業(yè)務系統(tǒng)的重要組成部分,在部署它之前需要對設備能力進行充分的測試,以確保滿足業(yè)務要求。
IEEE1588分為兩個版本,本文參照版本2——IEEE Std 1588-2008。
2 IEEE1588基本原理
2.1 IEEE1588幾個基本概念
●域(Domain)是一個邏輯概念,屬于同一個域的設備之間進行信息同步,不同域之間不需要同步。
●普通時鐘(Ordinary Clock),在一個域中只有一個運行PTP協(xié)議的端口,既可以是主時鐘,也可以是從時鐘。
●邊界時鐘(Boundary Clock),在一個域中有多個運行PTP協(xié)議的端口,可以同時是主時鐘和從時鐘。
●端到端(End-to-end)E2E透明時鐘,位于主從時鐘之間,計算自身的駐留時間并累加到報文的修正域中。
●點到點(Peer-to-peer)P2P透明時鐘,位于主從時鐘之間,計算點到點鏈路時延和自身的駐留時間并累加到報文的修正域中。
2.2 主從關(guān)系的建立
在一個域中,普通時鐘和邊界時鐘的每個端口都有各自獨立的狀態(tài),各個端口通過最佳主時鐘算法(BMC,Best Master Clock algorithm),比較收到的宣告(Announce)報文內(nèi)容以及自身配置,計算端口狀態(tài),狀態(tài)包括主、從、消極(既不是主時鐘,也不向主時鐘同步,出現(xiàn)在環(huán)路情況下),BMC算法在一個網(wǎng)段上只會選擇一個主設備。此外,一個域中還存在一個超級主時鐘(Grandmaster Clock),其它設備的都直接或間接向其同步。一個域中會達到一個相對穩(wěn)定的狀態(tài),具體參見圖1。
圖1 主從關(guān)系的建立
2.3 PTP協(xié)議報文交互
PTP協(xié)議是IEEE1588的核心協(xié)議,設備之間通過運行PTP協(xié)議,交互PTP報文,實現(xiàn)時間和頻率的同步。普通的PTP協(xié)議交互步驟如下(見圖2):
圖2 PTP協(xié)議報文交互
●主設備會發(fā)送sync報文,如果報文中包括發(fā)送此報文的時間戳且不再發(fā)Follow_up報文則稱作一步時鐘,如果隨后再發(fā)送個Follow_up報文記錄發(fā)送Sync報文的精確時間戳則稱為兩步時鐘(一步時鐘對芯片的精度要求更高),從設備收到這一個或兩個報文后記錄下兩個時間t1(Sync發(fā)出時間),t2(從設備收到Sync報文時間)。
●從設備在t3時刻發(fā)送時延請求報文,主設備在t4時刻收到此報文,并將此時間戳放在時延響應報文中發(fā)給從設備,從設備此時又記錄下了t3和t4。
2.4 同步計算方法
IEEE1588有個前提:主從設備之間的雙向時延需要相對穩(wěn)定(IEEE1588支持雙向時延不同,可以通過異步時延(Delay Asymmetry)進行修正,但仍要求雙向時延穩(wěn)定,Delay Asymmetry的測量不在IEEE1588標準中規(guī)定,需要通過其它方法測出雙向的時延。在普通以太網(wǎng)的鏈路上基本能夠滿足此要求,但以太網(wǎng)設備如路由器交換機等則很難滿足,在設備出現(xiàn)擁塞時會將一部分報文緩存,引入了不確定的報文在設備內(nèi)駐留的時間,但報文從相反方向進入設備時可能沒有擁塞,這樣雙向時延有可能相差很大,所以PTP協(xié)議最好不要跨越不感知PTP報文的路由器或交換機來同步時鐘。
當從設備知道了4個時間后就計算出了從設備與主設備之間的傳輸時延,Delay=[(t2-t1)+(t4-t3)]/2。從設備與主設備的時間偏差為Offset=t2-(t1+Delay)=[(t2-t1)-(t4-t3)]/2。從設備根據(jù)計算出來的偏差修改本地時間,完成了時鐘同步。
在多跳組網(wǎng)環(huán)境中通過,相連的兩臺設備建立主從關(guān)系,將時鐘一跳一跳同步下去,這樣精度會隨著跳數(shù)增加顯著降低,積累誤差逐漸增加,而PTP跨越不感知PTP報文的設備也會使精度降低,這樣就產(chǎn)生了一個問題,如何在多跳的大型網(wǎng)絡中進行高精度的同步時鐘,解決方法就是引入透明時鐘。透明時鐘用來減少網(wǎng)絡抖動的影響,進行非對稱性修正,透明時鐘沒有主從狀態(tài),能夠減少大型網(wǎng)絡中的積累誤差。透明時鐘包括端到端(E2E)透明時鐘和點到點(P2P)透明時鐘。
2.5 E2E透明時鐘
E2E可以理解為對直連模式的擴展,允許主設備和從設備之間有多臺設備,但這些設備需要感知PTP報文,即作為E2E透明時鐘。E2E透明時鐘設備需要在報文中將該報文在設備里的駐留時間累加到修正域中,對所有經(jīng)過的PTP報文都進行此操作。在普通PTP報文交互的基礎(chǔ)上,增加了兩個數(shù)值,一個是報文從主設備到從設備的時間修正值c1(可以經(jīng)過任意跳E2E透明時鐘,最終得到的值),另一個是反向時間修正值c2,此時Delay=[(t2-t1-c1)+(t4-t3-c2)]/2,從設備與主設備的時間偏差為Offset=t2-t1-Delay-c1(此處只介紹了一步時鐘的情況,兩步時鐘參見標準)。簡單的說E2E模式下把主設備和從設備之間的不穩(wěn)定的駐留時間扣除,利用穩(wěn)定的雙向傳輸時間之和除以二來計算Delay,之后再進行同步。
2.6 P2P透明時鐘
P2P對協(xié)議流程進行了優(yōu)化,不只計算駐留時間,還計算出了鏈路時延,并把二者加在一起放到修正域中,逐跳傳播累加,直到從設備。當從設備收到Sync報文時已經(jīng)知道了總的傳輸時間和駐留時間,這樣就可以直接計算出Offset并同步了,不用再發(fā)送時延請求,主設備也不用再回應時延應答了。P2P透明時鐘通過和其相連的PTP設備交互對端時延請求報文和對端時延響應報文,能夠知道4個時間t1,t2,t3,t4,通過Delay=[(t2-t1)+(t4-t3)]/2的計算方法算出鏈路時延(見圖3)。
圖3 P2P透明時鐘
E2E透明時鐘會修正和轉(zhuǎn)發(fā)所有的PTP報文,P2P透明時鐘只修正和轉(zhuǎn)發(fā)Sync和Follow_up報文。P2P時鐘的特點是Sync和Follow_up報文只需單向(主設備向從設備)傳播,不需要反向(從設備向主設備)的時延請求和確認,網(wǎng)絡中兩臺設備之間的鏈路時延已經(jīng)計算出,這樣網(wǎng)絡路徑切換后從時鐘能夠快速在新路徑上完成時鐘同步。
2.7 各種時鐘模式適用的網(wǎng)絡拓撲
時鐘模式適用的網(wǎng)絡拓撲并不是絕對的,需綜合考慮網(wǎng)絡特點、設備支持的IEEE1588功能等,在降低管理維護難度的同時,確保時鐘同步準確、穩(wěn)定。
(1)層次化網(wǎng)絡拓撲
這種拓撲的網(wǎng)絡結(jié)構(gòu)扁平,邊界時鐘數(shù)量少,普通時鐘數(shù)量多,時鐘同步的級數(shù)少,不需要引入透明時鐘,用普通的主從時鐘方式即可(見圖4)。
圖4 層次化網(wǎng)絡拓撲
(2)線性網(wǎng)絡拓撲
這種拓撲的網(wǎng)絡層級較多,但是為線性結(jié)構(gòu),此時中間設備可以作為E2E透明時鐘,邊界時鐘或普通時鐘設備和每個普通時鐘設備之間均需要建立主從關(guān)系(見圖5)。
圖5 線性網(wǎng)絡拓撲
(3)多鏈接網(wǎng)絡拓撲
這種拓撲為網(wǎng)狀或部分網(wǎng)狀結(jié)構(gòu),存在很多冗余鏈路(PTP協(xié)議不能防止也不支持環(huán)路,需要依賴路由或生成樹協(xié)議提供一個單路徑環(huán)境),此時中間設備可以作為P2P透明時鐘,邊界時鐘或普通時鐘設備和每個普通時鐘設備之間均需要建立主從關(guān)系。此網(wǎng)絡拓撲部署P2P透明時鐘能夠利用其快速完成重計算的優(yōu)點(見圖6)。
圖6 多鏈接網(wǎng)絡拓撲
3 測試方法
(1)測試內(nèi)容
●精度測試:包括主從時鐘精度測試、點到點透明時鐘精度測試和端到端透明時鐘精度測試。需要在多種線路時延環(huán)境下測試精度,包括異步時延環(huán)境下,模擬真實網(wǎng)絡環(huán)境。
BMC測試,在多個時鐘設備環(huán)境中確定主從時鐘狀態(tài),動態(tài)修改時鐘參數(shù),主從時鐘重新選擇測試。
多域測試和標準中的其它一些參數(shù)測試。
●性能測試:主時鐘設備支持多個從時鐘設備的能力,透明時鐘修正多個主從設備之間時鐘同步的能力。
●負面測試:在正常處理流程中對PTP報文進行丟棄、亂序、重復、抖動、延時發(fā)送、修改內(nèi)容。
(2)測試方法
思博倫(Spirent)公司提供兩種產(chǎn)品用于測試IEEE1588——Anue和TestCenter,兩種產(chǎn)品可以獨立或組合使用,能夠滿足不同用戶的測試需求,提供全面的IEEE1588測試解決方案,測試組網(wǎng)參考圖7。
圖7 測試組網(wǎng)示意圖
(3)Anue測試IEEE1588的方法
Anue本身不生成PTP協(xié)議報文,不參與協(xié)議報文交互,可以對被測設備或系統(tǒng)進行精度和負面測試,適用于測試帶有T1/E1時鐘輸入輸出接口的設備,能夠直接給被測系統(tǒng)或設備輸入?yún)⒖紩r鐘,并可以產(chǎn)生漂移,通過接收其輸出時鐘,直接進行比較。
測試主時鐘輸出時鐘的精度,即測試主時鐘的漂移。Anue通過T1/E1將參考時鐘輸入給主時鐘,在100M/1G/10G以太端口上接收報文,比較時鐘信息,測量精度。此時,可以用TestCenter與主時鐘設備之間進行路由發(fā)布/撤銷(如果主時鐘是三層設備),并在主從設備之間產(chǎn)生不同負載、字節(jié)大小的流量,進行測試。
測試從時鐘精度,其實是測試整個1588主從時鐘系統(tǒng)的時鐘精度,類似于組網(wǎng)測試,測試整個系統(tǒng)能否滿足上層業(yè)務對時鐘精度的要求。如果主設備的時鐘精度已經(jīng)過測試,精度較高,則測試結(jié)果主要反映了從時鐘設備的精度。如圖7所示,從時鐘設備也通過T1/E1將從主時鐘同步來的信息輸入給Anue,由Anue進行分析。此測試仍可用TestCenter的路由通告和流量收發(fā)為背景。
測試透明時鐘精度。E2E透明時鐘修正系數(shù)主要用于避免由于雙向駐留時間不同而產(chǎn)生的時鐘同步不準的問題,有兩種測試方法:一是測試出PTP報文的真實駐留時延,比對PTP報文中修正域的時間值,二者之差越小說明駐留時間越準確;二是將透明時鐘放置于主從設備之間,對比放置透明時鐘前后從時鐘同步時鐘的精度變化來衡量透明時鐘精度。第一種方法直接測試透明時鐘本身,測試方法相對復雜,準確度易受到質(zhì)疑,第二種方法測試有透明時鐘參與的系統(tǒng)的時鐘精度。第一種測試方法能夠?qū)Ρ炔煌O備駐留時間的準確程度,第二種方法能夠測試被測設備作為透明時鐘對系統(tǒng)時間精度產(chǎn)生的影響。P2P透明時鐘修正系數(shù)相比與E2E透明時鐘修正系數(shù),多了點到點鏈路時延,采用上面的第一種測試方法難度加大,建議采用第二種測試方法。測試時需制造駐留時間較大的情況,如制造擁塞,測試此時被測系統(tǒng)的精度。仍可用TestCenter的路由通告和流量收發(fā)為背景。
除此之外還可以用Anue進行線路損傷,如增加相同的雙向傳輸時延來模擬在不同時延情況下1588系統(tǒng)的時鐘同步精度,增加不同的雙向傳輸時延測試異步時延修正功能的準確性等。
還可以用Anue對PTP報文進行丟棄、亂序、重復、抖動、延時發(fā)送、修改內(nèi)容等負面測試。如修改透明時鐘的修正系數(shù),緩存多個協(xié)議報文后再同時發(fā)出,擾亂協(xié)議報文的發(fā)送順序等。
(4)TestCenter測試IEEE1588的方法
IEEE1588測試對儀表精度要求較高,在測試被測設備或系統(tǒng)之前可以對儀表進行自環(huán)驗證,評估一下儀表。兩個口測試接口建立主從關(guān)系,得到一些統(tǒng)計值,觀察這些數(shù)值的穩(wěn)定性,簡單環(huán)境下這些數(shù)值應該相對穩(wěn)定,如鏈路時延,Offset等。此時,可以在這兩個端口之間發(fā)送流量,測試流量的轉(zhuǎn)發(fā)的時延,這個時延統(tǒng)計應該與IEEE1588計算的鏈路時延差別不大。
TestCenter支持完整的PTP協(xié)議棧,支持將PTP報文封裝到以太網(wǎng),IPv4/UDP,IPv6/UDP上,支持單播和組播發(fā)送協(xié)議報文,支持一步時鐘和兩步時鐘,支持E2E時鐘模式和P2P時鐘模式??梢詫Ρ粶y設備或系統(tǒng)進行精度測試,BMC算法測試,多域測試,性能測試和標準中的其它一些參數(shù)測試,也能夠?qū)笪倪M行丟棄、產(chǎn)生CRC錯、時間戳錯的負面測試。
TestCenter能夠同時或單獨模擬主從時鐘設備,對被測主時鐘設備、從時鐘設備、透明時鐘設備或整個時鐘系統(tǒng)進行精度測試,可以提供當前Offset,Offset正向和反向最大值,Offset偏差,當前鏈路時延,最小鏈路時延,最大鏈路時延,平均鏈路時延等參數(shù)。
進行BMC測試時,TestCenter可以模擬大量普通時鐘,發(fā)出Announce報文,測試被測設備選擇主時鐘的準確性,模擬的時鐘能夠通過批量動態(tài)修改參數(shù),讓被測設備重新參與計算,進行主時鐘重新選擇。
性能測試主要針對于主時鐘設備和透明時鐘設備。主時鐘設備時整個系統(tǒng)中最重要的設備,它的性能、精度和穩(wěn)定性是整個系統(tǒng)的基礎(chǔ),主時鐘支持的從時鐘的數(shù)量也限制了系統(tǒng)的規(guī)模,是衡量主時鐘的一個重要指標。在不同時鐘模式下,需要分別測試報文封裝為以太,IPv4,IPv6,目的地址組播和單播報文,一步時鐘和兩步時鐘情況下支持的從時鐘的數(shù)量(需保證精度在合理范圍內(nèi)),可以結(jié)合域的功能和背景路由及流量。
在測試中可以用Anue對全部或某些PTP報文進行丟棄、亂序、重復、抖動、延時發(fā)送、修改內(nèi)容等負面測試,增加鏈路時延模擬各種網(wǎng)絡環(huán)境。
4 結(jié)束語
本文僅對IEEE1588基本原理和概念進行了簡單介紹,詳細內(nèi)容參照標準。思博倫公司提供了業(yè)界最全面的IEEE1588測試方案而且還在不斷豐富,本文只介紹主要測試方法,具體功能以設備為準。
p2p機相關(guān)文章:p2p原理
評論