您的位置:首页 > 理论基础 > 计算机网络

网络时间协议(NTP)

2014-05-06 23:57 211 查看
今天在看《linux内核源代码情景分析》的时候,在中断那章看到了时间中断,里面提到时钟是计算机系统里非常重要的部分,不仅仅对单个计算机系统很重要,对于计算机网络来说同样非常重要,就想到一个问题,在网络中,不同的计算机之间是如何同步时钟的?暂时还没有考虑时钟不同步时可能出现哪些后果。

在网上简单查了一下,网络中同步时钟主要是用的网络时间协议(NTP, network time protocol),名字很简单,协议本身实际上也很简单。用下面的图来简单说明。

这里是以一台计算机(client)如何与时间服务器(server)通过NTP进行时间同步,来简单说明NTP的工作原理。

从下图中,可以很简单的就列出两个等式,在图右侧。而从这两个等式,用解方程的方法,就可以求出Delay和Offset。



Client如何知道T2和T3?很简单呀,在client和server之间不是有数据包的传送么,把T2和T3作为payload放到数据包里就OK啦!

从计算结果可以看出,NTP并没有要求server很快做出响应,因为offset只和T1、T2间,以及T3、T4间的差值有关,而与T2、T3间的差值无关。当然,这只是从原理上简单分析,具体在协议中是如何实现的并没有研究。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: