万网采用NTP时间同步技术 与世界标准时间同步
在计算机网络中,主机和服务器的重要性自然不言而喻,它的维护往往需要专业性的技术人才,但在网络技术人才依然缺乏的今天,这无疑使很多中小企业望而却步。1997年,中国万网(www.net.cn)率先在中国引入“虚拟主机”概念,并提供了网站托管服务,Internet才真正成为人人都用得起的网络。虚拟主机,是一种使用特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台“虚拟”的主机,每一台虚拟主机都具有独立的域名或IP地址,具有完整的Internet服务器(WWW、FTP、Email等)功能,虚拟主机之间完全独立,并可由用户自行管理,在外界看来,每一台虚拟主机和一台独立的主机完全一样。
虚拟主机的出现使网络应用越来越广泛,但是目前计算机网络中各主机和服务器等网络设备中存在一个比较严重的问题,即它们的时间其本上处于无序状态。网络时代的今天,计算机的时间同步问题已成为我们必须去面对并解决的问题。以UNIX系统为例,时间的准确性几乎影响到所有文件的操作。如果一台机器时间不准确,例如在时间超前的机器上建立一个文件,用LS查看一下,以当前时间减去所显示的文件修改时间会得到一个负值,这个问题对于网络文件服务器是一场灾难——文件的可靠性将不复存在。为了避免产生本机错误,可以从网络上获取时间,这个命令是RDATE,这样系统时钟可与公共源同步。但是一旦这一公共时间源出现差错,就会产生连锁反应,与其同步的所有机器的时间因此全都错误。上述问题的解决方法,就是需要一个能调整时间抖动率,建立一个即时缓和、调整时间变化,并用一群受托服务器提供准确、稳定时间的时间管理协议,这就是网络时间协议(NTP)。例如,中国万网(www.net.cn)等大网站就推出了这项在国内处于领先水平的技术,使客户享受到了与世界标准时间同步的服务。
那么,究竟在什么情况下需要对网络中成员的时间进行同步:
·在备份服务器和客户机之间进行增量备份要求这两个系统之间的时间同步。
·确保系统之间的RPC(远程系统调用)能够正常进行。因为为了保证一个系统调用不会重复进行,一个调用只在一个时间间隔内有效。如果系统间的时钟不同步。一个调用可能在还没有发生之前就因为超时而不能进行。
·有的应用程序需要知道一个用户登录系统的时间,或者文件的修改时间。
在一个网络中,系统之间的时钟相差一分钟或者更少的情况很多。如果网络很大,不可能完全依靠系统管理员手工使用date命令来调节各个系统的时钟,这个时候我们就需要网络时间协议(NTP)了。
让我们来看看NTP是如何调节系统时钟的
NTP中用来保持网络中的节点之间的时间同步的机制有三种。
ntpdate命令
ntpdate命令被用来立即同步客户端和服务器的时间。这是同步客户端和服务器的时间的最快方式。
系统每次启动的时候会使用这个命令,用来确保客户端和服务器的时间的同步。这个命令通常指定一个NTP服务器作为一个参数,客户端的时钟被设置为和服务器的时间匹配。然而,如果这个命令使用多个NTP服务器作为参数,客户端会使用最低级的NTP服务器。如果级别相等,客户端会使用平均数。
xntpd守护进程
xntpd守护进程在后台持续运行,并且会定时校验客户端的时钟和NTP服务器的时间。xntpd守护进程通常是在系统启动的时候启动。因为客户端的时钟可能产生漂移,以致与实际的NTP时钟有差异。xntpd守护进程会周期性地发送一个NTP服务器的网络请求,并且与客户端的时钟对比,在必要的时候修正客户端的时间,同时将时间差存到一个/etc/ntp.conf文件。默认的xntpd时间检查的间隔为64秒,在第一次检查的时候,客户端的时钟和NTP服务器上的时钟的差异会被记录下来,同时依靠这个时间差异来计划下一次检查的计划。如果这个时间差异很大,下一次的时间检查会很快发生。如果这个差异很小,下一次的检查到来的时间会相应的延长。
/etc/ntp.conf文件
/etc/ntp.conf文件被用来在记录每次校验发生时候客户端和服务器时间之间的差(或者叫漂移)。一旦xntpd守护进程预计到这个时间差,它会开始使用这个“可预期”的漂移,来调节本机的时钟,这样就避免每次都去查询网络中的ntp服务器,从而可以减轻网络负载。xntpd守护进程会慢慢的转成使用这个drift文件,而查询NTP服务器的次数会慢慢变少。当这个值逐渐稳定并且保持同一个值,对NTP服务器的查询会变得更少,直到达到NTP请求的最小值。
说到这里也许有人要问,我们怎么决定NTP的时间源,即NTP在进行时钟同步时使用的时间源呢?有三种方法:
·HP-UX系统可以通过串口连接一个无线时钟。无线时钟接收GPS(全球卫星定位系统)的卫星发射的信号来决定当前时间。无线时钟是一个非常精确的时间源,但是需要花费几百到1000美元 。
·还可以使用网络中NTP时间服务器,通过这个服务器来同步网络中的系统的时钟。 http://www.eesic.udel.edu/ntp列出了公众网上有效的的一级时间服务器。
·如果只是需要在本局域网内进行系统间的时钟同步,那么就可以使用局域网中任何一个系统的时钟。你需要选择局域网中的一个节点的时钟作为“权威的”的时间源,然后其它的节点就只需要与这个时间源进行时间同步即可。使用这种方式,所有的节点都会使用一个公共的系统时钟,但是不需要和局域网外的系统进行时钟同步。如果一个系统在一个局域网的内部,同时又不能使用无线时钟,这种方式是最好的选择。
网络时间协议(NTP)不仅可以同步服务器和客户端的时间,现在还有很多公司把这种技术应用在网络安全方面,它可以把所有事件序列化,为网络管理员提供有时间关联的更具审计价值的日志信息,为挖掘黑客潜在的攻击企图和入侵踪迹提供线索和准备。所以有理由相信,有了虚拟主机和网络时间协议(NTP),我们的世界会更安全、更精彩 |