NTP协议之旅
NTP協(xié)議之旅
- What---啥是NTP
- Why---為什么需要NTP
- How---NTP實(shí)現(xiàn)原理
- Do---NTP實(shí)戰(zhàn)
- 使用HCL 華三模擬器進(jìn)行NTP配置
- 抓包分析
What—啥是NTP
??NTP是在分布式網(wǎng)絡(luò)中,進(jìn)行時(shí)鐘同步的協(xié)議,其具有較高的時(shí)間同步精度。所使用的傳輸層協(xié)議為UDP,使用端口號為123。
Why—為什么需要NTP
- 分布式網(wǎng)絡(luò)中,設(shè)備數(shù)量多,使用NTP同步時(shí)間,節(jié)省網(wǎng)管工作量。
- 計(jì)費(fèi)系統(tǒng)對時(shí)間一致性有要求,計(jì)費(fèi)不準(zhǔn)會出事。
- 多個(gè)系統(tǒng)之間按照時(shí)間順序處理負(fù)責(zé)事務(wù),時(shí)間保持同步是基礎(chǔ)。
總之許多業(yè)務(wù)和日常生活中,許多地方都離不開NTP協(xié)議。
How—NTP實(shí)現(xiàn)原理
如上圖,NTP協(xié)議報(bào)文交互一共需要發(fā)送兩個(gè)報(bào)文,攜帶的時(shí)間信息:
根據(jù)t1,t2,t3,t4這4個(gè)時(shí)刻,下面來介紹如何計(jì)算出Server和Client的時(shí)間差offset。
進(jìn)而Client端根據(jù)這個(gè)算出的offset來更新本地時(shí)間,做到與Server同步。
如上圖,
設(shè)Server和Client之間的時(shí)間差為offset,在Client端請求報(bào)文發(fā)送時(shí)刻為T1時(shí),此時(shí)Server端時(shí)間為T1’,則有方程:① T1 + offset = T1’。
設(shè)報(bào)文在Client和Server傳輸途中花費(fèi)的時(shí)間為delay,報(bào)文到達(dá)Server時(shí)間為T2,則有方程:②T1’ + delay = T2。
同理在Server的響應(yīng)報(bào)文返回時(shí),Server的時(shí)間和Client的時(shí)間差仍然是offset,在T3時(shí)刻從Server發(fā)回的報(bào)文對應(yīng)Client端時(shí)間為T3’,則有方程:③T3’ + offset = T3。
響應(yīng)報(bào)文在線路上傳遞時(shí)間仍然為delay(這里應(yīng)該有個(gè)假設(shè),請求報(bào)文的響應(yīng)報(bào)文花費(fèi)的時(shí)間delay相同),則有方程:④T3’ + delay = T4。
方程組中有4個(gè)已知數(shù)T1,T2,T3,T4以及4個(gè)等式,可以解出offset和delay的值。
重要的是offset,獲得了offset便知道了Client的時(shí)間與Server的時(shí)間差。
Client根據(jù)這個(gè)時(shí)間差就可以調(diào)整自己的時(shí)間了。
Do—NTP實(shí)戰(zhàn)
使用HCL 華三模擬器進(jìn)行NTP配置
抓包分析
總結(jié)
- 上一篇: 回望2019,互联网产品发展只剩焦虑?
- 下一篇: 12.14黄金白银实时行情分析,黄金原油