国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于NTP的ORBUS時(shí)間同步系統(tǒng)時(shí)鐘漂移研究

2020-08-27 07:38:36丁永紅
關(guān)鍵詞:偏移量服務(wù)端時(shí)延

丁永紅

(淮南聯(lián)合大學(xué),安徽 淮南 232001)

在世界高精尖的軍事領(lǐng)域、航空航天領(lǐng)域、信息安全[1]以及物聯(lián)網(wǎng)[2]等應(yīng)用中,網(wǎng)絡(luò)傳輸?shù)拇_定性和精確性有非常高的要求。時(shí)間觸發(fā)機(jī)制網(wǎng)絡(luò)通信技術(shù)關(guān)鍵主要涉及全局系統(tǒng)時(shí)間同步與調(diào)度表的精確設(shè)計(jì),其中全局系統(tǒng)時(shí)間同步最為關(guān)鍵?,F(xiàn)有的時(shí)間同步[3]方法有很多,各種時(shí)間同步方法會(huì)有不同的性能開(kāi)銷、網(wǎng)絡(luò)開(kāi)銷和時(shí)間同步精度[4],對(duì)不同的時(shí)間觸發(fā)網(wǎng)絡(luò)其性能效果的影響很大。本文主要研究基于NTP的ORBUS時(shí)間系統(tǒng)網(wǎng)絡(luò)時(shí)間同步中影響其時(shí)間同步精度的一個(gè)重要因素時(shí)鐘漂移。

1 NTP時(shí)間同步原理

NTP用于分布的時(shí)間服務(wù)器與客戶機(jī)之間同步,其定義了體系結(jié)構(gòu)、算法、實(shí)體和協(xié)議,主要傾向于實(shí)現(xiàn)。即使是在多網(wǎng)關(guān)、高分散延遲和不可靠的英特網(wǎng)上,其通過(guò)特殊地設(shè)計(jì)能夠保持時(shí)間同步的準(zhǔn)確性和魯棒性。服務(wù)環(huán)境包括實(shí)現(xiàn)模型和服務(wù)模型,實(shí)現(xiàn)模型基于多進(jìn)程操作系統(tǒng)體系結(jié)構(gòu),服務(wù)模型基于可返回時(shí)間設(shè)計(jì),這種設(shè)計(jì)只依靠測(cè)到的時(shí)鐘偏移量[5],而不需要可靠的消息傳遞。同步子網(wǎng)是一種自組織、主從層次結(jié)構(gòu),其同步路徑?jīng)Q定于最小加權(quán)生成樹(shù),當(dāng)多個(gè)原始時(shí)間服務(wù)器存在時(shí),對(duì)選擇協(xié)議沒(méi)有要求。

NTP的通信方式是以C/S模式[6]進(jìn)行??蛻舳税l(fā)送一個(gè)request請(qǐng)求數(shù)據(jù)包,服務(wù)端接收后回送一個(gè)respond應(yīng)答數(shù)據(jù)包。兩個(gè)數(shù)據(jù)包都帶有發(fā)送時(shí)間戳t1、t3和接收時(shí)間戳t2、t4,在假設(shè)兩次交互過(guò)程中的時(shí)間延遲delay相等的情況下,根據(jù)這四個(gè)時(shí)間戳來(lái)確定客戶端和服務(wù)端之間的時(shí)間偏差offset和網(wǎng)絡(luò)延遲delay(見(jiàn)圖1)。

圖1 NTP協(xié)議的工作流程

客戶端在t1時(shí)刻發(fā)送查詢請(qǐng)求并記錄t1時(shí)間戳,服務(wù)端在t2時(shí)刻收到查詢請(qǐng)求并記錄t2時(shí)間戳,服務(wù)端在t3時(shí)刻回復(fù)時(shí)間信息并記錄t3時(shí)間戳,客戶端在t4時(shí)刻收到時(shí)間信息并記錄t4時(shí)間戳(t1、t4以客戶端的本機(jī)時(shí)間系統(tǒng)作為基準(zhǔn),t2、t3以服務(wù)端的本地時(shí)間系統(tǒng)為基準(zhǔn))。在不考慮客戶端和服務(wù)端時(shí)鐘漂移的情況下,可得通信信息在網(wǎng)絡(luò)上傳輸總時(shí)間為:Δ=(t4-t1)-(t3-t2)。如前所述在假定Request請(qǐng)求信息和Respond應(yīng)答信息在網(wǎng)上傳輸時(shí)間相等時(shí),則單程網(wǎng)絡(luò)時(shí)延delay為:

