【云计算 IT 基础知识】系列1 目录/汇总(持续更新)
------------------------------------------------------------
5.5.8 NTP
概念
网络时间协议NTP(Network Time Protocol)是使因特网上计算机维持相同时间,可借以实现网络上高精准度(毫秒级)计算机校时的协议。
组网
NTP的目的是通过网络将主时间服务器的时间信息传送到其他时间服务器,并且定时反复核对各服务器的时钟,以减少由于仪器或传播失误而产生的误差。NTP的组网示意如图5-41所示。
NTP组网采用分层结构(分层称为阶层,最大阶层数为15)。网络内经常被广泛访问的资源(如骨干网络)通过有线或无线系统连接到多个与国家标准时钟同步的主参考源上。这些主参考源作为主时间服务器运行在网络中。
NTP节点以阶层式架构形成时间追溯体系,位于最顶层(第一层)的节点直接追溯到国家标准时间,第二层节点则通过第一层节点间接追溯到国家标准时间,依此类推。每个节点均以本身的时钟来维持某精准度的时间,并自行于适当校时周期主动向上一层节点发出校时请求。
原理
NTP客户端通过与NTP服务器在网络上互传携带有各自时间信息的数据包实现时间信息的获取,并通过时间过滤和选择算法计算最佳时间,最终实现时间同步校正。其基本的交互过程及工作原理如图5-42所示。
其工作过程说明如下:
1. NTP客户端向NTP服务器发送一个请求同步的NTP数据包,该数据包带有它离开NTP客户端时的时间戳。
2. 当此NTP数据包到达NTP服务器时,NTP服务器加上此时自己的时间戳。
3. NTP服务器处理该NTP请求消息,处理包括合法性检查、消息包上填充时间同步相关信息,之后加上自己的即时时间戳应答给NTP客户端。
4. 当NTP客户端接收到NTP服务器的响应数据包时,再在此数据包上加上一个新的时间戳。
至此,NTP客户端已经拥有足够的信息来计算时间校正所需的两个重要参数:
l 客户端和服务器之间的时间偏差offset,客户端利用该值来设定自己的系统时间,使其与NTP服务器时间一致。
l NTP消息一个来回周期的时延delay,该值用作选取最佳的时间采用样本的参考。
时间偏差和延时的计算方法,如图5-43所示。
延时和偏差分别为:
l delay = (t4-t1) - (t3-t2)
l offset = [(t2-t1) + (t3-t4)]/2
实际应用中,为了达到较佳的时间同步效果,客户端通常向多个服务器发送NTP请求,NTP报文中包含计算计时的准确性和可靠性的信息。客户端从多个服务器中选择出最好的时间服务器,经该服务器到国家标准时间服务器的同步路径最短、路径上的时间服务器时钟最稳定。同时,客户端向每个服务器发送多个NTP请求,获取多个时间采样,过滤出每个时间服务器最佳的时间样本。
------------------------------------------------------------