《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于NTP的高精度時鐘同步系統實現
基于NTP的高精度時鐘同步系統實現
黃沛芳
摘要: Windows操作系統內置的NTP授時精度不高,分辨率最高只有10 ms。給出一個基于Windows操作系統的計算機網絡同步時鐘實現方案,該方案可以有效提高計算機時鐘同步精度,在LAN中時鐘同步精度達250 μs。同時采用了校正時鐘頻率誤差算法,校正后的時鐘長期計時誤差能達到10天少于1 s。
Abstract:
Key words :

  摘 要:  Windows操作系統內置的NTP授時精度不高,分辨率最高只有10 ms。給出一個基于Windows操作系統的計算機網絡同步時鐘實現方案,該方案可以有效提高計算機時鐘同步精度,在LAN中時鐘同步精度達250 μs。同時采用了校正時鐘頻率誤差算法,校正后的時鐘長期計時誤差能達到10天少于1 s。
關鍵詞:  NTP 局域網; 時鐘頻率偏差; 高精度授時

 

  一般的計算機和嵌入式設備在時鐘度方面沒有明確的指標要求, 時鐘精度只有10-4~10-5,每天可能誤差達十幾秒或更多,如果不及時校正,其累積時間誤差不可忽視。許多工業控制過程需要高準確度時間,如:電力系統內眾多的計算機監控系統、保護裝置、故障錄波器等時間同步要在ms級以內。
聯網計算機同步時鐘最簡便的方法是網絡授時。網絡授時分為廣域網授時和局域網授時。廣域網授時精度通常能達50 ms級,但有時超過500 ms,這是因為每次經過的路由器路徑可能不相同?,F在還沒有更好的辦法將這種不同路徑延遲的時間誤差完全消除。局域網授時不存在路由器路徑延遲問題,因而授時精度理論上可以提到亞毫秒級。Windows內置NTP服務,在局域網內其最高授時精度也只能達10 ms級。因此,提高局域網NTP授時精度成為一個迫切需要解決的問題。
1 網絡時間協議簡介
網絡時間協議NTP(Network Time Protocol)的主要開發者是美國特拉華大學的MILLS David L.[1]教授設計實現的,由時間協議、ICMP時間戳消息及IP時間戳選項發展而來。NTP用于將計算機客戶或服務器的時間與另一服務器同步,使用層次式時間分布模型。在配置時,NTP可以利用冗余服務器和多條網絡路徑來獲得時間的高準確性和高可靠性。即使客戶機在長時間無法與某一時間服務器相聯系的情況下,仍可提供高準確度時間。
實際應用中,還有確保秒級精度的簡單的網絡時間協議SNTP(Simple Network Time Protocol)。SNTP是NTP的一個子集,主要用于那些不需要NTP的精度以較高實現復雜性的網絡時間同步客戶機。SNTP協議已減少了網絡延時對校對準確的影響,但沒有冗余服務器和校正時鐘頻率誤差功能。
除了認證符字段在SNTP中一般被忽略外,SNTP的報文格式與RFC-1305中所描述的NTP格式是一致的。NTP/SNTP服務端使用固定的UDP端口號是123。表1是NTP/SNTP報文格式的描述。


2 NTP授時原理
  NTP最典型的授時方式是Client/Server方式。如圖1所示,客戶機首先向服務器發送一個NTP 包,其中包含了該包離開客戶機的時間戳T1,當服務器接收到該包時,依次填入包到達的時間戳T2、包離開的時間戳T3,然后立即把包返回給客戶機。客戶機在接收到響應包時,記錄包返回的時間戳T4。客戶機用上述4個時間參數就能夠計算出2個關鍵參數:NTP包的往返延遲d和客戶機與服務器之間的時鐘偏差t。客戶機使用時鐘偏差來調整本地時鐘,以使其時間與服務器時間一致[1]。圖1中:
T1為客戶發送NTP請求時間戳(以客戶時間為參照);T2為服務器收到NTP請求時間戳(以服務器時間為參照);T3為服務器回復NTP請求時間戳(以服務器時間為參照);T4為客戶收到NTP回復包時間戳(以客戶時間為參照);d1為NTP請求包傳送延時,d2為NTP回復包傳送延時;t為服務器和客戶端之間的時間偏差,d為NTP包的往返時間。

 



3 NTP授時精度分析
  NTP授時精度與NTP服務器與用戶間的網絡狀況有關,主要取決于NTP包往返路由的延時對稱程度,往返路由的延時不對稱值最大不超過網絡延時。式(2)是在假設NTP請求和回復包在網上傳送延時相等,即d1=d2=d/2的情況下得出的,而d1、d2的取值范圍在(0...d)間,由式(3)可以得出最大授時誤差是±d/2。一般廣域網的網絡延時在10 ms~500 ms之間;局域網的網絡延時在計時操作系統內核處理延遲的情況下通常小于1 ms。
假定局域網內NTP延時小于1 ms,理論上授時誤差小于0.5 ms,但對于Windows操作系統內置的NTP客戶和NTP服務,并不能達到此精度。Windows NTP時鐘分辨率因操作系統和硬件不同而有所不同,時鐘分辨率通常為10 ms或15 ms?;赪indows操作系統內置的NTP授時精度最高不超過10 ms。
4 基于NTP減少計算機時鐘偏差
4.1 計算機時鐘偏差分析

通用PC機自帶兩類時鐘源:硬件時鐘和軟件時鐘(或稱為系統時鐘)。不論是硬件時鐘還是軟件時鐘,都是由石英晶體振蕩器驅動的,通過累計石英晶體振蕩器輸出脈沖數,換算出時間。所以計算機時鐘的準確度取決于晶振頻率準確度。受溫度變化、電壓、芯片老化等因素影響,晶振頻率會發生小幅度波動,其中溫度對晶振頻影響最大。
由于工藝和材料的原因,同一生產線上標稱頻率相同的石英晶體,其實際頻率是不同的,實際頻率與標稱頻率偏差率從10-4量級到10-9量級不等。以10-4量級為例,時鐘每天至少誤差8.64 s。
4.2 基于NTP減少計算機時鐘頻率偏差
時鐘頻率偏差是時鐘長期計時累積誤差的主要原因,要提高時鐘長期計時精度,必須補償時鐘頻率偏差。聯網的計算機可采用NTP方式,可非常方便地校準時鐘頻率偏差[2],其原理如圖2所示。以NTP服務器時鐘為標準時間,在某一時刻設置NTP客戶機時間為NTP服務器當前時間T0,經過一段時間后,NTP服務器時間為T0+tsn,NTP客戶端時間為T0+tcn。因為存在時鐘頻率偏差,tsn與tcn并不相等。NTP客戶端時間tcn需乘以時鐘頻率偏差系數k才等于tsn,即tsn=k×tcn,所以k=tsn/tcn。

 


任何晶振實際工作頻率都是不穩定的,只是程度不同而已。即使溫度補償的晶振,在常溫范圍內(攝氏10℃~35℃)也有大約5×10-7~2×10-6的誤差。晶振實際頻率是受外界多種因素(溫度、電壓、老化等)影響而改變的。因此,時鐘頻率偏差系數k并非恒定不變的。每隔一定時間,NTP客戶機要對時鐘頻率偏差系數k進行校正,才能保證計時精度。
5 采用高分辨率時鐘提高授時精度
  局域網內100 B以太網幀在百兆網絡物理層單向延時理論值約8 μs,要精確測量NTP包網絡延時,提高授時精度,時間分辨率必須達到或高于μs級。Windows系統常用的多個與時間有關的API,其時間分辨率最高精度只能達到ms級。其中,time、gmtime、localtime的時間值精確到s級;函數GetTickCount返回值時間精確到10 ms或15 ms。
