NTP對時器,NTP對時服務器
NTP對時器,NTP對時服務器
隨著計算機網絡的迅猛發展,網絡應用已經非常普遍,眾多領域的網絡系統如電力、石化、金融業(證券、銀行)、廣電業(廣播、電視)、交通業(火車、飛機)、軍事(航天、航空)等需要在大范圍保持計算機的時間同步和時間準確。因此網絡中有一個好的時鐘服務器是非常必要的。為了適應這些領域對于時間越來越精密的要求,
電腦時間走時不準是出了名的。它一般是以廉價的振蕩電路或石英鐘為基礎,每天的誤差可達數秒,經過一段時間的累積就會出現較大的誤差。隨著不斷增加的分散式計算和我們對網絡的依賴性的加強,不準確的電腦時間對于網絡結構以及其中的應用程序的安全性會產生較大的影響,尤其是那些對沒有實現網絡同步而導致的問題比較敏感的網絡指令或應用程序。
1、網絡指令
要得到的網絡表現(performance),就得向系統提供時間同步信息。千萬不要等到出了問題才認識到時間同步的重要性。如果沒有時間同步,網絡指令是無法正常運行的。
時間同步直接影響網絡指令的領域有:
--記錄文件安全、審查和監控
--網絡錯誤檢查和復原
--文件時間戳
--目錄服務
--存取安全與確認
--分散式計算
--預設操作
--真實世界時間值
2、記錄文件安全、審查和監控
服務器記錄文件以及其后的報告中的數據來評估組織的活動,包括防火墻和VPN安全相關的活動,帶寬的使用,以及其他各種各樣的記錄、管理、確認、*和會計職能。由于服務器記錄的是來自不同主機的信息,因此時間的準確性顯得非常必要,否則的話就可能出現不同的事件順序和故障排除的根源問題,使得與時間有關的一切數據都變得毫無意義。即使是在路由器里,像路由器配置改變、接口狀態、調制解調器事件、安全警報、環境條件、CPU處理過載等主要的配置事件和系統錯誤信息,都要有準確的時間戳,這些數據才有意義。
比如微軟應用中心的監控程序,它在同步和監控過程中就用到了時間值。磁簇中不同步的時間會導致矛盾的行為。執行計算數據的時間轉換就是其中毅力,它使我們得到的值看上去與實際值有偏差。
在Sun Microsystem的詞簇mode里,進行中的時間同步對記錄文件的準確性更為重要,因為管理員無法修改一個正在運行的詞簇節點上的時間。而且管理員也不應該用date,rdate,ntpdate之類的命令來修改詞簇時間。這些命令的運行會導致詞簇時間的突然改變并因此出現錯誤。
很多企業都曾經受到過公眾廣泛關注的denial of service的襲擊。網絡安全專家利用原本用于檢查root-cause網絡事件的RMON記錄來實施網絡犯罪。
3、網絡錯誤診斷和修復
大多數IT組織都以它們保持full flow網絡指令的能力來衡量其好壞。停機時間的嚴格限制是服務器用的衡量標準之一。所有IT部門對此都非常敏感。在出現錯誤的時候,準確的 網絡時間對于錯誤的診斷和修復起著非常關鍵的作用。
為了進行錯誤診斷,連接破壞、緩沖溢位、數據包丟失和其他的關鍵網絡事件都會由服務器、路由器、開關及儀器中的RMON進行捕捉、記錄和報告。要是root-cause造成網絡坍塌。那么系統將會列出一份關于RMON事件的報告。這些事件都帶有RMON代理程序給他們加上的時間戳,并以時間為索引。如果時間是同步的,那么各事件的順序就可以很方便的排出來,root-cause也就很容易確定了。如果沒有實現網絡時間同步,root-cause 將很難確定,并會一直持續下去。
4、文件時間戳
任何文件系統的完整性都在很大程度上依賴于文件自身的名稱和日期。獨立的文件更會詳細的記錄創立日期、上次讀取時間、上次存檔時間和上次修改時間。在分散的文件共享系統中,網絡文件共享服務器(NFS)維護主要文件以供遠程客戶機使用。NFS是獨立于網絡時間的。當接受到兩份名稱相同的文件時,NFS只認可的一份。如果客戶機給一份遠程讀取的文件所加的時間戳早于文件登錄到NFS上的時間,那么客戶機文件連同所做的一切修改都會被刪除。
5、目錄服務
網絡時間同步是網絡設計和搭建的重要組成部分。多個網絡目錄服務系統相互交換信息之后,要根據時間戳對目錄服務數據庫的修改時間進行調整使其一致。群組軟件應用中的目錄和合作也要用到準確的時間。沒有時間同步的網絡,對時間敏感的系統和應用就無法正常進行。在WindowsNT網絡中,所有的NT服務器和客戶機都與一個作為共同標準的時間源同步。相似的,Novell目錄服務(NDS)也是利用時間戳來確認事件發生的順序并記錄真實世界時間值。
6、存取安全和確認
Windows 2000是,也是典型的網絡時間同步的例子。在Windows 2000中,預設確認協議在authentication ticket generation process中要用到工作站時間,因此同步的事件是一個很關鍵的因素。Windows 2000中包含了一個W32 Time 時間服務工具,它的作用是確保一個組織中的所有Windows 2000用戶都采用統一的時間。時間服務采用的是可以控制使用權和防止回圈的階層式關系來保證共同時間的使用。所有的客戶機桌面和成員服務器都他們自己的確認網域控制器為時間搭檔。在往上直到初級網域控制器(PDC)的整個階層結構中都是如此。而PDC則于某個可靠的時間源同步,比如專門的網絡時間服務器。要是沒有可用的時間服務器,不同網域控制器的時間差別超出了Kerberos的允許范圍,那么兩臺網域控制器之間的確認/登錄就無法實現,還會出現錯誤信息。
7、分散計算
IBM在他們的分散計算環境(DCE)中認識到了時間同步的重要性。DCE是一系列的服務,這些服務共同作用,可以為升級和分散應用提供一個高水平、連貫的環境。DCE的四種主要服務分別是:遠程程序呼叫,目錄服務、安全服務和分散時間服務。分散時間服務要解決的是在一個分散系統中不同主機的時間同步問題。在客戶機和服務器組成的集合中,主機的系統時鐘與安全服務器主機的時鐘的差別不能大于5分鐘。如果大于5分鐘就會導致確認錯誤,客戶機的配置也會fail.
8、預定指令
Cron Scripts和Crontab是命令列表,這些命令大多用于計算機操作系統或應用服務器并在時間執行。由于這類指令多用于數據備份,因此它們的預設執行時間都是在深夜,在一天的交易結束以后。為了使命令在我們想要的時間運行,一臺單機與時間源必須同步。在多臺主機同時執行獨立Cron文件的情況下,主機的時間同步更顯得重要,這樣多個預定操作才可能相互協調進行。
9、真實世界時間值
操作一個使用真實世界時間值的網絡是無法用別的什么東西來替代的。我們可以在時間不正確的情況下運行一個網絡,但這種方式是不可取的。局域網與其他更大的網絡相互連接,它們之間唯共同的東西就是準確的時間。真實世界時間是以UTC為基礎的,它是格林威治日平時采用的的標準時間。在UTC基礎上運行的網絡有著共同的實踐基礎。UTC時間來自于一個精確、安全、可靠的時間源,然后經由各種操作系統轉換為當地時間。正是由于有了共同的時間參考,網絡管理員才可以獲取與時間有關的信息,從而保證網絡的正常運行,避免各種問題的出現。
10、應用
很多計算機應用程序都使用時間戳作為一個關鍵要素,給那些精確設計好的數據增加了非凡的意義。共享數據庫、廣告和商務系統、信息獲取、電子郵件以及大量其他的應用都相當依賴于不同程度的精確度和準確的時間輟。時間戳的應用領域是非常廣泛的,其中的常見應用在很大程度上要靠網絡時間同步來提供時間信息。
時間同步直接影響應用的關鍵領域有:
--工程進度控制
--軟件開發
--電子郵件
--法律法規的需求
--用戶名和密碼
11、交易處理
交易處理中的時間同步并不是一個新問題。在六十年代, IBM 即認識到時間同步在高價值交易中的重要性。 IBM 的" redbook "中提到:"在數據處理中,時間和日期準確性的要求是*的。當單一系統被多重或雙重系統代替后,這就要求系統時鐘既有準確性,又有兼容性。"
現在,我們用網絡完成各種各樣的交易。在這個網絡系統中,會使用多種不同型號和功能的服務器和工作站。應用時間戳要求有一秒的限制。時間戳回答了交易何時發生這樣的問題,也就是購買命令何時發出,電話何時接通和掛斷等。
我們需要把交易時間戳精確到毫秒的十位級,是因為我們需要確定交易發生的正確順序,特別是大量交易幾乎同時發生時。由于電腦交易都是自動和迅速完成的,用于確定系統時間的時間必須少于少的交易時間――確定時間大約需要 5-20 毫秒。