新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于STM32控制器的SNTP授時(shí)服務(wù)器的研究與設(shè)計(jì)

基于STM32控制器的SNTP授時(shí)服務(wù)器的研究與設(shè)計(jì)

作者: 時(shí)間:2012-08-07 來源:網(wǎng)絡(luò) 收藏

2 SNTP協(xié)議分析
SNTP即簡單,它是一個(gè)用于局域網(wǎng)子網(wǎng)末端的協(xié)議,其要求在操作過程中只允許存在一個(gè)可靠的同步時(shí)鐘源,是
NTP協(xié)議的一個(gè)簡化版本。
2.1 SNTP的同步原理
SNTP協(xié)議主要通過同步算法來交換時(shí)間服務(wù)器和客戶端的時(shí)間戳,從而估算出數(shù)據(jù)包在網(wǎng)絡(luò)上的往返延遲,進(jìn)而獨(dú)立地估算系統(tǒng)的時(shí)鐘偏差。它的原理的傳輸模型如圖2所示。

2b.JPG


圖2中,T1為客戶方發(fā)送查詢請(qǐng)求時(shí)間(以客戶方時(shí)間系統(tǒng)為參照),T2為服務(wù)器收到查詢請(qǐng)求時(shí)間(以服務(wù)器時(shí)間系統(tǒng)為參照),T3為服務(wù)器回復(fù)時(shí)間信息包時(shí)間(以服務(wù)器時(shí)間系統(tǒng)為參照),T4為客戶方收到時(shí)間信息包時(shí)間(以客戶方時(shí)間系統(tǒng)為參照),D1為請(qǐng)求信息在網(wǎng)上傳播所消耗的時(shí)間,D2為回復(fù)信息在網(wǎng)上傳播所消耗的時(shí)間。假設(shè)請(qǐng)求和回復(fù)在網(wǎng)上的傳播時(shí)間相同,即:δ1=δ2,則可得出如下公式:
2c.JPG
式中,θ為客戶端時(shí)間與標(biāo)準(zhǔn)時(shí)間之差,δ為信息在網(wǎng)上傳播的時(shí)間??梢钥吹剑?、δ只與T2、T1的差值和T4、T3的差值相關(guān),而與T2、T3的差值無關(guān),即最終的結(jié)果與服務(wù)器處理請(qǐng)求所需的時(shí)間無關(guān)。據(jù)此,客戶端(CLIENT)即可通過T1、T2、T3、T4十算出的時(shí)差0去調(diào)整本地時(shí)鐘。
2.2 SNTP協(xié)議格式
SNTP消息一般封裝在UDP報(bào)文中,UDP的端口號(hào)是123,UDP頭中的源端口和目的端口是一樣的。SNTP消息緊跟在IP和UDP報(bào)頭之后,其協(xié)
議格式如圖3所示。

2d.JPG


圖3中,U為跳躍指示器,可警告在當(dāng)月最后一天的最終時(shí)刻插入的迫近閨秒(閨秒)。VN表示版本號(hào)。Mode為模式,該字段包括以下值:
O(預(yù)留);1(對(duì)稱行為);3(客戶機(jī));4(服務(wù)器);5(廣播);6(NTP控制信息)。Stratum用于對(duì)本地時(shí)鐘級(jí)別的整體識(shí)別。Poll表示有符號(hào)整
數(shù)表示連續(xù)信息間的最大間隔。Precision表示有符號(hào)整數(shù),表示本地時(shí)鐘精確度。Root Delay為有符號(hào)固定點(diǎn)序號(hào),表示主要參考源的總延遲,如很短時(shí)間內(nèi)的15到16間的分段點(diǎn)。Root Dispersion為無符號(hào)固定點(diǎn)序號(hào)表示相對(duì)于主要參考源的正常差錯(cuò),如很短時(shí)間內(nèi)的位15到16間的分段點(diǎn)。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