Windows計算機系統內部有一個高精度性能定時器。函數QueryPerformanceFrequency可得到這個定時器的頻率。函數QueryPerformanceCounter可得到定時器的當前值。利用2次獲得的計數之差及時鐘頻率,就可以計算出事件經歷的精確時間。缺點是:讀取速度相對慢,在PⅢ 866 MHz和P4 2.8 GHz計算機上執行的速度分別約為1.13 μs和1.12 μs,與CPU速度關系不大。在使用時要注意它的實用分辨率大約只有2 μs。
Intel Pentium及以上級別的CPU中,有一個稱為“時間戳(Time Stamp)”的部件,它以64 bit無符號整型數的格式,記錄了自CPU上電以來所經過的時鐘周期數,提供了1條機器指令RDTSC(Read Time Stamp Counter)來讀取這個時間戳。但實際執行約需200個時鐘周期,對于1 GHz處理器實用分辨率約0.2 μs。
采用高精度性能定時器或RDTSC均可為網絡延時測量提供μs級計時,但要根據系統的具體情況選擇一個最合適的。
有了μs級計時器,并不表示基于Windows系統的NTP授時精度實際達μs級。因為時間戳一般都在應用層加蓋,包含了計算機處理和協議封裝(解封)開銷等不可具體量化的時延,數值大多在幾百μs到幾十μs間,具有隨機性,無法準確預知,從而造成NTP精度無法進一步提高。百兆交換式局域網實際授時精度約±250 μs。
6  高精度局域網授時實現
在Windows計算機網絡中,采用高分辨率定時器可有效提高局域網NTP授時精度,減少時鐘與標準時間的偏差。校正時鐘頻率偏差系數,可減少長期計時累積誤差及提高時鐘準確度。
6.1 計算機網絡組成
為使測試結果反映實際應用的環境,測試是在正常運行信息業務的真實網絡環境下進行的。參加測試的計算機和網絡設備正常處理日常業務。計算機網絡由100多臺計算機和十幾臺48/24口、10 M/100 M自適應交換機級聯而成。計算機間以100 Mb/s網速通信。
作為NTP服務器的是一臺P4/2.8G/512 MB內存,操作系統為Windows XP臺式計算機。NTP客戶端的計算機是一些PⅢ/866/256 MB內存Windows XP計算機。Windows XP默認已打開UDP 123端口,為了不與Windows內置的NTP服務發生沖突,根據上述提高NTP授時高精度算法編寫的客戶端和服務器端測試程序,采用其他空閑的UDP端口,如UDP 1000端口。
6.2 實驗評估
測試時間持續10天,客戶機每分鐘向服務器發出1個NTP請求進行測試:
(1)根據NTP返回包計算出時鐘頻率偏差系數k和NTP包延時d。各NTP客戶機所得的測試結果類似,圖3是其中1臺NTP,客戶機每分鐘向服務器發出1個NTP請求包,計算出客戶機時鐘頻率偏差系數組成的曲線圖。時鐘頻率偏差系數是某一數值附近波動變化的,主要受溫度的影響。曲線第42個點的時鐘頻率偏差系數是0.999 951 5,數值變化速度開始緩慢。假設時鐘頻率偏差系數是0.999 951 5,在未校正系數前,每天誤差約4.19 s。除去前面41個變化速度較快的點,10天中時鐘頻率偏差系數從0.999 951 5緩慢波動變化到0.999 951 2。對應的時鐘頻率偏差系數誤差δ是3×10-7,折算后約38.5天誤差為1 s。所以校正時鐘頻率偏差系數后,時鐘長期計時誤差可輕易地達到10天少于1 s。

 


圖4所示為測試過程中每次NTP包在客戶機和服務器間往返的延時情況,在10天中99 %的NTP包延時小于500 μs;延時在1 ms~2 ms的NTP包24個,占0.17 %;延時在2 ms~10 ms的NTP包10個,占0.069 %;延時10 ms以上只有2個,占0.013 9 %。大延時NTP包在測試過程中上隨機出現的情況將僅占1 %,延時500 μs及以的NTP包濾除后,局域網NTP授時最大延時小于500 μs,授時偏差最大不超過±250 μs。

7 進一步提高NTP授時精度的方法
  局域網絡延相對較大的原因在于時間戳一般都是在應用層加蓋。為減少操作系統內核處理延時的影響提高NTP授時精度,發/收NTP包時間戳應盡量接近主機真實發/收包時刻。在不改變硬件的條件下,一個可行的辦法是修改網卡驅動程序,將記錄NTP包發/收時間戳從應用程序移至網卡驅動程序處,可消除操作系統內核處理延時不確定而引入的誤差[3]。這種方法在局域網中可大幅提高NTP授時精度至μs級。
為了減少溫度引起晶振頻率漂移對時鐘準確度的影響,可以采用數字溫漂補償方法,提高時鐘長期計時準確度。先測出工作溫度范圍內溫度對應的溫漂補償系數,工作時每隔一定時間,根據實際溫度查出對應補償系數動態地修正時間。
時鐘頻率偏差和時鐘分辨率低是局域網NTP授時精度不高的主要原因。本文提出了基于通用Windows PC 軟硬件架構消除這兩種誤差的低成本且實施方便的高精度方法。隨著自動化的通信技術發展日新月異,以太網技術不斷滲透到工業控制現場總線應用領域,許多工業控制需要精確的時間,如變電站順序事件記錄SOE需達ms級,本文方法可為工業以太網的高精度同步時鐘應用作參考。


