了解最新公司動態及行業資訊
網絡時間同步系統是一種確保網絡中不同設備的時間保持一致的技術機制,廣泛應用于金融交易、通信網絡、工業自動化、電力系統、數據中心等領域。其核心目標是通過協調設備之間的時鐘,減少時間偏差,從而支持高精度協同工作或數據一致性。
數據一致性:在分布式計算環境中,多個系統或組件需要對同一事件記錄時間戳。如果這些系統的時間不同步,可能會導致數據不一致或者數據處理順序混亂。
提高系統安全性:正確的時間設置是保證日志文件準確性的關鍵,這對于調查安全事故、追蹤入侵行為至關重要。同時,許多安全協議依賴于精確的時間戳來驗證證書和簽名的有效性。
優化網絡性能:在網絡通信中,精確的時間同步可以改善數據包傳輸的效率,有助于診斷和解決網絡問題,并能有效管理帶寬使用情況。
支持實時應用:對于要求高精度時間同步的應用(如股票交易系統、多媒體廣播、工業自動化、自動駕駛等),任何時間上的差異都可能導致嚴重的后果,包括經濟損失或服務質量下降。
因此,無論是在技術實現還是業務操作層面,維持準確且統一的時間標準都是至關重要的。這通常通過使用網絡時間協議(NTP)或其他高級時間同步服務來實現。
NTP(Network Time Protocol)是用來使計算機時間同步化的一種協議,它可以使計算機對其服務器或時鐘源(如石英鐘,GPS等等)做同步化,它可以提供高精準度的時間校正(LAN上與標準間差小于1毫秒,WAN上幾十毫秒),且可介由加密確認的方式來防止惡毒的協議攻擊。NTP的目的是在無序的Internet環境中提供精確和健壯的時間服務。
簡單網絡時間協議(Simple Network Time Protocol),由 NTP 改編而來,主要用來同步因特網中的計算機時鐘。
SNTP協議采用客戶端/服務器的工作方式,可以采用單播(點對點)或者廣播(一點對多點)模式操作。SNTP服務器通過接收衛星信號或自帶的原子鐘作為系統的時間基準。單播模式下,SNTP客戶端能夠通過定期訪問SNTP服務器獲得準確的時間信息,用于調整客戶端自身所在系統的時間,達到同步時間的目的。廣播模式下,SNTP服務器周期性地發送消息給指定的IP廣播地址或者IP多播地址。SNTP客戶端通過監聽這些地址來獲得時間信息。
網絡中一般存在很多臺SNTP服務器,客戶端會通過一定的算法選擇最好的幾臺服務器使用。如果一臺SNTP服務器在工作過程中失去了外部時間源,此時SNTP服務器會告訴SNTP客戶端“我失去了外部時間”。當SNTP客戶端收到這個信息時,就會丟棄發生故障的SNTP服務器發給它的時間信息,然后重新選擇其他的SNTP服務器。
IEEE 1588,也被稱為精確時間協議(Precision Time Protocol, PTP),是一種用于在分布式系統中實現高精度時鐘同步的協議。它最初于2002年發布為version 1,并在2008年發布了version 2,顯著提高了時間同步的精度,可以達到亞微秒級別。由于其高精度的特點,IEEE 1588廣泛應用于需要嚴格時間同步的領域,例如電信、工業自動化、測試測量以及金融交易等場合。
IEEE1588的時間同步精度從納秒級到微秒級不等,具體取決于網絡環境和硬件配置。在TSN、專用硬件及優化拓撲下可實現亞微秒級同步,而普通以太網或混合網絡則可能降至微秒或十微秒級。實際應用中需結合場景需求選擇硬件方案(如邊界時鐘、光纖直連)和協議配置(如One-Step模式)以優化精度。
在時間同步系統中,時間源的層級(Stratum Levels)是用來描述時鐘精度和可靠性的一個概念。它源自于網絡時間協議(NTP),并且也被IEEE 1588精確時間協議(PTP)所采用,盡管細節上可能有所不同。時間源的層級越低,表示該時鐘的準確度越高、穩定性越好。
時間源的層級取值范圍1~15,頂層的參考時鐘編號為0。
Stratum 0: 這類時鐘并不是實際的網絡設備,而是指那些高精度的時間保持裝置,比如原子鐘或衛星接收器等,它們提供極其精確的時間參考信號。這些設備直接與UTC時間同步,并不直接參與網絡時間同步。
Stratum 1: 直接連接到Stratum 0設備的服務器或設備。因為它們直接從最高精度的時間源獲取時間,所以Stratum 1設備能夠提供非常高的時間準確性,通常誤差范圍在微秒或納秒級別內。這類設備常用于需要極高時間精度的應用場景中。
Stratum 2: 通過網絡連接到一個或多個Stratum 1設備來同步時間。雖然其精度低于Stratum 1設備,但由于經過了一次網絡傳輸,可能會引入額外的延遲和抖動,但仍然可以達到較好的時間同步效果,通常在毫秒級范圍內。
Stratum 3及以下: 隨著層級增加,每個后續層級的設備都是從前一層級的設備同步時間。每多經過一層,由于網絡延遲和處理時間等因素的影響,時間精度會逐漸下降。然而,在大多數應用場景下,即使是Stratum 3或者更低層級的設備也能提供足夠的同步精度。
時間源層級的概念有助于理解不同設備之間的時間精度關系,并為選擇合適的時間同步方案提供了依據。例如,在設計一個需要高度時間同步的分布式系統時,了解各個組件可能依賴的時間源層級可以幫助確定系統整體能達到的最佳時間同步精度。
時間源是時間同步體系中的最高精度參考源,通常為物理時鐘設備,不直接參與網絡時間協議(NTP)通信,而是通過物理接口(如脈沖信號、頻率輸出)連接到下游的Stratum 1服務器。以下是常見的時間源類型及其特點:
全球衛星導航系統(GNSS):包括全球定位系統(GPS)、北斗衛星導航系統(BDS)、伽利略衛星導航系統(Galileo)和格洛納斯衛星導航系統(GLONASS)。
原子鐘(Atomic Clocks):包括銣原子鐘、銫原子鐘等。
高精度振蕩器:恒溫晶振(OCXO)。
國產化信創時間服務器是北京昕辰清虹科技有限公司自主研發的網絡時間服務器,是一款高精度、高可用性、高可靠性的NTP時鐘同步產品,為了響應國家信創要求,該設備底層基于海光x86平臺,內存可選用紫光/長鑫等國產內存顆粒,內置銀河麒麟linux操作系統,完全做到國產化的自主、可控,該型號采用超高精度原子鐘作為守時模塊,該時鐘采用衛星/基站信號取時,當衛星/基站信號不可用時,通過恒溫晶振/銣原子鐘維持當前時間,具有長/短時無天線運行能力,NTS系列產品可為計算機操作系統、網絡設備、安全設備、應用系統及數據庫集群等系統提供精密的授時服務和時間戳服務,現以已廣泛應用于電力、政府機關、金融、交通、醫院、教育、航空等各個領域。
該產品可支持北斗、4G/5G、TOD、INNER等多種輸入參考源,以及支持NTP、TOD、1PPS、10MHz、422/485等多種授時輸出形式。
設備采用高性能工業級服務器主板、冗余電源、SSD,搭載銀河麒麟服務器操作系統,MTBF高達100000小時。
支持6個獨立網口,默認為6個電口,可選擇2電口+4光口,支持網卡bond、防火墻,授時支持MD5方式加密,確保授時安全。
服務器授時并發≥100000次/秒,假如每臺終端1分鐘同步一次,可容納600萬臺終端進行時間同步。
搭載基于B/S架構的授時狀態監控系統,與授時服務互不干擾,實時監控服務器授時狀態,衛星狀態,資源使用狀態、終端同步超時、終端時間偏差等。
支持手動設置告警策略及告警通知方式(郵件、短信、alertmanager、syslog和SNMP Trap),觸發告警立即發送告警通知。
實時記錄終端同步日志,可保持10萬條同步日志,根據同步日志查看終端實時誤差。
實時告警列表可查看服務器當前存在哪些告警信息:
支持設置客戶端同步超時告警和客戶端偏差告警閾值,超出閾值立即觸發告警,同時支持批量設置同步間隔,智能分析客戶端的校時頻率來設置客戶端的同步間隔。
當終端數量達到上千臺時,手動設置終端同步間隔和偏差閾值繁瑣,可通過智能分析自動設置所有終端同步間隔和偏差閾值,支持增量設置。
該方案在主數據中心機房部署一臺時間服務器,通過NTP協議向全國各地分支機構及各業務系統和設備提供校時服務。
NTP協議的校時精度會因網絡類型和環境的不同而有所差異。在局域網(LAN)中,由于網絡傳輸速度快且穩定,NTP協議通常可以實現接近一毫秒的精度。而在廣域網(WAN)中,由于網絡傳輸速度較慢且可能受到各種因素(如路由器路徑延遲等)的影響,NTP協議的校時精度可能會降低到幾十毫秒(±50ms)。城域網的NTP校時精度則一般介于局域網和廣域網之間。需要注意的是,這些精度值并非絕對,而是一般情況下的預估,實際效果可能會受到設備性能、網絡環境等多種因素的影響。
該方案僅部署一臺時間服務器,具有部署簡單,成本低的優勢,對可靠性要求較高的場景不適用此方案。
該方案中兩臺設備共需三個IP地址,其中兩個分別配置在兩臺時間服務器中,第三個IP作為提供對外授時服務的唯一IP,客戶端均配置向該IP校時,當主機出現故障時,該IP自動切換到備機,客戶端無感知,不需要做任何配置自動向備機校時。
該方案旨在部署兩臺時間服務器實現雙機熱備功能,實現高可用性,負載均衡,防止因單機部署因系統故障導致系統時間錯亂影響業務運行。
該方案中單(多)個中心需最少部署三臺時間服務器,三臺時間服務器獨立運行,均通過北斗衛星校準服務器本地時間,根據內部算法做到三臺獨立運行的服務器時間保持一致。
客戶端配置同時向三臺時間服務器同步時間,將網絡距離近的時間服務器設為優先選擇,可有效降低時間同步延遲問題,客戶端會自動向三臺時間服務器同步時間,根據自身的聚合算法將其中一臺作為主參考源,當其中一臺時間服務器授出錯誤時間時,客戶端本地自動排除該時間源,繼而向另兩臺時間源進行同步。
該方案優勢是采用客戶端本地的聚合算法自主選擇最佳時間參考源,即使其中一臺時間源出現故障,不影響客戶端向另兩臺時間源同步時間
slew是平滑、緩慢的漸進式調整(adjusts the clock in small steps所謂的微調),此方式將逐步調整終端本地時鐘,每秒調整0.5ms,而非一次性校正,降低瞬時誤差對系統的影響。
建議將所有終端配置為微調模式,可避免因時間服務器授出時間跳變過大導致終端時間跟著跳變。
附:chrony默認采用了微調模式。所以只需對Windows系統和使用ntpd作為時間同步工具的系統配置為微調模式。
配置時間服務器使用MD5加密授時,提高終端時間同步安全性。
在授時狀態監控系統中配置終端同步超時告警,當終端在規定時間內沒有向時間服務器同步時間,則觸發告警,及時發現及時干預,進一步保證終端時間的準確性。
在授時狀態監控系統中配置終端時間偏差過大告警,當終端時間偏差過大時,第一時間向管理員發送告警通知。
如果使用衛星作為參考時間源,則需要從樓頂穿天線至機房,蘑菇頭固定在樓頂空曠處,天線材質為同軸電纜,為了機房設施安全考慮,建議加裝避雷器,進一步對設備進行保護。
當僅部署一臺時間服務器時,為了安全考慮,避免因時間服務器授出時間出現跳變,導致終端時間出現過大誤差,建議搭建一臺二級時間源,并配置二級時間源為微調模式,所有終端向二級時間源校時,進一步保護終端本地時間的準確性及穩定性。
因為二級時間源是通過NTP協議方式實現,當Stratum 2時存在約±10ms的誤差,故需根據實際情況考慮是否使用二級時間源。
在替換時間服務器時,需綜合考慮時間源穩定性、協議兼容性、網絡架構調整及安全策略等多方面因素,以確保時間同步服務的連續性和精度。
應先配置測試機同時向新舊時間服務器校時,通過ntpq -pn或chronyc sources -v觀察新舊時間服務器的偏差,如果偏差過大,應考慮使用延時補償的方法將新時間服務器授出時間對齊舊時間服務器。
同時再次建議所有終端配置為微調模式。
設備共6個網口,可將多個網口進行bond操作,當其中一個網卡故障時,自動切換至兩一個網卡工作。