文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190161
中文引用格式: 馬昭,葛文雙,胡愛蘭,等. 基于PTP授時的高可靠時間統一系統的應用研究[J].電子技術應用,2019,45(5):38-42.
英文引用格式: Ma Zhao,Ge Wenshuang,Hu Ailan,et al. Application research of high reliability time unified system based on PTP strategy[J]. Application of Electronic Technique,2019,45(5):38-42.
0 引言
隨著計算機和通信技術的飛速發展,時間統一系統在測控、航天、工業控制等領域的應用越來越廣泛,例如,時間統一系統為指揮控制系統、航空航天信息處理系統、工業控制網絡等提供精確、可靠、統一的時間,同時,各應用領域對所需的時間統一系統的性能要求也越來越高[1-2]。
時間統一系統的主要功能是提供標準的時間和脈沖中斷信號,使其所處的信息系統有一個統一的時間標準。目前在時間統一系統中應用最廣泛的時間同步協議是NTP協議,但是該協議的同步精度為毫秒級,無法滿足高精度要求的應用場景[3-4]。并且,在NTP協議的條件下,系統主時鐘一般都是固定的,一旦系統中的主時鐘出現異常,整個系統的授時就會癱瘓,所以,提升時間統一系統的魯棒性也是一個亟需解決的問題。因此,設計并實現一個高精度、高可靠性的時間統一系統,提升時間統一系統的同步精度、魯棒性,對于測控、航天、工業控制等領域具有重大現實意義。
1 系統架構
本文基于PTP協議構建了一個高可靠的時間統一系統,系統由時間服務器和時統軟件兩部分組成。在本系統中,PTP時間服務器為整個系統的時間源,時統軟件接收時間源的同步信號,校正本地時間。PTP時間服務器通過網絡交換機連接服務器,服務器配置專用網卡來接收網絡傳輸的PTP信號;安裝于服務器上的時統軟件獲得網卡的時間信息,進行解碼并輸出對時信號和脈沖中斷信號。系統架構圖如圖1所示。
2 基于PTP授時的雙機熱備的實現
為了解決時間同步精度較低、魯棒性較差等問題,本系統采用PTP協議進行網絡授時,且本系統采用兩臺時間服務器及BMC算法來實現系統的雙機熱備功能。
2.1 PTP同步原理
PTP協議的時間戳記錄在MAC層,消除了在NTP協議中一直存在的協議棧的延遲和抖動,從而提高授時精度。PTP協議主要通過4種類型的報文來測量時鐘偏差和網絡延時,分別是:Sync報文、Follow_Up報文、Delay_Req報文、Delay_Resp報文[5-7]。其具體的時間同步過程如圖2所示。
具體原理如下:
(1)主時鐘在t1時刻發送Sync消息:如果為1588 one-step機制,則Sync消息包含有發送時間;如果為1588 two-step機制,則Sync消息僅發送發送時間值的估計值,即t1的估計值,然后在Follow_Up消息中再發送精確的t1值。
(2)從時鐘記下收到Sync消息的時間t2,然后在t3時刻發送Delay_Req消息。
(3)主時鐘記下收到Delay_Req消息的時間t4,然后發送攜帶t4值的Delay_Resp消息給從時鐘。
(4)假設主從時鐘之間的鏈路延遲是對稱的,從時鐘根據已知的t1、t2、t3、t4值,計算出Offset值與Delay值。
計算過程如下:
假設從時鐘超前主時鐘的值為Offset,則有:
則本地時間糾正值為本地時間值減去Offset值與Delay值之和。
2.2 雙機熱備實現原理
在時間統一系統中,主時鐘的異常會導致整個系統的授時癱瘓。在航天、測控、工業控制等領域,這種情況的出現對所需授時的信息系統的影響是致命的,它可能會帶來無法挽回的損失。因此,在這些要求較高的應用領域中實現時間統一系統的雙機熱備,并進一步達到雙機切換的無縫銜接,是十分有必要的。對此問題的解決,BMC算法提供了很好的理論依據。雙機熱備原理圖如圖3所示。
2.2.1 雙機熱備工作模式
在BMC算法的理論基礎上,為了防止算法運行過程中受到無法預測的干擾而導致系統授時出現故障,本系統共實現了兩種雙機熱備工作模式。兩種雙機熱備工作模式的實現原理如下:
(1)手動設置主時鐘
根據本系統實際工作環境,網絡授時采用發送/接收組播數據包的模式進行相關報文的交互,因此,PTP時間服務器運行狀態穩定后(鎖定后),可將其中一臺設置為組播模式,其余的設置為單播模式,且將所有的PTP時間服務器設置為較高的同一優先級。
通過如上的設置,實現了當前網絡中只有一臺設備發包,進而實現熱備功能。其中,保持為組播模式的PTP時間服務器為主時鐘,單播模式的為備時鐘。另外,傳輸模式中單播與組播模式可無縫切換無需重啟服務,保障了運行的可靠性。
(2)自動選擇主時鐘
①正常工作情況
首先,整個時間統一系統會選擇一臺PTP時間服務器作為主時鐘,該模式的工作原理為:當PTP時間服務器開機并鎖定后,均從時統專網上獲取時間報文,并從中解析出所需的參數值,再根據BMC算法的相應參數值進行判斷,符合相應條件的即為主時鐘(Master),其余的為從時鐘(Slave)。然后,主時鐘對整個系統進行授時。
②異常工作情況
主時鐘(Master)發生故障或物理鏈路波動導致授時精度下降時,系統會根據BMC算法的判定結果選定新的主時鐘,即主時鐘(Master)自動切換為數據質量較好的從時鐘(Slave)。
2.2.2 最佳主時鐘算法
BMC算法能夠對整個時間統一系統進行自適應授時調整,它包括數據集比較算法和端口狀態決策算法[7-9]。
(1)數據集比較算法
在PTP時間統一系統中,每個協議節點定期向其他協議節點發送的Announce報文中攜帶了該節點及其父節點的時鐘質量信息[10]。數據集比較算法的比較對象是端口收到的時鐘質量信息和本地時鐘default DS數據集[11]。其需比較的具體信息及比較流程如圖4、圖5所示,圖中A、B分別代表端口收到的時鐘質量信息和本地時鐘default DS數據集。
(2)端口狀態決策算法
端口狀態決策算法的數據來源為:本地時鐘默認數據(D0)、PTP端口最佳報文(Erbest)、最佳報文(Ebest)。對于任一PTP端口r,對其收到的來自其他PTP端口的有效報文,依次使用數據集比較算法,就可以得到PTP端口最佳報文(Erbest)[11-12]。然后,對每個端口的Erbest依次使用數據集比較算法,就可以得到Ebest。
根據從這3個數據源得到數據的比較以及對本地時鐘等級的判定,系統得出本地端口應處的狀態,包括主時鐘狀態(M1、M2、M3)、從時鐘狀態(S1)、待機狀態(P1、P2)。端口狀態決策流程圖如圖6所示。
3 實驗結果
本系統的實驗環境由2臺PTP時間服務器和相應的時統軟件組成,按照如圖1所示系統架構圖進行部署。根據PTP時鐘優先級設置規則,PTP時間服務器為本系統內主時鐘(設置為高優先級),時統軟件為從時鐘(優先級設置為255,無法被選擇為主時鐘)。
完成整個系統的部署后,首先對本系統進行精度測試。將標準時鐘源的授時信號輸出到示波器上,再選擇本系統中一臺服務器,在服務器上利用時統軟件測試工具獲得的授時信號經串口輸出到示波器上,調整示波器并進行上升沿的對比,得出兩者的時延誤差。系統測試結構圖如圖7所示,測試結果如圖8所示。
如圖8所示,本系統通過時統軟件獲取的穩定時延誤差大概為710 ns,遠遠低于NTP協議的毫秒級誤差,滿足本系統自身的高精度要求。
然后,對本系統進行魯棒性測試。本系統正常運行時,隨機選擇一時刻(本測試中為7時59分59秒),將PTP時間服務器1與網絡交換機斷開連接,測試結果如表1所示。
由表1可以看出,將PTP時間服務器1斷開連接,對系統的運行并無影響,系統并未出現時間斷續、跳變等異常情況,滿足本系統自身的高魯棒性要求。
另外,在本系統中,服務器接收PTP信號需配置專用網卡,為了使系統性能測試結果更加詳細,更能體現出本系統的授時精度情況,在進行了上述兩項測試之后,對本系統中所使用的網卡進行了自守時的測試,大概收集了16個小時的數據,使用MATLAB將數據轉化為曲線圖,得出了如圖9所示的自守時精度及其一階擬合情況。
由圖9可得本系統所使用網卡的每秒時間漂移大概為80 ns(由圖中直線斜率得出),即隨著系統使用時間的增長,本系統所使用的專用網卡對系統的授時精度有一定的影響。
4 結論
本文通過對基于PTP授時的高可靠時間統一系統進行理論研究、設計論證,實現了一套基于PTP授時的、適用可靠性要求較高的雙機熱備時間統一系統,提出了手動設置主時鐘與自動選擇主時鐘兩種雙機熱備工作模式。本研究充分利用實際物理環境,篩選使用場景,并進行了系統的搭建、系統的性能測試。結果表明,對比以往的時間統一系統,本系統的時間同步精度為納秒級,大大提升了時間統一系統的授時精度;并且在雙機熱備自動切換的基礎上,增加了人工主動切換模式,進一步提高了系統的魯棒性。此外,在性能測試中,對本系統中所使用的專用網卡進行了自守時精度測試,也進一步展示了本系統相比于以往時間統一系統的性能優化情況。
參考文獻
[1] 張楊敏,郭勇,謝興紅.嵌入式高精度GPS異地時間測量系統的設計[J].電子技術應用,2010,36(2):19-22.
[2] 王娜,慕德俊.分布式試驗系統管理中的時鐘同步技術研究[J].電子技術應用,2006,32(12):25-27.
[3] 黃沛芳.基于NTP的高精度時鐘同步系統實現[J].電子技術應用,2009,35(7):122-124,127.
[4] 李永剛,李欣泉,郭力兵,等.麒麟操作系統平臺軟時統同步方法研究[J].電子技術應用,2018,44(9):129-133.
[5] 李德駿,汪港,楊燦軍,等.基于NTP和IEEE1588海底觀測網時間同步系統[J].浙江大學學報(工學版),2014,59(1):1-7.
[6] 劉見,靳紹平,李敏,等.基于IEEE-1588協議的高精度時鐘對時設計[J].電子技術應用,2014,40(4):48-51.
[7] 孫中尉.IEEE1588高精度網絡時間同步應用研究[D].西安:中國科學院大學(中國科學院國家授時中心),2010.
[8] 魏亞敏,李軼,張申,等.礦山物聯網時間同步系統設計與實現[J].電子技術應用,2017,43(1):81-83.
[9] 黃健,劉鵬,楊瑞民.IEEE1588精確時鐘同步協議從時鐘設計[J].電子技術應用,2010,36(7):94-97,108.
[10] 王冠.IEEE1588v2時鐘同步技術的研究與實現[D].武漢:武漢郵電科學研究院,2011.
[11] 李紅亮.基于PTP協議的高精度網絡時間同步系統的設計與實現[D].天津:天津大學軟件學院,2012.
[12] 庾智蘭,李智.精確時鐘同步協議最佳主時鐘算法[J].電力自動化設備,2009,16(11):74-77.
作者信息:
馬 昭,葛文雙,胡愛蘭,張瑞權,張志成
(華北計算機系統工程研究所,北京100083)