δ=[(t4-t1)-(t3-t2)]/2

(1)

時(shí)間偏差offset為:

θ=[(t2-t1)-(t4-t3)]/2

(2)

NTP本身提供了一個(gè)精確到納秒的同步時(shí)間協(xié)議機(jī)制。這個(gè)協(xié)議包括特定屬性的提供,估計(jì)本地和時(shí)間服務(wù)器的時(shí)鐘誤差,還包括原始參考源的數(shù)量。其中涉及的過(guò)濾算法有利于時(shí)鐘偏移實(shí)例的過(guò)濾,以及選擇算法選擇最優(yōu)的若干個(gè)同步源。NTP的準(zhǔn)確度依靠本地時(shí)鐘硬件的精度和設(shè)備及處理的延遲,還必須提供調(diào)整邏輯時(shí)鐘的時(shí)間及頻率的機(jī)制,在NTP協(xié)議中還描述了一個(gè)改進(jìn)的本地時(shí)鐘設(shè)計(jì)。這個(gè)設(shè)計(jì)包括偏移快速定位、頻率補(bǔ)償以及過(guò)濾機(jī)制,即使在原始參考源丟失的情況下其能夠達(dá)到毫秒的準(zhǔn)確度,但設(shè)計(jì)復(fù)雜,在ORBUS系統(tǒng)中不適用。本文為了調(diào)整本地邏輯時(shí)鐘與服務(wù)端時(shí)鐘速率一致,提出一種計(jì)數(shù)器調(diào)節(jié)機(jī)制。

2 基于NTP的ORBUS時(shí)間同步系統(tǒng)及其誤差分析

在基于NTP的ORBUS時(shí)間同步系統(tǒng)[7]中存在多處假設(shè),包括時(shí)鐘穩(wěn)定和網(wǎng)絡(luò)傳輸往返延遲相等,并且同步系統(tǒng)利用操作系統(tǒng)時(shí)間調(diào)用函數(shù)讀取時(shí)間也存在讀取誤差,基于NTP協(xié)議還引入了多種算法包括合并算法、時(shí)鐘過(guò)濾算法和時(shí)鐘選擇算法,由此衍生如下一系列的誤差。

2.1 時(shí)間戳誤差

用一隨機(jī)變量T表示時(shí)間戳,則:T=t+r+f×τ,其中τ為自時(shí)鐘讀數(shù)以來(lái)的時(shí)間間隔,t為讀取時(shí)鐘數(shù)。設(shè)ρ為最大讀數(shù)誤差,r為時(shí)鐘讀數(shù)誤差,則r[-ρ,0];設(shè)φ為最大頻率誤差,f為時(shí)鐘頻率誤差,f[-φ,φ]。假設(shè)時(shí)鐘讀數(shù)處理過(guò)程的其他計(jì)算不影響時(shí)鐘讀數(shù)過(guò)程的處理,則f滿足期望為零,方差為σ的高斯分布;r滿足[-ρ,0]的均勻分布。令f的概率密度為pf(t),r的概率密度為pr(t),則關(guān)于總的時(shí)間戳誤差其概率密度函數(shù)為這是一個(gè)杯狀曲線。考慮到頻率誤差f變化很慢,杯狀曲線的上下限為:

[min(r)+min(fτ),max(r)+max(fτ)]=
[-ρ-φτ,φτ],

所以有時(shí)間戳誤差:

ε≡[min(r)+fτ,max(r)+fτ]=[-ρ,0]+fτ

這里的時(shí)鐘頻率誤差f主要原因就是時(shí)鐘漂移。

2.2 測(cè)量誤差

客戶端A和服務(wù)器端B(見(jiàn)圖1),τs是服務(wù)端t2到t3的時(shí)間差,τc是客戶端t1到t4的時(shí)間差,各時(shí)間戳的記錄是通過(guò)高精度計(jì)時(shí)API獲得,精度達(dá)到微秒級(jí),所以不考慮讀數(shù)誤差。根據(jù)式(2)時(shí)間偏移量offset為:θ=t2-(2×t1+τc-τs)/2,根據(jù)式(1)測(cè)量的全程時(shí)延delay為:δ=τc-τs。則τc和τs、時(shí)間戳T1和T2的誤差表示如下:

ετc=fA(T4-T1),ετs=fB(T3-T2),
ε1=[-ρA,0],ε2=[-ρB,0]

整個(gè)傳輸過(guò)程時(shí)延的最大誤差為:εδ=φA(T4-T1)+φB(T3-T2),這里由于是兩臺(tái)固定機(jī)器,所以可以認(rèn)為頻率的誤差不變。對(duì)于時(shí)間偏移量offset誤差范圍可以表示為:

