本發明涉及計算機網絡系統的監測和維護技術,具體涉及一種時鐘同步監管方法和裝置。
背景技術:
隨著網絡的出現和發展,無數的設備(包括客戶端、服務器等終端和交換機、路由器等網絡設備)都會運行在同一個局域網或廣域網中。為了更好的控制整個網絡,需要同步網絡中所有設備的時間,也叫時鐘同步。
網絡系統中各時鐘的同步,并不要求各時鐘完全與系統標準時鐘對齊。只要求知道各時鐘與系統標準時鐘在比對時刻的鐘差以及比對后它相對標準鐘的漂移修正參數即可,當時鐘積累鐘差較大時才作跳步或閏秒處理。這是因為,要在比對時刻把兩種鐘面時間對齊,一則需要有精密的相位微步調節器,這樣的成本是很高的,另外,各種驅動源的漂移規律也各不相同,即使在兩種比對時刻時鐘完全對齊,比對后也會產生誤差。
為了更好的同步各個時鐘,需要對同步的情況進行監管,即在時鐘同步的設備或應用之外,再增加一個監管設備,能實時了解網絡中各個設備的時間同步情況,如各個設備與標準時間的偏差數據,偏差大的有哪些等。
通信網絡是一種使用交換、傳輸設備,將地理上分散的用戶終端設備互連起來實現通信和信息交換的系統。通信網絡也包括了很多用戶終端設備、服務器和網絡設備,也需要時鐘同步。
目前通信網絡中,時鐘同步監管的方法包括:
(一)利用簡單網絡管理協議(SNMP,Simple Network Management Protocol)采集通信網絡中設備時間信息,與標準時間比對,計算得出設備的 時鐘與標準時間的差,從而判斷設備時鐘與標準時間同步情況;
(二)用專用程序周期輪詢通信網絡中設備,采集設備時鐘,與標準時間比對,計算得出設備的時鐘與標準時間的差,從而判斷設備時鐘是否與標準時間同步。
現有的監管通信網絡中設備時鐘同步情況的方法存在如下缺陷:
第一種方法的不足是SNMP協議沒有包含直接的設備時鐘與標準時間的差異值。需要采集設備時鐘,再與標準時間比較計算得出偏差數據。監管效率低。
第二種方法的不足:一是監管效率更低,需要逐臺設備登錄提取設備時鐘,再與標準時間比較得出偏差數據。二是程序模擬人工提取設備時鐘和標準時間之間有一定時延,獲取的時間偏差數據準確度不夠高。
技術實現要素:
有鑒于此,本發明實施例期望提供一種時鐘同步監管方法和裝置,能準確的知道各個設備的時間偏差,且監管效率高。
為達到上述目的,本發明的技術方案是這樣實現的:
本發明實施例提供了一種時鐘同步監管方法,所述方法包括:
采集客戶端與時鐘同步服務器之間交互的數據包,獲取網絡時間同步協議數據包;
根據所述網絡時間同步協議數據包,確定客戶端與時鐘同步服務器的時間偏差數據;
根據所述時間偏差數據,按照設定規則,發出提示信息。
優選的,所述采集客戶端與時鐘同步服務器之間交互的數據包,獲取網絡時間同步協議數據包,包括:
采集流過指定端口的數據包;
提取所述數據包中源互聯網協議IP地址、目的IP地址和協議端口號;
根據所述協議端口號,獲取網絡時間同步協議數據包。
優選的,所述確定客戶端與時鐘同步服務器的時間偏差數據,包括:
分析所述網絡時間同步協議數據包的源IP地址、目的IP地址、協議端口號和表示時間偏差數據的字段值,獲取客戶端與時鐘同步服務器的時間偏差數據。
優選的,所述根據所述時間偏差數據,按照設定規則,發出提示信息,包括:
對獲取的客戶端與時鐘同步服務器的時間偏差數據,與設置的時間閾值比較,并根據比較結果發出提示信息。
優選的,所述發出提示信息,包括:
將所述客戶端與時鐘同步服務器的時間偏差數據展示在顯示屏幕上;
根據提示信息的類別,選擇不同的顯示方式。
本發明實施例還提供了一種時鐘同步監管裝置,所述裝置包括采集模塊、分析模塊和處理模塊;其中,
所述數據采集模塊,用于采集客戶端與時鐘同步服務器之間交互的數據包,獲取網絡時間同步協議數據包;
所述分析模塊,用于根據所述網絡時間同步協議數據包,確定客戶端與時鐘同步服務器的時間偏差數據;
所述處理模塊,用于根據所述時間偏差數據,按照設定規則,發出提示信息。
優選的,所述采集模塊具體用于:
采集流過指定端口的數據包;
提取所述數據包中源互聯網協議IP地址、目的IP地址和協議端口號;
根據所述協議端口號,獲取網絡時間同步協議數據包。
優選的,所述分析模塊具體用于:
分析所述網絡時間同步協議數據包的源IP地址、目的IP地址、協議端口號和表示時間偏差數據的字段值,獲取客戶端與時鐘同步服務器的時間偏差數據。
優選的,所述處理模塊具體用于:
對獲取的客戶端與時鐘同步服務器的時間偏差數據,與設置的時間閾值比較,并根據比較結果發出提示信息。
優選的,所述處理模塊還用于:
將所述客戶端與時鐘同步服務器的時間偏差數據展示在顯示屏幕上;
根據提示信息的類別,選擇不同的顯示方式。
本發明實施例提供的時鐘同步監管方法及裝置,采集客戶端與時鐘同步服務器之間交互的數據包,獲取網絡時間同步協議數據包;根據所述網絡時間同步協議數據包,確定客戶端與時鐘同步服務器的時間偏差數據;根據所述時間偏差數據,按照設定規則,發出提示信息;可見,本發明實施例采集網絡時間同步協議數據包,直接獲取客戶端與時鐘同步服務器之間時間偏差數據,這樣,監管效率高,而且,也能獲取更精確的時間偏差數據。
附圖說明
圖1為本發明實施例時鐘同步監管方法的實現流程的示意圖;
圖2為本發明實施例時鐘同步監管裝置的示意圖;
圖3為包含本發明實施例時鐘同步監管裝置的網絡的物理結構示意圖;
圖4為包含本發明實施例時鐘同步監管裝置的網絡的邏輯結構示意圖。
具體實施方式
下面將結合附圖及具體實施例對本發明再做進一步的說明。
如圖1所示,本發明實施例的一種時鐘同步監管方法,包括:
步驟101:采集客戶端與時鐘同步服務器之間交互的數據包,獲取網絡時間同步協議數據包;
目前的網絡時間同步協議有兩種:網絡時間協議(NTP,Network Time Protocol)和簡單網絡時間協議(SNTP,Simple Network Time Protocol);
本發明具體實施例采用的是NTP,NTP網絡時間協議能適應更多類型的網絡,且沒有終端數量的限制;
進一步的,如果使用SNTP,則監管的步驟是一致的,只是在提取網絡時間協議的字段名稱依據SNTP會略有不同。
客戶端與時鐘同步服務器之間會交互很多通信方面的數據,即會有很多數據包;
本發明實施例中,所述采集客戶端與時鐘同步服務器之間交互的數據包,獲取網絡時間同步協議數據包,包括:
監管主機采集流過指定端口的所有數據包;
提取所述數據包中源IP地址、目的IP地址、協議端口號;
根據協議端口號,獲取網絡時間同步協議數據包;
這里,指定端口是根據網絡時間同步協議傳輸所用的端口確定;
進一步的,如果時鐘同步服務器具有端口鏡像功能,則指定端口是指鏡像的端口;
網絡時間同步協議在本實施例中具體是指NTP。
更具體的,本發明實施例在監管主機上設置網絡嗅探器,通過網絡嗅探器獲取流過指定端口的所有數據包,包括:獲取指定端口,采集流過所述指定端口的所有數據包;獲取所述數據包的源IP地址、目的IP地址、協議端口號,并基于所述協議端口號對所述數據包進行分類,篩選出NTP數據包;
進一步的,協議端口號可以區分協議類型,據此可以篩選出NTP數據包,如NTP的協議端口號為123;
更進一步的,篩選出的NTP數據包需要去掉傳輸控制協議(TCP,Transmission Control Protocol)或用戶數據報協議(UDP,User Datagram Protocol)的包頭,才能進入下一步驟。
本發明實施例中,所述時鐘同步服務器為網絡交換機,且所述網絡交換機具有端口鏡像功能,能將所有網絡時間同步協議數據包鏡像到一個端口,也就是上文的指定端口;
進一步的,網絡交換機可以是具有自身晶振時鐘功能的網絡交換機,這樣的網絡交換機一般都具有端口鏡像功能;
這樣,網絡嗅探器只需要單一的采集指定網卡端口的所有數據包,就能獲得所有NTP數據包,簡化網絡時鐘同步協議數據的采集。
其中,網絡嗅探器為使用WinPcap(windows packet capture,windows平臺的一個免費、公共的網絡訪問系統)開發的程序,嗅探流過網卡的數據并智能分析過濾,快速找到所需要的網絡信息的一種程序,通過使用網絡嗅探器就能快速抓取相關的通信數據;
數據包的傳輸路徑通常情況下依次為網卡、設備驅動層、鏈路層、IP層、傳輸層,最后到達應用層;
為了減少傳輸時間,在數據包經過的鏈路層增加一個旁路處理,獲取所述數據包的源IP地址、目的IP地址、協議端口號,將篩選出的NTP數據包去掉TCP或UDP的包頭,直接傳輸給應用層的協議分析程序。
這樣傳輸的路徑就變成“時鐘同步服務器指定端口—監管主機網卡—設備驅動層—鏈路層—應用層”,原來的傳輸路徑是“時鐘同步服務器指定端口—監管主機網卡—設備驅動層—鏈路層—IP層—傳輸層—應用層”,減少了IP層和傳輸層的時間。
當然,網絡時鐘同步數據的采集還可以在主機上部署除網絡嗅探器之外的數據采集探針,也可實現上述采集任務,但是不能直接使用WinPcap的編程接口,需要編寫更多的程序段才能訪問底層數據,程序設計和硬件配置更復雜、成本更高。
時鐘同步服務器還可以采用除網絡交換機之外的具有時鐘同步服務器功能的主機、路由器、專用同步時鐘服務器等設備,不過,沒有網絡交換機的端口鏡像功能,需要監管主機分別訪問多個端口,才能采集到需要的數據包,存在程序設計和硬件配置更復雜、成本更高的問題。
進一步的,作為時鐘同步服務器的網絡交換機需要與上級時鐘服務器連接,從更高精準度的時鐘服務器獲取穩定的時間。
步驟102:根據所述網絡時間同步協議數據包,確定客戶端與時鐘同步服務器的時間偏差數據;
獲取的網絡時間同步協議數據包,包括源IP地址、目的IP地址、協議端口號和包含客戶端與時鐘同步服務器的時間偏差數據的相應字段等;
對NTP來說,包括源IP地址、目的IP地址、協議端口號和基本差量(Root dispersion)字段;
其中,源IP地址、目的IP地址可以找到交互的客戶端地址和服務器地址,也就是說,可以區分出這個數據包是哪個客戶端與時鐘同步服務器交互的;
Root dispersion字段值直接表示客戶端與時鐘同步服務器的時間偏差數據。
因此,監管主機分析網絡時間同步協議數據包可以直接獲得客戶端與時鐘同步服務器的時間偏差數據,也就是獲得基本差量字段表示的客戶端與時鐘同步服務器的時間偏差數據。
這里,監管主機通過一種通用的網絡行為分析程序,加載預先配置的協議分析邏輯、如NTP分析邏輯,獲取客戶端與時鐘同步服務器的時間偏差數據;
這里的通用的網絡行為分析程序,可根據客戶需求靈活的定制針對分析網絡協議的協議分析邏輯,然后通過固化這些協議分析邏輯達到自動分析的目的;
具體的,協議分析邏輯基于NTP來說,NTP分析邏輯就是針對NTP的協議結構,獲取基本差量字段的值,如基于NTP的Root dispersion字段,這樣就能得到需要的信息。
步驟103:根據所述時間偏差數據,按照設定規則,發出提示信息。
這里,提示信息是監管主機對通信網絡中的針對異常情況發出的通知信息,根據嚴重程度分為幾級,如可以是一級:注意、二級:警告、三級:嚴重警告等。
具體的,根據所述時間偏差數據,按照設定規則,發出提示信息,包括:
對獲取的客戶端與時鐘同步服務器的時間偏差數據,監管主機加載預先設置的業務分析邏輯進行業務分析,確定所述客戶端與時鐘同步服務器的同步情況,如時間偏差數據是否超過設定值或客戶端很長時間沒有與時鐘同步服務器做同步交互等;
對出現的異常情況,如時間偏差數據超過設定值等,監管主機發出提示信 息;
本發明實施例中,業務分析是監管主機通過一種通用業務分析程序加載預先配置的業務分析邏輯分析的;
本實施例中的預先配置的業務分析邏輯有以下兩個:
1)根據客戶端與時鐘同步服務器的時間偏差數據數值,向外部系統提供不同級別的提示信息;
2)對客戶端的時鐘同步行為進行監控,對一定時間內或連續N天未與時鐘同步服務器做同步交互的客戶端給出提示信息。
進一步的,業務分析邏輯會對客戶端與時鐘同步服務器的時間偏差數據設置多個不同級別的時間閾值,對應不同的提示信息,對所述時間偏差數據超出對應的時間閾值,發出相應的提示信息,即所述時間偏差數據超出的時間閾值越大,則提示信息的級別越高;
對于一定時間內或連續N天未與時鐘同步服務器做同步交互的客戶端,只需給出低級別的提示,因為其與時鐘同步服務器的差值未超出對應的時間閾值,但是需要發出提示,以使監管主機確認該客戶端是否有其他網絡問題。
更進一步的,所述監管主機會將客戶端與時鐘同步服務器的時間偏差數據以大屏幕的方式實時展示出來,如展示在大的LED顯示屏上;并會根據提示信息的類別,選擇不同的顯示方式,如提示信息的級別比較高,就顯示紅色,這樣比較直觀和醒目,對整個網絡的時鐘同步情況一目了然。
如果是級別較高的提示信息,如三級提示信息,監管主機會進行主動處理;
處理的方式,可以是指示時鐘同步服務器調整客戶端的時間,也可以是直接調整客戶端的時間;
實際使用中,調整客戶端時間的方法可以是跳步或閏秒處理。
圖2為本發明實施例時鐘同步監管裝置的示意圖,如圖2所示,本發明實施例的一種時鐘同步監管裝置,包括:采集模塊21、分析模塊22和處理模塊23;其中,
所述采集模塊21,用于采集客戶端與時鐘同步服務器之間交互的數據包, 獲取網絡時間同步協議數據包;
所述分析模塊22,用于根據所述網絡時間同步協議數據包,確定客戶端與時鐘同步服務器的時間偏差數據;
所述處理模塊23,用于根據所述時間偏差數據,按照設定規則,發出提示信息。
為了說明的更清楚,下面將分別對各個模塊作詳細說明:
所述采集模塊21,用于采集客戶端與時鐘同步服務器之間交互的數據包,獲取網絡時間同步協議數據包;
目前的網絡時間同步協議有兩種:網絡時間協議(NTP,Network Time Protocol)和簡單網絡時間協議(SNTP,Simple Network Time Protocol);
本發明實施例采用的是NTP,NTP網絡時間協議能適應更多類型的網絡,且沒有終端數量的限制;
進一步的,如果使用SNTP,則監管的步驟是一致的,只是在提取網絡時間協議的字段名稱依據SNTP會略有不同。
客戶端與時鐘同步服務器之間會交互很多通信方面的數據,即會有很多數據包;
本發明實施例中,所述采集客戶端與時鐘同步服務器之間交互的數據包,獲取網絡時間同步協議數據包,包括:
監管主機采集流過指定端口的所有數據包;
提取所述數據包中源IP地址、目的IP地址、協議端口號;
根據協議端口號,獲取網絡時間同步協議數據包;
這里,指定端口是根據網絡時間同步協議傳輸所用的端口確定;
進一步的,如果時鐘同步服務器具有端口鏡像功能,則指定端口是指鏡像的端口;
網絡時間同步協議在本實施例中具體是指NTP。
更具體的,本發明實施例采用在監管主機上設置網絡嗅探器,通過網絡嗅探器獲取流過指定端口的所有數據包,包括:獲取指定端口,采集流過所述指 定端口的所有數據包;獲取所述數據包的源IP地址、目的IP地址、協議端口號,并基于所述協議端口號對所述數據包進行分類,篩選出NTP數據包;
進一步的,協議端口號可以區分協議類型,據此可以篩選出NTP數據包,如NTP的協議端口號為123;
更進一步的,篩選出的NTP數據包需要去掉傳輸控制協議(TCP,Transmission Control Protocol)或用戶數據報協議(UDP,User Datagram Protocol)的包頭,才能進入下一步驟。
本發明實施例中,所述時鐘同步服務器為網絡交換機,且所述網絡交換機具有端口鏡像功能,能將所有網絡時間同步協議數據包鏡像到一個端口,也就是上文的指定端口;
進一步的,網絡交換機可以是具有自身晶振時鐘功能的網絡交換機,這樣的網絡交換機一般都具有端口鏡像功能;
這樣,網絡嗅探器只需要單一的采集指定網卡端口的所有數據包,就能獲得所有NTP數據包,簡化網絡時鐘同步協議數據的采集。
其中,網絡嗅探器為使用WinPcap(windows packet capture,windows平臺的一個免費、公共的網絡訪問系統)開發的程序,嗅探流過網卡的數據并智能分析過濾,快速找到所需要的網絡信息的一種程序,通過使用網絡嗅探器就能快速抓取相關的通信數據;
數據包的傳輸路徑通常情況下依次為網卡、設備驅動層、鏈路層、IP層、傳輸層,最后到達應用層;
為了減少傳輸時間,在數據包經過的鏈路層增加一個旁路處理,獲取所述數據包的源IP地址、目的IP地址、協議端口號,將篩選出的NTP數據包去掉TCP或UDP的包頭,直接傳輸給應用層的協議分析程序。
這樣傳輸的路徑就變成“時鐘同步服務器指定端口—監管主機網卡—設備驅動層—鏈路層—應用層”,原來的傳輸路徑是“時鐘同步服務器指定端口—監管主機網卡—設備驅動層—鏈路層—IP層—傳輸層—應用層”,減少了IP層和傳輸層的時間。
當然,網絡時鐘同步數據的采集還可以在主機上部署除網絡嗅探器之外的數據采集探針,也可實現上述采集任務,但是不能直接使用WinPcap的編程接口,需要編寫更多的程序段才能訪問底層數據,程序設計和硬件配置更復雜、成本更高。
時鐘同步服務器還可以采用除網絡交換機之外的具有時鐘同步服務器功能的主機、路由器、專用時鐘同步服務器等設備,不過,沒有網絡交換機的端口鏡像功能,需要監管主機分別訪問多個端口,才能采集到需要的數據包,存在程序設計和硬件配置更復雜、成本更高的問題。
進一步的,作為時鐘同步服務器的網絡交換機需要與上級時鐘服務器連接,從更高精準度的時鐘服務器獲取穩定的時間。
所述分析模塊22,用于根據所述網絡時間同步協議數據包,確定客戶端與時鐘同步服務器的時間偏差數據;
獲取的網絡時間同步協議數據包,包括源IP地址、目的IP地址、協議端口號和包含客戶端與時鐘同步服務器的時間偏差數據的相應字段等;
對NTP來說,包括源IP地址、目的IP地址、協議端口號和基本差量(Root dispersion)字段;
其中,源IP地址、目的IP地址可以找到交互的客戶端地址和服務器地址,也就是說,可以區分出這個數據包是哪個客戶端與時鐘同步服務器交互的;
Root dispersion字段值直接表示客戶端與時鐘同步服務器的時間偏差數據。
因此,監管主機分析網絡時間同步協議數據包可以直接獲得客戶端與時鐘同步服務器的時間偏差數據,也就是獲得基本差量字段表示的客戶端與時鐘同步服務器的時間偏差數據。
這里,監管主機通過一種通用的網絡行為分析程序,加載預先配置的協議分析邏輯、如NTP分析邏輯,獲取客戶端與時鐘同步服務器的時間偏差數據;
這里的通用的網絡行為分析程序,可根據客戶需求靈活的定制針對分析網絡協議的協議分析邏輯,然后通過固化這些分析邏輯達到自動分析的目的;
具體的,協議分析邏輯對于NTP來說,NTP分析邏輯就是針對NTP的協 議結構,獲取基本差量字段的值,如基于NTP的Root dispersion字段,這樣就能得到需要的信息。
所述處理模塊23,用于根據所述時間偏差數據,按照設定規則,發出提示信息;
這里,提示信息是監管主機對通信網絡中的針對異常情況發出的通知信息,根據嚴重程度分為幾級,如可以是一級:注意、二級:警告、三級:嚴重警告等。
具體的,根據所述時間偏差數據,按照設定規則,發出提示信息,包括:
對獲取的客戶端與時鐘同步服務器的時間偏差數據,監管主機加載預先設置的業務分析邏輯進行業務分析,確定所述客戶端與時鐘同步服務器的同步情況,如時間偏差數據是否超過設定值或客戶端很長時間沒有與時鐘同步服務器做同步交互等;
對出現的異常情況,如時間偏差數據超過設定值等,監管主機發出提示信息;
本發明實施例中,業務分析是監管主機通過一種通用業務分析程序加載預先配置的業務分析邏輯分析的;
本實施例中的預先配置的業務分析邏輯有以下兩個:
1)根據客戶端與時鐘同步服務器的時間偏差數據數值,向外部系統提供不同級別的提示信息;
2)對客戶端的時鐘同步行為進行監控,對一定時間內或連續N天未與時鐘同步服務器做同步交互的客戶端給出提示信息。
進一步的,業務分析邏輯會對客戶端與時鐘同步服務器的時間偏差數據設置多個不同級別的時間閾值,對應不同的提示信息,對所述時間偏差數據超出對應的時間閾值,發出相應的提示信息,即所述時間偏差數據超出的時間閾值越大,則提示信息的級別越高;
對于一定時間內或連續N天未與時鐘同步服務器做同步交互的客戶端,只需給出低級別的提示,因為其與時鐘同步服務器的差值未超出對應的時間閾值, 但是需要發出提示,以使監管主機確認該客戶端是否有其他網絡問題。
更進一步的,所述監管主機會將客戶端與時鐘同步服務器的時間偏差數據以大屏幕的方式實時展示出來,如展示在大的LED顯示屏上;并會根據提示信息的類別,選擇不同的顯示方式,如提示信息的級別比較高,就顯示紅色,這樣比較直觀和醒目,對整個網絡的時鐘同步情況一目了然。
如果是級別較高的提示信息,如三級提示信息,監管主機會進行主動處理;
處理的方式,可以是指示時鐘同步服務器調整客戶端的時間,也可以是直接調整客戶端的時間;
實際使用中,調整客戶端時間的方法可以是跳步或閏秒處理。
在實際應用中,所述數據采集模塊21、分析模塊22和處理模塊23均可由位于監管主機的中央處理器(CPU)、微處理器(MPU)、數字信號處理器(DSP)、或現場可編程門陣列(FPGA)等實現。
圖3為包含本發明實施例時鐘同步監管裝置的網絡的物理結構示意圖,如圖3所示,時鐘同步網絡包括客戶端31、時鐘同步服務器32、監管主機33、LED顯示屏34,時鐘同步服務器32會將與所有客戶端31通信的數據包鏡像到一個端口,監管主機33會從這個端口獲取所有的數據包,并進行分類和協議分析;
監管主機33對協議分析的結果進行業務分析,確定客戶端與時鐘同步服務器的時間偏差數據,在LED顯示屏上展示和警告,并對需要調整時間的客戶端發出調整指令。
圖3中的監管主機33就是本發明實施例的時鐘同步監管裝置。
圖4為包含本發明實施例時鐘同步監管裝置的網絡的邏輯結構示意圖,如圖4所示,時鐘同步網絡包括采集主機41、網絡嗅探器42、NTP分析器43、業務分析器44和可視化界面45;
網絡嗅探器42從采集主機的網卡(與網絡交換機的指定端口連接)上采集數據包,篩選出NTP數據包,然后傳送到NTP分析器43進行協議分析,獲取客戶端與時鐘同步服務器的時間偏差數據,再傳送到業務分析器44進行業務分 析,根據分析結果,在可視化界面作出相應提示及處理。
圖4的采集主機41、網絡嗅探器42、NTP分析器43、業務分析器44都是裝在本發明實施例的時鐘同步監管裝置上或由時鐘同步監管裝置實現的。
以上,僅為本發明的較佳實施例而已,并非用于限定本發明的保護范圍。