建立運作記錄基礎 網路時間同步系統扮要角

2014-10-13
當你在網路上進行各種操作與應用時,你的每個工作站和伺服器會依據內建時鐘的時間來標記檔案、電子郵件、交易等。你的伺服器日誌一直都在記錄每種交易,比如存檔案、目錄同步、計畫任務(Cron Jobs)等。這些記錄動作的共同基礎就是相信網路時間是正確的。因此本文將探討為什麼「差不多」不能代替準確的網路時間,以及為什麼網路時間同步是非常重要的。
大家都知道,電腦的時鐘會漂移。它們通常是基於廉價的振盪電路或採用電池供電的石英晶體,每天很容易就會漂移數秒鐘,然後伴隨時間的流逝而累積成顯著的誤差。隨著不斷增加的分散式運算和我們對網路基礎設施的相互依賴,有許多時鐘不斷地在漂移,而將在其上運行的網路基礎設施和應用置於危險之境。尤其是與網路運行和應用相關的活動,最易受到與缺乏時間同步相關問題的影響。

八大網路運作仰賴時間同步

網路運行須經時間同步過的資訊來確保最佳網路性能。然而,資訊人員通常要到問題出現,才會發現缺乏時間同步是導致故障的關鍵因素;在沒有時間同步的情況下,網路處理將無法發揮功能。因此,以下將列出八項深受時間同步影響的網路運作:

日誌檔案的準確性、審查和監控

伺服器日誌檔案和隨後的報告可以讓你使用資料來評估組織內的活動。這包括防火牆和與虛擬私人專線(VPN)安全相關的活動、頻寬的使用,以及各種登錄、管理、驗證、授權和計費功能。因為伺服器日誌是來自不同主機的資訊匯編,時間戳記必須正確。如果不正確,那麼在排序事件和排除根本原因的問題(Root-Cause Problem)上就會有困難,有關與時間相關的任何因素統計也將難以解釋且可能毫無意義。

即使在路由器中,中心記錄的配置事件和系統錯誤資訊,比如路由器配置變化、介面連接狀態、數據機事件、安全警告、環境條件、追溯和中央處理器(CPU)處理超載都要依靠網路的時間同步來達到精確的時間戳記,使資料有意義。

事實上,許多企業皆遭受過拒絕服務攻擊(Denial of Service Attack),此時,遠端監控(Remote MONitoring, RMON)日誌通常被用來檢測真正原因(Root-Cause)的網路事件;而網路安全專家亦可利用它們來重建網路犯罪場景,進一步提供具精確時間戳記的網路資料傳送記錄當作呈堂供證。

網路故障診斷和恢復

大部分的IT組織會依照其保持完全流通的網路運行能力來進行衡量。嚴格限制可允許的停機時間是最常見的服務品質(Quality of Service)指標之一,每一個IT部門對這一點都有清楚地認識。倘若發生故障,精確的網路計時對於故障診斷和恢復是十分重要的。

為協助診斷故障,可用駐留在伺服器、路由器、交換機和專用儀器中的RMON服務,來收集、報告和記錄連接丟失、緩衝器溢流(Buffer Over-Flow)、封包丟失和其他關鍵的網路事件。

假如網路崩潰,一連串從真正原因開始的RMON事件會被報告出來。事件中的每一件都會以附在報告RMON代理之網路時間戳記來建立索引。假如這些時間戳記是同步的,那麼就可建立起正確的次序,也可以迅速找出真正原因。沒有精確的網路同步,真正原因的隔離(Root-cause Isolation)就會被遮掩(Obscure)並延長停機時間。

檔案時間戳記

任何檔案系統的完整性有賴於檔案本身的名稱和日期。單一檔案通常可追蹤建立、最後存取、最後歸檔和最後修改的日期。在一個分散式檔案共用系統中,主文件由網路檔案共用(Network File Sharing, NFS)伺服器來維護,供遠端客戶使用。NFS依賴網路時間--當出現重複的檔案名稱時,它會保存最新的副本;然而,如果一個用戶端的時間戳記在一個遠端存取檔案的時間,要比伺服器上維護的檔案時間早,那麼用戶端檔案,以及任何改變都將被丟棄。