[min(ε2)-(2×max(ε1)+φA(T4-T1)+φB(T3-T2))/2,

max(ε2)-(2×min(ε1)+φA(T4-T1)-φB(T3-T2))/2]=[-ρB-(φA(T4-T1)+φB(T3-T2))/2,

(2×ρA+φA(T4-T1)+φB(T3-T2))/2]

如果ρ=max(ρA,ρB),得到時(shí)間偏差offset的誤差最大絕對(duì)值:

εθ≡ρ+(φA(T4-T1)+φB(T3-T2))/2

2.3 網(wǎng)絡(luò)誤差

在時(shí)間戳消息的網(wǎng)絡(luò)傳輸過(guò)程中,由于網(wǎng)絡(luò)環(huán)境中設(shè)備的不確定性,流量不穩(wěn)定等原因,不能靜態(tài)地描述網(wǎng)絡(luò)時(shí)延delay,而且在這個(gè)過(guò)程中主要的誤差來(lái)自于網(wǎng)絡(luò)時(shí)延delay的隨機(jī)性,所以要使用測(cè)量時(shí)間戳計(jì)算而得到時(shí)延delay來(lái)描述時(shí)間偏移量offset的上下限,從而獲取偏移量offset的誤差。由前面所述有,其中a=T2-T1,b=T3-T4。假設(shè)θ0為客戶端和服務(wù)端機(jī)器時(shí)鐘真實(shí)時(shí)間偏移,x為兩機(jī)器時(shí)鐘的真實(shí)時(shí)延,有x+θ0=T2-T1≡a,因?yàn)橐欢ㄓ衳≥0,即x=a-θ0≥0,所以θ0≤a,同樣道理有b≤θ0,故b≤θ0≤a。我們可以改寫(xiě)為成b=(a+b)/2-(a-b)/2≤θ0≤(a+b)/2+(a-b)/2=a,由于δ=a-b,θ=(a+b)/2,所以有θ-δ/2≤θ0≤θ+δ/2。根據(jù)測(cè)量誤差分析這里的時(shí)延δ和偏移量θ都存在誤差,設(shè)εδ是時(shí)延誤差的最大值,εθ是時(shí)間偏移誤差的最大值,上面的不等式表示為:θ-εθ-(δ+εδ)/2≤θ0≤θ+εθ+(δ+εδ)/2。再設(shè)ε=εθ+εδ/2=ρ+φA(T4-T1)+φB(T3-T2),則有時(shí)鐘偏移量offset的誤差是[θ-δ/2-ε,θ+δ/2+ε]之間,此處ε與時(shí)鐘頻率誤差有關(guān)。

2.4 繼承誤差

基于NTP的時(shí)間同步中,同步網(wǎng)是一個(gè)分層的結(jié)構(gòu),每一同步層在時(shí)間同步時(shí)都會(huì)有誤差,客戶機(jī)同步原始時(shí)間服務(wù)器之間要通過(guò)多層多個(gè)時(shí)間服務(wù)器尋求同步,同步期間就會(huì)繼承各個(gè)層的誤差(見(jiàn)圖2)。

圖2 誤差積累

時(shí)間同步處理過(guò)程中的誤差是一個(gè)誤差積累的過(guò)程?;贜TP的ORBUS時(shí)間同步系統(tǒng)中,通過(guò)各層之間的消息傳遞可以計(jì)算出上層服務(wù)端和本地客戶端時(shí)鐘的全程時(shí)延δ、時(shí)間偏移量θ,同時(shí)在消息中還包含有上層服務(wù)端的根誤差E′、根時(shí)延Δ′;上層服務(wù)端E′=E+ρ+φτ,其中ρ是服務(wù)端的最大讀誤差,φτ是上層服務(wù)端上次消息到現(xiàn)在消息時(shí)間間隔的頻率偏移最大誤差,E是服務(wù)端繼承的上層的誤差。從服務(wù)端和本地客戶端的時(shí)間戳計(jì)算的濾波樣值均存在誤差εi=ρ+φ(T4-T1)。另外濾波算法的存在,多個(gè)濾波樣值間的接收存在時(shí)間間隔τi,將產(chǎn)生多個(gè)φτi的頻率漂移誤差。經(jīng)過(guò)濾波器的過(guò)濾,得到濾波誤差εσ、全程時(shí)延δ以及時(shí)間偏移量θ,濾波后可以得到某個(gè)上層服務(wù)端的時(shí)間偏移量offset的誤差ε=εi+εσ。最后通過(guò)選擇算法獲取單一同步源,從而得到相對(duì)于根服務(wù)器的全程時(shí)延Δ、時(shí)間偏移量Θ以及相應(yīng)的全程誤差E。從圖2可以看出E=ε+φτ+εξ+|Θ|+E′,其中ε=εi+εσ,φτ是最近時(shí)間段τ內(nèi)由于時(shí)鐘頻率漂移造成的最大誤差,εξ是本同步系統(tǒng)所采用的選擇算法而產(chǎn)生的自身誤差。|Θ|是在設(shè)置本地時(shí)鐘時(shí)的初始誤差的絕對(duì)值,這里主要原因是為了保證網(wǎng)絡(luò)中機(jī)器的穩(wěn)定性,只修改本地時(shí)鐘同步頻率或者是不修改本地時(shí)鐘而需要將此時(shí)的整個(gè)偏移量|Θ|也作為誤差考慮。

