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