參考文獻
[1]  MILLS D L. Network time protocol(Version 3) specification,Implementation and Analysis-RFC1305,1992.
[2]  黃沛芳.高準確度時鐘程序算法.電子技術應用, 2001,27(8).
[3]  黎文偉,張大方,謝高崗,等.基于通用PC架構的高精度網絡時延測量方法.軟件學報,2006,17(2):275-284.

 

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美一区二区成人| 一本到高清视频免费精品| 中文日韩在线视频| 久久精品国产一区二区三| 一区二区三区欧美成人| 欧美视频在线免费看| 日韩午夜精品| 欧美私人啪啪vps| 欧美一激情一区二区三区| 亚洲精品在线免费| 欧美一区二区性| 欧美日韩一区二区在线视频| 男女激情视频一区| 欧美刺激午夜性久久久久久久| 日韩亚洲在线| 久久精品视频免费| 国产精品一区免费在线观看| 亚洲男人的天堂在线aⅴ视频| 一本久久a久久免费精品不卡| 国产精品一香蕉国产线看观看| 亚洲精品日韩精品| 欧美特黄a级高清免费大片a级| 久久婷婷久久| 亚洲特黄一级片| 欧美日韩裸体免费视频| 国产精品美女在线| 久久亚洲精品一区| 亚洲人妖在线| 久久精品视频网| 亚洲三级免费电影| 中文国产亚洲喷潮| 亚洲黄色在线视频| 亚洲一区二区三区欧美| 久久久久女教师免费一区| 久久精品在这里| 正在播放欧美视频| 国产精品久久精品日日| 亚洲一区二区四区| 一本色道久久综合亚洲精品不| 亚洲免费影视| 欧美精品黄色| 欧美激情成人在线| 久久久不卡网国产精品一区| 日韩视频在线观看一区二区| 欧美午夜电影在线观看| 国产精品久久久久久久久久三级| 亚洲欧美日韩一区在线观看| 一区在线播放| 欧美一级片在线播放| 有码中文亚洲精品| 久久se精品一区二区| 久久综合九色综合欧美狠狠| 久久久国产精彩视频美女艺术照福利| 国产一区二区按摩在线观看| 黄色一区二区三区| 国产精品爱啪在线线免费观看| 久久激情综合| 亚洲免费观看高清完整版在线观看| 亚洲高清激情| 一区二区三区久久久| 国产精品午夜av在线| 亚洲高清在线视频| 国产精品资源| 国产亚洲激情| 久久精品一区二区三区不卡| 久久久久久久一区二区| 中文网丁香综合网| 亚洲欧洲精品一区二区| 久久亚洲综合网| 影音先锋亚洲视频| 亚洲欧美国产日韩天堂区| 国产精品二区三区四区| 欧美在线观看www| 一区在线播放| 欧美精品激情在线观看| 国产一区二区高清视频| 亚洲女爱视频在线| 一区二区三区在线高清| 国产精品一区2区| 先锋影音久久| 国内成+人亚洲| 国产日韩欧美一区二区三区在线观看| 久久久综合视频| 欧美一区二区视频免费观看| 亚洲二区在线视频| 亚洲国产aⅴ天堂久久| 欧美日韩精品综合在线| 国产精品99久久久久久人| 欧美日韩不卡在线| 欧美福利视频在线| 亚洲午夜成aⅴ人片| 国产婷婷色一区二区三区| 久久岛国电影| 久久精品国产一区二区三区免费看| 欧美国产精品人人做人人爱| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲免费在线电影| 亚洲一区二区三区免费视频| 激情丁香综合| 欧美调教视频| 国产精品九九| 国产精品裸体一区二区三区| 久久一二三国产| 国产乱人伦精品一区二区| 欧美亚洲一级| 一本色道久久综合亚洲91| 欧美午夜理伦三级在线观看| 久久九九电影| 国产精品久久久久永久免费观看| 亚洲国产精选| 最新国产の精品合集bt伙计| 欧美精品七区| 伊人男人综合视频网| 精久久久久久| 免费在线视频一区| 两个人的视频www国产精品| 国内伊人久久久久久网站视频| 亚洲午夜国产成人av电影男同| 蜜桃精品久久久久久久免费影院| 欧美日韩精品一区视频| 91久久久久久| 亚洲蜜桃精久久久久久久| 国产一区二区三区最好精华液| 亚洲一区二区毛片| 欧美精彩视频一区二区三区| 久久久精品国产免大香伊| 久久成人精品一区二区三区| 亚洲激情在线观看| 亚洲欧美日韩电影| 国产精品99免视看9| 羞羞视频在线观看欧美| 国产精品视频一二三| 久热精品视频在线| 欧美视频在线免费看| 久久岛国电影| 久久综合九色综合欧美就去吻| 一区二区三区四区在线| 国产一区二区在线免费观看| 亚洲天堂av综合网| 在线观看欧美激情| 国产精品v欧美精品v日本精品动漫| 国产精品久久久久9999吃药| 亚洲精品乱码久久久久久按摩观| 国产欧美日韩亚州综合| 久久精品99国产精品日本| 国产精品尤物福利片在线观看| 国产精品久久久一区二区三区| 亚洲高清免费视频| 亚洲国产裸拍裸体视频在线观看乱了| 久久亚洲精品一区| 欧美伦理在线观看| 久久天堂av综合合色| 久久久久九九视频| 亚洲图片欧洲图片av| 国产精品网站在线观看| 国产日韩欧美精品一区| 午夜精品在线看| 欧美一区二区观看视频| 亚洲一区美女视频在线观看免费| 久久成人免费网| 国产日韩一区二区| 欧美日韩高清一区| 激情文学综合丁香| 美女福利精品视频| 国内精品福利| 欧美中文字幕视频在线观看| 欧美成人免费小视频| 欧美成人一区二区| 亚洲人屁股眼子交8| 国产精品你懂的| 国产精品久久久久久久久久尿| 一区二区高清在线观看| 久久精品在线免费观看| 久久久久久久高潮| 国产午夜久久| 欧美成人精品高清在线播放| 欧美大胆成人| 亚洲欧美中文在线视频| 欧美国产一区二区| 在线亚洲电影| 激情成人综合网| 欧美精品一区在线| 欧美精品激情blacked18| 美国三级日本三级久久99| 国产精品综合不卡av| 亚洲高清三级视频| 国产一区二区看久久| 国产综合久久久久影院| 亚洲欧美激情视频| 久久久久久久性| 亚洲国产电影| 国产精品久久国产三级国电话系列| 日韩视频精品在线观看| 欧美阿v一级看视频| 欧美亚洲一区三区| 欧美日韩中文在线观看| 中文无字幕一区二区三区| 你懂的国产精品永久在线| 一本大道av伊人久久综合| 韩国亚洲精品| 在线免费观看日韩欧美| 欧美在线视频播放| 一本色道久久综合亚洲精品高清| 欧美日韩性生活视频| 午夜国产精品视频免费体验区| 国产精品免费aⅴ片在线观看| 国产精品美女| 日韩视频在线观看国产| 国产精品视频自拍| 欧美在线日韩| 国产一区美女| 欧美电影免费观看网站| 亚洲综合色视频| 欧美一区午夜视频在线观看| 欧美国产在线电影| 91久久国产综合久久91精品网站| 欧美一区二区精品| 在线精品亚洲一区二区| 久久九九精品99国产精品| 老司机免费视频一区二区三区| 欧美中文字幕精品| 欧美日韩在线播放一区二区| 欧美日韩一区二区免费视频| 午夜精品久久久久久99热软件| 亚洲在线视频观看| 欧美激情一区二区三区在线| 亚洲国产小视频在线观看| 亚洲人成人99网站| 能在线观看的日韩av| 久久久久久伊人| 亚洲激情在线视频| 99视频热这里只有精品免费| 合欧美一区二区三区| 欧美性久久久| 欧美体内she精视频在线观看| 欧美中文字幕在线| 欧美 日韩 国产在线| 美女尤物久久精品| 亚洲国产精品久久精品怡红院| 欧美香蕉视频| 国产精品日韩欧美综合| 国产精品视屏| 亚洲国产精品女人久久久| 最新69国产成人精品视频免费| 欧美日韩在线免费视频| 免费毛片一区二区三区久久久| 久久天天狠狠| 久久久.com| 国产乱码精品一区二区三区av| 激情久久久久久久| 亚洲网友自拍| 亚洲国产1区| 亚洲激情视频| 亚洲久久一区二区| 狠狠久久亚洲欧美| 一区免费观看| 日韩亚洲欧美一区| 亚洲精品视频在线观看网站| 国产在线不卡精品| 日韩视频中午一区| 久热精品在线视频| 国产一在线精品一区在线观看| 国产精品私房写真福利视频| 欧美激情一区二区三区四区| 国产精品夜色7777狼人| 亚洲免费在线| 欧美三级日本三级少妇99| 国产精品美女主播| 国产精品视频免费在线观看| 亚洲一区二区成人| 国产精品成人av性教育| 欧美理论片在线观看| 含羞草久久爱69一区| 韩国精品一区二区三区| 亚洲欧美国产毛片在线| 亚洲精品免费电影| 国产精品成人久久久久| 国产日韩视频一区二区三区| 国产欧美韩国高清| 欧美成年人网站| 亚洲夫妻自拍| 欧美日韩精品在线播放| 91久久国产综合久久| 欧美偷拍另类| 久久躁日日躁aaaaxxxx| 久久国产天堂福利天堂| 怡红院精品视频在线观看极品| 国内精品久久久久久久影视麻豆| 亚洲国产精品一区二区三区| 国产精品一区二区在线观看网站| 午夜日韩电影| 美日韩免费视频| 激情综合色综合久久| 亚洲欧洲偷拍精品| 欧美激情自拍| 欧美久久九九| 欧美激情国产高清| 久久久精品欧美丰满| 伊人成人网在线看| 欧美三级日本三级少妇99| 亚洲午夜伦理| 欧美精品粉嫩高潮一区二区| 亚洲视频一区在线观看| 国产欧美韩日| 亚洲国产精品一区二区第一页| 亚洲免费观看视频| 99国产成+人+综合+亚洲欧美| 亚洲国内高清视频| 欧美日韩一区免费| 欧美成人一区二区三区片免费| 久久综合伊人| 午夜精品美女久久久久av福利| 国产美女精品| 在线亚洲欧美| 一区二区三区精品久久久| 国产精品久久久久天堂| 欧美一区二区三区四区夜夜大片| 亚洲片区在线| 最新热久久免费视频| 欧美大尺度在线| 亚洲福利电影| 久久久精品tv| 欧美顶级艳妇交换群宴| 国产一区二区三区高清播放| 一本大道久久a久久精品综合| 欧美巨乳在线| 亚洲第一网站免费视频| 国产欧美日韩不卡免费|