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