尹濤
摘要:網(wǎng)絡時間同步在空管領域得到越來越廣泛的應用,時鐘不同步或者出現(xiàn)偏差常常會對設備運行造成影響,也會對管制事件調(diào)查造成一定的偏差。本文將結(jié)合工作經(jīng)驗淺談NTP在實際中的應用。
關鍵詞:NTP;GPS時鐘;校時
1 NTP簡介
NTP(Network Time Protocol,網(wǎng)絡時間協(xié)議)是用來使網(wǎng)絡中的各個計算機時間同步的一種協(xié)議。它的用途是把計算機或者其它空管設備的時鐘同步到世界協(xié)調(diào)時UTC,其精度在局域網(wǎng)內(nèi)可達0.1ms。NTP協(xié)議屬于應用層協(xié)議,定義了協(xié)議實現(xiàn)過程中所使用的結(jié)構(gòu)、算法、試題和協(xié)議。NTP協(xié)議是基于IP和UDP的,也可以被其它協(xié)議組使用。默認使用的UDP端口號為123。對于運行NTP的本地系統(tǒng),既可以接收來自其它時鐘源的同步,又可以作為時鐘源同步其它的時鐘,并且可以和其它設備互相同步。
2 NTP工作原理
2.1 NTP分層架構(gòu)
NTP使用一種樹狀的,半分層的時間源系統(tǒng)。每一層稱之為 stratum。每個 stratum 都有一個編號,從1開始,最大到15,16被用來標記設備未同步。一般情況下,頂層的為stratum 1,工作中一般由GPS時鐘介入,stratum2的計算機將查詢層1服務器。層2計算機也可能與其它層2計算機對等相連,為對等組中的所有設備提供更穩(wěn)定的時間。后面第 n+1 層 stratum 從第 n 層同步時間,以此類推。
2.2 NTP計算時間延遲
Server和Client通過網(wǎng)絡相連,它們都有自己獨立的系統(tǒng)時鐘,系統(tǒng)時鐘同步的工作過程如下:
(1)Client向Server發(fā)送一個NTP報文,請求數(shù)據(jù)包傳輸?shù)目蛻舳藭r間戳為t0
(2)Server收到此NTP報文,請求數(shù)據(jù)包回復的服務器時間戳為t1。
(3)當此NTP報文離開Server時,Server再加上自己的時間戳,該時間戳為t2。
(4)當Client接收到該響應報文時,Client的本地時間為t3。
至此,Client已經(jīng)擁有足夠的信息來計算兩個重要的參數(shù):Client相對Server的時間差θ=((t1 - t0)+(t2 - t3))/2;
NTP報文的往返延遲δ=(t3 - t0)-(t2 - t1)Client就能根據(jù)這兩個值來設定自己的本地時鐘,使之與Server的時鐘同步。
2.3 NTP工作模式
說到NTP的工作模式就不得不先解釋一下NTP的報文格式。NTP的報文類型有時鐘同步報文和控制報文兩種,控制報文主要用于網(wǎng)絡管理,這里就不展開說,主要介紹時鐘同步報文。時鐘同步報文封裝在UDP報文中,主要字段包括LI(告警狀態(tài))、VN(NTP版本號)、Mode(NTP工作模式)、Stratum(系統(tǒng)時鐘層數(shù))等。Mode字段長度為3比特,表示NTP的工作模式。不同的值所表示的含義分別是:0未定義、1表示主動對等體模式、2表示被動對等體模式、3表示客戶模式、4表示服務器模式、5表示廣播模式或組播模式、6表示此報文為NTP控制報文、7預留給內(nèi)部使用。由此可知,NTP的工作模式包括4 種工作模式:對等體模式、客戶/服務器模式、廣播模式和組播模式。
對等體模式:主動端發(fā)送Mode值1的同步請求報文,被動端接收后自動工作在被動對等體模式,并回復Mode值2的應帶報文。主動對等體和被動對等體可以互相同步,如果雙方的時鐘都已經(jīng)同步,則以層數(shù)小的時鐘為準。
客戶/服務器模式:客戶端發(fā)送Mode值3得同步請求報文,服務器端接收后自動工作在服務器模式,并回復Mode值4的應答報文,客戶端接收后經(jīng)過濾優(yōu)選同步到服務器端??蛻舳藘H能單向同步到服務器端。
廣播模式:服務器端周期性發(fā)送時鐘同步報文到廣播地址255.255.255.255,客戶端接收廣播后先啟用一個短暫的服務器/客戶端模式與遠程服務器交換消息估計延遲,隨后進入廣播客戶端模式,根據(jù)廣播同步時鐘。
組播模式:服務器端周期性發(fā)送時鐘同步報文到組播地址224.0.1.1,客戶端接收廣播后先啟用一個短暫的服務器/客戶端模式與遠程服務器交換消息估計延遲,隨后進入組播客戶端模式,根據(jù)組播同步時鐘。
3 案例分析
3.1 SCHMID內(nèi)話面板的時鐘與UTC時間偏差,最大偏差五分鐘。造成錄音回放與實際時間不一致。
SCHMID內(nèi)話采用server/client模式校時,CtrlA,CtrlB定期向服務器端Mgmt1發(fā)送報文,依照Mgmt1的時鐘進行同步。為了確保時鐘的準確性,為Mgmt電腦引接了一路GPS信號,并用東進GPS校時軟件進行校時。內(nèi)話面板時鐘誤差說明NTP校時未正常工作。
解決方案:
(1)維護電腦上運行Cygwin.輸入 ssh root@192.168.XX.1 登陸到commcontroller A Password:XX.#提示符下運行 install New Software,系統(tǒng)會自動從監(jiān)控服務器下載軟件,下載后系統(tǒng)會自動重啟,此過程中請保持維護電腦到內(nèi)話系統(tǒng)網(wǎng)絡暢通。
(2)再次運行Cygwin.輸入ssh root@192.168.XX.75 登陸到commcontroller B Password:XX.#提示符下運行 installNewSoftware
(3)待全部重啟完成后,運行Cygwin分別登陸到 Controller A和B,
(4)運行NTPStart restart,查看NTP daemon是否正常運行。
內(nèi)話運行過程中NTP進程吊死。重新啟動NTP daemon后恢復正常。
3.2 現(xiàn)場監(jiān)控系統(tǒng)時鐘不準確,回放時間與實際UTC時間不一致。
現(xiàn)場監(jiān)控系統(tǒng)采用server/client模式,各個攝像頭從服務器讀取時間,服務器沒有外接GPS時鐘,服務器長期運行導致時間偏差,時間的不精確導致與實際時間偏差。
解決方案:從東進GPS時鐘服務器引接一路RS232時鐘信號到現(xiàn)場監(jiān)控服務器,然后使用東進GPS時鐘軟件對服務器電腦進行校時。東進GPS時鐘服務器只能提供RS232接口信號,而監(jiān)控服務器沒有RS232接口。故引接一路RS232 GPS信號,經(jīng)由C818E3 IP智能微控器將串口信號轉(zhuǎn)換為IP信號,然后將IP信號接進現(xiàn)場監(jiān)控系統(tǒng)交換機,在服務器中使用Xframe虛擬串口軟件將IP信號轉(zhuǎn)換為串口信號,這樣就可以使用東進GPS校時軟件對服務器校時。
4 結(jié)語
隨著空管領域?qū)υO備穩(wěn)定性可靠性的要求不斷提高,設備系統(tǒng)數(shù)量又不斷增加,設備校時的需求不斷增大,傳統(tǒng)的人工校時顯得不切實際。GPS時鐘的接口資源有限,不可能做到每一臺設備連接一路GPS信號。單套系統(tǒng)連接一路GPS信號,通過server/client模式進行NTP校時,就可以同時實現(xiàn)多系統(tǒng)的準確校時需求。日常維護中,在資源有限的情況下,靈活使用協(xié)議轉(zhuǎn)換等手段可以有效解決問題。筆者通過幾年的空管系統(tǒng)設備維護,處理GPS時鐘相關問題,逐步開始深入了解NTP校時協(xié)議,并結(jié)合設備維護提出自己的一些體會。
參考文獻:
[1] 陳明.蘇小敏.基于GPS的NTP網(wǎng)絡實現(xiàn)[J].現(xiàn)代電子技術.2011年16期
[2] 沈燕芬.用于網(wǎng)絡時間同步的NTP協(xié)議[J].現(xiàn)代計算機.2004年04期
[3] 賀鵬.李菁.吳海濤.網(wǎng)絡時間同步算法研究與實現(xiàn)[J].計算機應用.2003年02期
(作者單位:民航浙江空管分局)