两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法和系統(tǒng)的制作方法

文檔序號(hào):7931191閱讀:436來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):一種檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)技術(shù),尤其涉及一種檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法和系統(tǒng)。
背景技術(shù)
隨著互聯(lián)網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)正變得越來(lái)越復(fù)雜,出現(xiàn)網(wǎng)絡(luò)故障的情況也越來(lái)越多,網(wǎng)絡(luò)管理員在面對(duì)層出不窮的故障的時(shí)候,往往缺乏快速定位故障的手段和工具,從而常常陷入“救火”的狀態(tài)。特別是對(duì)于一些“軟故障”——物理鏈路沒(méi)有問(wèn)題,處于聯(lián)通狀態(tài),但某些特定的數(shù)據(jù)包無(wú)法通過(guò)網(wǎng)絡(luò)有效的傳送,管理員排查起來(lái)更是非常棘手。如圖1所示,一次典型由客戶(hù)端發(fā)起到服務(wù)器的用戶(hù)請(qǐng)求,可能經(jīng)由圖中的路由器、AFW(application fire wall,應(yīng)用防火墻)、核心交換機(jī)、匯聚交換機(jī)等網(wǎng)絡(luò)節(jié)點(diǎn)后,再到達(dá)目標(biāo)節(jié)點(diǎn)服務(wù)器。在上述客戶(hù)端到服務(wù)器的訪問(wèn)過(guò)程中,可能出現(xiàn)如下類(lèi)型的故障1、圖中任一網(wǎng)絡(luò)節(jié)點(diǎn)出現(xiàn)“斷網(wǎng)”性質(zhì)的故障,任意的網(wǎng)絡(luò)數(shù)據(jù)包均不能通過(guò)該節(jié)點(diǎn)進(jìn)行傳輸,如AFW節(jié)點(diǎn)掉電不工作的情況。2、任一網(wǎng)絡(luò)節(jié)點(diǎn)出現(xiàn)“隨機(jī)性丟包”,即數(shù)據(jù)包可能被不定時(shí)的隨機(jī)丟棄,如當(dāng)AFW 節(jié)點(diǎn)出現(xiàn)流量過(guò)大而擁塞的時(shí)候,就會(huì)出現(xiàn)該情況。3、任一網(wǎng)絡(luò)節(jié)點(diǎn)出現(xiàn)“選擇性”丟包,即特定的網(wǎng)絡(luò)數(shù)據(jù)包無(wú)法在客戶(hù)端——> 服務(wù)器的方向上通過(guò),或者特定的網(wǎng)絡(luò)數(shù)據(jù)包無(wú)法在服務(wù)器——>客戶(hù)端的方向上通過(guò), 但其他數(shù)據(jù)包可以通過(guò),如“AFW”節(jié)點(diǎn)已經(jīng)發(fā)生擁塞,導(dǎo)致正常的由客戶(hù)端節(jié)點(diǎn)發(fā)起的 TCP SYN包無(wú)法建立新的TCP鏈接,但既有的鏈接可以建立成功,ICMP(Internet Control Message Protocol,互聯(lián)網(wǎng)控制報(bào)文協(xié)議)包可以通過(guò)。4,"AFff設(shè)備(具有內(nèi)容過(guò)濾功能),,配置錯(cuò)誤,導(dǎo)致用戶(hù)正常的訪問(wèn)數(shù)據(jù)被當(dāng)作 “內(nèi)容非法”的數(shù)據(jù)包,而被“AFW設(shè)備”直接丟棄。傳統(tǒng)的故障定位的方法包括如下幾種1、通過(guò)SNMP (Simple Network Management Protocol,簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議)協(xié)議對(duì)各節(jié)點(diǎn)設(shè)備進(jìn)行輪詢(xún),通過(guò)查詢(xún)節(jié)點(diǎn)設(shè)備的返回狀態(tài)來(lái)判斷設(shè)備是否工作正常。這種故障定位方式,只能發(fā)現(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)備出現(xiàn)明顯異常的故障,如設(shè)備掉電、網(wǎng)線掉線等故障,對(duì)網(wǎng)口擁塞,鏈接會(huì)話已滿(mǎn)等故障失效。2、通過(guò)在A對(duì)各網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行ping包探測(cè),以確定網(wǎng)絡(luò)的連通性。這種方法只能觀察到IP層數(shù)據(jù)是否暢通,當(dāng)出現(xiàn)“故障3”中的描述的情況時(shí),此種方法失效;且當(dāng)某個(gè)節(jié)點(diǎn)禁Ping時(shí),此方法也失效。3、在A點(diǎn)通過(guò)tcptraceroute (—種Iinux下常用的工具,用來(lái)探測(cè)網(wǎng)絡(luò)的可達(dá)性)等網(wǎng)絡(luò)工具進(jìn)行探測(cè)。這類(lèi)工具可以模擬傳輸層的通斷情況,但當(dāng)出現(xiàn)“選擇性”丟包——即某些特定的數(shù)據(jù)包無(wú)法通過(guò)時(shí);或者在服務(wù)器——>客戶(hù)端的方向上發(fā)生丟包的情況下,此方法將失效。4、分別在A、B、C、D、E點(diǎn)部署觀察設(shè)備,通過(guò)關(guān)聯(lián)分析通過(guò)各探測(cè)點(diǎn)的數(shù)據(jù),判斷故障發(fā)生在哪個(gè)節(jié)點(diǎn)。此方法可以通過(guò)對(duì)比相鄰兩節(jié)點(diǎn)間的數(shù)據(jù),從而發(fā)現(xiàn)故障出現(xiàn)的節(jié)
5點(diǎn);但部署非常復(fù)雜,且當(dāng)存在NAT映射的時(shí)候,關(guān)聯(lián)分析尤其復(fù)雜。5、在網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn),對(duì)網(wǎng)絡(luò)路徑上的每個(gè)節(jié)點(diǎn)逐一發(fā)送模擬探測(cè)包,如 TCP-SYN包、ICMP包,并通過(guò)檢查每個(gè)節(jié)點(diǎn)的響應(yīng)情況,來(lái)判斷節(jié)點(diǎn)是否出現(xiàn)故障。此方法在一般路由環(huán)境中有效,但在針對(duì)上述“故障3”、“故障4”所描述的情況時(shí)失效。上述故障定位方法,還存在一個(gè)共同的缺點(diǎn)時(shí)效性不高,通常需要出現(xiàn)故障一段時(shí)間,管理員在接到報(bào)障之后才能投入到問(wèn)題的處理中,此時(shí)故障可能已經(jīng)失去了定位故障的最佳時(shí)機(jī)。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題在于,針對(duì)現(xiàn)有技術(shù)中網(wǎng)絡(luò)故障定位方法和系統(tǒng)較為復(fù)雜、時(shí)效性不高或?qū)σ恍┕收鲜У热毕?,提供一種及時(shí)、簡(jiǎn)單并準(zhǔn)確的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法和系統(tǒng)。本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是提供一種檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法,包括A、實(shí)時(shí)監(jiān)測(cè)檢測(cè)節(jié)點(diǎn)與目的節(jié)點(diǎn)之間的網(wǎng)絡(luò)流量,當(dāng)確定所述檢測(cè)節(jié)點(diǎn)與所述目的節(jié)點(diǎn)之間的路由上出現(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn)故障時(shí),執(zhí)行步驟B ;B、修改從所述檢測(cè)節(jié)點(diǎn)向所述目的節(jié)點(diǎn)發(fā)送失敗的數(shù)據(jù)包的生存跳數(shù)值,并向網(wǎng)絡(luò)中回放修改后的數(shù)據(jù)包,修改的每個(gè)生存跳數(shù)值對(duì)應(yīng)于檢測(cè)節(jié)點(diǎn)到目的節(jié)點(diǎn)間的路由上的一個(gè)節(jié)點(diǎn);C、監(jiān)聽(tīng)從所述生存跳數(shù)值所對(duì)應(yīng)的節(jié)點(diǎn)返回的數(shù)據(jù)超時(shí)通知,并判斷接收到的數(shù)據(jù)超時(shí)通知與所回放的數(shù)據(jù)包的數(shù)量是否相等,若否,則確定所回放的數(shù)據(jù)包的當(dāng)前生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)與檢測(cè)節(jié)點(diǎn)之間的路由上存在故障節(jié)點(diǎn);若是,則確定所回放的數(shù)據(jù)包的當(dāng)前生存跳數(shù)對(duì)應(yīng)的節(jié)點(diǎn)與檢測(cè)節(jié)點(diǎn)之間的路由完全正常;并判斷是否有存在故障節(jié)點(diǎn)的路由比不存在故障節(jié)點(diǎn)的路由多一個(gè)節(jié)點(diǎn),若是,則確定多出的節(jié)點(diǎn)為故障節(jié)點(diǎn);若否, 繼續(xù)執(zhí)行步驟B。在本發(fā)明所述的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法中,所述步驟A具體包括Al、確定所述檢測(cè)節(jié)點(diǎn)與所述目的節(jié)點(diǎn)之間的路由的跳數(shù),向所述目的節(jié)點(diǎn)發(fā)送數(shù)據(jù)包,并緩存所述數(shù)據(jù)包;A2、監(jiān)測(cè)所述目的節(jié)點(diǎn)返回的應(yīng)答,當(dāng)確認(rèn)未收到所述應(yīng)答時(shí),確定所述檢測(cè)節(jié)點(diǎn)與所述目的節(jié)點(diǎn)之間的路由上出現(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn)故障,執(zhí)行步驟B。在本發(fā)明所述的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法中,所述步驟B具體包括Bi、修改從所述檢測(cè)節(jié)點(diǎn)向所述目的節(jié)點(diǎn)發(fā)送失敗的數(shù)據(jù)包的生存跳數(shù)值,其中修改的每個(gè)生存跳數(shù)值對(duì)應(yīng)于檢測(cè)節(jié)點(diǎn)到目的節(jié)點(diǎn)間的路由上的一個(gè)節(jié)點(diǎn);B2、向網(wǎng)絡(luò)中回放修改后的數(shù)據(jù)包;所述步驟C具體包括Cl、監(jiān)聽(tīng)從所述生存跳數(shù)值所對(duì)應(yīng)的節(jié)點(diǎn)返回的數(shù)據(jù)超時(shí)通知,并判斷接收到的數(shù)據(jù)超時(shí)通知與所回放的數(shù)據(jù)包的數(shù)量是否相等,若是,則執(zhí)行步驟C2 ;若否,則執(zhí)行步驟 C4 ;
C2、判斷所述生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)是否為目的節(jié)點(diǎn),若是,則返回步驟A ;若否, 則執(zhí)行步驟C3 ;C3、將所述生存跳數(shù)值遞增一,接下來(lái)執(zhí)行步驟C5 ;C4、將所述生存跳數(shù)值遞減一,接下來(lái)執(zhí)行步驟C5 ;C5、判斷是否有存在故障節(jié)點(diǎn)的路由比不存在故障節(jié)點(diǎn)的路由多一個(gè)節(jié)點(diǎn),若是, 則確定多出的節(jié)點(diǎn)為故障節(jié)點(diǎn);若否,繼續(xù)執(zhí)行步驟B2。在本發(fā)明所述的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法中,所述步驟B具體包括Bi、將從所述檢測(cè)節(jié)點(diǎn)向所述目的節(jié)點(diǎn)發(fā)送失敗的數(shù)據(jù)包的生存跳數(shù)值修改為 1 ;B2、向網(wǎng)絡(luò)中回放修改后的數(shù)據(jù)包;所述步驟C具體包括Cl、監(jiān)聽(tīng)從所述生存跳數(shù)值所對(duì)應(yīng)的節(jié)點(diǎn)返回的數(shù)據(jù)超時(shí)通知,并判斷接收到的數(shù)據(jù)超時(shí)通知與所回放的數(shù)據(jù)包的數(shù)量是否相等,若是,則執(zhí)行步驟C2 ;若否,則執(zhí)行步驟 C4;C2、判斷所述生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)是否為目的節(jié)點(diǎn),若是,則返回步驟A ;若否, 則執(zhí)行步驟C3 ;C3、將所述生存跳數(shù)值遞增一,接下來(lái)執(zhí)行步驟B2 ;C4、確定所述生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)為故障節(jié)點(diǎn)。在本發(fā)明所述的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法中,所述步驟A2具體包括A21、監(jiān)測(cè)所述目的節(jié)點(diǎn)返回的應(yīng)答;A22、判斷未收到所述應(yīng)答的時(shí)間是否達(dá)到設(shè)置的閾值,若是,執(zhí)行步驟B;若否, 則繼續(xù)執(zhí)行步驟Al。本發(fā)明還提供了一種檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的系統(tǒng),包括檢測(cè)節(jié)點(diǎn)、目的節(jié)點(diǎn)、探測(cè)儀以及位于所述檢測(cè)節(jié)點(diǎn)與所述目的節(jié)點(diǎn)之間的路由上的至少一個(gè)節(jié)點(diǎn),所述位于所述檢測(cè)節(jié)點(diǎn)與所述目的節(jié)點(diǎn)之間的路由上的至少一個(gè)節(jié)點(diǎn)用于在收到生存跳數(shù)值與其對(duì)應(yīng)的數(shù)據(jù)包時(shí)返回?cái)?shù)據(jù)超時(shí)通知;所述探測(cè)儀用于實(shí)時(shí)監(jiān)測(cè)檢測(cè)節(jié)點(diǎn)與目的節(jié)點(diǎn)之間的網(wǎng)絡(luò)流量,并在確定所述檢測(cè)節(jié)點(diǎn)與所述目的節(jié)點(diǎn)之間的路由上出現(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn)故障時(shí),通知所述檢測(cè)節(jié)點(diǎn);所述檢測(cè)節(jié)點(diǎn)用于向所述目的節(jié)點(diǎn)發(fā)送數(shù)據(jù)包,并在收到所述探測(cè)儀的通知后, 修改從所述檢測(cè)節(jié)點(diǎn)向所述目的節(jié)點(diǎn)發(fā)送失敗的數(shù)據(jù)包的生存跳數(shù)值,并向網(wǎng)絡(luò)中回放修改后的數(shù)據(jù)包,修改的每個(gè)生存跳數(shù)值對(duì)應(yīng)于檢測(cè)節(jié)點(diǎn)到目的節(jié)點(diǎn)間的路由上的一個(gè)節(jié)占.
^ \\\ 所述檢測(cè)節(jié)點(diǎn)還用于監(jiān)聽(tīng)從所述生存跳數(shù)值所對(duì)應(yīng)的節(jié)點(diǎn)返回的數(shù)據(jù)超時(shí)通知, 并判斷接收到的數(shù)據(jù)超時(shí)通知與所回放的數(shù)據(jù)包的數(shù)量是否相等,若否,則確定所回放的數(shù)據(jù)包的當(dāng)前生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)與檢測(cè)節(jié)點(diǎn)之間的路由上存在故障節(jié)點(diǎn);若是,則確定所回放的數(shù)據(jù)包的當(dāng)前生存跳數(shù)對(duì)應(yīng)的節(jié)點(diǎn)與檢測(cè)節(jié)點(diǎn)之間的路由完全正常;并判斷是否有存在故障節(jié)點(diǎn)的路由比不存在故障節(jié)點(diǎn)的路由多一個(gè)節(jié)點(diǎn),若是,則確定多出的節(jié)點(diǎn)為故障節(jié)點(diǎn)。
7
在本發(fā)明所述的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的系統(tǒng)中,所述檢測(cè)節(jié)點(diǎn)向所述目的節(jié)點(diǎn)發(fā)送數(shù)據(jù)包具體包括確定所述檢測(cè)節(jié)點(diǎn)與所述目的節(jié)點(diǎn)之間的路由的跳數(shù),向所述目的節(jié)點(diǎn)發(fā)送數(shù)據(jù)包,并緩存所述數(shù)據(jù)包;所述探測(cè)儀具體用于監(jiān)測(cè)所述目的節(jié)點(diǎn)返回的應(yīng)答,當(dāng)確認(rèn)未收到所述應(yīng)答時(shí), 確定所述檢測(cè)節(jié)點(diǎn)與所述目的節(jié)點(diǎn)之間的路由上出現(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn)故障,并通知檢測(cè)節(jié)點(diǎn)。在本發(fā)明所述的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的系統(tǒng)中,所述檢測(cè)節(jié)點(diǎn)具體用于修改從所述檢測(cè)節(jié)點(diǎn)向所述目的節(jié)點(diǎn)發(fā)送失敗的數(shù)據(jù)包的生存跳數(shù)值,其中修改的每個(gè)生存跳數(shù)值對(duì)應(yīng)于檢測(cè)節(jié)點(diǎn)到目的節(jié)點(diǎn)間的路由上的一個(gè)節(jié)點(diǎn);向網(wǎng)絡(luò)中回放修改后的數(shù)據(jù)包;監(jiān)聽(tīng)從所述生存跳數(shù)值所對(duì)應(yīng)的節(jié)點(diǎn)返回的數(shù)據(jù)超時(shí)通知,并判斷接收到的數(shù)據(jù)超時(shí)通知與所回放的數(shù)據(jù)包的數(shù)量是否相等,若相等,則判斷所述生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)是否為目的節(jié)點(diǎn),若是則確定網(wǎng)絡(luò)完全正常,若否,則將所述生存跳數(shù)值遞增一;若不相等, 則將所述生存跳數(shù)值遞減一;判斷是否有存在故障節(jié)點(diǎn)的路由比不存在故障節(jié)點(diǎn)的路由多一個(gè)節(jié)點(diǎn),若是,則確定多出的節(jié)點(diǎn)為故障節(jié)點(diǎn);若否,繼續(xù)向網(wǎng)絡(luò)中回放修改后的數(shù)據(jù)包。在本發(fā)明所述的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的系統(tǒng)中,所述檢測(cè)節(jié)點(diǎn)具體用于將從所述檢測(cè)節(jié)點(diǎn)向所述目的節(jié)點(diǎn)發(fā)送失敗的數(shù)據(jù)包的生存跳數(shù)值修改為1 ;向網(wǎng)絡(luò)中回放修改后的數(shù)據(jù)包;監(jiān)聽(tīng)從所述生存跳數(shù)值所對(duì)應(yīng)的節(jié)點(diǎn)返回的數(shù)據(jù)超時(shí)通知,并判斷接收到的數(shù)據(jù)超時(shí)通知與所回放的數(shù)據(jù)包的數(shù)量是否相等,若相等,判斷所述生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)是否為目的節(jié)點(diǎn),若是則確定網(wǎng)絡(luò)完全正常,若否,則將所述生存跳數(shù)值遞增一,并繼續(xù)向網(wǎng)絡(luò)中回放修改后的數(shù)據(jù)包;若不相等,則確定所述生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)為故障節(jié)點(diǎn)。在本發(fā)明所述的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的系統(tǒng)中,所述探測(cè)儀具體用于監(jiān)測(cè)所述目的節(jié)點(diǎn)返回的應(yīng)答;判斷為收到所述應(yīng)答的時(shí)間是否達(dá)到設(shè)置的閾值,若是,則通知所述檢測(cè)節(jié)點(diǎn);若否,則繼續(xù)監(jiān)測(cè)所述目的節(jié)點(diǎn)的應(yīng)答。本發(fā)明一種檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法和系統(tǒng)的有益效果為通過(guò)在網(wǎng)絡(luò)中實(shí)時(shí)抓包分析網(wǎng)絡(luò)的聯(lián)通情況,當(dāng)發(fā)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)得不到及時(shí)、準(zhǔn)確的應(yīng)答時(shí),即啟動(dòng)故障探測(cè)機(jī)制來(lái)定位故障節(jié)點(diǎn);另外,通過(guò)修改發(fā)送失敗的數(shù)據(jù)包的生存跳數(shù)值并監(jiān)聽(tīng)數(shù)據(jù)超時(shí)通知,來(lái)一一排查故障節(jié)點(diǎn),而不需構(gòu)造專(zhuān)門(mén)的檢測(cè)數(shù)據(jù)包,從而能夠有效地檢測(cè)出背景技術(shù)部分列出的所有故障,更準(zhǔn)確地定位出現(xiàn)故障的網(wǎng)絡(luò)節(jié)點(diǎn)。


