隨著網(wǎng)絡的飛速發(fā)展,設備的日益增多,許多網(wǎng)絡應用和網(wǎng)絡安全對時間同步問題提出了迫切需求。因此基于NTP服務器的時間同步解決方案成為解決這些問題的合理選擇。 隨著網(wǎng)絡的普及,許多單位都建了自己的園區(qū)網(wǎng),使用的網(wǎng)絡設備和服務器日益增多。這些設備都有自己的時鐘,而且是可以調(diào)節(jié)的。但是無法保證網(wǎng)絡中的所有設備和主機的時間是同步的,因為這些時鐘每天會產(chǎn)生數(shù)秒、甚至數(shù)分鐘的誤差。經(jīng)過長期運行,時間差會越來越大,這種偏差在單機中影響不太大,但在網(wǎng)絡環(huán)境下的應用中可能會引發(fā)意想不到的問題。如在分布式計算環(huán)境中,由于每個主機時間不一致,會造成同一操作在不同主機的記錄時間不一致,將導致服務無法正常地進行。隨著各種網(wǎng)絡應用的不斷發(fā)展,對時間的要求也越來越高,否則會引發(fā)許多的問題。 時間同步概述 將網(wǎng)絡環(huán)境中的各種設備或主機的時間信息(年月日時分秒)基于UTC(UniversalTimeCoordinated)時間偏差限定在足夠小的范圍內(nèi)(如100ms),這種同步過程叫做時間同步。 目前,有兩種重要的時間同步技術,即網(wǎng)絡時間協(xié)議(NetworkTimeProtocol,NTP)協(xié)議和直接連接時間傳輸技術。其中直接連接時間傳輸技術,需要所有客戶端直接連接到標準時間源。NTP適用于網(wǎng)絡環(huán)境下,可以在一個無序的網(wǎng)絡環(huán)境下提供和健壯的時間服務。 NTP早由美國Delaware大學的設計實現(xiàn)的,由時間協(xié)議、ICMP時間戳消息及IP時間戳選項發(fā)展而來[2]。NTP用于將計算機客戶或服務器的時間同步到另一服務器或參考時鐘源。它使用UTC作為時間標準,是基于無連接的IP協(xié)議和UDP協(xié)議的應用層協(xié)議,使用層次式時間分布模型,所能取得的準確度依賴于本地時鐘硬件的度和對設備及進程延遲的嚴格控制。在配置時,NTP可以利用冗余服務器和多條網(wǎng)絡路徑來獲得時間的高準確性和高可靠性。實際應用中,又有確保秒級精度的簡單的網(wǎng)絡時間協(xié)議。 NTP的三種工作模式 客戶/服務器模式:客戶機周期性地向服務器請求時間信息,服務器用來同步客戶機但不能被客戶機同步??蛻魴C首先向服務器發(fā)送一個NTP包,其中包含了該包離開客戶機時的時間戳,當服務器接收到該包時,依次填入包到達時的時間戳、交換包的源地址和目的地址、填入包離開時的時間戳,然后立即把包返回給客戶機??蛻魴C在接收到響應包時再填入包返回時的時間戳??蛻魴C用這些時間參數(shù)就能夠計算出2個關鍵參數(shù):包交換的往返延遲和客戶機與服務器之間的時鐘偏移??蛻魴C使用時鐘偏移來調(diào)整本地時鐘,以使其時間與服務器時間一致。 主/被動對稱模式:網(wǎng)絡時間服務器與客戶/服務器模式基本相同。區(qū)別在于雙方均可同步對方或被對方同步。 廣播模式:沒有同步的發(fā)起方。在每個同步周期中,服務器向網(wǎng)絡廣播廣播帶有自己時間戳的消息包,所有的目標節(jié)點被動接收這些消息,以此調(diào)整自己的時間。一般用于網(wǎng)絡延時非常小,或者對時間精度要求不高的地方,如同局域網(wǎng)內(nèi),使用廣播模式可節(jié)省帶寬。 |