network time protocol
网络时间协议:
这是什么?
what is it?
网络上所有的服务器都是一个时间段:
为了同步在网络上所有的server的时间,这样可以方便几种管理和交流,通讯
那么应该是什么?
工作的原理?
server端和client段
服务端和客户端,服务端比较简单,只要使用技术来确保server端的时间准确即可
而客户端定时向服务端发送数据,获得服务端的时间,然后再和server端的时间sync就OK了
但是这有一个问题:从server端获得数据之后,再返回到client端,这里有一个传输的时间。
传输的时间怎么算?
比如说:CLIENTa向server A端,发送数据,server端A把5:10返回到client端,时间传输要花费10s钟,这样的话,时间不久不同步了吗?
这真是很奇怪
工作的流程:
1:主机启动这个daemon
2:client向NTP server发送校对时间的message
3:NTP server送出当前的标准时间给client
4:client接受了server的时间,因此调整自己的时间,实现了网络校时。
问题依然是存在的,到底是如何解决的?
使用的是master slave模式:
我国标准时间主机区国际标准时间来校对,然后各个学校再到我国的标准时间主机上来校对,然后我们再到各个学校的标准时间主机来校对。
这样的话,可以降低国际标准时间主机的load。
NTP这个daemon使用UDP协议的123端口,
我们使用time server来进行时间更新,需要使用NTP软件提供的ntpdate来进行port 123的连接。
原来是这样:NTP时间服务器使用分级架构来处理时间的同步化
http://support.ntp.org/bin/view/Servers/StratumOneTimeServers
这是网络世界上的第一级的时间服务器。
我们选择的时候,可以选择多个NTP server来进行更新,这个配置文件是:/etc/ntp.conf
NTP的阶层概念和DNS很类似,NTP的server最多有15个阶层。
stratum:stratum-3向stratum-2要求时间同步
stratum-4向stratum-3要求时间同步
stratum-5向stratum-4要求时间同步。