NTP的工作模式
Server/Client mode:用户向一个或多个服务器发出服务请求,根据所交换的信息,从中选择认为准确的时间,并调整本地的时钟。
Multicast/Broadcast mode:此种模式是适用于在高速的LAN上。利用一个或多个服务器在固定的周期向某个多播地址做广播。
Symmetric mode:两个以上的Server互相进行时间消息的通讯,可以相互校正对方的时间,以维持整个subnet的时间的一致性。
基于NTP减少计算机时钟频率偏差
时钟频率偏差是时钟长期计时累积误差的主要原因,要提高时钟长期计时精度,必须补偿时钟频率偏差。联网的计算机可采用NTP方式,可非常方便地校准时钟频率偏差。以NTP服务器时钟为标准时间,在某一时刻设置NTP客户机时间为NTP服务器当前时间T0,经过一段时间后,NTP服务器时间为T0+tsn,NTP客户端时间为T0+tcn。因为存在时钟频率偏差,tsn与tcn并不相等。NTP客户端时间tcn需乘以时钟频率偏差系数k才等于tsn,即tsn=k×tcn,所以k=tsn/tcn。
网络时间协议NTP(Network Time Protocol)的主要开发者是美国特拉华大学的MILLS David L教授设计实现的,由时间协议、ICMP时间戳消息及IP时间戳选项发展而来。NTP用于将计算机客户或服务器的时间与另一服务器同步,使用层次式时间分布模型。在配置时,NTP可以利用冗余服务器和多条网络路径来获得时间的高准确性和高可靠性。即使客户机在长时间无法与某一时间服务器相联系的情况下,仍可提供高准确度时间。
本程序能通过网络授时服务器获取当前时间,因为一般我们的手机只能提供到分钟的时间显示,并且由于手机硬件的固有问题导致经常会出现手机系统时间不准确问题,(已知的某平台的手机会在充电后时间变快4分钟),这是编写本程序的初衷,本程序功能够提供给使用者到秒级的时间显示,同时告诉使用者手机系统时间与当前标准时间的差值,但无权去修改使用者手机的系统时间,软件使用中会消耗非常少的网络流量。