SNTP是网络时间协议。网络时间协议是一种在网络计算机上同步计算机时间的的协议,它具有高度的精确性(能精确到几十毫秒),但是算法非常复杂。实际上,在很多应用场景中,并不需要这么高的精确度,通常只要达到秒级的精确度就足够了。于是,科学家在NTP的基础上推出了SNTP(简单网络时间协议,SimpleNetworkTimeProtocol)。SNTP大大简化了NTP协议,同时也能保证时间达到一定的精确度。在实际应用中,SNTP协议主要被用来同步因特网上计算机的时间。SNTP协议采用客户端/服务器的工作方式,可以采用单播(点对点)或者广播(一点对多点)模式操作。SNTP服务器通过接收GPS信号或自带的原子钟作为系统的时间基准。单播模式下,SNTP客户端能够通过定期访问SNTP服务器获得准确的时间信息,用于调整客户端自身所在系统的时间,达到同步时间的目的。广播模式下,SNTP服务器周期性地发送消息给指定的IP广播地址或者IP多播地址。SNTP客户端通过监听这些地址来获得时间信息。网络中一般存在很多台SNTP服务器,客户端会通过一定的算法选择最好的几台服务器使用。如果一台SNTP服务器在工作过程中失去了外部时间源,此时SNTP服务器会告诉SNTP客户端"我失去了外部时间"。当SNTP客户端收到这个信息时,就会丢弃发生故障的SNTP服务器发给它的时间信息,然后重新选择其他的SNTP服务器。
SNTP即简单网络时间协议,是一种时间同步的通信协议。SNTP对时方式是通信的客户端通过发送请求报文,请求在服务器端取得UTC时间,服务器在收到请求后,会返回当前所在的时间。SNTP定时的去服务器同步获取时间,使本地计算机的时钟与标准时钟差异不大。基于网络上的延迟、丢包性能,SNTP校时算法采用了简单的线性平滑方案,保证了最大限度地减少了网络时延的影响,从而更为准确和稳定。