幫助文檔
NTP是計(jì)算機(jī)系統(tǒng)中的時(shí)鐘同步協(xié)議,基于UDP,端口號(hào)123,佰馬網(wǎng)關(guān)使用服務(wù)器/客戶模式(server/client),佰馬網(wǎng)關(guān)作為客戶端,本文將詳細(xì)解析佰馬網(wǎng)關(guān)與服務(wù)端交互的NTP報(bào)文。
在佰馬網(wǎng)關(guān)管理頁(yè)面,系統(tǒng)設(shè)置-時(shí)間設(shè)置,配置NTP時(shí)間服務(wù)器,此處舉例配置阿里云共有服務(wù)器。
配置完NTP服務(wù)器抓取數(shù)據(jù)包,可看到佰馬網(wǎng)關(guān)與NTP服務(wù)器的報(bào)文交互。
NTP服務(wù)端回應(yīng):
假設(shè)佰馬網(wǎng)關(guān)發(fā)送數(shù)據(jù)包的時(shí)間維t0,服務(wù)端收到數(shù)據(jù)包的時(shí)間為t1,服務(wù)端回復(fù)數(shù)據(jù)包的時(shí)間為t2,佰馬網(wǎng)關(guān)收到服務(wù)端數(shù)據(jù)包的時(shí)間為t3。
客戶端與服務(wù)端的時(shí)間系統(tǒng)的偏差定義為θ、網(wǎng)絡(luò)的往/返延遲(單程延時(shí))定義為δ。
則t0+θ+δ=t1
t2-θ+δ=t3
解可得到以下結(jié)果:
θ=(t1-t0+t2-t3)/2
δ=(t1-t0+t3-t2)/2
客戶端根據(jù)自己的時(shí)間軸加減時(shí)間偏差即可和NTP服務(wù)端時(shí)間同步。
以上時(shí)間校準(zhǔn)算法只為理解過(guò)程,不代表真實(shí)做法。
對(duì)于時(shí)間要求沒(méi)那么精準(zhǔn)的設(shè)備,客戶端會(huì)把server端的返回時(shí)間t2固化為本地時(shí)間。
佰馬Baimatech,集M2M產(chǎn)品研發(fā)、IoT平臺(tái)服務(wù)、國(guó)際化運(yùn)營(yíng)于一體,讓我們聯(lián)接,共創(chuàng)未來(lái)