跳到主要內容區塊

ntuccepaper2019

校務服務

臺大計中網路校時服務NTP簡介
  • 卷期:v0013
  • 出版日期:2010-06-20

作者:曾保彰 / 臺灣大學計算機及資訊網路中心資訊網路組技正


以電腦記錄資訊已經是現代人生活中不可獲缺的部份。無論是電子商務、網路科技或差勤系統,都有賴於精準的時間服務才能確認記錄的時間資訊正確無誤。透過NTP通訊協定,無論是桌上電腦、筆記本電腦或是伺服器,只要連上網路,這台機器就可以從網路校時服務器取得正確的時間。鑒於NTP服務日益重要,本文將對網路校時服務的技術作一深入淺出的介紹。

 

網路校時的綠由

您是否會常常覺得自己的桌上電腦、筆記本電腦…等上網設備系統的時間不準確,甚至伺服器常常過了一段時間後,主機的時間也不準了?這是因為每一台主機都有一個小時鐘(石英振盪器所組成),而主機板上會有一個充電電池來供應電力維持這個時鐘運作。關機太久了(電池沒電)或電池壞了,機器再重開機後會變成出廠時間。另外,每一台主機的小時鐘不一定準確,如每天快5秒鐘,一年就差半小時。為讓電腦的系統時間能藉由網路達到校正功能,於是成立一個NTP組識(http://www.ntp.org)訂出Network Time Protocol (RFC 1305)[1],主要就是用來解決電腦系統時間同步的問題。


網路校時原理

如圖一,在 NTP 的架構之下,有一個 NTP Server,這個 NTP Server 必須維持精準的時間,目前本校所採用的時間是接收衛星訊號(Global Positioning System, GPS)的時間,它的準確度可以逹到1ms以內,而這時間提供其他的 NTP Client 或個人電腦系統時間作為校正的一個標準,當所有的 NTP Client 向NTP Server 同步時,時間的問題就完美地解決了。接著我們對圖一的代號作一些說明如下:


 

T1-T0:為Client端向 NTP server要求提供對時服務的時間,包括網路傳輸時間。
T2-T1:NTP server處理對時服務的作業時間。
T3-T2:為NTP server回覆Client端對時服務的時間資料,包括網路傳輸時間。
T3-T0:總共花費的時間。
Client端所獲得之時間與NTP server時間約延遲(delay)T3-T2至T3-T1之間。

如何讓Client端所獲得之時間是最精準一事,有很多相關的研究,如果讀者有興趣可參考[2];不過,這裏有一些概念可跟讀者分享,網路傳輸時間沒有辦法預測,有研究把取得NTP精準時間方法是:扣掉網路傳輸的平均時間,但還是會有誤差,只是誤差比較小。為使本校師生電腦的系統時間能擷取較精準的時間,請使用本校NTP server,因網路傳輸僅限於臺大校園網路,延遲時間最短,誤差也最小。
另一方面,由於NTP封包採用UDP/IP協定,這協定的特性:時間封包是即時資料,不會重送。若指定的NTP server太遠,NTP封包常常在網路往返途中就因為逾時遭丟棄,無法達成NTP時間同步目的。
 

結論

為使本校師生電腦的系統時間能擷取正常且精準的NTP時間,請使用本校NTP server對時設定(伺服器名稱為ntp.ntu.edu.tw或ntp2.ntu.edu.tw),使用方式請參考http://ccnet.ntu.edu.tw/ntp/download.html。而在微軟作業系統WindowXP的控制台/日期、時間、語言和區域選項/日期和時間/網際網路時間選項選取「自動與網際網路時間伺服器同步化」可設定「台大網際網路時間伺服器:ntp2.ntu.edu.tw」,操作畫面如圖二,設定完成後您的Window電腦會每週自動同步校正。在此,我們只介紹最多師生用的window系統,就個人所知幾乎所有系統皆支援NTP,有興趣的人可以到搜尋網頁搜尋NTP的設定。

 

參考文獻

[1] http://www.faqs.org/rfcs/rfc1305.html
[2] http://www.stdtime.gov.tw/chinese/index_b/b_4.htm