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