Windows時間同步設定
有時當我們本機電腦的時間不正確時,我們可以使用網路時間協議NTP(Network Time Protocal)與外界的時間伺服器或Windows網域服務器進行時間同步,校正本地的時間。雙擊右小角的時間地區,會彈出時間設定設定與時間同步的設定對話方塊(當電腦加入到域之後,時間同步的選項卡是被隱藏掉),見下圖所示:
時間同步伺服器與同步間隔調整
在時間同步的介面上,我們只可以在給定的時間同步伺服器下進行選擇,並且還不能指定同步時間的間隔。下面我們深入一下該方面的內容,通過調整註冊表的內容,達到增加時間同步伺服器個數,以及調整時間同步間隔的目的:
增加時間同步伺服器:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers
增加一項數值,類型為字串,名稱為普通數字,值為同步伺服器的名稱
調整同步間隔:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\W32Time\TimeProviders\NtpClient
SpecialPollInterval: reg_dword 同步間隔數值(單位為秒,預設值為604800,預設是7天同步一次)
時間同步協議
Network Time Protocol(NTP)是用來使電腦時間同步化的一種協議,它可以使電腦對其伺服器或時鐘源(如GPS同步時鐘,gps時間伺服器等等)做同步。NTP是由美國德拉瓦大學的David L. Mills教授於1985年提出,除了可以估算封包在網路上的往返延遲外,還可獨立地估算電腦時鐘偏差,從而實現在網路上的高精準度電腦校時,它是設計用來在Internet上使不同的機器能維持相同時間的一種通訊協定。時間伺服器(time server)是利用NTP的一種伺服器,通過它可以使網路中的機器維持時間同步。在大多數的地方,NTP可以提供1-50ms的可信賴性的同步時間源和網路工作路徑。
NTP如何工作
NTP提供準確時間,首先要有準確的時間來源,這一時間應該是國際標準時間UTC。 NTP獲得UTC的時間來源可以是原子鐘、天文台、衛星,也可以從Internet上擷取。這樣就有了準確而可靠的時間源。時間按NTP伺服器的等級傳播。按照離外部UTC 源的遠近將所有伺服器歸入不同的Stratun(層)中。Stratum-1在頂層,有外部UTC接入,而Stratum-2則從Stratum-1擷取時間,Stratum-3從Stratum-2擷取時間,以此類推,但Stratum層的總數限制在15以內。所有這些伺服器在邏輯上形成階梯式的架構相互串連,而Stratum-1的時間伺服器是整個系統的基礎。電腦主機一般同多個時間伺服器串連,利用統計學的演算法過濾來自不同伺服器的時間,以選擇最佳的路徑和來源來校正主機時間。即使主機在長時間無法與某一時間伺服器相聯絡的情況下,NTP服務依然有效運轉。為防止對時間伺服器的惡意破壞,NTP使用了識別(Authentication)機制,檢查來對時的資訊是否是真正來自所宣稱的伺服器並檢查資料的返迴路徑,以提供對抗幹擾的保護機制。
網路校時協議(NTP)的實現
時間伺服器可以利用以下三種方式與其他伺服器對時:broadcast/multicastclient/serversymmetricbroadcast/multicast方式主要適用於區域網路的環境,時間伺服器周期性的以廣播的方式,將時間資訊傳送給其他網路中的時間伺服器,其時間僅會有少許的延遲,而且配置非常的簡單。但是此方式的精確度並不高,對時間精確度要求不是很高的情況下可以採用。symmetric的方式得一台伺服器可以從遠端時間伺服器擷取時鐘,如果需要也可提供時間資訊給遠端的時間伺服器。此一方式適用於配置冗餘的時間伺服器,可以提供更高的精確度給主機。 client/server方式與symmetric方式比較相似,只是不提供給其他時間伺服器時間資訊,此方式適用於一台時間伺服器接收上層時間伺服器的時間資訊,並提供時間資訊給下層的使用者。上述三種方式,時間資訊的傳輸都使用UDP協議。每一個時間包內包含最近一次的事件的時間資訊、包括上次事件的發送與接收時間、傳遞現在事件的當地時間、及此包的接收時間。在收到上述包後即可計算出時間的偏差量與傳遞資料的時間延遲。時間伺服器利用一個過濾演算法,及先前八個校時資料計算出時間參考值,判斷後續校時包的精確性,一個相對較高的離散程度,表示一個對時資料的可信度比較低。僅從一個時間伺服器獲得校時資訊,不能校正通訊過程所造成的時間偏差,而同時與許多時間伺服器通訊校時,就可利用過濾演算法找出相對較可靠的時間來源,然後採用它的時間來校時。
時間同步協議的連接埠
UDP 123, TCP 123