NTP协议和算法

所属分类: 网络 / 网络协议 阅读数: 1290
收藏 0 赞 0 分享

NTP:Network Time Protocol,网络时间协议,用于时间同步,它可以提供高精准度的时间校正(LAN上与标准时间差小于1毫秒,WAN上几十毫秒),且可通过加密确认的方式来防止恶意攻击。

NTP校时原理:

每一个时间包内包含最近一次的事件的时间信息、包括上次事件的发送与接收时间、传递现在事件的当地时间、及此包的接收时间。在收到上述包后即可计算出时间的偏差量与传递资料的时间延迟。时间服务器利用一个过滤演算法,及先前八个校时资料计算出时间参考值,判断后续校时包的精确性,一个相对较高的离散程度,表示一个对时资料的可信度比较低。仅从一个时间服务器获得校时信息,不能校正通讯过程所造成的时间偏差,而同时与许多时间服务器通信校时,就可利用过滤算法找出相对较可靠的时间来源,然后采用它的时间来校时。

时间信息的传输都使用UDP协议。


NTP协议格式:

NTP packet = NTP header + Four TimeStamps = 48byte

NTP header : 16byte
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

|LI | VN |Mode | Stratum | Poll | Precision |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
LeapYearIndicator : 2bit
VersionNumber : 3bit
Stratum : 8bit
Mode : 3 bit
PollInterval : 8 bit
Percision : 8bit

| Root Delay |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Root delay : 32bit

| Root Dispersion |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Root Dispersion : 32bit

| Reference Identifier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Reference Identifier : 32bit

Four TimeStamps : 32byte
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

| Reference Timestamp |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Reference Timestamp : 64bit

| Originate Timestamp |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Originate Timestamp : 64bit

| Receive Timestamp |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Receive Timestamp : 64bit

| Transmit Timestamp |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Transmit Timestamp : 64bit

| Authenticator (optional) (96) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-


Network Time Protocol使用port 123,64   bits的binary   number,前32   bits和Time   Protocol一样,后32   bits用以表示秒以下的部份,并加上网络延时量的估计.理论上可以精确到到2的-32次方秒,实际使用大约只有50ms(广域网)左右,在局域网可达1ms。在实际中您应找最近而且最稳定的Server作时间源。

SNTP算是NTP的一个子集,它不像NTP可以同時和多个Server对时,   一般在Client端下使用。

更多精彩内容其他人还在看

IOT通信协议有哪些?物联网七大通信协议对比介绍

物联网简称iot,本文中为大家的是物联网的7大协议以及对比,有需要的朋友可以阅读本文参考一下
收藏 0 赞 0 分享

Apache Flink的网络协议栈详细介绍

Flink 的网络协议栈是组成 flink-runtime 模块的核心组件之一,本文中介绍了Apache Flink网络协议栈,感兴趣的朋友可以阅读本文参考一下
收藏 0 赞 0 分享

ipv6如何内嵌ipv4?ipv4转换为ipv6的方法介绍

ipv6是最新的互联网络协议,已经在慢慢的应用起来,ipv4和ipv6是如何的相互转换的呢?本文中将会有简单的介绍,感兴趣的朋友可以餐参考一下
收藏 0 赞 0 分享

进制转换之二进制十进制和十六进制

这篇文章主要介绍了进制转换之二进制十进制和十六进制,需要的朋友可以参考下
收藏 0 赞 0 分享

DNS劫持是什么意思?DNS劫持是干什么用的?

这篇文章主要介绍了DNS劫持是什么意思?DNS劫持是干什么用的?本文讲解了DNS劫持原理以及应对措施,需要的朋友可以参考下
收藏 0 赞 0 分享

动态dns是什么意思?

这篇文章主要介绍了动态dns是什么意思?本文讲解了什么是动态dns,并用一个实例讲解了动态DNS的使用,需要的朋友可以参考下
收藏 0 赞 0 分享

SIM卡是什么意思?SIM卡有什么用?

这篇文章主要介绍了SIM卡是什么意思?SIM卡有什么用?,本文讲解了SIM卡的类型介绍、基本概念、SIM卡的密码、SIM卡的原理、SIM卡的功能等内容,需要的朋友可以参考下
收藏 0 赞 0 分享

什么是端口映射?端口映射基础知识介绍

这篇文章主要介绍了什么是端口映射?端口映射基础知识介绍,本文讲解了端口映射的相关知识及其作用等内容,需要的朋友可以参考下
收藏 0 赞 0 分享

影响无线WiFi信号的一些因素及解决办法介绍

这篇文章主要介绍了影响无线WiFi信号的一些因素及解决办法介绍,本文先是讲解了影响因素然后给出了解决办法,需要的朋友可以参考下
收藏 0 赞 0 分享

安卓手机、苹果手机查看本机MAC地址的方法图文教程

这篇文章主要介绍了安卓手机、苹果手机查看本机MAC地址的方法图文教程,本文分别用详细的图文教程讲解了安卓手机MAC地址查询方法、苹果手机MAC地址查询方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多