NTP工作机制及时间同步的方法
Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源做同步化,它可以提供高精准度的时间校正,且可用加密确认的方式来防止恶毒的协议攻击。
NTP提供准确时间,首先要有准确的时间来源,这一时间就是是国际标准时间UTC。 NTP获得UTC的时间来源可以是原子钟、天文台、卫星,也可以从Internet上获取。这样就有了准确而可靠的时间源。时间按NTP服务器的等级传播。按照离外部UTC源的远近将所有服务器归入不同的Stratum层。Stratum-1在顶层,有外部UTC接入,而Stratum-2则从Stratum-1获取时间,Stratum-3从Stratum-2获取时间,以此类推,但Stratum层的总数限制在15以内。所有这些服务器在逻辑上形成阶梯式的架构相互连接,而Stratum-1的时间服务器是整个系统的基础。
计算机主机一般同多个时间服务器连接, 利用统计学的算法过滤来自不同服务器的时间,以选择最佳的路径和来源来校正主机时间。即使主机在长时间无法与某一时间服务器相联系的情况下,NTP服务依然有效运转。为防止对时间服务器的恶意破坏,NTP使用了识别(Authentication)机制,检查来对时的信息是否是真正来自所宣称的服务器并检查资料的返回路径,以提供对抗干扰的保护机制。
比如说用time.windown.com做时间源标准,来同步所有的服务器,确保所有服务器上的时间同步。
In Windows:
Adjust date/time -->Internet Time
如果没有 Internet Time 选项, 可以用下面的命令来同步
1.@net time /setsntp:10.171.8.5 # The IP address of ntp1.emea.nsn-net.net
2.@net stop w32time # Stop the service
3.@net start w32time # Start the service
4.@w32tm /resync # Sync the time to take it into effect.
In Linux:
制定个crontab定时同步所有的服务器,也可以偶尔单独执行,/usr/sbin/ntpdate -u sourcetime_host_ipaddress
NOTE: 执行此命令,需用root账号
同时可以检查此配置文件,/etc/ntp.conf 并用下面的命令看服务启动没有
# chkconfig --list ntpd
# chkconfig --list ntpd
ntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off