3 時(shí)鐘漂移及同步系統(tǒng)中時(shí)鐘漂移調(diào)節(jié)技術(shù)方案

3.1 時(shí)鐘漂移

在上述時(shí)間戳誤差、測(cè)量誤差、網(wǎng)絡(luò)誤差以及繼承誤差的分析中,我們發(fā)現(xiàn)所有的誤差都與機(jī)器的時(shí)鐘頻率誤差有關(guān)系,因此有必要對(duì)時(shí)鐘本身的這種不穩(wěn)定因素加以研究,從而有效提高時(shí)間εi同步精度,減少誤差。這種時(shí)鐘的不穩(wěn)定稱之為時(shí)鐘漂移。其受到多種因素的影響,包括構(gòu)成時(shí)鐘晶振本身的材料不同,制造工藝不同,外界的環(huán)境溫度不同以及由晶振構(gòu)成計(jì)時(shí)時(shí)鐘的電路設(shè)計(jì)各異等。也就是時(shí)鐘漂移是固定存在的,且在每個(gè)時(shí)鐘周期其值是固定的。

3.2 時(shí)鐘漂移調(diào)節(jié)技術(shù)方案

在圖3所示時(shí)間同步系統(tǒng)中,通常把時(shí)鐘模型[8]表示為C(t)=kx+b(k表示時(shí)鐘漂移快慢,x為單位時(shí)間,b為時(shí)鐘偏移),要達(dá)到時(shí)鐘同步通??紤]通過(guò)相關(guān)的機(jī)制來(lái)調(diào)整時(shí)鐘速率k和偏移量b使得不同的時(shí)鐘模型一致走時(shí)。

圖3 從時(shí)鐘計(jì)數(shù)調(diào)節(jié)后貼合主時(shí)鐘的效果圖

在基于NTP的ORBUS時(shí)間同步層次化結(jié)構(gòu)系統(tǒng)中,通過(guò)過(guò)濾、選擇等算法得到一個(gè)周期的偏移量offset修正本地時(shí)鐘同步之后,可以認(rèn)為客戶端時(shí)鐘與服務(wù)端時(shí)鐘達(dá)到一致。但也只能保證在修正的這個(gè)時(shí)刻,兩個(gè)時(shí)鐘完全同步。時(shí)鐘的漂移快慢仍然存在,在下一個(gè)修正周期到來(lái)之前,客戶端和服務(wù)端的時(shí)鐘之間的偏移會(huì)繼續(xù)增大,如圖3中所示未調(diào)節(jié)的從時(shí)鐘逐漸偏離主時(shí)鐘,這樣不能滿足某些時(shí)間觸發(fā)系統(tǒng)的要求。NTP協(xié)議提出一種鎖相環(huán)的方法控制本地時(shí)鐘的快慢,但此方法是基于硬件電路,過(guò)于復(fù)雜,不易實(shí)現(xiàn)。固此,研究一種調(diào)整系統(tǒng)計(jì)數(shù)的方法來(lái)修正本地時(shí)鐘,使得客戶端時(shí)鐘以周期a個(gè)單位時(shí)間接近服務(wù)端時(shí)鐘模型,以減少客戶端請(qǐng)求服務(wù)端時(shí)鐘同步周期還沒(méi)有到來(lái)之前由于時(shí)鐘漂移帶來(lái)的誤差(見(jiàn)圖4)。

圖4 主從時(shí)鐘調(diào)節(jié)程序流程圖

(1)對(duì)服務(wù)端主時(shí)鐘和客戶端從時(shí)鐘分別周期計(jì)數(shù)M_counter和C_counter;

