提供時(shí)間同步和頻率同步的IEEE1588協(xié)議的測試方法分析
1、引言
目前,運(yùn)營商在大規(guī)模部署下一代網(wǎng)絡(luò),分組交換網(wǎng)將替代TDM成為主流承載網(wǎng)絡(luò)。隨著網(wǎng)絡(luò)和業(yè)務(wù)全I(xiàn)P化的發(fā)展,在分組交換網(wǎng)絡(luò)上傳送TDM業(yè)務(wù),IPTV業(yè)務(wù),3G/4G等實(shí)時(shí)要求較高的應(yīng)用時(shí),需要分組交換網(wǎng)絡(luò)提供更高質(zhì)量的同步與定時(shí)機(jī)制。傳統(tǒng)以太網(wǎng)沒有內(nèi)置時(shí)鐘的分布能力,同步以太網(wǎng)對(duì)現(xiàn)有以太網(wǎng)做了一種擴(kuò)展,類似TDM網(wǎng)絡(luò)在物理層發(fā)布時(shí)鐘,實(shí)現(xiàn)了設(shè)備間時(shí)鐘頻率同步。但是還有一些應(yīng)用需要時(shí)間上的同步,IEEE1588-2008 PTP(Precision Timing Protocol)應(yīng)運(yùn)而生,成為公用的提供時(shí)間同步和頻率同步的協(xié)議。
回顧同步技術(shù)的發(fā)展,我們?cè)谝蕴W(wǎng)上用過NTP技術(shù),GPS技術(shù)或用T1/E1和以太網(wǎng)組成混合網(wǎng)絡(luò)來增加以太網(wǎng)的時(shí)鐘同步能力,但由于NTP自身技術(shù)的限制,其精度只能在1~50ms之間;GPS廣泛應(yīng)用在CDMA基站和許多其它應(yīng)用,提供時(shí)間和頻率的同步,但GPS接收機(jī)需要在空中架設(shè)天線,在辦公室或運(yùn)營商機(jī)房里實(shí)施是比較困難的;在T1/E1和以太網(wǎng)混合網(wǎng)絡(luò),用T1/E1傳遞時(shí)鐘,用以太網(wǎng)擴(kuò)大帶寬,但從網(wǎng)絡(luò)建設(shè)成本來講用這種方法是不經(jīng)濟(jì)的。IEEE1588v2是一種精確時(shí)間同步協(xié)議,可以認(rèn)為是對(duì)NTP協(xié)議的一種進(jìn)化版本,IEEE1588v1精度可以達(dá)到亞ms級(jí),IEEEv2精度可以達(dá)到亞us級(jí)的精度。IEEE1588v2對(duì)IEEE1588v1進(jìn)行了改進(jìn)和提高,提高了同步精度,加入了故障容限,滿足冗余和安全的保障功能,并引入邊界時(shí)鐘和透傳時(shí)鐘兩種新類型設(shè)備。通過主從設(shè)備間傳遞PTP消息包,從時(shí)鐘計(jì)算時(shí)間和頻率偏移,實(shí)現(xiàn)與主時(shí)鐘的頻率和時(shí)間的同步。
在研發(fā)和部署PTP設(shè)備時(shí),在主要功能、性能和壓力測試方面,我們面臨諸多挑戰(zhàn)。目前,對(duì)PTP的協(xié)議測試主要有以下方面:
(1)校正系數(shù)測試:測試PTP設(shè)備是否能精確計(jì)算校正系數(shù)(CorrecTIon Factor)。
(2)PTP設(shè)備規(guī)模測試:測試主時(shí)鐘在不同的各種消息速率下,能夠支持的最大從時(shí)鐘數(shù)。
(3)BMC測試:主要指最佳主時(shí)鐘(BMC)選擇測試和錯(cuò)誤倒換測試。
(4)對(duì)PTP包優(yōu)先級(jí)的測試:測試PTP設(shè)備如何對(duì)PTP的包做到有保證的轉(zhuǎn)發(fā),結(jié)合L2和L3 QoS的測試。
(5)多時(shí)間域測試:測試多時(shí)間域的規(guī)模和多時(shí)間域下是否有相互交互。
(6)加載控制面:在測試PTP協(xié)議時(shí),通過仿真STP和路由協(xié)議等,可以加載控制平面,并同時(shí)仿真網(wǎng)絡(luò)的不穩(wěn)定情況。
(7)異常測試和加載額外壓力的測試。
(8)協(xié)議定時(shí)器的測試:例如在發(fā)送了Sync消息以后可以控制發(fā)送Follow UP的間隔時(shí)間。
(9)穩(wěn)定性測試:通過發(fā)送異常包來測試PTP設(shè)備的穩(wěn)定性。
2、主要測試項(xiàng)目
2.1 校正系數(shù)錯(cuò)誤測試(CorrecTIon Factor Error)
透傳時(shí)鐘(Transparent Clock)最重要的一個(gè)功能就是能夠正確測量PTP包經(jīng)過它時(shí)的延遲(ns級(jí)),這個(gè)延遲我們又叫做“駐留時(shí)間”。透傳時(shí)鐘在發(fā)向下游的PTP消息里攜帶延遲信息,稱為校正系數(shù)(CorrecTIon Factor),如果CF不準(zhǔn)確,下游的從時(shí)鐘就無法與上游的主時(shí)鐘精確同步。
用IXIA測試儀表可以測量每個(gè)PTP包經(jīng)過透傳時(shí)鐘的實(shí)際延遲,并比較PTP消息里所報(bào)告的CF值,可以更有效地測試透傳時(shí)鐘所計(jì)算的CF值是否準(zhǔn)確。CF Error計(jì)算公式為:CF Error=CorrecTIon Factor-Actual Latency。
CF Error如果是正的,則表示透傳時(shí)鐘過高估算了駐留時(shí)間。反之,則表示透傳時(shí)鐘過低估算了駐留時(shí)間。如果CF Error過大和變化過大,將引起下游的從時(shí)鐘同步丟失。通常CF值在幾十ns是可以接受的。在ISPCS2009研討會(huì)上IXIA展示了CF的測試結(jié)果,被公認(rèn)為是透傳時(shí)鐘測試的業(yè)界標(biāo)準(zhǔn)。
(1)IXIA測試的配置模式
●校準(zhǔn)模式:用校準(zhǔn)線纜直接背靠背連接IXIA測試儀表的兩個(gè)端口,執(zhí)行校準(zhǔn)過程(見圖1)。
圖1 校準(zhǔn)測試拓?fù)鋱D
●測試模式:用測試儀表的兩個(gè)端口連接被測設(shè)備的兩個(gè)端口,執(zhí)行測試過程。校準(zhǔn)線纜長度是測試線纜的2倍(見圖2)。
圖2 Correction Factor Error測試拓?fù)鋱D
為了測試的準(zhǔn)確性,在測試前需先校準(zhǔn),減少由于測試儀表內(nèi)部的時(shí)間開銷或光纜/電纜傳送的延遲引起的不準(zhǔn)確性,主要包括:測試儀表內(nèi)部的時(shí)間開銷和通過光纜或電纜傳送的延遲(如五類電纜線的傳送延遲是48ns/m,光纜傳送延遲是29ns/m)。圖3所示的是校準(zhǔn)幫助修正測試儀表內(nèi)部時(shí)間開銷和線纜傳送延遲示意圖。
圖3 校準(zhǔn)幫助修正測試儀表內(nèi)部時(shí)間開銷和線纜傳送延遲
(2)CF Error測試步驟
●校準(zhǔn)時(shí)間戳
①在兩個(gè)測試端口分別設(shè)置主時(shí)鐘仿真和從時(shí)鐘仿真,Tx和Rx校準(zhǔn)因子(Calibration Factor)的缺省值為0,測試拓?fù)淙鐖D1所示。
②測試執(zhí)行一段時(shí)間后,測試系統(tǒng)會(huì)顯示平均Sync Latency和平均Delay Request Latency。
③在模擬主時(shí)鐘的測試端口,我們可以根據(jù)公式(1)和公式(2)配置Tx和Rx校準(zhǔn)因子(Calibration Factor):
Tx Calibration Factor=Sync Latency/2 (1)
Rx Calibration Factor=Delay Request Latency/2 (2)
④在模擬從時(shí)鐘的測試端口,可以根據(jù)公式(3)和公式(4)配置Tx和Rx校準(zhǔn)因子 (Calibration Factor):
Tx Calibration Factor=Delay Request Latency/2 (3)
Rx Calibration Factor=Sync Latency/2 (4)
⑤重新啟動(dòng)測試,再從時(shí)鐘結(jié)果顯示界面,可以檢查Sync Latency的值(接近0,低于100ns),Delay Request Latency的值(接近0,低于100ns),Latency Asymmetry的值(接近0,低于50ns),Offset From Master (OFM)的值(接近0,低于100ns)的參數(shù):
可以微調(diào)校準(zhǔn)因子(Calibration Factor),使得以上參數(shù)接近0。
●在兩個(gè)測試端口分別模擬主時(shí)鐘和從時(shí)鐘
在主時(shí)鐘測試接口發(fā)送Sync message的速率,在從時(shí)鐘測試接口發(fā)送Delay Request的速率可以調(diào)節(jié)。測試拓?fù)淙鐖D2所示。
●測試結(jié)果
如圖4所示,測試結(jié)果會(huì)非常直觀地顯示在界面上,測試系統(tǒng)會(huì)實(shí)時(shí)顯示Sync Correction Factor Error和Delay Request Correction Factor Error等。
圖4 CF Error測試結(jié)果
●變化以下條件,重復(fù)上述測試步驟
①加快Sync和Delay Request消息的發(fā)送速率。
②增加在一個(gè)測試端口模擬從時(shí)鐘的數(shù)量。
③用多對(duì)端口,并分布在不同的時(shí)間域中雙向測試,由于端口的不對(duì)稱,發(fā)現(xiàn)商用透傳時(shí)鐘在多端口存在測試結(jié)果的差異性,因此需要我們用多對(duì)端口測試,可以觀察在大的壓力下透傳時(shí)鐘計(jì)算CF值的準(zhǔn)確性。
④同時(shí)在多個(gè)時(shí)間域中執(zhí)行測試。這將測試透傳時(shí)鐘是否會(huì)與上行多個(gè)主時(shí)鐘(在多個(gè)時(shí)間域)同步。如果不能同步上,透傳時(shí)鐘的時(shí)間基準(zhǔn)就會(huì)不準(zhǔn)確,造成CF值的計(jì)算錯(cuò)誤。
⑤在測試過程中,在數(shù)據(jù)平面可以增加背景業(yè)務(wù)流,模擬真實(shí)環(huán)境。
⑥在控制平面,可以同時(shí)仿真多個(gè)協(xié)議,例如同時(shí)仿真最小生成樹和其它路由協(xié)議。
⑦PTP協(xié)議可以在單播和組播兩種模式下分別進(jìn)行測試。
2.2 PTP大規(guī)模測試(PTP Scalability)
大多數(shù)PTP系統(tǒng)里有很多從時(shí)鐘。在系統(tǒng)中隨著從時(shí)鐘數(shù)量的增加,會(huì)加重主時(shí)鐘或邊界時(shí)鐘的處理負(fù)擔(dān)。因此,在設(shè)計(jì)、布置和升級(jí)PTP設(shè)備的時(shí)候,主時(shí)鐘、邊界時(shí)鐘和透傳時(shí)鐘的大規(guī)?;鶞?zhǔn)測試非常重要。利用IXIA測試系統(tǒng),可以非常容易模擬在多個(gè)時(shí)間域里大量的主時(shí)鐘和從時(shí)鐘。PTP設(shè)備所能支持的規(guī)模與很多因素有關(guān),例如,Sync和Delay-Request消息的發(fā)送速率,是用單播模式還是組播模式等。以下詳細(xì)介紹測試主時(shí)鐘規(guī)模的測試方法。測試拓?fù)淙鐖D5所示。
圖5 PTP大規(guī)模測試拓?fù)鋱D
(1)測試步驟
●IXIA測試系統(tǒng)可以實(shí)時(shí)監(jiān)測每塊板卡上CPU和內(nèi)存的占用情況。啟動(dòng)Dashboard功能,以保證測試的瓶頸不是由于測試儀表造成的。如果發(fā)現(xiàn)測試儀表板卡的CPU和內(nèi)存的占用過高,可以使用更多數(shù)量的測試板卡,以降低每塊測試板卡的壓力,并可把壓力匯聚到被測系統(tǒng)。
●仿真50個(gè)從時(shí)鐘,建立從時(shí)鐘的速率可以設(shè)置為5 slaves/100sm。
●判斷被測設(shè)備主時(shí)鐘能支持的最大從時(shí)鐘數(shù)量。根據(jù)兩個(gè)條件判斷,即所有仿真的從時(shí)鐘都達(dá)到Slave狀態(tài);經(jīng)過一段測試時(shí)間,從時(shí)鐘所發(fā)送的Delay response 消息數(shù)應(yīng)等于所接收的Delay request消息數(shù)。
●如果通過測試,則再增加從時(shí)鐘的數(shù)量;如果沒有通過測試,就減少從時(shí)鐘的數(shù)量。用二次折半法,可以測試出被測設(shè)備所能支持的最大從時(shí)鐘數(shù)量(見表1)。也可以通過改變不同消息的發(fā)送速率,來測量被測設(shè)備所能支持最大的從時(shí)鐘數(shù)量(見表2)。
表1 用二次折半法查找被測設(shè)備所支持的最大從時(shí)鐘數(shù)量
表2 在不同的條件下測量被測設(shè)備所支持的從時(shí)鐘數(shù)量
●在測試過程中,改變條件(在多個(gè)時(shí)間域中測試,在單播和多播兩種模式下進(jìn)行測試,在one-step模式和two-step模式下進(jìn)行測試)來測試被測設(shè)備的規(guī)?;鶞?zhǔn)。
2.3 最佳主時(shí)鐘選擇算法(Best Master Clock)
最佳主時(shí)鐘(MBC)選擇算法主要應(yīng)用在從時(shí)鐘和邊界時(shí)鐘的從時(shí)鐘端口上,在本時(shí)間域選擇質(zhì)量最好的主時(shí)鐘。此算法主要是比較不同的時(shí)鐘質(zhì)量參數(shù),以特定的優(yōu)先級(jí)順序選擇最佳主時(shí)鐘。IXIA測試系統(tǒng)可以模擬多個(gè)帶有不同時(shí)鐘質(zhì)量參數(shù)的主時(shí)鐘。如果被測設(shè)備是邊界時(shí)鐘,則下游IXIA測試系統(tǒng)所仿真的從時(shí)鐘可以很容易地確定系統(tǒng)的祖時(shí)鐘(Grandmaster)和被測設(shè)備所選擇的是否相同。以測試邊界時(shí)鐘為例,詳細(xì)介紹測試過程,測試拓?fù)淙鐖D6所示。
圖6 BMC測試拓?fù)鋱D
測試步驟如下:
(1)在IXIA測試系統(tǒng)的兩個(gè)測試端口上分別仿真兩個(gè)主時(shí)鐘Master Clock 1和Master Clock 2,但兩個(gè)主時(shí)鐘的時(shí)鐘質(zhì)量參數(shù)不同。Master Clock 2的時(shí)鐘質(zhì)量低于Master Clock 1的時(shí)鐘質(zhì)量,但高于被測設(shè)備的時(shí)鐘質(zhì)量。
(2)在IXIA測試系統(tǒng)的第3個(gè)測試端口仿真從時(shí)鐘,目的是在從時(shí)鐘上查看Grandmaster Clock ID和Clock Quality參數(shù)是否與被測設(shè)備所選定的相同。
(3)在被測設(shè)備和所仿真的從時(shí)鐘上可以看到都選擇了Grandmaster為Master Clock 1。
(4)改變Master Clock 1和Master Clock 2的時(shí)鐘質(zhì)量,使Master Clock2的時(shí)鐘質(zhì)量高于Master 1,重新執(zhí)行測試。
(5)在被測設(shè)備和所仿真的從時(shí)鐘上可以看到都選擇了Grandmaster為 Master Clock 2。
(6)如果現(xiàn)有的最佳時(shí)鐘損壞了,被測設(shè)備是否會(huì)選擇次佳時(shí)鐘。仿真Master Clock 1出現(xiàn)故障,在被測設(shè)備和所仿真的從時(shí)鐘上可以看到都選擇了Grandmaster為 Master Clock 2。
(7)讓兩個(gè)或更多Clock Quality參數(shù)的組合不斷變化,重復(fù)以上測試;可以在組播和單播兩種模式下重復(fù)以上測試;在多個(gè)端口仿真多個(gè)主時(shí)鐘,并且分布在不同的時(shí)間域里,重復(fù)以上測試。
3、IXIA IEEE1588測試解決方案
IXIA IEEE1588測試軟件提供了全面和豐富的測試功能。用于測試主/從時(shí)鐘、邊界時(shí)鐘和透傳時(shí)鐘的協(xié)議功能,性能和規(guī)模。
3.1 測試功能
(1)可以在一個(gè)端口仿真多個(gè)主時(shí)鐘和從時(shí)鐘,并分布在不同時(shí)間域。
(2)可以實(shí)時(shí)地測試主要性能參數(shù),例如校正系數(shù)錯(cuò)誤(Correction Factor Error),主時(shí)鐘的時(shí)間開銷和平均路徑延遲。
(3)能夠控制協(xié)議仿真性能,例如對(duì)于Follow-up Delay,可以仿真立即或延遲很大的Follow-up消息,對(duì)被測系統(tǒng)的性能影響很大。
(4)可以全面設(shè)置主時(shí)鐘和從時(shí)鐘的屬性,包括Unicast和Multicast模式,one-step和two-step行為,Unicast協(xié)商,QoS級(jí)別,時(shí)間域,Clock ID,時(shí)鐘質(zhì)量參數(shù),E2E和P2P參數(shù),Announce/Sync/Delay-Request 消息間隔等。
(5)可以在測試運(yùn)行過程中實(shí)時(shí)改變參數(shù)(如發(fā)送消息速率)。
(6)可以實(shí)時(shí)跟蹤PTP仿真狀態(tài)和觀察統(tǒng)計(jì)結(jié)果。
(7)可以跟蹤時(shí)間值(如T1,T1等),以便更詳細(xì)的故障排除。
(8)在PTP仿真的同時(shí),在相同端口可以同時(shí)加入其它協(xié)議的仿真(如STP和路由協(xié)議的仿真等);也可以在相同端口加載流量,模擬真實(shí)的背景業(yè)務(wù)流。
(9)可以模擬復(fù)雜的PTP DDoS攻擊。
(10)提供對(duì)被測設(shè)備容錯(cuò)能力的測試。
3.2 特色
(1)在大壓力的環(huán)境下,可以測試透傳時(shí)鐘的校正系數(shù)錯(cuò)誤(CF Error)
IXIA IEEE1588可以快速地監(jiān)測和測量透傳時(shí)鐘CF Error,通過比較Sync消息所報(bào)告的Correction Factor和用硬件級(jí)的時(shí)間戳所測量的實(shí)際在被測設(shè)備的駐留時(shí)間(包轉(zhuǎn)發(fā)延遲),測試儀表可以實(shí)時(shí)檢測到CF Error。為了更準(zhǔn)確的測試,測試系統(tǒng)提供校準(zhǔn)功能,可以消除測試系統(tǒng)內(nèi)部時(shí)鐘和光纖/電纜傳送時(shí)間。
(2)能夠有效驗(yàn)證BMC和錯(cuò)誤倒換
IXIA IEEE1588提供全面的BMC測試解決方案,用來測試透傳時(shí)鐘、邊界時(shí)鐘和從時(shí)鐘的處理速度和支持規(guī)模。IXIA IEEE 1588可以在每個(gè)時(shí)間域?qū)崟r(shí)跟蹤和顯示當(dāng)前的主時(shí)鐘和上次變化的時(shí)間,以便測試主時(shí)鐘的改變和BMC的性能,所能支持的主要測試場景包括:
●最優(yōu)主時(shí)鐘選擇:可以測試BMC的精確度和處理速度。
●錯(cuò)誤倒換測試:可以仿真錯(cuò)誤主時(shí)鐘,驗(yàn)證次優(yōu)主時(shí)鐘的選擇和倒換時(shí)間。
●模擬主時(shí)鐘振蕩:通過停止和重發(fā)Announce或Sync消息,可以仿真主時(shí)鐘不斷振蕩的情況,用以測試主時(shí)鐘的操作和穩(wěn)定性。
●實(shí)時(shí)改變時(shí)鐘質(zhì)量參數(shù):可以實(shí)時(shí)改變時(shí)鐘質(zhì)量屬性,用以對(duì)IEEE 1588 BMC執(zhí)行協(xié)議一致性認(rèn)證。
●彈性測試:可以插入不正確的Announce消息,驗(yàn)證被測系統(tǒng)對(duì)BMC處理的穩(wěn)定性。
●不同時(shí)間域的相互作用:通過模擬多個(gè)不同時(shí)間域的主時(shí)鐘并改變所報(bào)告的主時(shí)鐘質(zhì)量,來驗(yàn)證時(shí)鐘能夠區(qū)分不同時(shí)間域并能夠在同一時(shí)間處理多個(gè)時(shí)間域。
●可以驗(yàn)證CF的精確性:在BMC處理出現(xiàn)錯(cuò)誤時(shí),可以檢測透傳時(shí)鐘的CF Error,以確認(rèn)透傳時(shí)鐘是否會(huì)受到影響。
4、結(jié)束語
IEEE1588最初是由Agilent Laboratories(安捷倫實(shí)驗(yàn)室)發(fā)明,并得到IEEE的贊助,2002年11月得到IEEE批準(zhǔn)。Agilent在此測試領(lǐng)域一直處于領(lǐng)先地位,隨著IXIA收購Agilent N2X,兩家公司將聯(lián)手推出業(yè)界最領(lǐng)先的測試解決方案。IEEE1588作為測試的新興領(lǐng)域,IXIA引領(lǐng)了業(yè)界的測試標(biāo)準(zhǔn)。