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