(2)主從時(shí)鐘的相鄰周期的系統(tǒng)時(shí)鐘計(jì)數(shù)器作差,其中M_counter1中讀數(shù)為m1,以此類推,故分別記為m2-m1和c2-c1;

(3)在周期內(nèi)由于主從時(shí)鐘快慢不一致,其計(jì)數(shù)差值也一定不相等,故計(jì)算(c2-c1)-(m2-m1),即周期內(nèi)計(jì)數(shù)的差值,為了獲得調(diào)節(jié)從時(shí)鐘的條件,構(gòu)造變量a=(m2-m1)/|((c2-c1)-(m2-m1))|。

(4)在和counter執(zhí)行計(jì)數(shù)的同時(shí),另外設(shè)立一個(gè)計(jì)數(shù)器adjust_counter,每當(dāng)adjust_counter值達(dá)到構(gòu)造變量a時(shí),首先將adjust_counter清零,再分兩種情況對(duì)當(dāng)前計(jì)數(shù)器counter操作:當(dāng)從時(shí)鐘慢于主時(shí)鐘,從時(shí)鐘counter=counter+1,當(dāng)比主時(shí)鐘快時(shí),從時(shí)鐘counter=counter-1。

通過(guò)a個(gè)單位時(shí)間自動(dòng)調(diào)節(jié)計(jì)數(shù)器計(jì)數(shù)的方法可以把由于時(shí)鐘漂移帶來(lái)的誤差有效減小,如圖3所示,其主要是在客戶端和服務(wù)端時(shí)鐘同步周期到來(lái)之前,及時(shí)讓客戶端時(shí)鐘先驗(yàn)貼合服務(wù)端時(shí)鐘。為了驗(yàn)證計(jì)數(shù)器調(diào)節(jié)技術(shù)可以減少誤差,實(shí)驗(yàn)測(cè)試了基于NTP的無(wú)調(diào)節(jié)時(shí)間同步和基于計(jì)數(shù)器調(diào)節(jié)的時(shí)間同步,記錄時(shí)鐘偏移量并對(duì)其進(jìn)行比較。測(cè)試同步10個(gè)小時(shí),相同拓?fù)渚W(wǎng)絡(luò),比較結(jié)果(見(jiàn)表1)。

表1 計(jì)數(shù)器調(diào)節(jié)同步實(shí)驗(yàn)結(jié)果

從表1可知,在誤差積累分析中得到時(shí)鐘偏移量是誤差分析中主要誤差來(lái)源,調(diào)節(jié)后的時(shí)鐘偏移量明顯變小,故計(jì)數(shù)器調(diào)節(jié)技術(shù)改善時(shí)鐘頻率漂移從而有效減少誤差,使得基于NTP的ORBUS時(shí)間同步系統(tǒng)得到了更高的同步精度。

猜你喜歡
偏移量服務(wù)端時(shí)延
基于格網(wǎng)坐標(biāo)轉(zhuǎn)換法的矢量數(shù)據(jù)脫密方法研究
基于GCC-nearest時(shí)延估計(jì)的室內(nèi)聲源定位
電子制作(2019年23期)2019-02-23 13:21:12
基于改進(jìn)二次相關(guān)算法的TDOA時(shí)延估計(jì)
云存儲(chǔ)中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
新時(shí)期《移動(dòng)Web服務(wù)端開(kāi)發(fā)》課程教學(xué)改革的研究
攪拌針不同偏移量對(duì)6082-T6鋁合金接頭勞性能的影響
基于最小二乘平差的全極化SAR配準(zhǔn)偏移量估計(jì)方法
在Windows Server 2008上創(chuàng)建應(yīng)用
FRFT在水聲信道時(shí)延頻移聯(lián)合估計(jì)中的應(yīng)用
基于分段CEEMD降噪的時(shí)延估計(jì)研究
慈利县| 神农架林区| 松滋市| 广河县| 水城县| 石嘴山市| 泊头市| 会理县| 连云港市| 同仁县| 桂东县| 五寨县| 文山县| 上虞市| 慈溪市| 宁国市| 浏阳市| 桂平市| 泾阳县| 饶阳县| 锡林郭勒盟| 孙吴县| 鹿泉市| 土默特左旗| 凤阳县| 乌什县| 新乡县| 泗阳县| 黄龙县| 焦作市| 城步| 长宁县| 玉环县| 汉中市| 将乐县| 志丹县| 盖州市| 鄂托克前旗| 唐河县| 淅川县| 来宾市|