目錄服務

網路時間同步是網路設計和實現的一個重要部分。例如,許多網路目錄服務系統在目錄服務資料庫中按照時間戳記來交換資訊,並將改變同步。群件(Groupware)應用需要準確的時間來計畫和協作。沒有時間同步化的網路,時效性系統和應用將無法正確工作。在一個Windows活動目錄網路中,所有的網域主控站(Primary Domain Controller, PDC)和客戶工作站須要通過單一、準確和標準的時間源來同步。

存取安全和驗證

Windows 2000和其後版本是需要網路同步最突出的例子。在Windows中,同步的時間十分重要,因為預設驗證協議(MIT Kerberos版本5)使用工作站時間做為驗證憑證產生過程的一部分。

Windows包括了W32Time時間服務工具,其用途是確保組織中所有基於Windows的電腦使用共同時間。時間服務使用一種階層式關係,可控制許可權且不允許迴路,以確保使用適當的共同時間。所有的用戶端桌上型電腦和成員伺服器可指定它們的入站(Inbound)驗證網域控制站,做為它們的時間合作夥伴;這會繼續向上通過域的階層式(The Hierarchy of Domains)到達樹林根源(The Root of the Forest)的網域控制站。

該網域控制站會被設定與可靠的時間源同步,比如私人網路時間伺服器。如果一個時間伺服器無法使用且網域控制站之間的時差漂移出Kerberos所允許的時鐘偏差(Skew),那麼兩個網域控制站之間的驗證/登錄將可能不會成功,並產生錯誤的資訊。

預定操作和分散式運算

計畫任務程式和定時任務(Crontab)是對電腦作業系統或應用伺服器的一個或多個命令清單,須要在特定的時間執行,當觸發時間到來,就會執行每一個命令。

在大多數情況下,這些針對資料備份的命令會在預先規定的時間發生,而這些預先設定的時間通常會被故意安排在深夜或在業務結束後。具有可接受時間源的單一主機的同步是強制性的,以便按照所預期的計畫來執行命令;在多個主機負責執行獨立計畫任務檔案的情況下,時間同步變得更加重要,以便正確地協調預定活動。

真實世界的時間值

使用真實世界的時間值來運行網路是無可替代的。雖然你可以將網路同步到不準確的時間並使之運行,但這是非常不理想的策略。本地網路彼此間會相互連接,而更大的網路,尤其是互聯網上,正確時間是單一的共同點。

真實世界的時間是以國際標準時間(Universal Time Coordinated, UTC)為基礎。UTC源於格林威治標準時間(Greenwich Mean Time, GMT)的最新版本,在其之上的網路運行,可共用一個共同的時間基準。UTC時間是準確、安全、可靠的最好來源,所有作業系統引用該來源轉換至當地時間,正是這個共同的時間基準為網路系統管理員提供了有關其網路所需的時間精確資訊,以確保最佳性能,並避免許多討論到的問題。

時間同步直接影響的應用

許多應用使用時間戳記做為一個關鍵要素,在測量和產生的資料中加入了重大的含義。共用資料庫、計費和交易系統、資料擷取、電子郵件和許多其他應用都非常依賴不同精確度的精確時間戳記。雖然時間戳記使用範圍非常廣大,但某些常見應用卻十分依賴網路同步,來為有意義的時間戳記提供時間。至於時間同步直接影響應用的關鍵區域有:

交易處理

在交易處理中,時間同步並不算是新議題。自1960年代以來,IBM即認識到,對於執行極高價值的交易處理來說,時間同步是十分重要的。IBM的紅皮書(Redbook)上有一段話指出,在資料處理中,一直長期存在著對於精確時間和資料資訊的需求。由於單個系統已被多個且耦合的系統所取代,這個需求已發展成在這些系統中同時對精確和一致的時鐘的需求。

