简单网络时间协议(Simple Network Time Protocol),由
NTP 改编而来,主要用来同步
因特网中的计算机时钟。在 RFC2030 中定义。
SNTP协议采用客户端/服务器的工作方式,可以采用
单播(点对点)或者广播(一点对多点)模式操作。SNTP服务器通过接收GPS信号或自带的
原子钟作为系统的时间基准。单播模式下,SNTP客户端能够通过定期访问SNTP服务器获得准确的时间信息,用于调整客户端自身所在系统的时间,达到同步时间的目的。广播模式下,SNTP服务器周期性地发送消息给指定的IP
广播地址或者IP
多播地址。SNTP客户端通过监听这些地址来获得时间信息。
网络中一般存在很多台SNTP服务器,客户端会通过一定的算法选择最好的几台服务器使用。如果一台SNTP服务器在工作过程中失去了外部时间源,此时SNTP服务器会告诉SNTP客户端“我失去了外部时间”。当SNTP客户端收到这个信息时,就会丢弃发生故障的SNTP服务器发给它的时间信息,然后重新选择其他的SNTP服务器。
SNTP 是用户数据报协议( UDP) 的客户端[POS80 ],而
UDP自己是网际协议( IP) [DAR81 ] 的客户端. IP 和UDP 报头的结构在被引用的指定资料里描述,这里就不更进一步描述了。UDP的端口是123,UDP头中的源端口和目的端口都是一样的,保留的UDP头如规范中所述。以下是SNTP 报文格式的描述,它紧跟在IP 和UDP 报头之后。SNTP的消息格式与RFC-1305中所描述的NTP格式是一致的,不同的地方是:一些SNTP的数据域已被封装,也就是说已初始化为一些预定的值。SNTP 消息的格式被显示如下。
网络时间协议(英语:Network Time Protocol,简称NTP)是在数据网络
潜伏时间可变的
计算机系统之间通过
分组交换进行
时钟同步的一个网络协议。自1985年以来,NTP是仍在使用的最古老的
互联网协议之一。NTP由
特拉华大学的David L. Mills设计。
NTP意图将所有参与计算机的
协调世界时(UTC)时间
同步到几
毫秒的误差内。它使用Marzullo算法的修改版来选择准确的
时间服务器,其设计旨在减轻可变
网络延迟造成的影响。NTP通常可以在公共
互联网保持几十毫秒的误差,并且在理想的
局域网环境中可以实现超过1毫秒的精度。不对称
路由和
拥塞控制可能导致100毫秒(或更高)的错误。
该协议通常描述为一种
主从式架构,但它也可以用在点对点网上中,对等体双方可将另一端认定为潜在的时间源。发送和接收
时间戳采用
用户数据报协议(UDP)的通信端口123实现。这也可以使用
广播或
多播,其中的客户端在最初的往返校准交换后被动地监听时间更新。NTP提供一个即将到来
闰秒调整的警告,但不会传输有关本地
时区或
夏时制的信息。
当前协议为版本4(NTPv4),这是一个RFC 5905文档中的建议标准。它
向下兼容指定于RFC 1305的版本3。