楊艷波 魏 巍
(中國電子科技集團公司第五十四研究所河北石家莊050081)
自911以來,安全問題成為國內外諸信息系統(tǒng)的關注點。從長遠發(fā)展以及確保其安全、連續(xù)和穩(wěn)定運行等方面考慮,建設信息系統(tǒng)災難備份中心以保證其數據安全和業(yè)務連續(xù)性,有利于增強抵御風險能力,提高服務水平。
按照GB/T20988規(guī)定[1],災難備份中心是用于災難發(fā)生后接替主系統(tǒng)進行數據處理和支持關鍵業(yè)務功能運作的場所,可提供災難備份系統(tǒng)、備用的基礎設計和專業(yè)技術支持及運行維護管理能力。災難備份系統(tǒng)由數據備份系統(tǒng)、備用數據處理系統(tǒng)和備用的網絡系統(tǒng)組成的信息系統(tǒng)。
災難備份系統(tǒng)建設的終極目標是實現“零數據丟失”、“業(yè)務無間斷連續(xù)運行”。要實現時間無間隙災難備份,高精度時間同步實現是必須考慮的問題。網絡測量與控制系統(tǒng)的精密時間同步標準-精密時間協議(Precision Time Protocol,PTP),可在網絡中不同設備間實現亞微秒級的同步精度。文章主要介紹基于PTP協議災備系統(tǒng)時間同步的具體實現。
PTP基本原理的同步過程如圖1所示。
圖1 PTP同步過程圖
從時鐘偏移量的修正和傳輸時延的修正,需要用到4種報文:①同步報文Sync;②跟隨報文Follow_Up;③延時請求Delay_Req報文;④延時回應Delay_Resp報文[2]。主時鐘周期性地向網絡上廣播發(fā)送同步Sync報文,與此同時,主時鐘監(jiān)視上述同步報文實際發(fā)送的時間T1作為同步報文的精確時間戳,并在隨后的Follow Up報文中攜帶T1。網絡中的所有其它從時鐘在收到Sync同步報文后,首先記下報文的精確到達時間T2,然后在T3m時刻接收到Follow Up報文,從Follow Up報文中取出時間戳T1。
為了得到主從時鐘的傳輸時延,網絡中的所有從時鐘以單播方式向主時鐘發(fā)送延時請求Delay_Req報文,同時記錄該報文在網絡接口處的實際發(fā)送時間T3。主時鐘每次接收到延時請求報文時都會記下此報文的精確到達時間T4,并在隨后的Delay Resp報文中發(fā)送T4給相應的從時鐘,從時鐘接受到Delay Resp報文后,并取出時間戳T4。
Sync報文在主從時鐘的時間差為:
Delay_Req報文在從主時鐘的時間差為:
若系統(tǒng)鏈路對稱均勻,則主從時鐘間的偏移量TOffset和傳輸延遲TDelay為:
通過TOffset和TDelay修正從時鐘的本地時間,從而與主時鐘實現時間同步[3]。
在災備系統(tǒng)中,需要時間同步的設備有若干計算機,被網絡設備和安全設備分隔成多個子網,呈網狀網絡拓撲結構。采用主從式算法[4],如圖2所示。
圖2 容災系統(tǒng)主從算法原理圖
①主校時服務器位于根,與外部時間資源采用直接時間傳遞技術連接或利用本機的時鐘作為整個系統(tǒng)的時間基準。當進行時間同步時,主校時服務器的時鐘信號傳遞給子網校時服務器,子網校時服務器的時鐘信號傳遞給子網各設備;
②主校時服務器與子網校時服務基于PTP完成網絡時間標準的時間同步,子網校時服務與校時代理完成子網內設備的時間同步。系統(tǒng)的時間同步全部采用軟件實現報文由報文頭、報文主體及擴展字段等部分組成,在以太網中,按照TCP/IP協議模型,數據報文封裝在UDP中;
③主校時服務器可選擇網絡中一臺性能高的機器,亦可獨立部署一臺高性能計算機。本方案中選擇獨立部署一臺微機服務器[5],通過直連主交換機經由主交換機與各子網交換機網絡連接。操作系統(tǒng)為Windows系統(tǒng),安裝主校時服務軟件;
④子網校時服務選擇各子網中一臺負載較小機器,安裝子網校時服務軟件;
⑤其余設備均部署校時代理軟件。
容災備份系統(tǒng)時間同步軟件工作流程如圖3所示。
圖3 時間同步軟件工作流程
⑴主校時服務軟件與子網校時服務軟件的時間同步工作流程
①主校時服務軟件通過界面輸入(或外部接口)獲取標準時間源的標準時間,進行本地校時;②主校時服務軟件通過讀取System.DateTime的Now屬性,獲取本地時間;③主校時服務軟件生成主時鐘同步報文并發(fā)送;④主校時服務軟件生成主時鐘跟隨報文并發(fā)送;⑤子網校時服務軟件接收同步報文,記錄接收時間,解析報文內容;⑥子網校時服務軟件接收主時鐘跟隨報文,解析報文內容,獲取時間戳;⑦子網校時服務軟件獲取本地時間,生成并發(fā)送從時鐘延時請求報文;⑧主校時服務軟件接收延時請求報文;⑨主校時服務軟件獲取本地時間,生成延時回應報文并發(fā)送;⑩子網校時服務軟件接收延時回應報文,解析報文,子網校時服務軟件計算偏移量和傳輸時延,修正本地時間。
⑵子網校時服務軟件與校時代理軟件的時間同步工作流程
①子網校時服務軟件通過JNI接口,獲取本地時間,子網校時服務軟件生成主時鐘同步報文并發(fā)送;②子網校時服務軟件生成主時鐘跟隨報文并發(fā)送;校時代理軟件接收同步報文,記錄接收時間,解析報文內容,校時代理軟件接收主時鐘跟隨報文,解析報文內容,獲取時間戳;③校時代理軟件獲取本地時間,生成并發(fā)送從時鐘延時請求報文。子網校時服務軟件接收延時請求報文;④子網校時服務軟件獲取本地時間,生成延時回應報文并發(fā)送,校時代理軟件接收延時回應報文,解析報文,校時代理務軟件計算校正值,通過SetLocal-Time接口函數設置本地時間;⑤主校時服務軟件完成標準時間獲取、本地校時、本地時間獲取、同步報文生成、跟隨報文生成、延時回應報文生成、延時請求報文生成、報文發(fā)送等功能模塊;⑥子網校時服務軟件完成同步報文、跟隨報文、延時回應報文接收與解析、計算修正值、本地校時以及本地時間獲取、同步報文生成、跟隨報文生成、延時回應報文生成、延時請求報文接收及解析、報文發(fā)送等功能模塊;⑦校時代理軟件完成同步報文、跟隨報文、延時回應報文接收與解析、計算修正值、本地校時等功能模塊;⑧時間同步軟件系統(tǒng)按照10次/s的頻率周期進行處理[6],對5個子網(其中一個子網邊界有阻隔措施)、42臺計算機進行系統(tǒng)測試,測試結果為時間同步精度達到秒級,子網時間同步精度可達到0.1 s。
基于PTP協議進行容災備份系統(tǒng)時間同步設計實現,可以完成不同子網、不同設備的時間同步問題。且本項目中考慮實際局域網的子網分隔,進行主從算法時間同步,可以更好保證子網的時間一致性。
[1]G B/T 20988,信息安全技術信息系統(tǒng)災難恢復規(guī)范[S].
[2]劉 高,金施群.基于I EEE1588協議的局域網精確時鐘同步研究[J].現代顯示,2012(135):24-28.
[3]陳 宜,劉 偉,宜 鑫,等.I EEE1588時鐘同步技術在330kV延安變智能改造中的應用[J].信息系統(tǒng)工程,2012(8):98-100.
[4]賀 鵬,李 菁.計算機網絡時間同步技術研究[J].三峽大學學報,2003,25(4):319-323.
[5]雷小青.局域網統(tǒng)一授時系統(tǒng)的設想[J].信息與電腦,2012:72-73.
[6]徐海龍,羅雙喜.精密時間同步協議研究與實現[J].計算機工程與設計,2012,33(7):2591-2595.