NTP 协议介绍

摘要:
使用NTP的目的是对网络内所有具有时钟的设备进行时钟同步,使网络内所有设备的时钟保持一致,从而使设备能够提供基于统一时间的多种应用。NTP报文在DeviceA和DeviceB之间单向传输所需要的时间为1秒。NTP的报文格式NTP有两种不同类型的报文,一种是时钟同步报文,另一种是控制报文。为其他值时NTP本身不做处理。Mode:长度为3比特,表示NTP的工作模式。ReceiveTimestamp:NTP请求报文到达接收端时接收端的本地时间。

NTP协议

NTP(Network Time Protocol,网络时间协议)是由RFC 1305定义的时间同步协议,用来在分布式时间服务器和客户端之间进行时间同步。NTP基于UDP报文进行传输,使用的UDP端口号为123。使用NTP的目的是对网络内所有具有时钟的设备进行时钟同步,使网络内所有设备的时钟保持一致,从而使设备能够提供基于统一时间的多种应用。

对于运行NTP的本地系统,既可以接收来自其他时钟源的同步,又可以作为时钟源同步其他的时钟,并且可以和其他设备互相同步。

NTP工作原理

NTP的基本工作原理如图所示。Device A和Device B通过网络相连,它们都有自己独立的系统时钟,需要通过NTP实现各自系统时钟的自动同步。为便于理解,作如下假设:

Device A和Device B的系统时钟同步之前,Device A的时钟设定为10:00:00am,Device B的时钟设定为11:00:00am。

Device B作为NTP时间服务器,即Device A将使自己的时钟与Device B的时钟同步。

NTP报文在Device A和Device B之间单向传输所需要的时间为1秒。

系统时钟同步的工作过程如下:

Device A发送一个NTP报文给Device B,该报文带有它离开Device A时的时间戳,该时间戳为10:00:00am(T1)。

当此NTP报文到达Device B时,Device B加上自己的时间戳,该时间戳为11:00:01am(T2)。

当此NTP报文离开Device B时,Device B再加上自己的时间戳,该时间戳为11:00:02am(T3)。

Device A接收到该响应报文时,Device A的本地时间为10:00:03am(T4)。

至此,Device A已经拥有足够的信息来计算两个重要的参数:

NTP报文的往返时延Delay=(T4-T1)-(T3-T2)=2秒。

Device A相对Device B的时间差offset=((T2-T1)+(T3-T4))/2=1小时。

这样,Device A就能够根据这些信息来设定自己的时钟,使之与Device B的时钟同步。

NTP的报文格式

NTP有两种不同类型的报文,一种是时钟同步报文,另一种是控制报文。控制报文仅用于需要网络管理的场合,它对于时钟同步功能来说并不是必需的。

主要字段的解释如下:

LI(Leap Indicator):为2比特,值为“11”时表示告警状态,时钟未被同步。为其他值时NTP本身不做处理。

VN(Version Number):长度为3比特,表示NTP的版本号。

Mode:长度为3比特,表示NTP的工作模式。不同的值所表示的含义分别是:0未定义、1表示主动对等体模式、2表示被动对等体模式、3表示客户模式、4表示服务器模式、5表示广播模式或组播模式、6表示此报文为NTP控制报文、7预留给内部使用。

Stratum:系统时钟的层数,取值范围为1~16,它定义了时钟的准确度。层数为1的时钟准确度最高,准确度从1到16依次递减,层数为16的时钟处于未同步状态,不能作为参考时钟。

Poll:轮询时间,即两个连续NTP报文之间的时间间隔。

Precision:系统时钟的精度。

Root Delay:本地到主参考时钟源的往返时间。

Root Dispersion:系统时钟相对于主参考时钟的最大误差。

Reference Identifier:参考时钟源的标识。

Reference Timestamp:系统时钟最后一次被设定或更新的时间。

Originate Timestamp:NTP请求报文离开发送端时发送端的本地时间。

Receive Timestamp:NTP请求报文到达接收端时接收端的本地时间。

Transmit Timestamp:应答报文离开应答者时应答者的本地时间。

Authenticator:验证信息。

参考:https://www.cnblogs.com/panhongqing/p/6292348.html

免责声明:文章转载自《NTP 协议介绍》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇[SoapUI] 获取当前时间包括年月日时分秒来作为命名iOS开发-单例模式下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MySQL中的datetime与timestamp比较

转自:MySQL中的datetime与timestamp比较 相同 1. 显示 TIMESTAMP列的显示格式与DATETIME列相同。换句话说,显示宽度固定在19字符,并且格式为YYYY-MM-DD HH:MM:SS。 不同 1. 范围 datetime 以'YYYY-MM-DD HH:MM:SS'格式检索和显示DATETIME值。支持的范围为'1000...

(转)HBase 常用Shell命令

转自:http://my.oschina.net/u/189445/blog/595232 hbase shell命令 描述 alter 修改列族(column family)模式 count 统计表中行的数量 create 创建表 describe 显示表相关的详细信息 delete 删除指定对象的值(可以为表,行,列对应的值,...

DDR工作原理【转】

转自:https://www.cnblogs.com/shengansong/archive/2012/09/01/2666213.html DDR SDRAM全称为Double Data Rate SDRAM,中文名为“双倍数据流SDRAM”。DDR SDRAM在原有的SDRAM的基础上改进而来。也正因为如此,DDR能够凭借着转产成本优势来打败昔日的对手...

logstash解析嵌套json格式数据

logstash解析嵌套json格式数据 1、源文件 1.原日志文件为 2019-10-28 09:49:44:947 [http-nio-8080-exec-23] INFO [siftLog][qewrw123ffwer2323fdsafd] - logTime:2019-10-28 09:49:25.833-receiveTime:2019-10-...

[12] Jenkins

1. 简介 略... 2. 安装 Jenkins (1) RPM 安装 # a. 如果手头没有 RPM 包,就在清华源挑一个 wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.249.3-1.1.noarch.rpm yum install jenkins-2...

LED时钟同步之无线传输设计方法

深圳市立显电子有限公司,专业LED时钟生产厂家!--------【点击进入】 无线同步时钟功能说明: 标准wifi同步时钟采用3/4/5英寸单红数码管、恒流驱动设计。可根据客户要求订制显示布局:年、月、日、时、分、秒、星期等时间元素。机身采用黑色铝合金边框设计,美观大方、坚固耐用。LED时钟无线联网对时符合IEEE802.11b/g/n网络规范,为实现网络...