NTP协议和算法

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可以同?r和多个Server对时, 一般在Client端下使用。

(0)

相关推荐

  • Linux系统下NTP协议的超级配置攻略

    在Linux系统中,为了避免主机时间因为在长时间运行下所导致的时间偏差,进行时间同步(synchronize)的工作是非常必要的.Linux系统下,一般使用ntp服务来同步不同机器的时间.NTP 是网 ...

  • OSPF协议在通信网络中的应用分析及算法优化

    组播扩展OSPF OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统 ...

  • Linux date 显示设置时间命令学习

    概要: date命令的功能是显示和设置系统日期和时间 命令格式: date [OPTION]... [+FORMAT] date [-u|--utc|--universal] [MMDDhhmm[[C ...

  • 无线网络的WPA-PSK加密设置方法

    一.WPA简介 Wi-Fi保护接入(WPA)是改进WEP所使用密钥的安全性的协议和算法.它改变了密钥生成方式,更频繁地变换密钥来获得安全.它还增加了消息完整性检查功能来防止数据包伪造. WPA的功能是 ...

  • CentOS系统中与时间的相关命令详解

    时间在任何系统里都是最基本的部分,必不可少.本文介绍CentOS系统中与时间的相关命令. 基本概念 硬件时钟(Hardware Clock) 硬件时钟,也叫实时时钟(RealTimeClock),或者 ...

  • freebsd时间设置小节详解

    可以使用date来显示时间,实际上也可以使用它来更改时间的,比如:# date 9903011354 1999年 3月 1日 星期一 13时54分00秒 CST, 但是这样可以会牺牲正确性,一个比较好 ...

  • 远程视频监控系统中时间同步的问题

    这里我们主要解决的是远程视频监控系统中时间同步的问题,远程视频监控系统通过安装在导航台站内的摄像机对导航设备及台站内的人员活动情况进行监视,再通过连接的网络视频服务器,将监控信息通过Internet ...

  • 国内NTP服务器IP地址|自动校时服务器

    NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议. 在计算机的世界里,时间非常地重要,现在的监控摄像机,例如海康.大华.宇视的摄像设备都需要 ...

  • TCP协议的一些认识及实践知识简介

    一、简介 引用《TCP/IP详解-卷1》中的介绍,TCP与UDP使用相同的网络层(IP层),TCP却向应用层提供了与UDP完全不同的服务。TCP提供一种面向连接的、可靠的字节流服务。 所谓面向连接的, ...