專利名稱:一種在IPv6協(xié)議下實現(xiàn)精準時間同步的方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及基于Linux操作系統(tǒng)的網絡設備通信技術領域,尤其涉及一種在IPv6(Internet Protocol version 6,互聯(lián)網協(xié)議第六版)協(xié)議下實現(xiàn)精準時間同步的方法及系統(tǒng)。
背景技術:
PTP (Precision Time Protocol,精準時間同步協(xié)議)是比 NTP (NetworkTimeProtocol,網絡時鐘協(xié)議)更精確的時間同步協(xié)議,目前在Linux操作系統(tǒng)的環(huán)境下,PTP精準時間同步程序已經有針對IPv4 (Internet Protocol version 4,互聯(lián)網協(xié)議第四版)協(xié)議網絡的實現(xiàn),但還沒有針對IPv6協(xié)議網絡的實現(xiàn)。如何在針對IPv4協(xié)議網絡實現(xiàn)的基礎上增加PTP時間同步程序對IPv6協(xié)議網絡的實現(xiàn),是本領域技術人員亟待解決的問題。
發(fā)明內容
本發(fā)明要解決的技術問題是,提供一種在IPv6協(xié)議下實現(xiàn)精準時間同步的方法及系統(tǒng),在針對IPv4協(xié)議網絡實現(xiàn)的基礎上增加PTP精準時間同步程序對IPv6協(xié)議網絡的實現(xiàn)。本發(fā)明采用的技術方案是,所述在IPv6協(xié)議下實現(xiàn)精準時間同步的方法,網絡中包括主設備和從設備,主設備和從設備中均具有精準時間同步模塊,該方法包括當用戶選擇在IPv6協(xié)議下進行主設備和從設備之間的精準時間同步時,執(zhí)行下面的操作在主設備中,創(chuàng)建支持IPv6協(xié)議的第一套接字;獲取主設備上支持IPv6協(xié)議的第一網絡接口 ;當所述第一網絡接口符合網絡通信條件時將所述第一套接字設置為多播的模式,并調用精準時間同步模塊通過所述第一網絡接口與從設備進行時間同步;在從設備中,創(chuàng)建支持IPv6協(xié)議的第二套接字;獲取從設備上支持IPv6協(xié)議的第二網絡接口 ;當所述第二網絡接口符合網絡通信條件時,調用精準時間同步模塊通過所述第二網絡接口與主設備進行時間同步。進一步的,所述用戶選擇在IPv6協(xié)議下進行主設備和從設備之間的精準時間同步,具體包括在精準時間同步模塊中增加一個協(xié)議選項,所述協(xié)議選項的兩個數(shù)值分別對應在IPv6協(xié)議下進行精準時間同步、和在IPv4協(xié)議下進行精準時間同步;用戶通過在主設備和從設備上輸入所述協(xié)議選項及其數(shù)值,以選擇在IPv6協(xié)議下進行精準時間同步。進一步的,判斷所述第一網絡接口或者第二網絡接口是否符合網絡通信條件的過 程,具體包括通過Iinux操作系統(tǒng)的庫函數(shù)獲取網絡接口 IFF_UP屬性、IFF_RUNNING屬性和IFF_MULTICAST屬性,若這三種屬性均為真,則表示網絡接口符合網絡通信條件,否則表示網絡接口不符合網絡通信條件。進一步的,所述將第一套接字設置為多播的模式,具體包括通過setsockopt函數(shù)在主設備的多播地址范圍內建立多播組;將主設備的第一網絡接口加入所述多播組。進一步的,主設備與從設備進行時間同步的過程,包括主設備和從設備均通過精準時間同步模塊的請求應答機制進行時間同步。本發(fā)明還提供一種在IPv6協(xié)議下實現(xiàn)精準時間同步 的系統(tǒng),包括網絡中的主設備和從設備,主設備和從設備中均具有精準時間同步模塊,該系統(tǒng)還包括主設備執(zhí)行模塊,位于主設備中,用于當用戶選擇在IPv6協(xié)議下進行精準時間同步時,創(chuàng)建支持IPv6協(xié)議的第一套接字;獲取主設備上支持IPv6協(xié)議的第一網絡接口 ;當判斷出所述第一網絡接口符合網絡通信條件時將所述第一套接字設置為多播的模式,并調用精準時間同步模塊通過所述第一網絡接口與從設備進行時間同步;從設備執(zhí)行模塊,位于從設備中,用于當用戶選擇在IPv6協(xié)議下進行精準時間同步時,創(chuàng)建支持IPv6協(xié)議的第二套接字;獲取從設備上支持IPv6協(xié)議的第二網絡接口 ;當判斷出所述第二網絡接口符合網絡通信條件時,調用精準時間同步模塊通過所述第二網絡接口與主設備進行時間同步。進一步的,該系統(tǒng)還包括選項添加模塊,位于主設備和從設備中,用于在精準時間同步模塊中增加一個協(xié)議選項,所述協(xié)議選項的兩個數(shù)值分別對應在IPv6協(xié)議下進行精準時間同步、和在IPv4協(xié)議下進行精準時間同步;用戶輸入模塊,位于主設備和從設備中,用于供用戶在主設備和從設備上輸入所述協(xié)議選項及其數(shù)值,以選擇在IPv4協(xié)議下進行精準時間同步或者在IPv6協(xié)議下進行精準時間同步。進一步的,所述主設備執(zhí)行模塊或所述從設備執(zhí)行模塊判斷各自獲取的網絡接口是否符合網絡通信條件時,具體用于通過Iinux操作系統(tǒng)的庫函數(shù)獲取網絡接口 IFF_UP屬性、IFF_RUNNING屬性和IFF_MULTICAST屬性,判斷這三種屬性是否均為真,若是則表示網絡接口符合網絡通信條件,否則表示網絡接口不符合網絡通信條件。進一步的,所述主設備執(zhí)行模塊將所述第一套接字設置為多播的模式時,具體用于通過setsockopt函數(shù)在主設備的多播地址范圍內建立多播組;將主設備的第一網絡接口加入所述多播組,即將所述第一套接字設置為多播的模式。進一步的,所述精準時間同步模塊,具體用于通過請求應答機制在主設備和從設備之間進行時間同步。采用上述技術方案,本發(fā)明至少具有下列優(yōu)點本發(fā)明所述在IPv6協(xié)議下實現(xiàn)精準時間同步的方法及系統(tǒng),不論是在支持IPv4協(xié)議的網絡環(huán)境下還是支持IPv6協(xié)議的網絡環(huán)境下,或者是既支持IPv4協(xié)議又IPv6協(xié)議即雙棧的網絡環(huán)境下都可以進行運行精準時間同步程序,進行時間的校對。
圖I為本發(fā)明第一實施例的在IPv6協(xié)議下實現(xiàn)精準時間同步的方法流程圖;圖2為本發(fā)明第一實施例的步驟S102中將第一套接字設置為多播的模式的具體過程示意圖;圖3為本發(fā)明第二實施例的 在IPv6協(xié)議下實現(xiàn)精準時間同步的系統(tǒng)組成示意圖; 圖4為本發(fā)明應用實例一的組網示意圖;圖5為本發(fā)明應用實例二的組網示意圖;圖6為本發(fā)明應用實例三的組網示意圖。
具體實施例方式為更進一步闡述本發(fā)明為達成預定目的所采取的技術手段及功效,以下結合附圖及較佳實施例,對本發(fā)明進行詳細說明如后。本發(fā)明第一實施例,一種在IPv6協(xié)議下實現(xiàn)精準時間同步的方法,網絡中包括主設備和從設備,主設備和從設備中均具有精準時間同步模塊,如圖I所示,包括以下具體步驟步驟S101,用戶選擇在IPv6協(xié)議下進行主設備和從設備之間的精準時間同步。具體的,在精準時間同步模塊中增加一個協(xié)議選項,所述協(xié)議選項的兩個數(shù)值分別對應在IPv6協(xié)議下進行精準時間同步、和在IPv4協(xié)議下進行精準時間同步;用戶通過在主設備和從設備上輸入所述協(xié)議選項及其數(shù)值,以選擇在IPv6協(xié)議下進行精準時間同步。若用戶不通過協(xié)議選項對進行精準時間同步的協(xié)議環(huán)境進行指定,則優(yōu)先選擇在IPv4協(xié)議下進行精準時間同步。步驟S102,在主設備中,創(chuàng)建支持IPv6協(xié)議的第一套接字;獲取主設備上支持IPv6協(xié)議的第一網絡接口 ;當所述第一網絡接口符合網絡通信條件時將所述第一套接字設置為多播的模式,并調用精準時間同步模塊通過所述第一網絡接口與從設備進行時間同
止/J/ O具體的,如圖2所示,步驟S102中將第一套接字設置為多播的模式的具體過程,包括Al,通過setsockopt函數(shù)在主設備的多播地址范圍內建立多播組。該主設備的多播地址范圍是由事先配置的第一網絡接口的IP掩碼的位數(shù)決定的。A2,將主設備的第一網絡接口加入所述多播組。步驟S103,在從設備中,創(chuàng)建支持IPv6協(xié)議的第二套接字;獲取從設備上支持IPv6協(xié)議的第二網絡接口 ;當所述第二網絡接口符合網絡通信條件時,調用精準時間同步模塊通過所述第二網絡接口與主設備進行時間同步。進一步的,步驟S102和步驟S103中,判斷所述第一網絡接口或者第二網絡接口是否符合網絡通信條件的過程,具體包括通過I inux操作系統(tǒng)的庫函數(shù)獲取網絡接口 IF_UP屬性、IFF_RUNNING屬性和IFF_MULTICAST屬性,若這三種屬性均為真,則表示網絡接口符合網絡通信條件,否則表示網絡接口不符合網絡通信條件。進一步的,主設備與從設備進行時間同步的過程,包括主設備和從設備均通過精準時間同步模塊的請求應答機制進行時間同步。由于精準時間同步模塊即PTP精準時間同步程序的實現(xiàn)過程是現(xiàn)有技術,故此處不詳述。本發(fā)明第二實施例,一種在IPv6協(xié)議下實現(xiàn)精準時間同步的系統(tǒng),如圖3所示,包括網絡中的主設備10和從設備20,主設備10和從設備20中均具有精準時間同步模塊31,該系統(tǒng)還包括主設備執(zhí)行模塊11,位于主設備10中,用于當用戶選擇在IPv6協(xié)議下進行精準時間同步時,創(chuàng)建支持IPv6協(xié)議的第一套接字;獲取主設備10上支持IPv6協(xié)議的第一網絡接口 ;當判斷出所述第一網絡接口符合網絡通信條件時將所述第一套接字設置為多播的模式,并調用精準時間同步模塊通過所述第一網絡接口與從設備20進行時間同步。具體的,主設備執(zhí)行模塊11將所述第一套接字設置為多播的模式時,具體用于通過setsockopt函數(shù)在主設備10的多播地址范圍內建立多播組。該主設備10的多播地址范圍是由網絡的IP掩碼的位數(shù)決定的。將主設備10的第一網絡接口加入所述多播組,即將所述第一套接字設置為多播的模式。從設備執(zhí)行模塊21,位于從設備20中,用于當用戶選擇在IPv6協(xié)議下進行精準時間同步時,創(chuàng)建支持IPv6協(xié)議的第二套接字;獲取從設備20上支持IPv6協(xié)議的第二網絡接口 ;當判斷出所述第二網絡接口符合網絡通信條件時,調用精準時間同步模塊通過所述第二網絡接口與主設備10進行時間同步。進一步的,為了供用戶選擇在IPv6協(xié)議下或者IPv4協(xié)議下進行精準時間同步,該系統(tǒng)還包括選項添加模塊32,位于主設備10和從設備20中,用于在精準時間同步模塊31中增加一個協(xié)議選項,所述協(xié)議選項的兩個數(shù)值分別對應在IPv6協(xié)議下進行精準時間同步、和在IPv4協(xié)議下進行精準時間同步;用戶輸入模塊33,位于主設備10和從設備20中,用于供用戶在主設備和從設備上輸入所述協(xié)議選項及其數(shù)值,以選擇在IPv4協(xié)議下進行精準時間同步或者在IPv6協(xié)議下進行精準時間同步。若用戶不通過協(xié)議選項對進行精準時間同步的協(xié)議環(huán)境進行指定,則優(yōu)先選擇在IPv4協(xié)議下進行精準時間同步。進一步的,主設備執(zhí)行模塊11或從設備執(zhí)行模塊21判斷各自獲取的網絡接口是否符合網絡通信條件時,具體用于通過Iinux操作系統(tǒng)的庫函數(shù)獲取網絡接口 IFF_UP屬性、IFF_RUNNING屬性和IFF_MULTICAST屬性,判斷這三種屬性是否均為真,若是則表示網絡接口符合網絡通信條件,否則表示網絡接口不符合網絡通信條件。進一步的,精準時間同步模塊31,具體用于
通過請求應答機制在主設備10和從設備20之間進行時間同步。由于精準時間同步模塊31即PTP精準時間同步程序的實現(xiàn)過程是現(xiàn)有技術,故此處不詳述。下面基于第一、二實施例介紹幾個本發(fā)明的應用實例。應用實例一
本應用實例中設備的網絡連接示意圖如圖4所示,支持IPv4的機器I與支持IPv4的機器2互聯(lián),機器I在管理員權限即root權限下運行./ptpd2-c-P 4命令行,機器2在root權限下運行./ptpd2-c-P 4-g命令行。其中_c表示后臺運行,-g表示此機器是從屬機器,意思是此機器匹配其他機器上的時間。由于本發(fā)明在精準時間同步模塊中增加一個了 -P選項即協(xié)議選項,當-P選項的值為4時,表明用戶想在IPv4協(xié)議下進行精準時間同步,當-P選項的值為6時,表明用戶想在IPv6協(xié)議下進行精準時間同步。
實施的效果為,當修改機器I的時間時,機器2的時間也會隨著改變,當修改機器2的時間時,機器I的時間不變,而且機器2的時間又馬上恢復為和機器I相同的時間。即機器2會自動和機器I的時間進行校對。應用實例二本應用實例中設備的網絡連接示意圖如圖5所示,支持IPv6的機器I與支持IPv6的機器2互聯(lián),機器I在管理員權限即root權限下運行./ptpd2-c-P 6命令行,機器2在root權限下運行· /ptpd2-c-P 6 - g命令行實施的效果為,當修改機器I的時間時,機器2的時間也會隨著改變,當修改機器2的時間時,機器I的時間不變,而且機器2的時間又馬上恢復為和機器I相同。即機器2會自動和機器I的時間進行校對。應用實例三本應用實例中設備的網絡連接示意圖如圖6所示,支持IPv4的機器I與雙棧機器2互聯(lián),雙棧機器2與支持IPv6的機器3互聯(lián),雙棧機器2同時具有支持IPv4協(xié)議的網絡接口和支持IPv6協(xié)議的網絡接口,機器I在管理員權限即root權限下運行./ptpd2-c-P 4命令行,機器2在root權限下運行./ptpd2-c-P 4_g,然后再運行./ptpd2-c_P 6命令行,機器3在root權限下運行· /ptpd2-c-P 6-g命令行。實施的效果為,當修改機器I的時間時,機器2和機器3的時間也會隨著改變,當修改機器2或者機器3的時間時,機器I的時間不變,而且機器2和機器3的時間又馬上恢復為和機器I相同。即機器2與機器3都會和機器I的時間進行校對。本發(fā)明的目的是讓PTP時間同步程序既支持IPv4協(xié)議,又支持IPv6協(xié)議。本發(fā)明在原有PTP時間同步程序的基礎上添加了一個-P選項,通過-P選項指定使用哪一種協(xié)議。如果不指定,則程序會自動選擇一個協(xié)議,一般如果系統(tǒng)有IPv4協(xié)議,則使用IPv4協(xié)議,如果沒有,則使用IPv6協(xié)議,即PTP時間同步程序會優(yōu)先選擇IPv4協(xié)議。當兩個或者多個運行PTP時間同步程序的機器的時間不同時,PTP時間同步程序會自動獲知這一不同,并進行時間校對。注意,本發(fā)明只能實現(xiàn)IPv4網絡內的時間校對,或者IPv6網絡內的時間校對,并不能實現(xiàn)IPv4網絡和IPv6網絡之間的時間校對。如果要實現(xiàn)這一功能,可以在IPv4和IPv6網絡之間配置一臺雙棧的機器,如應用實例三那樣,此雙棧機器具有支持兩種協(xié)議的網絡接口,運行兩個PTP時間同步程序,一個以IPv4協(xié)議的方式運行,與IPv4的網絡進行時間校對,另一個以IPv6協(xié)議的方式運行,與IPv6的網絡進行時間校對。通過具體實施方式
的說明,應當可對本發(fā)明為達成預定目的所采取的技術手段及功效得以更加深入且具體的了解,然而所附圖示僅是提供參考與說明之用,并非用來對本發(fā)明加以限制。
權利要求
1.一種在IPv6協(xié)議下實現(xiàn)精準時間同步的方法,網絡中包括主設備和從設備,主設備和從設備中均具有精準時間同步模塊,其特征在于,該方法包括 當用戶選擇在IPv6協(xié)議下進行主設備和從設備之間的精準時間同步時,執(zhí)行下面的操作 在主設備中,創(chuàng)建支持IPv6協(xié)議的第一套接字;獲取主設備上支持IPv6協(xié)議的第一網絡接口 ;當所述第一網絡接口符合網絡通信條件時將所述第一套接字設置為多播的模式,并調用精準時間同步模塊通過所述第一網絡接口與從設備進行時間同步; 在從設備中,創(chuàng)建支持IPv6協(xié)議的第二套接字;獲取從設備上支持IPv6協(xié)議的第二網絡接口 ;當所述第二網絡接口符合網絡通信條件時,調用精準時間同步模塊通過所述第二網絡接口與主設備進行時間同步。
2.根據(jù)權利要求I所述的在IPv6協(xié)議下實現(xiàn)精準時間同步的方法,其特征在于,所述用戶選擇在IPv6協(xié)議下進行主設備和從設備之間的精準時間同步,具體包括 在精準時間同步模塊中增加一個協(xié)議選項,所述協(xié)議選項的兩個數(shù)值分別對應在IPv6協(xié)議下進行精準時間同步、和在IPv4協(xié)議下進行精準時間同步; 用戶通過在主設備和從設備上輸入所述協(xié)議選項及其數(shù)值,以選擇在IPv6協(xié)議下進行精準時間同步。
3.根據(jù)權利要求I所述的在IPv6協(xié)議下實現(xiàn)精準時間同步的方法,其特征在于,判斷所述第一網絡接口或者第二網絡接口是否符合網絡通信條件的過程,具體包括 通過Iinux操作系統(tǒng)的庫函數(shù)獲取網絡接口 IFF_UP屬性、IFF_RUNNING屬性和IFF_MULTICAST屬性,若這三種屬性均為真,則表示網絡接口符合網絡通信條件,否則表示網絡接口不符合網絡通信條件。
4.根據(jù)權利要求I所述的在IPv6協(xié)議下實現(xiàn)精準時間同步的方法,其特征在于,所述將第一套接字設置為多播的模式,具體包括 通過setsockopt函數(shù)在主設備的多播地址范圍內建立多播組; 將主設備的第一網絡接口加入所述多播組。
5.根據(jù)權利要求1-4中任一項所述的在IPv6協(xié)議下實現(xiàn)精準時間同步的方法,其特征在于,主設備與從設備進行時間同步的過程,包括 主設備和從設備均通過精準時間同步模塊的請求應答機制進行時間同步。
6.一種在IPv6協(xié)議下實現(xiàn)精準時間同步的系統(tǒng),包括網絡中的主設備和從設備,主設備和從設備中均具有精準時間同步模塊,其特征在于,所述系統(tǒng)還包括 主設備執(zhí)行模塊,位于主設備中,用于當用戶選擇在IPv6協(xié)議下進行精準時間同步時,創(chuàng)建支持IPv6協(xié)議的第一套接字;獲取主設備上支持IPv6協(xié)議的第一網絡接口 ;當判斷出所述第一網絡接口符合網絡通信條件時將所述第一套接字設置為多播的模式,并調用精準時間同步模塊通過所述第一網絡接口與從設備進行時間同步; 從設備執(zhí)行模塊,位于從設備中,用于當用戶選擇在IPv6協(xié)議下進行精準時間同步時,創(chuàng)建支持IPv6協(xié)議的第二套接字;獲取從設備上支持IPv6協(xié)議的第二網絡接口 ;當判斷出所述第二網絡接口符合網絡通信條件時,調用精準時間同步模塊通過所述第二網絡接口與主設備進行時間同步。
7.根據(jù)權利要求6所述的在IPv6協(xié)議下實現(xiàn)精準時間同步的系統(tǒng),其特征在于,所述系統(tǒng)還包括 選項添加模塊,位于主設備和從設備中,用于在精準時間同步模塊中增加一個協(xié)議選項,所述協(xié)議選項的兩個數(shù)值分別對應在IPv6協(xié)議下進行精準時間同步、和在IPv4協(xié)議下進行精準時間同步; 用戶輸入模塊,位于主設備和從設備中,用于供用戶在主設備和從設備上輸入所述協(xié)議選項及其數(shù)值,以選擇在IPv4協(xié)議下進行精準時間同步或者在IPv6協(xié)議下進行精準時間同步。
8.根據(jù)權利要求6所述的在IPv6協(xié)議下實現(xiàn)精準時間同步的系統(tǒng),其特征在于,所述主設備執(zhí)行模塊或所述從設備執(zhí)行模塊判斷各自獲取的網絡接口是否符合網絡通信條件時,具體用于 通過Iinux操作系統(tǒng)的庫函數(shù)獲取網絡接口 IFF_UP屬性、IFF_RUNNING屬性和IFF_MULTICAST屬性,判斷這三種屬性是否均為真,若是則表示網絡接口符合網絡通信條件,否則表示網絡接口不符合網絡通信條件。
9.根據(jù)權利要求6所述的在IPv6協(xié)議下實現(xiàn)精準時間同步的系統(tǒng),其特征在于,所述主設備執(zhí)行模塊將所述第一套接字設置為多播的模式時,具體用于 通過setsockopt函數(shù)在主設備的多播地址范圍內建立多播組; 將主設備的第一網絡接口加入所述多播組。
10.根據(jù)權利要求6-9中任一項所述的在IPv6協(xié)議下實現(xiàn)精準時間同步的系統(tǒng),其特征在于,所述精準時間同步模塊,具體用于 通過請求應答機制在主設備和從設備之間進行時間同步。
全文摘要
本發(fā)明公開了一種在IPv6協(xié)議下實現(xiàn)精準時間同步的方法及系統(tǒng),該方法包括當用戶選擇在IPv6協(xié)議下進行主設備和從設備之間的精準時間同步時,執(zhí)行下面的操作在主設備和從設備中,創(chuàng)建支持IPv6協(xié)議的套接字;獲取支持IPv6協(xié)議的網絡接口;當網絡接口符合網絡通信條件時將主設備上的套接字設置為多播的模式,并調用精準時間同步模塊在主設備與從設備之間進行時間同步。本發(fā)明不論是在支持IPv4協(xié)議的網絡環(huán)境下還是支持IPv6協(xié)議的網絡環(huán)境下,或者是既支持IPv4協(xié)議又IPv6協(xié)議即雙棧的網絡環(huán)境下都可以進行運行精準時間同步程序,進行時間的校對。
文檔編號H04J3/06GK102647244SQ20121014690
公開日2012年8月22日 申請日期2012年5月14日 優(yōu)先權日2012年5月14日
發(fā)明者何慧, 余翔湛, 劉建志, 葉建偉, 張偉哲, 張宏莉, 張旭, 王佰玲, 田志宏, 韓笑 申請人:哈爾濱工業(yè)大學