下面將結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明,附圖中圖1是現(xiàn)有技術(shù)中從客戶(hù)端到服務(wù)器的路由的示意圖;圖2是根據(jù)本發(fā)明第一實(shí)施例的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法的流程圖;圖3是根據(jù)本發(fā)明第二實(shí)施例的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法的流程圖;圖4是根據(jù)本發(fā)明第三實(shí)施例的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法的流程圖;圖5是根據(jù)本發(fā)明一個(gè)實(shí)施例的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的系統(tǒng)的結(jié)構(gòu)示意圖6是根據(jù)本發(fā)明一個(gè)實(shí)施例的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的系統(tǒng)的構(gòu)架圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明提供了一種檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法,其核心是實(shí)時(shí)監(jiān)測(cè)檢測(cè)節(jié)點(diǎn)與目的節(jié)點(diǎn)之間的網(wǎng)絡(luò)流量;當(dāng)確定檢測(cè)節(jié)點(diǎn)與目的節(jié)點(diǎn)之間的路由上出現(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn)故障時(shí), 修改從檢測(cè)節(jié)點(diǎn)向目的節(jié)點(diǎn)發(fā)送失敗的數(shù)據(jù)包的生存跳數(shù)值,并向網(wǎng)絡(luò)中回放修改后的數(shù)據(jù)包,其中修改的每個(gè)生存跳數(shù)值對(duì)應(yīng)于檢測(cè)節(jié)點(diǎn)到目的節(jié)點(diǎn)間的路由上的一個(gè)節(jié)點(diǎn);監(jiān)聽(tīng)從當(dāng)前生存跳數(shù)值所對(duì)應(yīng)的節(jié)點(diǎn)返回的數(shù)據(jù)超時(shí)通知,并判斷接收到的數(shù)據(jù)超時(shí)通知與所回放的數(shù)據(jù)包的數(shù)量是否相等,若否,則確定所回放的數(shù)據(jù)包的當(dāng)前生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)與檢測(cè)節(jié)點(diǎn)之間的路由上存在故障節(jié)點(diǎn);若是,則確定所回放的數(shù)據(jù)包的當(dāng)前生存跳數(shù)對(duì)應(yīng)的節(jié)點(diǎn)與檢測(cè)節(jié)點(diǎn)之間的路由完全正常;并判斷是否有存在故障節(jié)點(diǎn)的路由比不存在故障節(jié)點(diǎn)的路由多一個(gè)節(jié)點(diǎn),若是,則確定多出的節(jié)點(diǎn)為故障節(jié)點(diǎn);若否,繼續(xù)執(zhí)行步驟 B0圖2是根據(jù)本發(fā)明第一實(shí)施例的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法的流程圖。在本實(shí)施例中,檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法從步驟201開(kāi)始。在步驟201中,實(shí)時(shí)監(jiān)測(cè)檢測(cè)節(jié)點(diǎn)與目的節(jié)點(diǎn)之間的網(wǎng)絡(luò)流量,其中檢測(cè)節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的路由跳數(shù)為N,N為常數(shù)(例如6、10等)。當(dāng)確定檢測(cè)節(jié)點(diǎn)與目的節(jié)點(diǎn)之間的路由上出現(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn)故障時(shí),執(zhí)行步驟202。在步驟202中,將從檢測(cè)節(jié)點(diǎn)向目的節(jié)點(diǎn)發(fā)送失敗的數(shù)據(jù)包的生存跳數(shù)值修改為 n,其中1 <= η <= N且η為正整數(shù),并設(shè)置集合A和集合B,將集合A和集合B清零。數(shù)據(jù)包的生存跳數(shù)值對(duì)應(yīng)于路由上的一個(gè)節(jié)點(diǎn),例如,當(dāng)數(shù)據(jù)包的生存跳數(shù)值為3時(shí),表示該數(shù)據(jù)包只能從發(fā)送節(jié)點(diǎn)傳遞到第三個(gè)節(jié)點(diǎn),即如圖1所示,該數(shù)據(jù)包只能從客戶(hù)端傳送到核心交換機(jī),而不能再繼續(xù)向服務(wù)器的方向傳送。在步驟203中,向網(wǎng)絡(luò)中回放χ個(gè)修改后的數(shù)據(jù)包,χ為任意正整數(shù)。其中,除了生存跳數(shù)值不同外,這些修改后的數(shù)據(jù)包與檢測(cè)節(jié)點(diǎn)向目的節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包相同,使得這些修改后的數(shù)據(jù)包不會(huì)被防火墻所攔截。在步驟204中,監(jiān)聽(tīng)從當(dāng)前生存跳數(shù)值所對(duì)應(yīng)的節(jié)點(diǎn)返回的數(shù)據(jù)超時(shí)通知,且所接收的數(shù)據(jù)超時(shí)通知的數(shù)量為y,y為任意正整數(shù)。根據(jù)ICMP協(xié)議的規(guī)定,當(dāng)數(shù)據(jù)包的生存跳數(shù)值所對(duì)應(yīng)的節(jié)點(diǎn)接收到該數(shù)據(jù)包時(shí),將會(huì)丟棄該數(shù)據(jù)包,并向發(fā)送該數(shù)據(jù)包的節(jié)點(diǎn)返回?cái)?shù)據(jù)超時(shí)通知。在步驟205中,判斷χ是否等于y。χ可以為1,即步驟203中僅僅回放一個(gè)數(shù)據(jù)包, 這樣雖然比較簡(jiǎn)單,但是可靠性卻不高,因?yàn)楫?dāng)網(wǎng)絡(luò)中出現(xiàn)故障時(shí),這個(gè)數(shù)據(jù)包也可能因?yàn)榕既欢竭_(dá)生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)。優(yōu)選地,χ可以為大于1的正整數(shù),例如10、25等,只有對(duì)于每個(gè)回放的數(shù)據(jù)包,到收到相應(yīng)的數(shù)據(jù)超時(shí)通知,才確定從檢測(cè)節(jié)點(diǎn)到該對(duì)應(yīng)節(jié)點(diǎn)之間的路由無(wú)故障,這樣可以提高檢測(cè)節(jié)點(diǎn)故障的準(zhǔn)確率。若χ等于y,則執(zhí)行步驟206。在步驟206中,判斷當(dāng)前生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)是否為目的節(jié)點(diǎn)。若是,則返回步驟201。若當(dāng)前生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)不是目的節(jié)點(diǎn),則執(zhí)行步驟207。在步驟207中,將生存跳數(shù)值存入集合A,繼續(xù)執(zhí)行步驟209。若χ不等于y,則執(zhí)行步驟208。在步驟208中,將生存跳數(shù)值存入集合B。在步驟209中,判斷集合B中是否存在一生存跳數(shù)值Bn,該值比集合A中的某個(gè)生存跳數(shù)值A(chǔ)n大一。若是,則執(zhí)行步驟210。在步驟210中,確定集合B中的生存跳數(shù)值&ι對(duì)應(yīng)的節(jié)點(diǎn)為故障節(jié)點(diǎn)。若否,則執(zhí)行步驟211。在步驟211中,將從檢測(cè)節(jié)點(diǎn)向目的節(jié)點(diǎn)發(fā)送失敗的數(shù)據(jù)包的生存跳數(shù)值修改為m,其中1 < = m < = N,m為正整數(shù),且優(yōu)選地m與η不相等。接下來(lái)繼續(xù)執(zhí)行步驟203。本發(fā)明提供的一種檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法通過(guò)在網(wǎng)絡(luò)中實(shí)時(shí)抓包分析網(wǎng)絡(luò)的聯(lián)通情況,當(dāng)發(fā)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)得不到及時(shí)、準(zhǔn)確的應(yīng)答時(shí),即啟動(dòng)故障探測(cè)機(jī)制來(lái)定位故障節(jié)點(diǎn);另外,通過(guò)修改發(fā)送失敗的數(shù)據(jù)包的生存跳數(shù)值并監(jiān)聽(tīng)數(shù)據(jù)超時(shí)通知,來(lái)一一排查故障節(jié)點(diǎn),而不需構(gòu)造專(zhuān)門(mén)的檢測(cè)數(shù)據(jù)包,從而能夠有效地檢測(cè)出背景技術(shù)部分列出的所有故障,更準(zhǔn)確地定位出現(xiàn)故障的網(wǎng)絡(luò)節(jié)點(diǎn)。圖3是根據(jù)本發(fā)明第二實(shí)施例的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法的流程圖。在本實(shí)施例中,檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法從步驟301開(kāi)始。在步驟301中,實(shí)時(shí)監(jiān)測(cè)檢測(cè)節(jié)點(diǎn)與目的節(jié)點(diǎn)之間的網(wǎng)絡(luò)流量,其中檢測(cè)節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的路由跳數(shù)為N,N為常數(shù)(例如6、10等)。當(dāng)確定檢測(cè)節(jié)點(diǎn)與目的節(jié)點(diǎn)之間的路由上出現(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn)故障時(shí),執(zhí)行步驟302。在步驟302中,將從檢測(cè)節(jié)點(diǎn)向目的節(jié)點(diǎn)發(fā)送失敗的數(shù)據(jù)包的生存跳數(shù)值修改為 η,其中1<=η<=Ν且η為正整數(shù),并設(shè)置集合A和集合B,將集合A和集合B清零。在步驟303中,向網(wǎng)絡(luò)中回放χ個(gè)修改后的數(shù)據(jù)包,χ為任意正整數(shù)。其中,除了生存跳數(shù)值不同外,這些修改后的數(shù)據(jù)包與檢測(cè)節(jié)點(diǎn)向目的節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包相同。在步驟304中,監(jiān)聽(tīng)從當(dāng)前生存跳數(shù)值所對(duì)應(yīng)的節(jié)點(diǎn)返回的數(shù)據(jù)超時(shí)通知,且所接收的數(shù)據(jù)超時(shí)通知的數(shù)量為y,y為任意正整數(shù)。在步驟305中,判斷χ是否等于y。χ可以為1,即步驟303中僅僅回放一個(gè)數(shù)據(jù)包, 這樣雖然比較簡(jiǎn)單,但是可靠性卻不高,因?yàn)楫?dāng)網(wǎng)絡(luò)中出現(xiàn)故障時(shí),這個(gè)數(shù)據(jù)包也可能因?yàn)榕既欢竭_(dá)生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)。優(yōu)選地,X可以為大于1的正整數(shù),例如10、25等,只有對(duì)于每個(gè)回放的數(shù)據(jù)包,到收到相應(yīng)的數(shù)據(jù)超時(shí)通知,才確定從檢測(cè)節(jié)點(diǎn)到該對(duì)應(yīng)節(jié)點(diǎn)之間的路由無(wú)故障,這樣可以提高檢測(cè)節(jié)點(diǎn)故障的準(zhǔn)確率。若χ等于y,則執(zhí)行步驟306。在步驟306中,判斷當(dāng)前生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)是否為目的節(jié)點(diǎn)。若是,則返回步驟301。若當(dāng)前生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)不是目的節(jié)點(diǎn),則執(zhí)行步驟307。在步驟307中,將生存跳數(shù)值存入集合A,并將生存跳數(shù)值遞增一。接下來(lái)繼續(xù)執(zhí)行步驟309。若χ不等于y,則執(zhí)行步驟308。在步驟308中,將生存跳數(shù)值存入集合B,并將生存跳數(shù)值遞減一。接下來(lái)繼續(xù)執(zhí)行步驟309。在步驟309中,判斷集合B中是否存在一生存跳數(shù)值Bn,該值比集合A中的某個(gè)生存跳數(shù)值A(chǔ)n大一。若是,則執(zhí)行步驟310。在步驟310中,確定集合B中的該生存跳數(shù)值&ι對(duì)應(yīng)的節(jié)點(diǎn)為故障節(jié)點(diǎn)。若否,則繼續(xù)執(zhí)行步驟303。第二實(shí)施例中,當(dāng)確定從檢測(cè)節(jié)點(diǎn)到當(dāng)前生存跳數(shù)值所對(duì)應(yīng)的節(jié)點(diǎn)之間沒(méi)有故障時(shí),將當(dāng)前生存跳數(shù)值遞增一;當(dāng)確定從檢測(cè)節(jié)點(diǎn)到當(dāng)前生存跳數(shù)值所對(duì)應(yīng)的節(jié)點(diǎn)之間存在故障時(shí),將當(dāng)前生存跳數(shù)值遞減一。通過(guò)這種方式,可以減少不必要的排查,減輕工作負(fù)擔(dān),且能夠更快地定位故障節(jié)點(diǎn)。圖4是根據(jù)本發(fā)明第三實(shí)施例的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法的流程圖。在本實(shí)施例中,檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法從步驟401開(kāi)始。在步驟401中,確定檢測(cè)節(jié)點(diǎn)與目的節(jié)點(diǎn)之間的路由的跳數(shù)N,向目的節(jié)點(diǎn)發(fā)送數(shù)據(jù)包,并緩存所發(fā)送的數(shù)據(jù)包,其中N為常數(shù)(例如6、10等)。在步驟402中,判斷是否收到目的節(jié)點(diǎn)的應(yīng)答,若是,則返回步驟401,繼續(xù)向目的節(jié)點(diǎn)發(fā)送數(shù)據(jù)包;若否,則執(zhí)行步驟403。本實(shí)施例中,目的節(jié)點(diǎn)每收到一個(gè)數(shù)據(jù)包,都會(huì)向發(fā)送該數(shù)據(jù)包的節(jié)點(diǎn)返回應(yīng)答。在步驟403中,判斷未收到應(yīng)答的時(shí)間是否達(dá)到設(shè)置的閾值,例如1秒、5秒等。若否,則返回步驟402 ;若是,則執(zhí)行步驟404。在步驟404中,將從檢測(cè)節(jié)點(diǎn)向目的節(jié)點(diǎn)發(fā)送失敗的數(shù)據(jù)包的生存跳數(shù)值修改為 1。在步驟405中,向網(wǎng)絡(luò)中回放χ個(gè)修改后的數(shù)據(jù)包,χ為任意正整數(shù)。其中,除了生存跳數(shù)值不同外,這些修改后的數(shù)據(jù)包與檢測(cè)節(jié)點(diǎn)向目的節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包相同。在步驟406中,監(jiān)聽(tīng)從當(dāng)前生存跳數(shù)值所對(duì)應(yīng)的節(jié)點(diǎn)返回的數(shù)據(jù)超時(shí)通知,且所接收的數(shù)據(jù)超時(shí)通知的數(shù)量為y,y為任意正整數(shù)。在步驟407中,判斷χ是否等于y。χ可以為1,即步驟303中僅僅回放一個(gè)數(shù)據(jù)包, 這樣雖然比較簡(jiǎn)單,但是可靠性卻不高,因?yàn)楫?dāng)網(wǎng)絡(luò)中出現(xiàn)故障時(shí),這個(gè)數(shù)據(jù)包也可能因?yàn)榕既欢竭_(dá)生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)。優(yōu)選地,χ可以為大于1的正整數(shù),例如10、25等,只有對(duì)于每個(gè)回放的數(shù)據(jù)包,到收到相應(yīng)的數(shù)據(jù)超時(shí)通知,才確定從檢測(cè)節(jié)點(diǎn)到該對(duì)應(yīng)節(jié)點(diǎn)之間的路由無(wú)故障,這樣可以提高檢測(cè)節(jié)點(diǎn)故障的準(zhǔn)確率。若χ等于y,則執(zhí)行步驟408。在步驟408中,判斷當(dāng)前生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)是否為目的節(jié)點(diǎn)。若是,則返回步驟401。若當(dāng)前生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)不是目的節(jié)點(diǎn),則執(zhí)行步驟409。在步驟409中,將當(dāng)前生存跳數(shù)值遞增一。接下來(lái)繼續(xù)執(zhí)行步驟203。若X不等于y,則執(zhí)行步驟410。在步驟410中,確定該生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)為故障節(jié)點(diǎn)。在步驟411中,發(fā)出告警。發(fā)出告警的方式包括本領(lǐng)域技術(shù)人員所熟知的任意合適的方式。例如,可以通知管理員出現(xiàn)故障的節(jié)點(diǎn)。又例如,可以九路故障節(jié)點(diǎn)的日志,根據(jù)所記錄的日志產(chǎn)生告警記錄,并將故障日志和/或告警記錄上傳給系統(tǒng)控制中心,以便修復(fù)故障。第三實(shí)施例中,在定位故障節(jié)點(diǎn)時(shí),將發(fā)送失敗的數(shù)據(jù)包的生存跳數(shù)值的初始值設(shè)置為1,可以按順序依次排查故障,尤其當(dāng)故障節(jié)點(diǎn)比較靠近檢測(cè)節(jié)點(diǎn)時(shí),可以簡(jiǎn)化檢測(cè)
11步驟,提高檢測(cè)效率。除了第三實(shí)施例中提供的定位故障節(jié)點(diǎn)方法外,還可以將發(fā)送失敗的數(shù)據(jù)包的生存跳數(shù)值的初始值設(shè)置為N,并在從檢測(cè)節(jié)點(diǎn)到該生存跳數(shù)值所對(duì)應(yīng)的節(jié)點(diǎn)之間存在故障節(jié)點(diǎn)時(shí),將N依次遞減,直到從檢測(cè)節(jié)點(diǎn)到當(dāng)前生存跳數(shù)值所對(duì)應(yīng)的節(jié)點(diǎn)之間不存在故障節(jié)點(diǎn),此時(shí),當(dāng)前生存跳數(shù)值加一后所對(duì)應(yīng)的節(jié)點(diǎn)為故障節(jié)點(diǎn)。另外,雖然第三實(shí)施例中提供了一種確定檢測(cè)節(jié)點(diǎn)與目的節(jié)點(diǎn)之間的路由上出現(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法,但是本發(fā)明并不受限于此。除了在數(shù)據(jù)包發(fā)送失敗(即設(shè)置的時(shí)間閾值內(nèi)沒(méi)有收到應(yīng)答)時(shí)立即做出該確定外,還可以設(shè)置一次數(shù)閾值,只有當(dāng)檢測(cè)到數(shù)據(jù)包發(fā)送失敗的次數(shù)超過(guò)該次數(shù)閾值時(shí),才做出該確定。由于網(wǎng)絡(luò)中可能存在一些不穩(wěn)定因素,導(dǎo)致網(wǎng)絡(luò)節(jié)點(diǎn)沒(méi)有出現(xiàn)故障時(shí)仍可能出現(xiàn)數(shù)據(jù)包發(fā)送失敗,因此通過(guò)這種方式,可以減輕進(jìn)行故障定位的工作負(fù)擔(dān)。圖5是根據(jù)本發(fā)明一個(gè)實(shí)施例的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的系統(tǒng)的結(jié)構(gòu)示意圖。在本實(shí)施例中,檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的系統(tǒng)包括檢測(cè)節(jié)點(diǎn)100、目的節(jié)點(diǎn)200、探測(cè)儀300以及位于檢測(cè)節(jié)點(diǎn)與目的節(jié)點(diǎn)之間的路由上的至少一個(gè)節(jié)點(diǎn)400。位于檢測(cè)節(jié)點(diǎn)與目的節(jié)點(diǎn)之間的路由上的至少一個(gè)節(jié)點(diǎn)400可以用于在收到生存跳數(shù)值與其對(duì)應(yīng)的數(shù)據(jù)包時(shí)返回?cái)?shù)據(jù)超時(shí)通知。探測(cè)儀300可以用于實(shí)時(shí)監(jiān)測(cè)檢測(cè)節(jié)點(diǎn)100與目的節(jié)點(diǎn)200之間的網(wǎng)絡(luò)流量,并在確定檢測(cè)節(jié)點(diǎn)100與目的節(jié)點(diǎn)200之間的路由上出現(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn)故障時(shí),通知檢測(cè)節(jié)點(diǎn) 100。檢測(cè)節(jié)點(diǎn)100可以用于向目的節(jié)點(diǎn)200發(fā)送數(shù)據(jù)包,并在收到探測(cè)儀300的通知后,修改從檢測(cè)節(jié)點(diǎn)100向目的節(jié)點(diǎn)200發(fā)送失敗的數(shù)據(jù)包的生存跳數(shù)值,并向網(wǎng)絡(luò)中回放修改后的數(shù)據(jù)包,修改的每個(gè)生存跳數(shù)值對(duì)應(yīng)于檢測(cè)節(jié)點(diǎn)100到目的節(jié)點(diǎn)200間的路由上的一個(gè)節(jié)點(diǎn)(包括目的節(jié)點(diǎn)和至少一個(gè)節(jié)點(diǎn)400)。檢測(cè)節(jié)點(diǎn)100還用于監(jiān)聽(tīng)從生存跳數(shù)值所對(duì)應(yīng)的節(jié)點(diǎn)返回的數(shù)據(jù)超時(shí)通知,并判斷接收到的數(shù)據(jù)超時(shí)通知與所回放的數(shù)據(jù)包的數(shù)量是否相等,若否,則確定所回放的數(shù)據(jù)包的當(dāng)前生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)與檢測(cè)節(jié)點(diǎn)之間的路由上存在故障節(jié)點(diǎn);若是,則確定所回放的數(shù)據(jù)包的當(dāng)前生存跳數(shù)對(duì)應(yīng)的節(jié)點(diǎn)與檢測(cè)節(jié)點(diǎn)之間的路由完全正常;并判斷是否有存在故障節(jié)點(diǎn)的路由比不存在故障節(jié)點(diǎn)的路由多一個(gè)節(jié)點(diǎn),若是,則確定多出的節(jié)點(diǎn)為故障節(jié)點(diǎn)。以上僅僅是本發(fā)明的一個(gè)實(shí)施例,在本發(fā)明的其他實(shí)施例中,如圖5所示的系統(tǒng)可以采用參考圖2-4所述的任意方法。而且,圖5僅僅示出了一種簡(jiǎn)單的網(wǎng)絡(luò)拓?fù)洌诒景l(fā)明的其他實(shí)施例中,檢測(cè)節(jié)點(diǎn)100和目的節(jié)點(diǎn)200之間可能存在NAT映射。圖6是根據(jù)本發(fā)明一個(gè)實(shí)施例的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的系統(tǒng)的構(gòu)架圖。下面參考圖6對(duì)檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法的具體實(shí)現(xiàn)方式進(jìn)行詳細(xì)描述。如圖6所示,在圖1所示的傳統(tǒng)網(wǎng)絡(luò)中增加一個(gè)探測(cè)儀,其中探測(cè)儀分別在A、E兩點(diǎn)部署探針,用于獲取網(wǎng)絡(luò)中的流量,并可以向網(wǎng)絡(luò)中發(fā)送流量。設(shè)置好客戶(hù)端到服務(wù)器的路由跳數(shù)N ;若在A點(diǎn)和E點(diǎn)之間存在NAT環(huán)境,則配置好 A點(diǎn)和E點(diǎn)之間的NAT映射關(guān)系。在該實(shí)施例中,客戶(hù)端為檢測(cè)節(jié)點(diǎn),服務(wù)器為目的節(jié)點(diǎn)。 當(dāng)客戶(hù)端向服務(wù)器發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包PacketO時(shí),在A點(diǎn)即開(kāi)始啟動(dòng)一個(gè)定時(shí)器時(shí)長(zhǎng)為t的 timeO,用于監(jiān)控從服務(wù)器返回應(yīng)答數(shù)據(jù)包ackO的時(shí)間,且拷貝并保留一個(gè)packetO的數(shù)據(jù)包packetl。如ackO在定時(shí)器timeO超時(shí)之前到達(dá)A點(diǎn),則清除定時(shí)器timeO,繼續(xù)監(jiān)聽(tīng)客戶(hù)端與服務(wù)器之間的下一輪數(shù)據(jù)交互。如ackO在定時(shí)器timeO超時(shí)之前沒(méi)有到達(dá)A點(diǎn),則啟動(dòng)探測(cè)流程,修改packetl數(shù)據(jù)包的TTL(time to live,生存時(shí)間)字段,把該字段從1 開(kāi)始,逐一遞增直到遞增到N為止,其中TTL字段是IP數(shù)據(jù)報(bào)的一個(gè)字段,用于表示數(shù)據(jù)包可以傳輸?shù)穆酚商鴶?shù)。每增加一次TTL字段的計(jì)數(shù),則向網(wǎng)絡(luò)回放χ個(gè)packetl包。由于在 ICMP協(xié)議中定義了類(lèi)型為“11”的ICMP數(shù)據(jù)超時(shí)通知,當(dāng)數(shù)據(jù)包的TTL字段所對(duì)應(yīng)的節(jié)點(diǎn)接收到該數(shù)據(jù)包時(shí),會(huì)返回一個(gè)ICMP數(shù)據(jù)超時(shí)通知,因此可以在A點(diǎn)監(jiān)聽(tīng)網(wǎng)絡(luò)中出現(xiàn)類(lèi)型為“11”的ICMP數(shù)據(jù)超時(shí)通知,當(dāng)接收到的數(shù)據(jù)超時(shí)通知為χ時(shí),表示從客戶(hù)端到當(dāng)前TTL 值所對(duì)應(yīng)的節(jié)點(diǎn)之間的數(shù)據(jù)包通過(guò)情況良好;否則,表示數(shù)據(jù)包無(wú)法正常地從客戶(hù)端發(fā)送到當(dāng)前TTL值所對(duì)應(yīng)的節(jié)點(diǎn)。通過(guò)這種方式,就可以快速準(zhǔn)確地定位出現(xiàn)故障的網(wǎng)絡(luò)節(jié)點(diǎn)。 當(dāng)然,還可以將服務(wù)器作為檢測(cè)節(jié)點(diǎn),將客戶(hù)端作為目的節(jié)點(diǎn),來(lái)監(jiān)控從服務(wù)器到客戶(hù)端的流量。本發(fā)明的各種實(shí)施例提供了一種檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法和系統(tǒng),能夠在網(wǎng)絡(luò)中實(shí)時(shí)抓包分析網(wǎng)絡(luò)的聯(lián)通情況,當(dāng)發(fā)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)得不到及時(shí)、準(zhǔn)確的應(yīng)答時(shí),即啟動(dòng)故障探測(cè)機(jī)制來(lái)定位故障節(jié)點(diǎn)。另外,本發(fā)明通過(guò)修改發(fā)送失敗的數(shù)據(jù)包的生存跳數(shù)值并監(jiān)聽(tīng)數(shù)據(jù)超時(shí)通知,來(lái)一一排查故障節(jié)點(diǎn),即向網(wǎng)絡(luò)中回放原數(shù)據(jù)包(回放的數(shù)據(jù)包中僅僅修改了生存跳數(shù)值,其它內(nèi)容不變),而不是構(gòu)造專(zhuān)門(mén)的檢測(cè)數(shù)據(jù)包,避免因數(shù)據(jù)包的格式、內(nèi)容或傳輸協(xié)議等的不同而導(dǎo)致故障檢測(cè)誤差,從而能夠有效地檢測(cè)出背景技術(shù)部分列出的所有故障,更準(zhǔn)確地定位出現(xiàn)故障的網(wǎng)絡(luò)節(jié)點(diǎn)。雖然本發(fā)明是通過(guò)具體實(shí)施例進(jìn)行說(shuō)明的,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)明白,在不脫離本發(fā)明范圍的情況下,還可以對(duì)本發(fā)明進(jìn)行各種變換及等同替代。另外,針對(duì)特定情形或材料,可以對(duì)本發(fā)明做各種修改,而不脫離本發(fā)明的范圍。因此,本發(fā)明不局限于所公開(kāi)的具體實(shí)施例,而應(yīng)當(dāng)包括落入本發(fā)明權(quán)利要求范圍內(nèi)的全部實(shí)施方式。
權(quán)利要求
1.一種檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法,其特征在于,包括A、實(shí)時(shí)監(jiān)測(cè)檢測(cè)節(jié)點(diǎn)與目的節(jié)點(diǎn)之間的網(wǎng)絡(luò)流量,當(dāng)確定所述檢測(cè)節(jié)點(diǎn)與所述目的節(jié)點(diǎn)之間的路由上出現(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn)故障時(shí),執(zhí)行步驟B ;B、修改從所述檢測(cè)節(jié)點(diǎn)向所述目的節(jié)點(diǎn)發(fā)送失敗的數(shù)據(jù)包的生存跳數(shù)值,并向網(wǎng)絡(luò)中回放修改后的數(shù)據(jù)包,修改的每個(gè)生存跳數(shù)值對(duì)應(yīng)于檢測(cè)節(jié)點(diǎn)到目的節(jié)點(diǎn)間的路由上的一個(gè)節(jié)點(diǎn);C、監(jiān)聽(tīng)從所述生存跳數(shù)值所對(duì)應(yīng)的節(jié)點(diǎn)返回的數(shù)據(jù)超時(shí)通知,并判斷接收到的數(shù)據(jù)超時(shí)通知與所回放的數(shù)據(jù)包的數(shù)量是否相等,若否,則確定所回放的數(shù)據(jù)包的當(dāng)前生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)與檢測(cè)節(jié)點(diǎn)之間的路由上存在故障節(jié)點(diǎn);若是,則確定所回放的數(shù)據(jù)包的當(dāng)前生存跳數(shù)對(duì)應(yīng)的節(jié)點(diǎn)與檢測(cè)節(jié)點(diǎn)之間的路由完全正常;并判斷是否有存在故障節(jié)點(diǎn)的路由比不存在故障節(jié)點(diǎn)的路由多一個(gè)節(jié)點(diǎn),若是,則確定多出的節(jié)點(diǎn)為故障節(jié)點(diǎn);若否,繼續(xù)執(zhí)行步驟B。
2.根據(jù)權(quán)利要求1所述的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法,其特征在于,所述步驟A具體包括Al、確定所述檢測(cè)節(jié)點(diǎn)與所述目的節(jié)點(diǎn)之間的路由的跳數(shù),向所述目的節(jié)點(diǎn)發(fā)送數(shù)據(jù)包,并緩存所述數(shù)據(jù)包;A2、監(jiān)測(cè)所述目的節(jié)點(diǎn)返回的應(yīng)答,當(dāng)確認(rèn)未收到所述應(yīng)答時(shí),確定所述檢測(cè)節(jié)點(diǎn)與所述目的節(jié)點(diǎn)之間的路由上出現(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn)故障,執(zhí)行步驟B。
3.根據(jù)權(quán)利要求1所述的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法,其特征在于, 所述步驟B具體包括Bi、修改從所述檢測(cè)節(jié)點(diǎn)向所述目的節(jié)點(diǎn)發(fā)送失敗的數(shù)據(jù)包的生存跳數(shù)值,其中修改的每個(gè)生存跳數(shù)值對(duì)應(yīng)于檢測(cè)節(jié)點(diǎn)到目的節(jié)點(diǎn)間的路由上的一個(gè)節(jié)點(diǎn); B2、向網(wǎng)絡(luò)中回放修改后的數(shù)據(jù)包; 所述步驟C具體包括Cl、監(jiān)聽(tīng)從所述生存跳數(shù)值所對(duì)應(yīng)的節(jié)點(diǎn)返回的數(shù)據(jù)超時(shí)通知,并判斷接收到的數(shù)據(jù)超時(shí)通知與所回放的數(shù)據(jù)包的數(shù)量是否相等,若是,則執(zhí)行步驟C2 ;若否,則執(zhí)行步驟C4 ;C2、判斷所述生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)是否為目的節(jié)點(diǎn),若是,則返回步驟A ;若否,則執(zhí)行步驟C3 ;C3、將所述生存跳數(shù)值遞增一,接下來(lái)執(zhí)行步驟C5 ; C4、將所述生存跳數(shù)值遞減一,接下來(lái)執(zhí)行步驟C5 ;C5、判斷是否有存在故障節(jié)點(diǎn)的路由比不存在故障節(jié)點(diǎn)的路由多一個(gè)節(jié)點(diǎn),若是,則確定多出的節(jié)點(diǎn)為故障節(jié)點(diǎn);若否,繼續(xù)執(zhí)行步驟B2。
4.根據(jù)權(quán)利要求1所述的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法,其特征在于, 所述步驟B具體包括Bi、將從所述檢測(cè)節(jié)點(diǎn)向所述目的節(jié)點(diǎn)發(fā)送失敗的數(shù)據(jù)包的生存跳數(shù)值修改為1 ; B2、向網(wǎng)絡(luò)中回放修改后的數(shù)據(jù)包; 所述步驟C具體包括Cl、監(jiān)聽(tīng)從所述生存跳數(shù)值所對(duì)應(yīng)的節(jié)點(diǎn)返回的數(shù)據(jù)超時(shí)通知,并判斷接收到的數(shù)據(jù)超時(shí)通知與所回放的數(shù)據(jù)包的數(shù)量是否相等,若是,則執(zhí)行步驟C2 ;若否,則執(zhí)行步驟C4 ;C2、判斷所述生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)是否為目的節(jié)點(diǎn),若是,則返回步驟A ;若否,則執(zhí)行步驟C3 ;C3、將所述生存跳數(shù)值遞增一,接下來(lái)執(zhí)行步驟B2 ;C4、確定所述生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)為故障節(jié)點(diǎn)。
5.根據(jù)權(quán)利要求2所述的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法,其特征在于,所述步驟A2具體包括A21、監(jiān)測(cè)所述目的節(jié)點(diǎn)返回的應(yīng)答;A22、判斷未收到所述應(yīng)答的時(shí)間是否達(dá)到設(shè)置的閾值,若是,執(zhí)行步驟B;若否,則繼續(xù)執(zhí)行步驟Al。
6.一種檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的系統(tǒng),其特征在于,包括檢測(cè)節(jié)點(diǎn)、目的節(jié)點(diǎn)、探測(cè)儀以及位于所述檢測(cè)節(jié)點(diǎn)與所述目的節(jié)點(diǎn)之間的路由上的至少一個(gè)節(jié)點(diǎn),所述位于所述檢測(cè)節(jié)點(diǎn)與所述目的節(jié)點(diǎn)之間的路由上的至少一個(gè)節(jié)點(diǎn)用于在收到生存跳數(shù)值與其對(duì)應(yīng)的數(shù)據(jù)包時(shí)返回?cái)?shù)據(jù)超時(shí)通知;所述探測(cè)儀用于實(shí)時(shí)監(jiān)測(cè)檢測(cè)節(jié)點(diǎn)與目的節(jié)點(diǎn)之間的網(wǎng)絡(luò)流量,并在確定所述檢測(cè)節(jié)點(diǎn)與所述目的節(jié)點(diǎn)之間的路由上出現(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn)故障時(shí),通知所述檢測(cè)節(jié)點(diǎn);所述檢測(cè)節(jié)點(diǎn)用于向所述目的節(jié)點(diǎn)發(fā)送數(shù)據(jù)包,并在收到所述探測(cè)儀的通知后,修改從所述檢測(cè)節(jié)點(diǎn)向所述目的節(jié)點(diǎn)發(fā)送失敗的數(shù)據(jù)包的生存跳數(shù)值,并向網(wǎng)絡(luò)中回放修改后的數(shù)據(jù)包,修改的每個(gè)生存跳數(shù)值對(duì)應(yīng)于檢測(cè)節(jié)點(diǎn)到目的節(jié)點(diǎn)間的路由上的一個(gè)節(jié)點(diǎn);所述檢測(cè)節(jié)點(diǎn)還用于監(jiān)聽(tīng)從所述生存跳數(shù)值所對(duì)應(yīng)的節(jié)點(diǎn)返回的數(shù)據(jù)超時(shí)通知,并判斷接收到的數(shù)據(jù)超時(shí)通知與所回放的數(shù)據(jù)包的數(shù)量是否相等,若否,則確定所回放的數(shù)據(jù)包的當(dāng)前生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)與檢測(cè)節(jié)點(diǎn)之間的路由上存在故障節(jié)點(diǎn);若是,則確定所回放的數(shù)據(jù)包的當(dāng)前生存跳數(shù)對(duì)應(yīng)的節(jié)點(diǎn)與檢測(cè)節(jié)點(diǎn)之間的路由完全正常;并判斷是否有存在故障節(jié)點(diǎn)的路由比不存在故障節(jié)點(diǎn)的路由多一個(gè)節(jié)點(diǎn),若是,則確定多出的節(jié)點(diǎn)為故障節(jié)點(diǎn)。
7.根據(jù)權(quán)利要求6所述的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的系統(tǒng),其特征在于,所述檢測(cè)節(jié)點(diǎn)向所述目的節(jié)點(diǎn)發(fā)送數(shù)據(jù)包具體包括確定所述檢測(cè)節(jié)點(diǎn)與所述目的節(jié)點(diǎn)之間的路由的跳數(shù),向所述目的節(jié)點(diǎn)發(fā)送數(shù)據(jù)包,并緩存所述數(shù)據(jù)包;所述探測(cè)儀具體用于監(jiān)測(cè)所述目的節(jié)點(diǎn)返回的應(yīng)答,當(dāng)確認(rèn)未收到所述應(yīng)答時(shí),確定所述檢測(cè)節(jié)點(diǎn)與所述目的節(jié)點(diǎn)之間的路由上出現(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn)故障,并通知檢測(cè)節(jié)點(diǎn)。
8.根據(jù)權(quán)利要求6所述的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的系統(tǒng),其特征在于,所述檢測(cè)節(jié)點(diǎn)具體用于修改從所述檢測(cè)節(jié)點(diǎn)向所述目的節(jié)點(diǎn)發(fā)送失敗的數(shù)據(jù)包的生存跳數(shù)值,其中修改的每個(gè)生存跳數(shù)值對(duì)應(yīng)于檢測(cè)節(jié)點(diǎn)到目的節(jié)點(diǎn)間的路由上的一個(gè)節(jié)點(diǎn);向網(wǎng)絡(luò)中回放修改后的數(shù)據(jù)包;監(jiān)聽(tīng)從所述生存跳數(shù)值所對(duì)應(yīng)的節(jié)點(diǎn)返回的數(shù)據(jù)超時(shí)通知,并判斷接收到的數(shù)據(jù)超時(shí)通知與所回放的數(shù)據(jù)包的數(shù)量是否相等,若相等,則判斷所述生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)是否為目的節(jié)點(diǎn),若是則確定網(wǎng)絡(luò)完全正常,若否,則將所述生存跳數(shù)值遞增一;若不相等,則將所述生存跳數(shù)值遞減一;判斷是否有存在故障節(jié)點(diǎn)的路由比不存在故障節(jié)點(diǎn)的路由多一個(gè)節(jié)點(diǎn),若是,則確定多出的節(jié)點(diǎn)為故障節(jié)點(diǎn);若否,繼續(xù)向網(wǎng)絡(luò)中回放修改后的數(shù)據(jù)包。
9.根據(jù)權(quán)利要求6所述的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的系統(tǒng),其特征在于,所述檢測(cè)節(jié)點(diǎn)具體用于將從所述檢測(cè)節(jié)點(diǎn)向所述目的節(jié)點(diǎn)發(fā)送失敗的數(shù)據(jù)包的生存跳數(shù)值修改為1 ; 向網(wǎng)絡(luò)中回放修改后的數(shù)據(jù)包;監(jiān)聽(tīng)從所述生存跳數(shù)值所對(duì)應(yīng)的節(jié)點(diǎn)返回的數(shù)據(jù)超時(shí)通知,并判斷接收到的數(shù)據(jù)超時(shí)通知與所回放的數(shù)據(jù)包的數(shù)量是否相等,若相等,判斷所述生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)是否為目的節(jié)點(diǎn),若是則確定網(wǎng)絡(luò)完全正常,若否,則將所述生存跳數(shù)值遞增一,并繼續(xù)向網(wǎng)絡(luò)中回放修改后的數(shù)據(jù)包;若不相等,則確定所述生存跳數(shù)值對(duì)應(yīng)的節(jié)點(diǎn)為故障節(jié)點(diǎn)。
10.根據(jù)權(quán)利要求6所述的檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的系統(tǒng),其特征在于,所述探測(cè)儀具體用于監(jiān)測(cè)所述目的節(jié)點(diǎn)返回的應(yīng)答;判斷為收到所述應(yīng)答的時(shí)間是否達(dá)到設(shè)置的閾值,若是,則通知所述檢測(cè)節(jié)點(diǎn);若否, 則繼續(xù)監(jiān)測(cè)所述目的節(jié)點(diǎn)的應(yīng)答。
全文摘要
本發(fā)明公開(kāi)了一種檢測(cè)網(wǎng)絡(luò)節(jié)點(diǎn)故障的方法和系統(tǒng),所述方法包括A、實(shí)時(shí)監(jiān)測(cè)檢測(cè)節(jié)點(diǎn)與目的節(jié)點(diǎn)之間的網(wǎng)絡(luò)流量,當(dāng)確定出現(xiàn)故障時(shí),執(zhí)行步驟B;B、修改發(fā)送失敗的數(shù)據(jù)包的生存跳數(shù)值,并向網(wǎng)絡(luò)中回放修改后的數(shù)據(jù)包;C、監(jiān)聽(tīng)從生存跳數(shù)值所對(duì)應(yīng)的節(jié)點(diǎn)返回的數(shù)據(jù)超時(shí)通知,并判斷接收到的數(shù)據(jù)超時(shí)通知與所回放的數(shù)據(jù)包的數(shù)量是否相等,若否,則確定對(duì)應(yīng)的節(jié)點(diǎn)與檢測(cè)節(jié)點(diǎn)之間的路由上存在故障節(jié)點(diǎn);若是,則確定對(duì)應(yīng)的節(jié)點(diǎn)與檢測(cè)節(jié)點(diǎn)之間的路由完全正常;并判斷是否有存在故障節(jié)點(diǎn)的路由比不存在故障節(jié)點(diǎn)的路由多一個(gè)節(jié)點(diǎn),若是,則確定多出的節(jié)點(diǎn)為故障節(jié)點(diǎn);若否,繼續(xù)執(zhí)行步驟B。本發(fā)明能夠及時(shí)、簡(jiǎn)單、準(zhǔn)確地檢測(cè)到故障節(jié)點(diǎn)。
文檔編號(hào)H04L12/24GK102355383SQ201110302120
公開(kāi)日2012年2月15日 申請(qǐng)日期2011年9月28日 優(yōu)先權(quán)日2011年9月28日
發(fā)明者雷建 申請(qǐng)人:深圳市深信服電子科技有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
甘德县| 宁国市| 合肥市| 新龙县| 楚雄市| 拜城县| 泽州县| 台东市| 连南| 斗六市| 清镇市| 武山县| 青铜峡市| 尖扎县| 阿瓦提县| 体育| 巩义市| 冀州市| 安新县| 阿合奇县| 永善县| 康马县| 清新县| 昌邑市| 本溪| 道孚县| 阿拉善盟| 乌兰县| 云阳县| 莱阳市| 兴文县| 晋江市| 应用必备| 榆中县| 东乌珠穆沁旗| 通道| 灌云县| 资阳市| 辽中县| 泰州市| 高台县|