專利名稱:一種網(wǎng)絡時鐘同步方法
技術(shù)領(lǐng)域:
本發(fā)明屬于網(wǎng)絡通信領(lǐng)域,涉及一種網(wǎng)絡時鐘同步方法。
背景技術(shù):
網(wǎng)絡時鐘同步是網(wǎng)絡測量中面臨的一個問題,時鐘的不同步會影響延遲、抖動等 和時間信息有關(guān)的測量準確性;同時在網(wǎng)絡主機協(xié)同工作方面,保持網(wǎng)絡中主機的時鐘同 步是保證其有效工作的基礎?,F(xiàn)有的時鐘同步方法一般分為二種硬件同步方法、軟件同步方法。硬件同步方法主要有兩種技術(shù)GPS (Global Positioning Systems)和無線電信 號。GPS利用衛(wèi)星信號來提供精確的時鐘同步,其最高分辨精度可達到100ns,雖然轉(zhuǎn)化為 計算機系統(tǒng)內(nèi)核的時鐘脈沖時會損失一定的精度,但其精度仍可控制在微秒以內(nèi)。其缺點 是每臺需同步的機器都需安裝GPS,價格昂貴。軟件同步方法是完全利用軟件,該方法的精度為10_4s到10_3s之間。軟件同 步方法主要有由美國德拉瓦大學的David L. Mills教授于1985年提出的網(wǎng)絡時間協(xié)議 NTP (Network Time Protocol)以及改進后的簡單網(wǎng)絡時間協(xié)議SNTP (Simple Network Time Protocol) 0其缺點是沒有考慮時鐘速率過大或時鐘偏移在同步過程中的變化,所 以在應對網(wǎng)絡不確定性和主機不確定性上不具備足夠的健壯性。另外一些同步算法,如 Altair & Vega(A&V)方法,其不僅需要了解時鐘速率比還需要利用當前的時鐘偏差,即主 機非固有屬性,所以它雖然有很好的精度但不能應對網(wǎng)絡突發(fā)性變化的情況,如時鐘偏差 發(fā)生變化,這需要重新花大量時間去計算得到新的時鐘偏差和時鐘速率比。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種成本低、兼顧精度和抗突發(fā)性的健壯性 網(wǎng)絡時鐘同步方法。為解決上述技術(shù)問題,本發(fā)明采用如下技術(shù)方案。一種網(wǎng)絡時鐘同步方法包括如下步驟步驟一,根據(jù)本地主機和外地主機之間的帶有時間戳的數(shù)據(jù)包單向發(fā)送獲得延遲 測量值,然后再利用線性規(guī)劃獲得本地主機和外地主機的時鐘速率比F ;步驟二,再根據(jù)本地主機和外地主機之間的帶有時間戳的數(shù)據(jù)包交互發(fā)送和所述 時鐘速率比F獲得時鐘偏差offset ;步驟三,根據(jù)時鐘偏差進行本地主機和外地主機之間的時鐘同步。作為本發(fā)明的一種優(yōu)選方案,所述步驟一的具體實現(xiàn)方法為本地主機向外地主機發(fā)送大量帶有發(fā)送時間戳的數(shù)據(jù)包;外地主機根據(jù)不同數(shù)據(jù)包的發(fā)送時間和接收時間得到延遲測量值屯;根據(jù)發(fā)送時間、接收時間以及延遲測量值屯,利用線性規(guī)劃獲得本地主機和外地 主機的時鐘速率比F。
作為本發(fā)明的另一種優(yōu)選方案,所述步驟二的具體實現(xiàn)方法為本地主機向外地主機發(fā)送帶有發(fā)送時間戳、的請求包;外地主機接收到所述請求包后記錄下接收時間t2 ;外地主機向本地主機回復帶有接收時間戳t2和發(fā)送時間戳t3的應答包;本地主機記錄下接收所述應答包的時間t4 ;根據(jù)時鐘偏差公式0#似+(專-1),4獲得本地主機和外地主機的
時鐘偏差。作為本發(fā)明的再一種優(yōu)選方案,所述網(wǎng)絡時鐘同步方法的詳細步驟為步驟A、本地主機A向外地主機B發(fā)送大量帶有發(fā)送時間戳的數(shù)據(jù)包;步驟B、外地主機B接收所述數(shù)據(jù)包,并根據(jù)發(fā)送時間和接收時間得到延遲測量值 di;步驟C、根據(jù)發(fā)送時間和延遲測量值屯,利用線性規(guī)劃 得到時鐘速率比F;步驟D、本地主機A向外地主機B發(fā)送帶有發(fā)送時間戳、的請求包;步驟E、外地主機B記錄下接收到所述請求包的時間t2 ;步驟F、外地主機8將、和發(fā)送應答包的時間、寫入應答包中回復給本地主機A ;步驟G、本地主機A記錄下接收應答包的時間t4 ;步驟H、本地主機A根據(jù)時間、、t2、t3、t4,禾lj用公式
得到兩臺主機的時鐘偏差,從而完成時鐘同步。本發(fā)明的有益效果在于本發(fā)明不需要如GPS等特殊設備,具有很低的成本;考慮 了時鐘速率比和影響同步準確性的時鐘偏差變化,具有很好的健壯性;利用的是主機時鐘 的固有屬性,所以在保證精度的同時具有很好的抗突發(fā)性。
圖1為計算時鐘速率比模型圖。圖2為本發(fā)明所述的網(wǎng)絡時鐘同步方法的流程圖。圖3為本發(fā)明所述方法和NTP方法在模擬環(huán)境下的實驗比較結(jié)果(1)。圖4為本發(fā)明所述方法和NTP方法在模擬環(huán)境下的實驗比較結(jié)果(2)。圖5為本發(fā)明所述方法和NTP方法在仿真網(wǎng)路的同步后的結(jié)果。
具體實施例方式下面結(jié)合附圖對本發(fā)明的具體實施方式
作進一步詳細說明。實施例一本實施例提供一種網(wǎng)絡時鐘同步方法,該方法為首先,由主機A通過發(fā)送大量帶有發(fā)送時間戳1\的數(shù)據(jù)包給另一臺主機B,然后主機B根據(jù)接收時間,計算得到延遲測量值屯,最后結(jié)合屯和1\,利用線性規(guī)劃方法得到兩臺 主機的時鐘速率比F。然后,兩臺主機通過交換時間戳信息,發(fā)送請求包和應答包,獲取時鐘同步所需信 息,接著利用公式
得到兩臺主機的時鐘偏差,從而完成同 步。如圖1和2所示,實施例所述的網(wǎng)絡時鐘同步方法具體包括如下步驟步驟A、主機A向主機B發(fā)送大量帶有發(fā)送時間戳的數(shù)據(jù)包;步驟B、主機B接收數(shù)據(jù)包,并根據(jù)發(fā)送時間和接收時間得到延遲測量值屯;這里 的延遲測量值屯是單向延遲值,存在時鐘偏差的誤差,即測量得到的單向延遲值;步驟C、根據(jù)發(fā)送時間Ti和延遲測量值屯,利用線性規(guī)劃公式 di-(F-1)T1+β≥ 0,1 ≤i ≤ N得到時鐘速率比F;時鐘速率比F為每秒時鐘變化的時間刻度。因為發(fā)送時間凡 和延遲測量值屯是通過測量得到的值,即已知的。所述公式di-(F-1)T1+β≥ 0為約束條件,即滿足條件di-(F-1)T1+β≥ 0時使公式
, l≤i≤N的值最小
i=\
的F和0,其中0是一個類似offset的值,這里不需要考慮變量0,如果考慮了 0,本實 施例所述算法就不能應對突發(fā)性了,這個變量和當前的時鐘偏差有關(guān),但不等同。步驟D、主機A向主機B發(fā)送帶有發(fā)送時間戳、的請求包;步驟E、主機B記錄下接收到該請求包的時間t2 ;步驟F、主機B將t2和發(fā)送應答包的時間t3寫入應答包中回復給主機A ;步驟G、主機A記錄下接收應答包的時間t4 ;步驟H、主機 A 根據(jù)時間t1、t2、t3、t4,利用公式
到兩臺主機的時鐘偏差,從而進行時鐘同步。其中,主機A在發(fā)送大量數(shù)據(jù)包用于計算時鐘速率比的時候,為了保證發(fā)送時間 不受系統(tǒng)進程切換影響,我們采用每T(T ^ 1)秒發(fā)送一個數(shù)據(jù)包,這樣可以保證統(tǒng)計計算 時鐘速率比的準確性;公式中的時間信息都是相對于獲得該時間信息的主機,如、相對于 主機A,t2相對于主機B,延遲測量值相對于主機A的、減去相對于主機B的t2 ;最后計算
兩臺主機的時鐘偏差
,此公式是考慮了時鐘速率比存在和
時鐘同步過程中時鐘偏差變化而得到,具有很好的健壯性。首先,其不需要其他特殊設備,如GPS等,所以具有很低的成本;公式中將產(chǎn)生時 鐘不同步的因素,即時鐘速率比和影響同步準確性的時鐘偏差變化考慮進來,從而得到本 方法的計算時鐘偏差offset公式,進而保證了時鐘同步具有很好的健壯性;最后,因為本 方法利用的是主機時鐘的固有屬性,所以在保證精度的同時具有很好的抗突發(fā)性。實施例二本實施例通過模擬兩臺主機A、B和主機B的處理時間,通過改變時鐘速率比或主機處理時間來觀察本方法和NTP在應對網(wǎng)絡不確定性和主機不確定性的表現(xiàn)。圖3為是局域網(wǎng)模擬,延遲為lOOOus,偏差100,其體現(xiàn)了處理時間不變,頻率增大 的實驗結(jié)果。實驗中發(fā)現(xiàn),在服務器處理時間一樣的情況下,兩種方法除了由于往返延遲不 同所產(chǎn)生的誤差外,隨著頻率比的增大,NTP的誤差明顯增大,而本發(fā)明所述方法則只有小 幅波動增大,原因就在于本發(fā)明所述方法考慮了時鐘速率不同對于時鐘同步的影響,從而 具有更好的健壯性。圖4為局域網(wǎng)模擬,時鐘速率比為1. 001,延遲lOOOus,偏差500,其體現(xiàn)了頻率不 變,處理時間增大的實驗結(jié)果,從實驗結(jié)果可以看出,在兩臺機器頻率比不變的情況下,兩 種方法除了由于往返延遲不同所產(chǎn)生的誤差外,即曲線的小幅波動,服務器處理時間越長, NTP方法產(chǎn)生的誤差就越大,而本發(fā)明所述方法由于考慮了服務器處理時間則不受影響,從 而具有更好的健壯性。實施例三本實施例基于OTST仿真平臺進行了健壯性的網(wǎng)路時鐘同步方法的實驗,請參閱 圖1和圖2。此實施例中“網(wǎng)絡”被替換成NIST仿真平臺,用其控制網(wǎng)絡情況,通過給定確 切的不同網(wǎng)絡延遲值,觀察利用本發(fā)明所述方法和NTP方法在時鐘同步后,比較延遲測量 值和OTST設置的值的關(guān)系,從而說明本方法在實際同步中同樣具有很好的健壯性。圖5為 分別用兩種方法同步后測量到的單向延遲測量值,此時NIST設置的延遲測量值為105ms。客戶端發(fā)起時鐘同步請求,服務器端接收到請求等待10s,用于模擬服務器忙碌, 然后發(fā)送應答包,在客戶端分別用NTP和本發(fā)明所述的方法進行時鐘同步,然后繼續(xù)發(fā)送 延遲測量包給服務器端,通過觀察同步后的延遲測量值在一段時間內(nèi)的變化情況,可以得 出,其還是按照之前利用線性規(guī)劃得到的時鐘速率比F的趨勢增加。同時本發(fā)明所述方法 得到的數(shù)據(jù)在NTP得到的數(shù)據(jù)之上,這就是之前所說的NTP在一定值周圍波動,而本發(fā)明所 述方法則是在零周圍波動造成的;另一方面本發(fā)明所述方法的第一個延遲測量值,即剛同 步后的值也更接近于105ms,這也說明了本發(fā)明所述方法在面對由于頻率比(F = S/C)大于 1很多或同步過程時間過長造成的offset變化較大的情況下能更好的進行時鐘同步,具有 很好的健壯性,其中S指外地主機的時鐘速率,C指本地主機的時鐘速率。總之,通過獲取大量時間戳信息,并利用各種數(shù)學方法得到時鐘速率比,然后利用 本方法中的公式計算得到時鐘偏差,從而完成時鐘同步均在本發(fā)明的權(quán)利要求范圍之內(nèi)。這里本發(fā)明的描述和應用是說明性的,并非想將本發(fā)明的范圍限制在上述實施例 中。這里所披露的實施例的變形和改變是可能的,對于那些本領(lǐng)域的普通技術(shù)人員來說實 施例的替換和等效的各種部件是公知的。本領(lǐng)域技術(shù)人員應該清楚的是,在不脫離本發(fā)明 的精神或本質(zhì)特征的情況下,本發(fā)明可以以其他形式、結(jié)構(gòu)、布置、比例,以及用其他元件、 材料和部件來實現(xiàn)。
權(quán)利要求
一種網(wǎng)絡時鐘同步方法,其特征在于,所述方法包括如下步驟步驟一,根據(jù)本地主機和外地主機之間的帶有時間戳的數(shù)據(jù)包單向發(fā)送獲得延遲測量值,然后再利用線性規(guī)劃獲得本地主機和外地主機的時鐘速率比F;步驟二,再根據(jù)本地主機和外地主機之間的帶有時間戳的數(shù)據(jù)包交互發(fā)送和所述時鐘速率比F獲得時鐘偏差offset;步驟三,根據(jù)時鐘偏差進行本地主機和外地主機之間的時鐘同步。
2.根據(jù)權(quán)利要求1所述的網(wǎng)絡時鐘同步方法,其特征在于,所述步驟一的具體實現(xiàn)方 法為本地主機向外地主機發(fā)送大量帶有發(fā)送時間戳的數(shù)據(jù)包; 外地主機根據(jù)不同數(shù)據(jù)包的發(fā)送時間和接收時間得到延遲測量值Cli ; 根據(jù)發(fā)送時間、接收時間以及延遲測量值屯,利用線性規(guī)劃獲得本地主機和外地主機 的時鐘速率比F。
3.根據(jù)權(quán)利要求2所述的網(wǎng)絡時鐘同步方法,其特征在于,所述步驟二的具體實現(xiàn)方 法為本地主機向外地主機發(fā)送帶有發(fā)送時間戳^的請求包;外地主機接收到所述請求包后記錄下接收時間t2 ;外地主機向本地主機回復帶有接收時間戳t2和發(fā)送時間戳t3的應答包;本地主機記錄下接收所述應答包的時間t4 ;根據(jù)時鐘偏差 沁獲得本地主機和外地主機的時鐘偏差。
4.根據(jù)權(quán)利要求1所述的網(wǎng)絡時鐘同步方法,其特征在于所述網(wǎng)絡時鐘同步方法的 詳細步驟為步驟Α、本地主機A向外地主機B發(fā)送大量帶有發(fā)送時間戳Ti的數(shù)據(jù)包;步驟B、外地主機B接收所述數(shù)據(jù)包,并根據(jù)發(fā)送時間和接收時間得到延遲測量值Cli ;步驟C、根據(jù)發(fā)送時間Ti和延遲測量值屯,利用線性規(guī)劃 得到時鐘速率比F ;步驟D、本地主機A向外地主機B發(fā)送帶有發(fā)送時間戳、的請求包; 步驟E、外地主機B記錄下接收到所述請求包的時間t2 ;步驟F、外地主機B將t2和發(fā)送應答包的時間t3寫入應答包中回復給本地主機A ; 步驟G、本地主機A記錄下接收應答包的時間t4 ;步驟H、本地主機A根據(jù)時間、“2、、、‘利用公式0 4得到兩臺主機的時鐘偏差,從而完成時鐘同步。
全文摘要
本發(fā)明公開了一種網(wǎng)絡時鐘同步方法,該方法包括如下步驟步驟一,根據(jù)本地主機和外地主機之間的帶有時間戳的數(shù)據(jù)包單向發(fā)送獲得延遲測量值,然后再利用線性規(guī)劃獲得本地主機和外地主機的時鐘速率比F;步驟二,再根據(jù)本地主機和外地主機之間的帶有時間戳的數(shù)據(jù)包交互發(fā)送和所述時鐘速率比F獲得時鐘偏差offset;步驟三,根據(jù)時鐘偏差進行本地主機和外地主機之間的時鐘同步。本發(fā)明所述方法成本低、健壯性好,只依賴固有主機時鐘屬性,同時兼顧精度和抗突發(fā)性。
文檔編號H04J3/06GK101867431SQ201010186418
公開日2010年10月20日 申請日期2010年5月27日 優(yōu)先權(quán)日2010年5月27日
發(fā)明者張俊生, 張大陸, 曹孝晶, 王東, 胡治國 申請人:同濟大學