NTP時間服務器在電信時間同步網絡中的應用
閱讀:7772發布時間:2011-4-20
1時間同步
1.1概述
在通信領域,時間同步是指各網絡節點設備、應用系統的時鐘使用同一時間參考基準———協調世界時(UTC),通過某種方式使其時鐘的時刻和時間間隔與UTC
同步。由于電信網自身無法提供UTC,需要建立時間同步網絡,各網元設備或應用系統通過這個網絡獲得UTC并與UTC進行時間同步。
對電信網上的各種時間設備進行UTC時間同步,必須解決以下3個方面的問題:
a)盡量選取高精度的時間源;
b)將高精度的時間傳送到時間設備,盡量減小傳輸誤差;
c)用時間來同步設備時間,充分利用設備各自的時間校準機制自動實現時間同步,盡量排除人工因素。
1.2時間同步技術
目前在時間基準和國家時間基準層面使用的主要基準時鐘是銫原子鐘,其原子秒的不確定度已經提高到2×10-15,商用的小銫鐘的頻率復現性也已達到或優于5×10-
13的水平。但是,在應用層面上并不需要這樣高的時間度。目前有多種時間同步技術,其時間同步度也有較大差異,如表1
所示。用戶可根據業務對時間精度的需求,采用不同的時間傳送技術來得到所需精度的時間。
2NTP協議
2.1概述
NTP(NetworkTimeProtocol)是設計用來在IP網上使不同設備能維持相同時間的一種同步時間協議。目前廣泛應用的是NTPv3標準(RFC-
1305)。SNTP(SimpleNetworkTimeProtocol)是NTP的一個子集,僅用于同步子網的末端。
2.2NTP時間服務器的工作模式
NTP時間服務器有3種工作方式:
a)客戶機/服務器模式:采用一對一連接,客戶機可以被服務器同步,服務器不能被客戶機同步。
b)對稱模式:與客戶機/服務器模式基本相同,但雙方均可同步對方或被對方同步,先發出申請建立連接的一方工作在主動模式下,另一方則工作在被動模式下。
c)廣播/多播模式:是一對多的連接,服務器周期性地主動發出時間信息,客戶機據此信息調整自己的時間,由于忽略網絡時延,精度較低,適用于高速局域網上。應用時可根據需要選擇不同的工作模
式,其中zui常用的工作方式是客戶機/服務器模式。
2.3NTP的網絡體系結構
NTP協議以UTC作為時間標準,根據需求可采用不同的網絡結構來實現。對于大型通信網絡,一般采用分層的類樹型結構,時間按NTP服務器的等級傳播。距離UTC
源近的時間服務器有較高的時間準確度,將時間服務器的準確度用一個稱為Stratum的數值來表示,根據每個時間服務器距離UTC
時間源的遠近將其歸入到不同層(Stratum)中。
*層為一級時鐘源層,Stratum值為1。位于*層的時間服務器為主服務器,通過的外部時鐘源獲取時間信息,并使自身的時間與UTC
同步,是整個系統的基礎。
第二層及以下層除層數不同、時間精度不一樣外沒有本質上的區別。
出于對度和可靠性的考慮,下層時間服務器同時引用若干個上層及同層時間服務器作為參考源。網絡中的時間服務器可以扮演多重角色。如第二層的時間服務器,對于*層來說是客戶機,對于第
三層則是服務器,對于同層的時間服務器則可以是對等服務器。圖1
示出的是一個三層時間網絡的結構。
中箭頭方向表示時間的傳播方向及提供時間同步服務的方向。箭頭的發出方為校時服務的提供方,箭頭的指向方為校時服務的請求方。Stratum等級相同時間服務器間的時鐘同步是雙向的,雙方可相互校
時。層間的時鐘同步路徑稱為主用同步路徑,同層內的時鐘同步路徑稱為備份同步路徑。在主用同步路徑不可用時,時間服務器利用備份同步路徑從本層的時間服務器校正時間,這時其準確度Stratum值
將增加1。通信網中的網元設備從其設定的時間服務器獲取時間。
2.4NTP工作原理
NTP協議可測定時間服務器時鐘和客戶機時鐘之間的時間偏移量。為了做到高度,客戶機必須測量服務器—客戶機傳播延時,以計算和服務器之間的時間偏移量。由于無法計算單行方向的延時,時間
同步協議測量整個來回延時,并假定各個方向的傳播時間是恒定相同的。一般來說,這是一個很有用的近似值,但是在今天的Internet
中,由于不同的服務提供商、網絡路徑,與其相關聯的延時可以*不同。NTP協議的工作原理如圖2所示。
系統時鐘同步的工作過程如下:
a)客戶機發送一個NTP消息給服務器,該消息帶有它離開客戶機時的時間戳T1;
b)當上述NTP消息到達服務器時,服務器加上自己的時間戳T2;
c)服務器再發送這個NTP消息給客戶機,此時再附加上它離開服務器時的時間戳T3;
d)當此NTP消息到達客戶機時,客戶機記錄此時的時間戳T4。
根據上述過程時間關系可得:
T2=(T1+θ)+δ
T4=(T3-θ)+δ
可求解得到服務器和客戶端之間的時間偏差θ、兩者之間單程的網絡傳輸時間δ:
可以看到,θ、δ只與T2和T1的差值、T4和T3的差值相關,而與T3和T2
的差值無關,即zui終的結果與服務器處理請求所需要的時間無關。據此,客戶機即可通過這4個時間戳計算出的時間偏差θ和網絡傳輸時間δ去調整本地時鐘。
2.5NTP的時間處理過程
在NTP實現時,將使用復雜的算法和機制來確保時鐘同步的高性。在一個時間同步設備上。NTP的處理流程如圖3所示。
NTP
利用多個對等的時間服務器來獲得高度和可靠性。當從多個對等服務器獲取時間同步信息后,每個獨立工作的過濾器從這些信息中選取*的樣本與本地時間進行比較,通過選擇和聚類算法對往返
延遲、偏移等參數進行分析,選取若干個較為準確的服務器。合成算法對這些服務器的信息進行綜合,獲取更為準確的時間參考。環路濾波器和可變頻率振蕩器在時鐘校正算法的控制下,調節本地時鐘
的時間和頻率。
2.5.1針對某一個時間服務器的數據過濾處理
NTP采用一種收斂算法用于提高從一個時間服務器獲得的網絡延遲δ與時鐘偏差θ的準確度,減少噪聲因素的影響。客戶機存有從這個時間服務器得到的的n
個(δ,θ)值,從中選擇δ值zui小的(δ,θ)值,然后取定對應的θ值作為本次處理的時鐘偏差值。同時,處理過程還根據上述n
個(δ,θ)值序列計算出一個評價因子,以標識該服務器時鐘的質量。在Internet及各種局域網上的實驗一致表明,上述對zui近n
個(δ,θ)值序列取δzui小值的過濾處理算法比采用中值算法及裁減中值算法能獲得更高的時間精度。
2.5.2針對多個時間服務器的對等選擇與組合處理
在NTP網絡結構中,講到NTP
的時間服務器通過多條網絡路徑與多個上層或同層服務器相連,通過上述*個處理過程,將獲得針對多個時間服務器的多個處理結果。如果能夠選擇其中合適的服務器并對該服務器的信息進行處理,
將可以獲得更高的時間準確度和更高的可靠性。NTP
使用一種對等選擇與組合處理算法來解決這個問題,其基本思路[1]是:服務器的Stratum值越小、距離UTC
時間源越近、同步偏差越小、此時間服務器也越可靠,因而與Stratum
值小、同步距離小的服務器進行同步的準確度就越高。客戶機首先根據*個處理過程中得到的評價因子、服務器的Stratum值及服務器的同步距離等參數對這些時間服務器進行排隊,然后根據一定的準
則將擾動zui大的時間服務器去除,zui后采用合成算法計算其他時間服務器數據的統計平均值。
2.5.3本地時鐘校正
為避免時鐘的抖動及振蕩,維持時鐘的單調性,NTP并沒有將前兩步處理得到的時鐘偏差直接用來調整本地時鐘,而是將NTP
節點本地時鐘校正的處理看作一個鎖頻/相環,通過一個環路濾波器轉換為一個對可變頻率振蕩器VFO
的控制量來控制振蕩器的振蕩頻率,間接調整系統時鐘。此過程的詳細算法在參考文獻3中有詳細的描述。NTP建立的本地時鐘校正模型如圖4所示。
3NTP時間服務器在時間同步網絡中的應用
NTP時間服務器在時間同步網中得到了越來越多的應用。采用NTP
協議來實現時間同步具有投資少的優勢,其精度能滿足交換設備、數據網絡、計費、電子商務、網管等的需求。用戶可以通過互聯網或自建NTP
時間同步網來進行時間同步。
NTP時間服務器在電信時間網絡中的應用包括兩個方面的內容:
a)采用NTP構建時間同步網絡;
b)各種網元、應用系統使用NTP從NTP時間網絡獲取時鐘并進行時鐘校正。
3.1采用NTP時間服務器構建時間同步網
電信網絡中采用NTP
協議構建時間同步網時,一般采用前文中描述的類樹型結構。一級時間服務器一般位于骨干網的全國中心,二級及以下時間服務器可以根據網絡情況向下部署至省級、地(市)中心等,網元設備等可以
從距其zui近的時間服務器進行時間同步。
圖5為一個二級時間同步組網模式,網絡設備及下級的時間服務器利用NTP協議從上級的時間服務器進行時間同步及校正。
一級時間服務器直接連接可靠的UTC時間源,如GPS衛星接收系統、原子鐘等,獲得UTC時間的經濟并zui常用的方法是從GPS獲得。GPS接收機從
衛星信號中獲取并輸出高精度的UTC標準時間信號,一級時間服務器據此進行時間同步。考慮到可靠性,每個網絡可配置2
個一級服務器分別作為主、備用服務器,并分布在不同的2個局點。
二級時間服務器可以是的時間服務器,也可以是支持NTP協議的通信設備,如交換機的BAM、路由器等。它接收一級時間服務器的時間信息,通過NTP
協議校準時間,并可以作為時間服務器向下級時間服務器或網絡設備提供時間服務。在時間服務器上也可以安裝授時軟件來作為授時服務器,向各種不支持NTP協議的設備授時。
上下級時間服務器之間、時間服務器與同步設備間應采用可靠的通信網絡,如傳輸、PSTN、DDN、DCN、IP
網等各種通信網絡。通常上下級時間服務器之間設置為轉接次數較少的固定路由,傳輸距離也不宜太長。
采用NTP協議構建時間同步網,由于系統結構簡單,且采用標準的接口,故便于維護及平滑擴容。
3.2網絡節點時間同步的機制
電信網絡中支持NTP協議的各種網絡節點設備可以從所接入的時間同步網絡進行時間的同步和校正。由于這些設備一般位于時間同步網的邊緣,故可以采用簡化的SNTP
來進行時間同步。
在網絡節點設備每次啟動時,系統會先啟動一個NTP
時間同步進程,此進程被用來立即同步本地設備和時間服務器的時間。這是同步本地時間和服務器時間的zui快方式。此進程通常NTP
服務器作為一個參數,網絡節點設備的時鐘被設置為和服務器的時間匹配。當這個進程使用多個NTP服務器作為參數時,網絡節點設備會使用Stratum值zui小的NTP
服務器。如果級別相等,網絡節點設備會使用加權平均數。
在設備正常運行中,設備后臺系統中有一個持續運行的時間同步守護進程,此進程會定時校驗客戶機的時鐘和NTP
服務器的時間。守護進程通常是在系統啟動的時候啟動。因為客戶機的時鐘可能產生漂移,守護進程會周期性地向時間服務器發送同步請求,在必要時修正客戶機的時間,并記錄每次處理的時間差,根
據這個時間差來計劃下一次檢查的時間間隔。如果這個時間差比較大,下一次的時間檢查間隔會比較小;如果時間差很小,下一次的檢查間隔會比較大,這樣可以在保證網絡節點設備時間準確性的同時
,減輕時間服務器的負載及網絡流量。
3.3使用NTP時間服務器應注意的問題
基于目前NTP協議的功能及應用情況,在使用NTP協議建設時間同步網絡時,為了保證時間同步網絡的正常運行,應注意下列問題:
a)在設計大型的時間同步網時,應避免采用單星型或樹型結構,防止某一時間服務器出現故障時影響下級時間服務器的使用。建議采用前文中介紹的類樹型結構,同時引用若干個上層時間服務器及同層
時間服務器作為參考源。這樣不但提高了系統的可靠性,也能夠提高系統的時間精度。
b)由于NTPv3中尚未支持NTP
節點間的鑒權等安全措施,在建設時間同步網絡時,應采取相應的措施避免時間服務器受到攻擊。如對于非面向公眾的生產型時間同步網絡,時間服務管理員應嚴格配置NTP
服務器的訪問允許范圍,拒絕服務范圍以外的其他請求。
c)網絡用戶在進行參數配置時,應避免惟一的NTP服務器,而是應提供一個服務器列表,防止當惟一的服務器發生故障時影響服務。
d)終端設備的時間同步周期不宜設置得過小,以避免引起大的時間服務器負載壓力和網絡流量。
e)網絡用戶在進行參數配置時,應避免直接NTP時間服務器的IP地址,而是設置NTP時間服務器的域名,這樣可利用DNS
服務器通過域名解析將訪問負載分散到其他時間服務器。
4NTP協議的發展
隨著計算機網絡的發展,越來越多的應用對時間同步提出了更高的要求。NTP的應用也越來越廣泛,在Internet上工作的時間服務器已超過10萬臺。目前,NTP
v4
正在研究中,它改進了時鐘模型,可望在各種同步源和網絡的情況下更地預測和調節頻率和時間;它提出了相應的新算法以降低網絡抖動和振蕩器漂移的沖突;它將重新設計工作在頻率鎖相環、相
位鎖相環或者兩者混和模式下的時鐘校正算法;還將提供關于自動配置、可靠性、降低Internet
流量和加強網絡安全性的鑒權等方面的新特性。NTP的新版本將為各種時間應用提供更高精度的時間同步服務。