一、什么是網(wǎng)絡(luò)時(shí)間服務(wù) 網(wǎng)絡(luò)時(shí)間服務(wù)Net Time Service與網(wǎng)絡(luò)文件下載服務(wù)FTP、網(wǎng)絡(luò)瀏覽服務(wù)WWW等一樣,是一種網(wǎng)絡(luò)服務(wù),提供網(wǎng)絡(luò)時(shí)間服務(wù)的電腦叫網(wǎng)絡(luò)時(shí)間服務(wù)器。當(dāng)然有些時(shí)間服務(wù)器是純硬件結(jié)構(gòu)的,通過(guò)GPS/北斗衛(wèi)星信息來(lái)獲取時(shí)間,其外觀與一臺(tái)交換機(jī)相似,如上海銳呈電氣有限公司生產(chǎn)的K系列NTP時(shí)間服務(wù)器產(chǎn)品,詳情可參考:http://www.ruicheng-china.cn,純硬件結(jié)構(gòu)時(shí)間服務(wù)器不在文本介紹之列。本文主要介紹一臺(tái)電腦如何通過(guò)網(wǎng)絡(luò)獲取上級(jí)時(shí)間服務(wù)器提供的標(biāo)準(zhǔn)時(shí)間,再服務(wù)于本單位的局域網(wǎng),使一個(gè)單位的所有電腦都能與標(biāo)準(zhǔn)時(shí)間保持同步,時(shí)間誤差一般小于0.5秒。 TCP/IP協(xié)議中,用于同步時(shí)間的協(xié)議為NTP協(xié)議,它是由美國(guó)德拉瓦大學(xué)的David L. Mills教授于1985年提出,除了可以估算封包在網(wǎng)絡(luò)上的往返延遲外,還可獨(dú)立地估算計(jì)算機(jī)時(shí)鐘偏差,從而實(shí)現(xiàn)在網(wǎng)絡(luò)上的高精準(zhǔn)度計(jì)算機(jī)校時(shí),它是設(shè)計(jì)用來(lái)在Internet上使不同的機(jī)器能維持相同時(shí)間的一種通訊協(xié)議。時(shí)間服務(wù)器(time server)是利用NTP的一種服務(wù)器,通過(guò)它可以使網(wǎng)絡(luò)中的電腦保持時(shí)間同步。 NTP是一個(gè)跨越廣域網(wǎng)或局域網(wǎng)的復(fù)雜的同步時(shí)間協(xié)議,它通?色@得毫秒級(jí)的精度。SNTP(Simple Network Time Protocol)是NTP的一個(gè)子集,目的是為了那些不需要NTP實(shí)現(xiàn)復(fù)雜性網(wǎng)絡(luò)時(shí)間同步的主機(jī)。通常用于局域網(wǎng)上的若干臺(tái)主機(jī)通過(guò)互聯(lián)網(wǎng)與其他的 NTP主機(jī)同步時(shí)鐘,接著再向局域網(wǎng)內(nèi)其他客戶(hù)端提供時(shí)間同步服務(wù)。SNTP一般使用UDP的123端號(hào),Linux系統(tǒng)和Windows系統(tǒng)都支持它,是現(xiàn)在架設(shè)網(wǎng)絡(luò)時(shí)間服務(wù)器的主流協(xié)議。 Time Protocol (RFC-868)協(xié)議是一種較簡(jiǎn)單的協(xié)議。此協(xié)議提供了一個(gè)獨(dú)立于站點(diǎn)的,機(jī)器可讀的日期和時(shí)間信息。時(shí)間服務(wù)返回的是從1900年1月1日午夜到現(xiàn)在的秒數(shù)。該協(xié)議通過(guò)TCP或UDP的37端口提供服務(wù)。Linux下的TIME服務(wù)提供該服務(wù),Windows系統(tǒng)中較少使用。 現(xiàn)在網(wǎng)上的許多時(shí)間校準(zhǔn)軟件,有些支持SNTP協(xié)議、有些支持TIME協(xié)議,有些二者都支持,我們?cè)谶x擇時(shí)要特別注意。另外在Windows系統(tǒng)的對(duì)等網(wǎng)中,還有使用“net time 機(jī)器名 /set /yes”命令使用netbios協(xié)議進(jìn)行時(shí)間校準(zhǔn),由于這種方法不支持混合網(wǎng)絡(luò)和跨網(wǎng)段網(wǎng)絡(luò),本文也不特別介紹。
二、時(shí)間服務(wù)器有何用 也許有人認(rèn)為電腦的時(shí)鐘有點(diǎn)誤差影響不大,其實(shí)這是非常錯(cuò)誤的。電腦系統(tǒng)中的文件保存、文件傳輸、電子郵箱中的時(shí)間戳都是以電腦時(shí)鐘為準(zhǔn)的。如果今后我們想進(jìn)行文件查找、日志查詢(xún),如果系統(tǒng)時(shí)鐘不準(zhǔn),或同一網(wǎng)絡(luò)中的電腦時(shí)間不同步,將給后續(xù)工作帶有許多麻煩,F(xiàn)在許多備份軟件、編譯軟件、FTP工具都是以文件保存時(shí)間為依據(jù)進(jìn)行比較的,如果時(shí)間不統(tǒng)一,將使這些軟件難以正常工作。三、如何使局域網(wǎng)內(nèi)的所有電腦時(shí)鐘同步 首先要在互聯(lián)網(wǎng)上尋找一臺(tái)或幾臺(tái)專(zhuān)門(mén)提供時(shí)間服務(wù)的電腦(以下稱(chēng)為主時(shí)間服務(wù)器),F(xiàn)在有不少機(jī)構(gòu)免費(fèi)提供標(biāo)準(zhǔn)時(shí)鐘服務(wù),在http: //www.ntp.org中專(zhuān)門(mén)介紹有不少時(shí)間服務(wù)器地址。推薦大家在平時(shí)使用pool.ntp.org這個(gè)地址,因?yàn)檫@個(gè)域名在DNS解析時(shí)會(huì)從一組時(shí)鐘服務(wù)器的IP中隨機(jī)選取,非常合適一般用戶(hù)使用。大家也可以在搜索引擎中以“public time server”為關(guān)鍵詞搜索一下,找出離你較近的時(shí)間服務(wù)器。 其次選擇單位中能上網(wǎng)的一臺(tái)電腦,讓它與主時(shí)間服務(wù)器同步,這臺(tái)電腦可以是Linux主機(jī),也可以是win98、2000、XP主機(jī)。同時(shí)把這臺(tái)電腦設(shè)為局域網(wǎng)內(nèi)部的時(shí)間服務(wù)器(以下稱(chēng)為時(shí)間服務(wù)器),供局域網(wǎng)內(nèi)部的所有電腦校對(duì)時(shí)間。 再在單位內(nèi)部的所有電腦上設(shè)置時(shí)間服務(wù)的客戶(hù)端,如果客戶(hù)機(jī)為win2000、XP或Linux系統(tǒng),不需要安裝任何軟件。如客戶(hù)機(jī)為win98系統(tǒng)時(shí)要根據(jù)時(shí)間服務(wù)器類(lèi)型的不同而區(qū)別對(duì)待:如果時(shí)間服務(wù)器選用SNTP協(xié)議進(jìn)行時(shí)鐘同步,則win98機(jī)上需安裝一個(gè)sntp客戶(hù)端軟件,如時(shí)間服務(wù)器由 windows電腦通過(guò)netbios協(xié)議提供,則win98上也不需要安裝任何軟件。
四、設(shè)置時(shí)間服務(wù)器 以下分Linux、Win98、Win2000XP三種情況分別介紹,而且只介紹sntp服務(wù)的架設(shè),timeserver服務(wù)和netbios對(duì)時(shí)服務(wù)由于應(yīng)用很少,不做介紹。 1、Linux主機(jī)做時(shí)間服務(wù)器(以RedHat9.0為例) 第一步:檢查是否已經(jīng)安裝有ntp軟件包。輸入“rpm -qa|grep ntp”,如果已經(jīng)安裝應(yīng)該顯示“ntp-4.1.2-0.rc1”。 第二步:安裝ntp軟件,從ftp://ftp.redhat.com下載rpm包,輸入“rpm -ivh ntp-xxx.rpm”執(zhí)行安裝。 第三步:配置ntp服務(wù)。備份原/etc/ntp.conf文件后,輸入以下內(nèi)容 server pool.ntp.org server pool.ntp.org server pool.ntp.org driftfile /etc/ntp/drift 三行server都設(shè)pool.ntp.org是為了提供連接冗余,當(dāng)?shù)谝粋(gè)地址連接失敗時(shí),后面的地址提供時(shí)間服務(wù),注意這里的pool.ntp.org對(duì)應(yīng)一組IP地址,由DNS隨機(jī)分配。 第四步:?jiǎn)?dòng)ntp服務(wù)。輸入“service ntp restart”。 為了保證以后Linux機(jī)啟動(dòng)后ntp服務(wù)能自動(dòng)啟動(dòng),還要輸入“chkconfig ntpd on”。Linux下的ntp軟件不但能自動(dòng)與互聯(lián)網(wǎng)上的時(shí)鐘保持同步,同時(shí)本身已經(jīng)是一臺(tái)SNTP服務(wù)器了,可以供局域網(wǎng)內(nèi)的電腦校對(duì)時(shí)間。建議啟動(dòng) NTP服務(wù)后,先用date命令手工校正一下時(shí)間,以后系統(tǒng)會(huì)自動(dòng)與互聯(lián)網(wǎng)上的主時(shí)間服務(wù)器保持同步。ntp服務(wù)還有一個(gè)好處,如果當(dāng)前系統(tǒng)的時(shí)間與標(biāo)準(zhǔn)時(shí)間有所誤差,它不是馬上把時(shí)間校正,而是逐步縮小與標(biāo)準(zhǔn)時(shí)間的誤差,以免系統(tǒng)內(nèi)部出現(xiàn)時(shí)間突變。 2、Windows2000、XP做時(shí)間服務(wù)器 第一步:指定主時(shí)間服務(wù)器。在DOS方式輸入“net time /setsntp:pool.ntp.org”,這里我們指定pool.ntp.org是主時(shí)間服務(wù)器,也可以是其它地址。 第二步:開(kāi)始與主時(shí)間服務(wù)器同步。先關(guān)閉windows time服務(wù),再開(kāi)啟該服務(wù)。可以在“管理工具”的“服務(wù)”界面下完成,也可以以DOS方式輸入“net stop w32time”、“net start w32time”。 第三步:設(shè)置電腦的Windows time服務(wù)的啟動(dòng)方式為自動(dòng)。在“管理工具”的“服務(wù)”界面下完成。 注意這臺(tái)windows主機(jī)不能加入任何域,否則無(wú)法啟動(dòng)windows time服務(wù)。此時(shí),這臺(tái)windows電腦已經(jīng)是互聯(lián)上主時(shí)間服務(wù)器的客戶(hù)了,以后每次電腦啟動(dòng)時(shí),都會(huì)自動(dòng)與主時(shí)間服務(wù)器校對(duì)時(shí)間。如果網(wǎng)絡(luò)不通,電腦也會(huì)過(guò)45分鐘后再次自動(dòng)校對(duì)時(shí)間。需要注意的是電腦的時(shí)鐘與標(biāo)準(zhǔn)時(shí)間誤差不能超過(guò)12小時(shí),否則不能自動(dòng)校對(duì),而要手動(dòng)校正了。 第四步:使這臺(tái)電腦成為時(shí)間服務(wù)器,供局域網(wǎng)內(nèi)部的電腦校對(duì)時(shí)間。用“regedit”打開(kāi)注冊(cè)表,把 “HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeParameters”中的 LocalNTP改為1即可。 3、Windows98做時(shí)間服務(wù)器 一般不推薦Windows98系統(tǒng)做時(shí)間服務(wù)器,而且win98本身也不含時(shí)間服務(wù)器功能,需要安裝第三方軟件。本文后面介紹的nettime軟件(http://nettime.sourceforge.net/)是一個(gè)非常優(yōu)秀的時(shí)間客戶(hù)端軟件,它可以工作在windows98、2000、XP 系統(tǒng)中,當(dāng)選中“Allow other computers to sync to this computer”時(shí),可以把這臺(tái)電腦當(dāng)做成時(shí)間服務(wù)器。 五、設(shè)置時(shí)間服務(wù)器的客戶(hù)端 客戶(hù)端的主要任務(wù)是連接到局域網(wǎng)內(nèi)的時(shí)間服務(wù)器,以保持電腦的時(shí)鐘與服務(wù)器同步。同樣分Linux、Windows98、2000、XP幾種情況介紹 1、LINUX主機(jī) 其實(shí)在上面介紹Linux系統(tǒng)中的ntp服務(wù)時(shí),已經(jīng)提到ntp時(shí)間服務(wù)時(shí)同時(shí)也是一個(gè)時(shí)間服務(wù)的客戶(hù)端,只要把/etc/ntp.conf文件中的 “server pool.ntp.org”改為“server 內(nèi)部時(shí)間服務(wù)器IP地址”即可。如不想使用ntp服務(wù),也可使用ntp軟件包中帶來(lái)的ntpdate命令,只要手工執(zhí)行“ntpdate 時(shí)間服務(wù)器IP地址”即可。如想每天自動(dòng)對(duì)時(shí),可以把這條命令放在cron中,注意在同一臺(tái)電腦上ntp服務(wù)與ntpdate命令不能同時(shí)使用。 2、Windows2000主機(jī) 執(zhí)行設(shè)置時(shí)間服務(wù)器時(shí)的前三步即可 3、WindowsXP主機(jī) 可以按Windows2000主機(jī)的方法設(shè)置,也可雙擊任務(wù)欄右下角的時(shí)鐘圖標(biāo),打開(kāi)“日期時(shí)間屬性”對(duì)話框,在“Internet時(shí)間”卡片上選中“自動(dòng)與Internet時(shí)間服務(wù)器同步”,并在服務(wù)器上填入內(nèi)部時(shí)間服務(wù)器的IP地址即可。 4、Windows98主機(jī) 需要安裝第三方軟件,自由(free)軟件nettime是個(gè)不錯(cuò)的軟件,它支持SNTP(UDP123)、TIME(TCP37)、TIME- UDP(UDP37)三種方法進(jìn)行時(shí)間同步。軟件操作簡(jiǎn)單,只要在上圖的“Hostname or IP Address”中輸入局域網(wǎng)內(nèi)時(shí)間服務(wù)器的IP地址,“Protocol”中選SNTP即可。 當(dāng)然在windows98電腦上執(zhí)行“net time 機(jī)器名或IP地址 /set /yes”也可能與其它windows電腦同步時(shí)鐘,前提是這些電腦在同一網(wǎng)段,并且安裝有netbios協(xié)議。把該命令放在autoexec.bat 中,就可以做到開(kāi)機(jī)自動(dòng)對(duì)時(shí)了。