Dns數(shù)據(jù)更新全過(guò)程的監(jiān)測(cè)方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)通信技術(shù)領(lǐng)域,具體涉及一種DNS數(shù)據(jù)更新全過(guò)程的監(jiān)測(cè)方法及系統(tǒng)。
【背景技術(shù)】
[0002]作為互聯(lián)網(wǎng)的重要基礎(chǔ)設(shè)施,域名系統(tǒng)(Domain Name System, DNS) 一直為全球互聯(lián)網(wǎng)的運(yùn)行提供關(guān)鍵性的基礎(chǔ)服務(wù)。DNS的安全和穩(wěn)定,對(duì)于互聯(lián)網(wǎng)是很重要的。
[0003]如圖1所示,一個(gè)區(qū)有很多權(quán)威服務(wù)器,包括主服務(wù)器和輔服務(wù)器。他們還是分層組織的,包括一級(jí)隱藏主、二級(jí)隱藏主、葉子節(jié)點(diǎn)的主服務(wù)器和各個(gè)終端從服務(wù)器等四個(gè)級(jí)別的DNS權(quán)威服務(wù)器,從高到低依次遞減分別是一級(jí)、二級(jí)、三級(jí)和四級(jí)等等。區(qū)數(shù)據(jù)從主服務(wù)器一級(jí)一級(jí)地通過(guò)區(qū)傳送傳輸DNS數(shù)據(jù),直至進(jìn)入各個(gè)葉子節(jié)點(diǎn)。
[0004]DNS數(shù)據(jù)安全和穩(wěn)定的傳送對(duì)DNS系統(tǒng)來(lái)說(shuō)至關(guān)重要。但是因?yàn)榫W(wǎng)絡(luò)故障或者網(wǎng)速過(guò)慢等原因,DNS數(shù)據(jù)的傳輸總會(huì)發(fā)生某些故障,如延遲較大或數(shù)據(jù)出錯(cuò)等。區(qū)傳送的安全和穩(wěn)定對(duì)于DNS和DNS解析是至關(guān)重要的。除了 DNS的區(qū)傳送之外,從DNS外部到DNS系統(tǒng)的數(shù)據(jù)傳輸也是有安全隱患的,需要對(duì)其做好保障工作和監(jiān)測(cè)工作。
[0005]現(xiàn)在,有人采用通過(guò)比對(duì)某個(gè)區(qū)在主從服務(wù)器上SOA號(hào)的方法以監(jiān)測(cè)服務(wù)器間的數(shù)據(jù)差別的方法,但是因?yàn)槟硞€(gè)區(qū)在主從服務(wù)器上的SOA號(hào)(權(quán)威序列號(hào))的差與相應(yīng)的數(shù)據(jù)量之間不成正比,所以這種方法是不那么可靠的?,F(xiàn)階段沒(méi)有很好的方法和系統(tǒng)監(jiān)測(cè)。
【發(fā)明內(nèi)容】
[0006]針對(duì)上述現(xiàn)有技術(shù)存在的問(wèn)題,本發(fā)明的目的是提供一種DNS數(shù)據(jù)更新全過(guò)程的監(jiān)測(cè)方法,從DNS數(shù)據(jù)源到各級(jí)DNS解析節(jié)點(diǎn)服務(wù)器的更新路徑和更新過(guò)程進(jìn)行更準(zhǔn)確地監(jiān)測(cè)。
[0007]為實(shí)現(xiàn)上述目的,本發(fā)明采取的技術(shù)方案是:
[0008]一種DNS數(shù)據(jù)更新全過(guò)程的監(jiān)測(cè)方法,包括以下步驟:當(dāng)發(fā)現(xiàn)某個(gè)域名的DNS數(shù)據(jù)發(fā)生變化,為多個(gè)級(jí)別的DNS數(shù)據(jù)流經(jīng)點(diǎn)開(kāi)啟一更新監(jiān)測(cè)例程,以分別監(jiān)測(cè)該域名在多個(gè)級(jí)別的DNS數(shù)據(jù)流經(jīng)點(diǎn)的域名數(shù)據(jù)更新情況;當(dāng)任一更新監(jiān)測(cè)例程發(fā)現(xiàn)域名更新數(shù)據(jù)發(fā)生變化并且是預(yù)期變化時(shí),記錄域名更新數(shù)據(jù)變化的時(shí)間點(diǎn)。當(dāng)任一更新監(jiān)測(cè)例程發(fā)現(xiàn)域名更新數(shù)據(jù)發(fā)生變化并且與預(yù)期變化不一致時(shí),則報(bào)警數(shù)據(jù)更新不一致;當(dāng)任一更新監(jiān)測(cè)例程在超過(guò)一閥值設(shè)定的時(shí)間內(nèi)沒(méi)有發(fā)現(xiàn)域名更新數(shù)據(jù)發(fā)生變化,則報(bào)警數(shù)據(jù)更新超時(shí)。
[0009]所述某個(gè)域名的DNS數(shù)據(jù)發(fā)生變化時(shí),通過(guò)監(jiān)測(cè)DNS數(shù)據(jù)源自動(dòng)發(fā)現(xiàn),或者通過(guò)人為修改DNS數(shù)據(jù)發(fā)現(xiàn);如果是通過(guò)監(jiān)測(cè)DNS數(shù)據(jù)源發(fā)現(xiàn)的,則發(fā)現(xiàn)的數(shù)據(jù)變化就是所述預(yù)期變化,如果是通過(guò)人為修改DNS數(shù)據(jù)知道的,則修改前后的數(shù)據(jù)變化就是所述預(yù)期變化。
[0010]所述多個(gè)級(jí)別的DNS數(shù)據(jù)流經(jīng)點(diǎn)包括:DNS數(shù)據(jù)源、各級(jí)權(quán)威服務(wù)器和中轉(zhuǎn)點(diǎn),所述中轉(zhuǎn)點(diǎn)是DNS數(shù)據(jù)經(jīng)過(guò)的DNS數(shù)據(jù)源和權(quán)威服務(wù)器之間的軟件或硬件設(shè)備;所述DNS數(shù)據(jù)更新全過(guò)程是指某個(gè)域名的DNS數(shù)據(jù)從DNS數(shù)據(jù)源到中轉(zhuǎn)點(diǎn),再?gòu)闹修D(zhuǎn)點(diǎn)到一級(jí)權(quán)威服務(wù)器,再?gòu)囊患?jí)權(quán)威服務(wù)器到二級(jí)權(quán)威服務(wù)器,依次類(lèi)推,最終DNS數(shù)據(jù)到達(dá)最終的DNS權(quán)威服務(wù)器的整個(gè)生命周期。
[0011]所述監(jiān)測(cè)該域名在多個(gè)級(jí)別的DNS數(shù)據(jù)流經(jīng)點(diǎn)的域名數(shù)據(jù)更新情況包括:記錄域名更新數(shù)據(jù)變化的時(shí)間點(diǎn),計(jì)算出從DNS數(shù)據(jù)源到監(jiān)測(cè)的多個(gè)級(jí)別的DNS數(shù)據(jù)流經(jīng)點(diǎn)的時(shí)間。
[0012]所述閥值為針對(duì)多個(gè)級(jí)別的DNS數(shù)據(jù)流經(jīng)點(diǎn)逐一設(shè)定的超時(shí)時(shí)間,或針對(duì)多個(gè)級(jí)別的DNS數(shù)據(jù)流經(jīng)點(diǎn)設(shè)定的一個(gè)相同的超時(shí)時(shí)間;所述超時(shí)時(shí)間的設(shè)定根據(jù)各個(gè)級(jí)別流經(jīng)點(diǎn)的傳輸情況設(shè)定。
[0013]對(duì)DNS數(shù)據(jù)流進(jìn)行監(jiān)測(cè)的一個(gè)周期包括:某個(gè)域名的DNS數(shù)據(jù)從DNS數(shù)據(jù)源到中轉(zhuǎn)點(diǎn),再?gòu)闹修D(zhuǎn)點(diǎn)到一級(jí)權(quán)威服務(wù)器,再?gòu)囊患?jí)權(quán)威服務(wù)器到二級(jí)權(quán)威服務(wù)器,依次類(lèi)推,最終DNS數(shù)據(jù)到達(dá)最終的DNS權(quán)威服務(wù)器的整個(gè)生命周期。其中,數(shù)據(jù)從中轉(zhuǎn)點(diǎn)到一級(jí)權(quán)威服務(wù)器的過(guò)程是數(shù)據(jù)從DNS系統(tǒng)外進(jìn)入DNS系統(tǒng)內(nèi)的過(guò)程。
[0014]本發(fā)明的另一目的在于提供DNS數(shù)據(jù)更新全過(guò)程的監(jiān)測(cè)系統(tǒng),基于對(duì)多個(gè)級(jí)別的DNS數(shù)據(jù)流經(jīng)點(diǎn)的監(jiān)測(cè),包括:
[0015]一域名更新數(shù)據(jù)獲取模塊,用以獲取所述多個(gè)級(jí)別的DNS數(shù)據(jù)流經(jīng)點(diǎn)的域名更新數(shù)據(jù),并將所述域名更新數(shù)據(jù)發(fā)送至一監(jiān)測(cè)模塊;
[0016]所述監(jiān)測(cè)模塊用以接收域名更新數(shù)據(jù),還用以當(dāng)發(fā)現(xiàn)某個(gè)域名的DNS數(shù)據(jù)發(fā)生變化,為多個(gè)級(jí)別的DNS數(shù)據(jù)流經(jīng)點(diǎn)開(kāi)啟一更新監(jiān)測(cè)例程,以分別監(jiān)測(cè)該域名在多個(gè)級(jí)別的DNS數(shù)據(jù)流經(jīng)點(diǎn)的域名數(shù)據(jù)更新情況;當(dāng)任一更新監(jiān)測(cè)例程發(fā)現(xiàn)域名更新數(shù)據(jù)發(fā)生變化并且是預(yù)期變化時(shí),記錄域名更新數(shù)據(jù)變化的時(shí)間點(diǎn)。
[0017]所述系統(tǒng)還包括:一報(bào)警模塊和/或一查詢(xún)響應(yīng)模塊。
[0018]所述報(bào)警模塊用以接收監(jiān)測(cè)模塊發(fā)送的通知,如其中一 DNS數(shù)據(jù)流經(jīng)點(diǎn)的域名更新數(shù)據(jù)更新時(shí)延超過(guò)了該DNS數(shù)據(jù)流經(jīng)點(diǎn)所在級(jí)別所設(shè)定的一閾值,或者如果域名更新數(shù)據(jù)發(fā)生了變化,但發(fā)生了錯(cuò)誤的變化,則向一或多個(gè)其他系統(tǒng)或人員反饋或報(bào)警。
[0019]所述查詢(xún)響應(yīng)模塊用以接收一外界請(qǐng)求,并向作出一相關(guān)應(yīng)答。
[0020]由于采用了以上的方案,本發(fā)明具備以下優(yōu)點(diǎn):
[0021]I)高擴(kuò)展性,本發(fā)明能夠?qū)θ我鈹?shù)量的DNS服務(wù)器進(jìn)行監(jiān)測(cè),而且監(jiān)測(cè)點(diǎn)可以隨時(shí)隨地加入或離開(kāi)監(jiān)測(cè)點(diǎn)集群。本發(fā)明通過(guò)配置的方式設(shè)置目標(biāo)監(jiān)測(cè)服務(wù)器,如增加了某個(gè)服務(wù)器作為某個(gè)級(jí)別的DNS權(quán)威服務(wù)器,那么監(jiān)測(cè)模塊就會(huì)在作為一個(gè)監(jiān)測(cè)對(duì)象。
[0022]2)高可靠性,相對(duì)通過(guò)對(duì)各級(jí)權(quán)威服務(wù)器上的目標(biāo)監(jiān)測(cè)區(qū)的SOA號(hào)變化或通過(guò)對(duì)其上的區(qū)傳送日志的分析實(shí)現(xiàn)監(jiān)測(cè)區(qū)傳送情況的方法,本發(fā)明獲得的監(jiān)測(cè)信息更全面,能夠更加準(zhǔn)確地監(jiān)測(cè)DNS數(shù)據(jù)的數(shù)據(jù)流。
[0023]3)部署簡(jiǎn)單。監(jiān)測(cè)點(diǎn)可以隨時(shí)隨地加入或離開(kāi)監(jiān)測(cè)點(diǎn)集群,使部署簡(jiǎn)單易用。
[0024]4)全面性。不但對(duì)DNS系統(tǒng)內(nèi)部的區(qū)傳送進(jìn)行了監(jiān)測(cè),而且還對(duì)DNS系統(tǒng)外部的DNS數(shù)據(jù)源到DNS系統(tǒng)間的數(shù)據(jù)更新路徑和更新流進(jìn)行了監(jiān)測(cè)。
【附圖說(shuō)明】
[0025]圖1為本發(fā)明【背景技術(shù)】中DNS的權(quán)威服務(wù)器分層架構(gòu)圖。
[0026]圖2本發(fā)明的監(jiān)測(cè)系統(tǒng)架構(gòu)圖。
[0027]圖3本發(fā)明的監(jiān)測(cè)系統(tǒng)的模塊組成圖。
[0028]圖4本發(fā)明對(duì)DNS數(shù)據(jù)流進(jìn)行監(jiān)測(cè)的一個(gè)周期的工作流程圖。
[0029]圖5本發(fā)明一實(shí)施例中分布式監(jiān)測(cè)系統(tǒng)的架構(gòu)圖。
【具體實(shí)施方式】
[0030]為使本發(fā)明的上述特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉實(shí)施例,并配合所附圖作詳細(xì)說(shuō)明如下。
[0031]如圖3所示,本發(fā)明的監(jiān)測(cè)DNS數(shù)據(jù)更新全過(guò)程的系統(tǒng)包括域名更新數(shù)據(jù)獲取模塊、監(jiān)測(cè)模塊、報(bào)警模塊和查詢(xún)響應(yīng)模塊,它們的具體功能如下所述。
[0032]域名更新數(shù)據(jù)獲取模塊
[0033]負(fù)責(zé)通過(guò)一定的方式獲取多個(gè)級(jí)別的DNS數(shù)據(jù)流經(jīng)點(diǎn)的域名更新數(shù)據(jù),并將獲取的域名更新數(shù)據(jù)發(fā)送給監(jiān)測(cè)模塊。
[0034]多個(gè)級(jí)別的DNS數(shù)據(jù)流經(jīng)點(diǎn)包括:DNS數(shù)據(jù)源、各級(jí)權(quán)威服務(wù)器和中轉(zhuǎn)點(diǎn),獲取域名更新數(shù)據(jù)的方式取決于DNS數(shù)據(jù)源。DNS數(shù)據(jù)源可以是注冊(cè)數(shù)據(jù)庫(kù),也可以是注冊(cè)數(shù)據(jù)庫(kù)的同步數(shù)據(jù)庫(kù),還可以是一些域名更新的日志文件,甚至可以是通過(guò)接口提供或獲取的數(shù)據(jù)源。DNS數(shù)據(jù)源獲取更新域名、操作和域名數(shù)據(jù)等更新信息。例如,DNS數(shù)據(jù)源是mysql,那么就通過(guò)mysql的api連接。如果是hadoop,那么就按照hadoop的接口要求來(lái)連接它,并獲取數(shù)據(jù)。
[0035]該模塊獲取域名(及數(shù)據(jù))的方式有兩種:一種是自動(dòng)獲取域名數(shù)據(jù),從指定數(shù)據(jù)源讓其自動(dòng)獲取域名數(shù)據(jù);被動(dòng)獲取域名數(shù)據(jù),數(shù)據(jù)源通過(guò)一定的方式推送給本模塊。
[0036]監(jiān)測(cè)模塊
[0037]接收到域名更新數(shù)據(jù)獲取模塊發(fā)送的域名更新數(shù)據(jù)之后,監(jiān)測(cè)模塊向所監(jiān)測(cè)的各級(jí)權(quán)威服務(wù)器發(fā)送DNS請(qǐng)求,向DNS數(shù)據(jù)源和中轉(zhuǎn)點(diǎn)接收推送數(shù)據(jù)或發(fā)送數(shù)據(jù)請(qǐng)求,并根據(jù)它們的響應(yīng)數(shù)據(jù)(如果有的話(huà))發(fā)現(xiàn)某個(gè)域名是否更新。如果更新,還進(jìn)一步判斷更新的數(shù)據(jù)是否跟期望的更新一致。
[0038]假設(shè)有η個(gè)域名有數(shù)據(jù)更新,具體實(shí)現(xiàn)是監(jiān)測(cè)線(xiàn)程開(kāi)啟η個(gè)工作線(xiàn)程,每個(gè)工作線(xiàn)程負(fù)責(zé)一個(gè)域名的全過(guò)程監(jiān)測(cè)。假設(shè)線(xiàn)程th被分配對(duì)域名test, cn的更新進(jìn)行監(jiān)測(cè),那么該線(xiàn)程向DNS數(shù)據(jù)源、一級(jí)