今天我們使用許多不同類型和功能的伺服器和工作站,所有的設備都連接在一起,執行各種交易處理。應用的時間戳記往往有一秒的下限(絕對時間)。這些時間戳記基本上回答了這個問題:交易是何時發生的,亦即採購訂單是何時發出的,電話是何時連上的,何時完成的等等。

由於須要將交易處理放入一個正確的執行序列中,故需要毫秒(ms)級的交易處理時間戳記準確性,特別是大量接近同時發生的交易(參見下文的法律討論)。因為電腦操作自動且迅速地發生,系統時鐘解析度必須小於最小的交易組成和傳輸時間--導致需要1~2毫秒的解析度。

軟體發展

軟體發展是一項非常分散的任務,因為程式設計工程師團隊開發的代碼會儲存在不同的伺服器上,有時在不同的地理位置上。最終,此代碼會編譯進單一程式中。一個「製作檔案(Make File)」的功能或某種版本控制系統會被用來管理來自分散式伺服器的軟體編譯。

圖1 典型的基礎設施設備需要精確、真實世界的網路時間同步

當底層原始檔案被更改時,可使用檔案時間戳記來確定哪個檔案須要重建。如果某些目錄是通過NFS安裝的,且伺服器和用戶端具有不同的當前時間概念,那麼「製作」功能就會無法重建某些衍生物件,並產生一個不是基於最新來源的可執行檔案。

很多報告的實例顯示,工程師將一個「fix」記入原始程式碼檔案中,只在最後「製作」工作期間放棄了「fix」--給企業帶來了令人尷尬且昂貴的結果。這些類型的錯誤很難檢測到,企業第一個反應通常是責怪應用程式中的軟體錯誤,並透過應用程式編碼團隊產生測試情境來檢測錯誤,浪費無數個小時。

上述情形正是因為缺乏伺服器的時間同步,所產生的丟失檔案更改相關基礎設施問題。

電子郵件

電子郵件是書面商務交流實務上的標準。在網路中傳遞的每封電子郵件資訊,都具有寄件者的時間戳記。如果時間戳記明顯是錯誤的,便會在收件人端產生混亂,更不用說會挑戰發信組織的可信度。

法律和法規的要求

提供準確、可追溯的網路時間是必要的,因為管理產業的法律或規則需要它。例如,美國全國證券交易協會(National Association of Security Dealers, NASD)要求其成員股票交易的時間戳記,要有三秒的準確性,或是可追溯到美國國家標準技術研究所(National Institute of Standards and Technology, NIST)的UTC。

這代表極大的同步挑戰,因為在美國,NASD擁有5,500個成員和超過82,000個分支機搆。而同步化、可追溯時間的原因出於規則審核的目的,可在交易發生時進行驗證,其他應用比如法律、醫療和電信預計也會採用可追溯的時間標準,做為其網路運行規則的一部分。

密碼和數位ID

在2000年,美國通過電子簽名法,該法案提供委託書給適當擔保的和可識別的電腦,使它們的主體機構承擔合同義務。當電腦或個人擁有正確的密碼或數位識別,它/他們就有權力來展開業務;相反地,他們也能在密碼或數位憑證撤回時,拒絕存取。

以一個典型案例來說,當通過數位憑證存取公司帳戶的員工離開公司時,就必須撤銷證書來防止繼續存取,因為數位ID證書存在於網路空間,證書撤銷的時間也必須提交到網路空間,使用該證書的任何過程必須具有同步的網路時鐘,確定證書是否已過了其撤銷時間。

時間同步至為關鍵 業界致力優化時間同步系統

美高森美從客戶經驗中了解到網路時間同步的價值。客戶的工作就是保持基本網路功能可穩定運行。為協助他們實現此目的,讓客戶認識到許多網路運行和應用有賴於精確的網路時間同步來正常運作,並且在發生故障時更易於管理,美高森美對於建立高品質的網路時間同步系統,採取主動積極的立場,如全球衛星定位系統(GPS)同步網路時間伺服器,便具有形成如此系統基礎的理想特性。

(本作者Paul Skoog為美高森美頻率及時間同步產品事業部資深產品線經理,Joe Neil為系統銷售事業部解決方案架構總監)

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!