有时候,当我孤独地坐着等待生命大门关闭时,一种与世隔绝的感觉就会像冷雾一样笼罩着我。远处有光明、音乐和友谊,但我进不去,命运之神无情地挡住了大门。我真想义正词严地提出抗议,因为我的心仍然充满了热情。但是那些酸楚而无益的话语流溢在唇边,欲言又止,犹如泪水往肚里流,沉默浸透了我的灵魂。然后,希望之神微笑着走来对我轻轻耳语说:“忘我就是快乐。”因而我要把别人眼睛所看见的光明当作我的太阳,别人耳朵所听见的音乐当作我的乐曲,别人嘴角的微笑当作我的快乐。

NTP网络时钟协议

上一篇 / 下一篇  2009-08-04 10:11:50 / 个人分类:C语言

网络时间协议(NTP)简介


NTP概念简介

Network Time Protocol(NTP)是用

来使计算机时间同步化的一种协议,它可

以使计算机对其服务器或时钟源(如石英

钟,GPS等等)做同步化,它可以提供高精

准度的时间校正(LAN上与标准间差小于1

毫秒,WAN上几十毫秒),且可介由加密

确认的方式来防止恶毒的协议攻击。


NTP如何工作

NTP提供准确时间,首先要有准确的时间

来源,这一时间应该是国际标准时间UTC。

 NTP获得UTC的时间来源可以是原子钟、

天文台、卫星,也可以从Internet上

获取。这样就有了准确而可靠的时间源。

时间按NTP服务器的等级传播。按照离

外部UTC 源的远近将所有服务器归入

不同的Stratun(层)中。Stratum-1

在顶层,有外部UTC接入,而Stratum-2

则从Stratum-1获取时间,Stratum-3

从Stratum-2获取时间,以此类推,但

Stratum层的总数限制在15以内。

所有这些服务器在逻辑上形成阶梯式的架构

相互连接,而Stratum-1的时间服务器是

整个系统的基础。

计算机主机一般同多个时间服务器连接,

利用统计学的算法过滤来自不同服务器的

时间,以选择最佳的路径和来源来校正主

机时间。即使主机在长时间无法与某一时

间服务器相联系的情况下,NTP服务依然

有效运转。

为防止对时间服务器的恶意破坏,NTP使

用了识别(Authentication)机制,检

查来对时的信息是否是真正来自所宣称

的服务器并检查资料的返回路径,以提

供对抗干扰的保护机制。


网络校时协议(NTP)的实现


时间服务器可以利用以下三种方式与其

他服务器对时:

broadcast/multicast
client/server
symmetric

broadcast/multicast方式主要适

用于局域网的环境,时间服务器周期

性的以广播的方式,将时间信息传送

其他网路中的时间服务器,其时间

仅会有少许的延迟,而且配置非常的

简单。但是此方式的精确度并不高,

对时间精确度要求不是很高的情况下

可以采用。

symmetric的方式得一台服务器可以

从远端时间服务器获取时钟,如果需

要也可提供时间信息给远端的时间服

务器。此一方式适用于配置冗余的时

间服务器,可以提供更高的精确度给

主机。

client/server方式与symmetric

方式比较相似,只是不提供给其他时

间服务器时间信息,此方式适用于一

台时间服务器接收上层时间服务器的

时间信息,并提供时间信息给下层的

用户。

上述三种方式,时间信息的传输都使

用UDP协议。每一个时间包内包含最

近一次的事件的时间信息、包括上次

事件的发送与接收时间、传递现在事

件的当地时间、及此包的接收时间。

在收到上述包后即可计算出时间的偏

差量与传递资料的时间延迟。时间服

务器利用一个过滤演算法,及先前八

个校时资料计算出时间参考值,判断

后续校时包的精确性,一个相对较高

的离散程度,表示一个对时资料的可

信度比较低。仅从一个时间服务器获

得校时信息,不能校正通讯过程所造

成的时间偏差,而同时与许多时间服

务器通信校时,就可利用过滤算法找

出相对较可靠的时间来源,然后采用

它的时间来校时。

SNTPV4从NTP改版,用来同步因特网中的时钟。是对NTP的改进,支持一种简单的无远

程过程调用模式执行精准而可靠的操作。适用于同步子网末端的情况,服务器位于子网

根部,没有其他sntp 服务器。
 

 网络延时与时钟偏差的测量

Timestamp Name             ID        When Generated
Originate Timestamp       T1        time request sent by client
Receive Timestamp         T2        time request received at server
Transmit Timestamp        T3        time reply sent by server
Destination Timestamp   T4        time reply received at client
t 为服务器和客户端之间的时间偏差;
d 为两者之间的往返时间

∵ T2 = T1 + t + d/2; ∴ T2 - T1 = t + d/2;
∵ T4 = T3 - t + d/2;  ∴ T3 - T4 = t - d/2;
∴ d = (T2 - T1) + (T4 - T3); t = [(T2 - T1) + (T3 - T4)] / 2;

 

4,识别机制抗干扰和恶意破坏
为防止对时间服务器的恶意破坏,NTP使用了识别(Authentication)机制,检查来对时的信息是否是真正来自所宣称的服务器并检查资料的返回路径,以提供对抗干扰的保护机制。

 


TAG:

 

评分:0

我来说两句

Open Toolbar