于建鋒
摘 要:空中交通管制量隨著不斷快速增長的航班量不斷加大,使得各種管制綜合信息管理系統(tǒng)在整個空中交通管制中的重要性越發(fā)明顯。目前,民航中南地區(qū)空管局區(qū)域管制中心應用了大量的管制綜合信息管理系統(tǒng)(包括前置系統(tǒng)、FIPS系統(tǒng)、協(xié)同放行與協(xié)同決策系統(tǒng)等;以下簡稱管綜系統(tǒng))。從空中交通管制的實際需要出發(fā),各個管綜系統(tǒng)服務器的系統(tǒng)時鐘與標準北京時間需要盡可能地保持一致。如何保證管綜系統(tǒng)服務器的系統(tǒng)時鐘的可靠同步,是一個不容忽視的問題。因沒有對管綜系統(tǒng)服務器的系統(tǒng)時鐘進行保護,出現(xiàn)過因時鐘源服務器時間跳變導致的各管綜系統(tǒng)服務器無法正常對外提供服務的故障。文章作者通過應用NTP協(xié)議,實現(xiàn)對管綜系統(tǒng)服務器的系統(tǒng)時鐘進行保護這一目標。文章介紹了NTP(Network Time Protocol)協(xié)議的相關知識,給出了管綜系統(tǒng)服務器在域環(huán)境下的配置方法以及注意要點。
關鍵詞:NTP;系統(tǒng)時鐘保護;時間同步;管制綜合信息系統(tǒng)
1 NTP的原理和工作模式
NTP(Network Time Protocol)是由美國德拉瓦大學的David L. Mills教授提出,將計算機服務器或客戶端的時間同步到另一個參考時間源或服務器。NTP協(xié)議的詳細說明在RFC-1305文檔中。除可以估算封包在網(wǎng)絡上的往返延遲外,NTP還可獨立地估算計算機時鐘偏差,從而實現(xiàn)在網(wǎng)絡上的高精準度計算機校時。目前在局域網(wǎng)中可以精確到0.1ms,一般情況下,NTP可以提供1-50ms的可信賴性的同步時間源和網(wǎng)絡工作路徑。
1.1 NTP的基本原理
T1:NTP客戶端發(fā)送查詢請求數(shù)據(jù)包的時間戳(以客戶端本地時間系統(tǒng)為基準)
T2:NTP服務器收到查詢請求數(shù)據(jù)包的時間戳(以服務器本地時間系統(tǒng)為基準)
T3:NTP服務器回復時間信息包的時間戳(以服務器本地時間系統(tǒng)為基準)
T4:NTP客戶端收到時間信息包時間戳(以客戶端本地時間系統(tǒng)為基準)
d:請求、回復數(shù)據(jù)包在線路上傳輸所需要的時間
θ:客戶端本地時間與服務器端本地時間的差值
現(xiàn)已知T1、T2、T3、T4,希望求得θ以調整客戶端時鐘有:
則可解得:
可以看到,θ、d值只與T2與T1的差值、T4與T3的差值相關,而與T2與T3的差值無關,即θ值與服務器處理請求所需的時間無關。據(jù)此,客戶端即可通過T1、T2、T3、T4計算出客戶端與服務器的時差θ去調整客戶端本地的時鐘,從而得到與服務端一致的精準時鐘。
1.2 NTP的工作模式
NTP的工作模式分為三種,分別是:主/被動對稱模式;客戶/服務器模式和廣播模式。在實際生產(chǎn)現(xiàn)場,常用的工作模式為廣播模式。通過NTP時鐘源服務器為各個NTP客戶端提供時鐘信號,時鐘源服務器不論客戶處于哪種工作模式下,主動發(fā)出時鐘信號,NTP客戶端根據(jù)收到的時間信息調整客戶端的時鐘,此時忽略數(shù)據(jù)包在網(wǎng)絡傳輸時引起的延時,雖然在準度上有所降低,但可在局域網(wǎng)中滿足精準度要求低于秒級的應用。
2 管綜系統(tǒng)服務器在域環(huán)境下的配置方法
目前,管綜系統(tǒng)服務器都是建立在Windows Server操作系統(tǒng)上的。Windows 操作系統(tǒng)包含 W32Time組件,該組件實現(xiàn)了NTP協(xié)議。在Windows操作系統(tǒng)的系統(tǒng)服務中,Windows Time系統(tǒng)服務通過W32Time組件維護在網(wǎng)絡上的客戶端和服務器的時間和日期同步。通過對Windows Time系統(tǒng)服務的正確配置,可以讓各個管綜系統(tǒng)服務器從域服務器接收準確的時間,并實現(xiàn)自動的同步;且在域服務器出現(xiàn)大幅度的時間跳變時,拒絕跟隨域服務器的時鐘,保護管綜系統(tǒng)服務器的時鐘不受影響。
2.1 W32Time服務的開啟
在Windows Server 2008以及Windows Server 2012中,Windows Time系統(tǒng)服務默認情況下是跟隨操作系統(tǒng)自動啟用的??赏ㄟ^命令行直接開啟時間服務,具體的指令為:net stop w32time &&net start w32time。
2.2 管綜系統(tǒng)服務器的配置方法
目前管綜系統(tǒng)各服務器都納入前置、FIPS域,接受前置、FIPS域管理服務器的管理。按照Windows操作系統(tǒng)的域管理策略,管綜各服務器定期接收并跟隨域服務器發(fā)布的時鐘。管綜系統(tǒng)各服務器的接收時鐘服務的方式采用了缺省配置,缺少自我保護機制,設置為直接跟隨域服務器的時鐘,如果域服務器時鐘意外情況出現(xiàn)巨變,也會跟隨,導致管綜服務器時鐘巨變。2016年1月20日管綜系統(tǒng)域控虛擬機DC1的系統(tǒng)時間跟隨了物理刀片硬件BIOS時間,發(fā)生了系統(tǒng)時間跳變。由于虛擬機DC1作為前置、FIPS域的域管理服務器,因此在虛擬機DC1的系統(tǒng)時間發(fā)生跳變后,部分管綜系統(tǒng)的服務器由于時間同步的作用,也相繼發(fā)生了系統(tǒng)時間跳變的故障。
將管綜服務器的時鐘服務配置為只接收域服務器提供的合理范圍內(nèi)的時鐘變更要求(比如5秒-600秒內(nèi));如域服務器出現(xiàn)時鐘跳變,導致提供了超出合理范圍的時鐘變更要求,則拒絕跟隨域服務器的時鐘。保持原有的時鐘以避免因域服務器的時鐘跳變,影響該臺管綜服務器的時鐘。
對管綜服務器的注冊表的如下所示的注冊表項進行設置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W
32Time\Config中的MaxNegPhaseCorrection、MaxPosPhaseCorrection將其值設定為600。(該設置以s為單位,如本地時鐘與域服務器時鐘誤差在600s內(nèi),則本地時鐘跟隨域服務器時鐘;如誤差超過600s,則本地時鐘不跟隨域服務器時鐘)
將MaxAllowedPhaseOffset的值設定為5,(該配置以s為單位,如本地時鐘與域服務器時鐘誤差在5s內(nèi),則本地時鐘不按照域服務器時鐘進行更新;如誤差超過5s,則本地時鐘跟隨域服務器時鐘修改本地時間)
3 結束語
通過實驗環(huán)境的驗證,上述配置能夠實現(xiàn)對管綜服務器的時鐘保護這一目標。通過對管綜服務器的正確配置能夠保護管綜系統(tǒng)服務器在設定的范圍內(nèi)正常地跟隨域服務器的時鐘;且在域服務器出現(xiàn)時鐘跳變超出設定范圍時,能夠保護管綜系統(tǒng)服務器的時鐘不跟隨時鐘源時鐘跳變。
參考文獻
[1]張紅,王志強.NTP協(xié)議及其在電信網(wǎng)絡中的應用[J].工業(yè),2004.
[2]RFC 1305. Network Time Protocol(Version 3)Specification,Implementation and Analysis,1992.
[3]RFC 1769.Simple Network Time Protocol(SNTP),1995.
[4]傅宇峰.時間同步系統(tǒng)的實現(xiàn)和應用[J].華為技術報,2002.