怎么搭建自己的NTP服务器?
现在有个项目要求不能用公网, 但是对时间精度有要求,
所以,他们买了时码卡/时统卡 来获取GPS时间,
也就是要利用这个时码卡搭建自己的NTP服务器,其他计算机连接这个服务器实现时间的统一和同步。
请高手指点一下,具体该怎么做呢, 现在没有一点头绪。 不知道NTP服务器怎么弄。
------解决方案--------------------
一、什么是网络时间服务
网络时间服务Net Time Service与网络文件下载服务FTP、网络浏览服务WWW等一样,是一种网络服务,提供网络时间服务的电脑叫网络时间服务器。当然有些时间服务器是纯硬件结构的,通过GPS卫星信息来获取时间,其外观与一台交换机相似,不在文本介绍之列。本文主要介绍一台电脑如何通过网络获取上级时间服务器提供的标准时间,再服务于本单位的局域网,使一个单位的所有电脑都能与标准时间保持同步,时间误差一般小于0.5秒。
TCP/IP协议中,用于同步时间的协议为NTP协议,它是由美国德拉瓦大学的David L. Mills教授于1985年提出,除了可以估算封包在网络上的往返延迟外,还可独立地估算计算机时钟偏差,从而实现在网络上的高精准度计算机校时,它是设计用来在Internet上使不同的机器能维持相同时间的一种通讯协议。时间服务器(time server)是利用NTP的一种服务器,通过它可以使网络中的电脑保持时间同步。
NTP是一个跨越广域网或局域网的复杂的同步时间协议,它通常可获得毫秒级的精度。SNTP(Simple Network Time Protocol)是NTP的一个子集,目的是为了那些不需要NTP实现复杂性网络时间同步的主机。通常用于局域网上的若干台主机通过互联网与其他的 NTP主机同步时钟,接着再向局域网内其他客户端提供时间同步服务。SNTP一般使用UDP的123端号,Linux系统和Windows系统都支持它,是现在架设网络时间服务器的主流协议。
Time Protocol (RFC-868)协议是一种较简单的协议。此协议提供了一个独立于站点的,机器可读的日期和时间信息。时间服务返回的是从1900年1月1日午夜到现在的秒数。该协议通过TCP或UDP的37端口提供服务。Linux下的TIME服务提供该服务,Windows系统中较少使用。
现在网上的许多时间校准软件,有些支持SNTP协议、有些支持TIME协议,有些二者都支持,我们在选择时要特别注意。另外在Windows系统的对等网中,还有使用 “net time 机器名 /set /yes”命令使用netbios协议进行时间校准,由于这种方法不支持混合网络和跨网段网络,本文也不特别介绍。
二、时间服务器有何用
也许有人认为电脑的时钟有点误差影响不大,其实这是非常错误的。电脑系统中的文件保存、文件传输、电子邮箱中的时间戳都是以电脑时钟为准的。如果今后我们想进行文件查找、日志查询,如果系统时钟不准,或同一网络中的电脑时间不同步,将给后续工作带有许多麻烦。现在许多备份软件、编译软件、FTP工具都是以文件保存时间为依据进行比较的,如果时间不统一,将使这些软件难以正常工作。
◆三、如何使局域网内的所有电脑时钟同步
首先要在互联网上寻找一台或几台专门提供时间服务的电脑(以下称为主时间服务器)。现在有不少机构免费提供标准时钟服务,在http: //www.ntp.org中专门介绍有不少时间服务器地址。推荐大家在平时使用pool.ntp.org这个地址,因为这个域名在DNS解析时会从一组时钟服务器的IP中随机选取,非常合适一般用户使用。大家也可以在搜索引擎中以“public time server”为关键词搜索一下,找出离你较近的时间服务器。
其次选择单位中能上网的一台电脑,让它与主时间服务器同步,这台电脑可以是Linux主机,也可以是win98、2000、XP主机。同时把这台电脑设为局域网内部的时间服务器(以下称为时间服务器),供局域网内部的所有电脑校对时间。
再在单位内部的所有电脑上设置时间服务的客户端,如果客户机为win2000、XP或Linux系统,不需要安装任何软件。如客户机为win98系统时要根据时间服务器类型的不同而区别对待:如果时间服务器选用SNTP协议进行时钟同步,则win98机上需安装一个sntp客户端软件,如时间服务器由 windows电脑通过netbios协议提供,则win98上也不需要安装任何软件。
◆四、设置时间服务器
以下分Linux、Win98、Win2000XP三种情况分别介绍,而且只介绍sntp服务的架设,timeserver服务和netbios对时服务由于应用很少,不做介绍。
------解决方案--------------------
说白了,你就是需要一个时间服务器软件,让LAN中的其它机器能和这台装了时间服务器软件和时码卡/时统卡的机器的时间来同步
但这样的软件试了好多都不太中用;另外签于你还要安装时码卡/时统卡,用linux应该不太现实
刚才测试了一下,LAN中的两台XP系统(一台做ntp)不用第三软件只用自身win32time就可以同步时间,需要你觉得我能帮你的话,请留个QQ吧