曹海萍,孟永勝,郭文佳
(天津中興軟件有限公司,天津 300300)
1588協議支持3種同步方式:僅頻率同步、僅時間同步及時間頻率同步。其中,Hybrid時間同步指使用其他物理時鐘進行頻率同步,1588實現時間同步的應用。電信網定義了頻率同步,僅時間同步的Announce報文及選擇Master的方式,但兩種方式只能單獨使用,在時間頻率同步時有沖突。本文描述一種兼容時間頻率同步的方法。
根據G.8265.1協議,Announce報文中的ClockClass字段在鎖定等級為2、4、8、11的時鐘源時分別置為80、82、84、86,在多個頻率源存在時,根據等級選擇一個最好的。在鎖定上游的時間源且頻率鎖定時置為6時,沒區分頻率源是哪個等級的時鐘源,那么下游網元希望利用1588報文既調頻又調相時,無法分辨這個Master的時鐘等級是多少,造成該網元不能選擇1588源做為頻率源,只能選擇一個其他物理時鐘為頻率源,1588源為時間源。如果該1588源的頻率等級很高,則由于該網元對這個信息未知導致沒有選擇最高等級的[1]。
電信網中時間頻率同步的方式利用報文中的字段來標示頻率源和時間源的等級,使得收到該報文的設備能夠根據此等級選擇出時間和頻率最優的源,具體步驟如下。
第1步:GrandMaster網元在所有備選的頻率源中根據SSM質量高低選擇一個頻率源,即如果該網元有兩個物理頻率源Ref1,Ref2,質量分別為QL1,QL2,其中QL1<QL2,則GrandMaster選擇Ref1為當前的頻率源。
第2步:GrandMaster網元在第1步選源頻率源后,在Announce報文尾部或reserve字段中增加一個字段FrequencyClockClass,用于表明該網元的頻率時鐘等級QL1。

表1 時間源等級設置規則
第3步:GrandMaster網元在Annouce報文中發送ClockClass,標明時間源等級。設置規則如表1所示。
第4步:下游BC網元接收同步模式配置,同步模式包括頻率同步、時間同步及時間頻率同步。
第5步:下游時間頻率同步模式的BC網元收到Announce報文后,解析FrequencyClockClass字段和ClockClass字段。
第6步:根據步驟5的頻率等級和時間等級字段,生成選擇時鐘源用的時鐘等級記為NeClockClass。該NeClockClass更新到本網元維護的Master的數據集parentDS.grandmaster_clockQuality中。該Master就是發送Annouce報文的發送者。
第7步:下游BC網元執行1588BMC算法,不論是頻率同步、時間同步,還是時間頻率同步,均根據parentDS.grandmaster_clockQuality的等級選擇最好的1588Master。如果等級相同,則按照各源的優先級來確定最優時鐘,此時選擇出的1588Master是頻率最優且時間源最優的1588源。
第8步:BC網元再向下游發送Announce報文時,報文中攜帶的grandmasterClockQuality.ClockClass是步驟7選擇出的1588源的Announce報文中的grandmasterClockQuality.ClockClass以及 FrequencyClockClass。

圖1 時間頻率源選擇實例
結合時間頻率源選擇實例(見圖1)對技術方案的實施作進一步說明。
步驟1:GrandMaster網元有QL=2的頻率源,并選擇這個源作為網元頻率源,此時下游發送Announce報文中帶FrequencyClockClass字段為84,代表其頻率源的QL=2,ClockClass為6,跟蹤了GPS。
步驟2:BC網元為頻率相位同步網元,并且有3個1588端口實例,端口實例1收到了來自GrandMaster的Announce報文,將報文中的FrequencyClockClass=80和ClockClass=6提取出來發到最佳PTP主時鐘選擇模塊。
步驟3:最佳PTP主時鐘選擇模塊把FrequencyClockClass=84和ClockClass=6綜合起來計算出Ne1ClockClass=2。
步驟4:端口實例3收到了FrequencyClockClass=90和ClockClass=6的報文,提取相應字段后,發到最佳PTP主時鐘選擇模塊。
步驟5:最佳PTP主時鐘選擇模塊把Frequency ClockClass=84和ClockClass=6綜合起來計算出Ne3ClockClass=3。
步驟6:最佳PTP主時鐘選擇模塊比較各個端口實例對應的Ne3ClockClass,選擇出端口實例1對應的PTP Master為最佳Master,并記錄最佳Master的QL=4。
步驟7:最佳Master可以作為BC網元的系統時鐘,向下游發送Announce時,FrequencyClockClass=84,ClockClass=6帶給下游。
應用本文提供的方法,BC Slave實例不論是通過PTP協議進行頻率同步、時間同步,還是時間頻率同步,都可以選擇到最優PTP Master源。