本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,尤指一種實現(xiàn)報文檢錯的方法及裝置。
背景技術(shù):
在運行商網(wǎng)絡(luò)、企業(yè)網(wǎng)絡(luò)、以及互聯(lián)網(wǎng)網(wǎng)絡(luò)等網(wǎng)絡(luò)中涉及種類和數(shù)量都十分龐大的網(wǎng)絡(luò)設(shè)備,例如:寬帶遠程接入服務(wù)器(bras)設(shè)備、接入/核心路由器設(shè)備、接入/核心交換機設(shè)備、三層交換機設(shè)備和各種光網(wǎng)絡(luò)設(shè)備等。這些網(wǎng)絡(luò)設(shè)備運行ip網(wǎng)絡(luò)協(xié)議,通過相互連接構(gòu)建了一個基于ip網(wǎng)絡(luò)協(xié)議的世界。報文經(jīng)過網(wǎng)絡(luò)設(shè)備傳輸時部分報文字段是不應(yīng)發(fā)生變化的,而在報文傳輸過程中則可能發(fā)生報文錯誤的情況;以企業(yè)網(wǎng)絡(luò)為例,假設(shè)存在區(qū)域a與區(qū)域b、區(qū)域a與區(qū)域c的通信鏈路,區(qū)域a和區(qū)域b之間的通信鏈路由于路由器或交換機的丟包率高、系統(tǒng)問題等ip鏈路問題使不應(yīng)發(fā)生變化的報文字段在區(qū)域a和區(qū)域b之間傳輸時發(fā)生變化,造成報文錯誤的問題,影響正常通信。上述系統(tǒng)問題可能是系統(tǒng)軟件或硬件存在故障、或外部環(huán)境影響系統(tǒng)工作性能(比如電磁干擾)等影響報文正常傳輸?shù)膯栴}。如果不應(yīng)發(fā)生變化的報文字段被改變,例如ip地址字段被修改,則報文會被投遞到錯誤的目的地址,最終作為壞包丟棄,影響網(wǎng)絡(luò)的正常通信。
當網(wǎng)絡(luò)規(guī)模不大時,發(fā)現(xiàn)錯誤報文后,一般可以由經(jīng)驗豐富的技術(shù)人員根據(jù)經(jīng)驗判斷是否網(wǎng)絡(luò)設(shè)備可能存在的問題,通過重啟可能存在問題的網(wǎng)絡(luò)設(shè)備、重新進行網(wǎng)絡(luò)連接、或更換網(wǎng)絡(luò)設(shè)備等方法進行報文出錯問題的解決。當網(wǎng)絡(luò)規(guī)模增大到一定程度時,如何確定報文是否發(fā)生錯誤變得十分困難,基于錯誤報文依據(jù)經(jīng)驗進行網(wǎng)絡(luò)設(shè)備是否存在問題的判斷準確程度也大大降低,解決錯誤報文問題需要進行多次嘗試,而每次嘗試都可能造成網(wǎng)絡(luò)徹底中斷,影響網(wǎng)絡(luò)的正常通信。尤其是對于規(guī)模龐大的互聯(lián)網(wǎng)網(wǎng)絡(luò),確定報文發(fā)生錯誤尤為困難。
技術(shù)實現(xiàn)要素:
為了解決上述技術(shù)問題,本發(fā)明提供一種實現(xiàn)報文檢錯的方法及裝置,能夠在網(wǎng)絡(luò)規(guī)模增大的情況下,確定報文是否發(fā)生錯誤。
為了達到本發(fā)明目的,本發(fā)明提供了一種實現(xiàn)報文檢錯的方法,包括:
按照預(yù)設(shè)周期緩存實時抓取被檢測網(wǎng)絡(luò)傳輸?shù)娜胂驁笪暮统鱿驁笪模?/p>
將第一個預(yù)設(shè)周期和第二個預(yù)設(shè)周期中緩存的入向報文和出向報文中不應(yīng)發(fā)生變化部分進行匹配,確定第一個預(yù)設(shè)周期中未匹配成功的報文為發(fā)生錯誤的報文;
所述第一個預(yù)設(shè)周期與第二個預(yù)設(shè)周期相鄰,且第一個預(yù)設(shè)周期早于第二個預(yù)設(shè)周期。
可選的,按照預(yù)設(shè)周期緩存實時抓取被檢測網(wǎng)絡(luò)傳輸?shù)娜胂驁笪暮统鱿驁笪暮?,該方法還包括:
將緩存的入向報文和出向報文按照預(yù)設(shè)策略進行種類劃分。
可選的,按照預(yù)設(shè)策略進行種類劃分具體包括:
根據(jù)源地址、和/或目的地址、和/或源端口、和/或目的端口進行所述緩存的入向報文和出向報文種類的劃分。
可選的,按照預(yù)設(shè)策略進行分類具體包括:
將緩存的入向報文或出向報文的源地址、和/或目的地址、和/或源端口、和/或目的端口進行算數(shù)相加后,以種類劃分的個數(shù)作為除數(shù)進行取模計算,根據(jù)取模計算結(jié)果的不同將所述緩存的入向報文和出向報文劃分為相應(yīng)的種類;或,
將緩存的入向報文或出向報文的源地址、目的地址、源端口、目的端口進行變換值計算,以種類劃分的個數(shù)作為除數(shù)進行取模計算,根據(jù)取模計算結(jié)果的不同將所述緩存的入向報文和出向報文劃分為相應(yīng)的種類。
可選的,變換值計算包括:哈希計算或消息摘要算法第五版md5計算。
可選的,對入向報文和出向報文中不應(yīng)發(fā)生變化部分進行匹配具體包括:
對劃分的各個種類中的所述入向報文和出向報文中不應(yīng)發(fā)生變化部分進行匹配。
可選的,確定第一個預(yù)設(shè)周期中未匹配成功的報文為發(fā)生錯誤的報文之前,該方法還包括:
過濾所述被檢測網(wǎng)絡(luò)主動發(fā)出的出向報文和發(fā)送給所述被檢測網(wǎng)絡(luò)的入向報文。
可選的,該方法還包括:
預(yù)先建立以服務(wù)器、和/或配置的進程、和/或配置的線程構(gòu)成的分析單元;
分配給各分析單元進行劃分的一個或一個以上種類的所述入向報文和出向報文中不應(yīng)發(fā)生變化部分的匹配。
可選的,分配給各分析單元進行劃分的一個或一個以上種類的所述入向報文和出向報文中不應(yīng)發(fā)生變化部分的匹配具體包括:
根據(jù)各分析單元的負荷,確定分配給各分析單元進行相應(yīng)個數(shù)種類的所述入向報文和出向報文中不應(yīng)發(fā)生變化部分的匹配。
可選的,將入向報文與出向報文中不應(yīng)發(fā)生變化部分進行匹配具體包括:
將所述入向報文中不應(yīng)發(fā)生變化部分的內(nèi)容與出向報文中所述不應(yīng)發(fā)生變化部分的內(nèi)容進行匹配;或,
提取所述入向報文中不應(yīng)發(fā)生變化部分的內(nèi)容的特征值和所述出向報文中不應(yīng)發(fā)生變化部分的內(nèi)容的特征值;
將提取的所述入向報文中不應(yīng)發(fā)生變化部分的內(nèi)容的特征值與提取的所述出向報文中不應(yīng)發(fā)生變化部分的內(nèi)容的特征值進行匹配。
另一方面,本申請還提供一種實現(xiàn)報文檢錯的裝置,包括:緩存單元和匹配單元;其中,
緩存單元,用于按照預(yù)設(shè)周期緩存實時抓取被檢測網(wǎng)絡(luò)傳輸?shù)娜胂驁笪暮统鱿驁笪模?/p>
匹配單元,用于將第一個預(yù)設(shè)周期和第二個預(yù)設(shè)周期中緩存的入向報文和出向報文中不應(yīng)發(fā)生變化部分進行匹配,確定第一個預(yù)設(shè)周期中未匹配成功的報文為發(fā)生錯誤的報文;
所述第一個預(yù)設(shè)周期與第二個預(yù)設(shè)周期相鄰,且第一個預(yù)設(shè)周期早于第二個預(yù)設(shè)周期。
可選的,該裝置還包括種類劃分單元,用于按照預(yù)設(shè)周期緩存實時抓取被檢測網(wǎng)絡(luò)傳輸?shù)娜胂驁笪暮统鱿驁笪暮?,將緩存的入向報文和出向報文按照預(yù)設(shè)策略進行種類劃分。
可選的,匹配單元具體用于,
匹配單元,用于對劃分的各個種類中,將第一個預(yù)設(shè)周期和第二個預(yù)設(shè)周期中緩存的入向報文和出向報文中不應(yīng)發(fā)生變化部分進行匹配,確定第一個預(yù)設(shè)周期中未匹配成功的報文為發(fā)生錯誤的報文。
可選的,該裝置還包括過濾單元,用于在匹配單元確定第一個預(yù)設(shè)周期中未匹配成功的報文為發(fā)生錯誤的報文之前,過濾所述被檢測網(wǎng)絡(luò)主動發(fā)出的出向報文和發(fā)送給所述被檢測網(wǎng)絡(luò)的入向報文。
可選的,該裝置還包括構(gòu)建及分配單元,用于預(yù)先建立以服務(wù)器、和/或配置的進程、和/或配置的線程構(gòu)成的分析單元;
分配給各分析單元進行劃分的一個或一個以上種類的所述入向報文和出向報文中不應(yīng)發(fā)生變化部分的匹配。
與現(xiàn)有技術(shù)相比,本申請技術(shù)方案包括:按照預(yù)設(shè)周期緩存實時抓取被檢測網(wǎng)絡(luò)傳輸?shù)娜胂驁笪暮统鱿驁笪?;將第一個預(yù)設(shè)周期和第二個預(yù)設(shè)周期中緩存的入向報文和出向報文中不應(yīng)發(fā)生變化部分進行匹配,確定第一個預(yù)設(shè)周期中未匹配成功的報文為發(fā)生錯誤的報文;第一個預(yù)設(shè)周期與第二個預(yù)設(shè)周期相鄰,且第一個預(yù)設(shè)周期早于第二個預(yù)設(shè)周期。本發(fā)明方法通過對實時抓取的入向報文和出向報文按照預(yù)設(shè)周期進行緩存和進行不應(yīng)發(fā)生變化部分的匹配,實現(xiàn)了對實時傳輸報文中發(fā)生錯誤的報文的檢測。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:
圖1為本發(fā)明實現(xiàn)報文檢錯的方法的流程圖;
圖2為本發(fā)明實現(xiàn)報文檢錯的裝置的結(jié)構(gòu)程圖。
圖3為本發(fā)明第一實施例的方法流程圖;
圖4為本發(fā)明第二實施例的方法流程圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,下文中將結(jié)合附圖對本發(fā)明的實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。
圖1為本發(fā)明實現(xiàn)報文檢錯的方法的流程圖,如圖1所示,包括:
步驟100、按照預(yù)設(shè)周期緩存實時抓取被檢測網(wǎng)絡(luò)傳輸?shù)娜胂驁笪暮统鱿驁笪模?/p>
需要說明的是,預(yù)設(shè)周期根據(jù)被檢測網(wǎng)絡(luò)傳輸報文的速度進行設(shè)定,一般的,預(yù)設(shè)周期為被檢測網(wǎng)絡(luò)傳輸一條報文所需的時長,可以通過傳輸特定的測試報文來獲取該時長;另外,第一個和第二個預(yù)設(shè)周期僅是一個相對的概念,當確定完第一個預(yù)設(shè)周期發(fā)生錯誤的報文后,第一個預(yù)設(shè)周期緩存的入向報文和出向報文的報文檢錯已經(jīng)結(jié)束,此時,原來的第二預(yù)設(shè)周期更新為新的第一個預(yù)設(shè)周期,原來的第二個預(yù)設(shè)周期的下一個預(yù)設(shè)周期更新為新的第二個預(yù)設(shè)周期。
按照預(yù)設(shè)周期緩存實時抓取被檢測網(wǎng)絡(luò)傳輸?shù)娜胂驁笪暮统鱿驁笪暮?,本發(fā)明方法還包括:
將緩存的入向報文和出向報文按照預(yù)設(shè)策略進行種類劃分。
需要說明的是,由于入向報文和出向報文存在不應(yīng)發(fā)生變化部分,因此劃分種類時,相匹配的入向報文和出向報文必然在一個種類中。
按照預(yù)設(shè)策略進行種類劃分具體包括:
根據(jù)源地址、和/或目的地址、和/或源端口、和/或目的端口進行緩存的入向報文和出向報文種類的劃分。
優(yōu)選的,按照預(yù)設(shè)策略進行分類具體包括:
將緩存的入向報文或出向報文的源地址、和/或目的地址、和/或源端口、 和/或目的端口進行算數(shù)相加后,以種類劃分的個數(shù)作為除數(shù)進行取模計算,根據(jù)取模計算結(jié)果的不同將緩存的入向報文和出向報文劃分為相應(yīng)的種類;或,
將緩存的入向報文或出向報文的源地址、目的地址、源端口、目的端口進行變換值計算,以種類劃分的個數(shù)作為除數(shù)進行取模計算,根據(jù)取模計算結(jié)果的不同將緩存的入向報文和出向報文劃分為相應(yīng)的種類。
進一步地,變換值計算包括:哈希計算或消息摘要算法第五版(md5)計算。
步驟101、將第一個預(yù)設(shè)周期和第二個預(yù)設(shè)周期中緩存的入向報文和出向報文中不應(yīng)發(fā)生變化部分進行匹配,確定第一個預(yù)設(shè)周期中未匹配成功的報文為發(fā)生錯誤的報文;這里,第一個預(yù)設(shè)周期與第二個預(yù)設(shè)周期相鄰,且第一個預(yù)設(shè)周期早于第二個預(yù)設(shè)周期。
對入向報文和出向報文中不應(yīng)發(fā)生變化部分進行匹配具體包括:
對劃分的各個種類中的入向報文和出向報文中不應(yīng)發(fā)生變化部分進行匹配。
將入向報文與出向報文中不應(yīng)發(fā)生變化部分進行匹配具體包括:
將入向報文中不應(yīng)發(fā)生變化部分的內(nèi)容與出向報文中不應(yīng)發(fā)生變化部分的內(nèi)容進行匹配;或,
提取入向報文中不應(yīng)發(fā)生變化部分的內(nèi)容的特征值和出向報文中不應(yīng)發(fā)生變化部分的內(nèi)容的特征值;
將提取的入向報文中不應(yīng)發(fā)生變化部分的內(nèi)容的特征值與提取的出向報文中不應(yīng)發(fā)生變化部分的內(nèi)容的特征值進行匹配。
確定第一個預(yù)設(shè)周期中未匹配成功的報文為發(fā)生錯誤的報文之前,本發(fā)明方法還包括:
過濾被檢測網(wǎng)絡(luò)主動發(fā)出的出向報文和發(fā)送給被檢測網(wǎng)絡(luò)的入向報文。
本發(fā)明方法還包括:
預(yù)先建立以服務(wù)器、和/或配置的進程、和/或配置的線程構(gòu)成的分析單 元;
分配給各分析單元進行劃分的一個或一個以上種類的入向報文和出向報文中不應(yīng)發(fā)生變化部分的匹配。
優(yōu)選的,分配給各分析單元進行劃分的一個或一個以上種類的入向報文和出向報文中不應(yīng)發(fā)生變化部分的匹配具體包括:
根據(jù)各分析單元的負荷,確定分配給各分析單元進行相應(yīng)個數(shù)種類的入向報文和出向報文中不應(yīng)發(fā)生變化部分的匹配。
本發(fā)明方法通過對實時抓取的入向報文和出向報文按照預(yù)設(shè)周期進行緩存和進行不應(yīng)發(fā)生變化部分的匹配,實現(xiàn)了對實時傳輸報文中發(fā)生錯誤的報文的檢測。進一步地,通過錯誤報文的檢測提高了對大規(guī)模網(wǎng)絡(luò)中造成報文錯誤的網(wǎng)絡(luò)設(shè)備故障處理的準確率。
圖2為本發(fā)明實現(xiàn)報文檢錯的裝置的結(jié)構(gòu)程圖,如圖2所示,包括:緩存單元和匹配單元;其中,
緩存單元,用于按照預(yù)設(shè)周期緩存實時抓取被檢測網(wǎng)絡(luò)傳輸?shù)娜胂驁笪暮统鱿驁笪模?/p>
匹配單元,用于將第一個預(yù)設(shè)周期和第二個預(yù)設(shè)周期中緩存的入向報文和出向報文中不應(yīng)發(fā)生變化部分進行匹配,確定第一個預(yù)設(shè)周期中未匹配成功的報文為發(fā)生錯誤的報文;
第一個預(yù)設(shè)周期與第二個預(yù)設(shè)周期相鄰,且第一個預(yù)設(shè)周期早于第二個預(yù)設(shè)周期。
匹配單元具體用于,
將第一個預(yù)設(shè)周期和第二個預(yù)設(shè)周期中緩存的入向報文和出向報文中不應(yīng)發(fā)生變化部分,
將入向報文中不應(yīng)發(fā)生變化部分的內(nèi)容與出向報文中不應(yīng)發(fā)生變化部分的內(nèi)容進行匹配;或,
提取入向報文中不應(yīng)發(fā)生變化部分的內(nèi)容的特征值和出向報文中不應(yīng)發(fā)生變化部分的內(nèi)容的特征值;
將提取的入向報文中不應(yīng)發(fā)生變化部分的內(nèi)容的特征值與提取的出向報文中不應(yīng)發(fā)生變化部分的內(nèi)容的特征值進行匹配;
確定第一個預(yù)設(shè)周期中未匹配成功的報文為發(fā)生錯誤的報文。
本發(fā)明裝置還包括種類劃分單元,用于按照預(yù)設(shè)周期緩存實時抓取被檢測網(wǎng)絡(luò)傳輸?shù)娜胂驁笪暮统鱿驁笪暮?,將緩存的入向報文和出向報文按照預(yù)設(shè)策略進行種類劃分。
種類劃分單元具體用于,按照預(yù)設(shè)周期緩存實時抓取被檢測網(wǎng)絡(luò)傳輸?shù)娜胂驁笪暮统鱿驁笪暮?,將緩存的入向報文和出向報文根?jù)源地址、和/或目的地址、和/或源端口、和/或目的端口進行種類的劃分。
優(yōu)選的,種類劃分單元具體用于,
按照預(yù)設(shè)周期緩存實時抓取被檢測網(wǎng)絡(luò)傳輸?shù)娜胂驁笪暮统鱿驁笪暮螅瑢⒕彺娴娜胂驁笪幕虺鱿驁笪牡脑吹刂?、?或目的地址、和/或源端口、和/或目的端口進行算數(shù)相加后,以種類劃分的個數(shù)作為除數(shù)進行取模計算,根據(jù)取模計算結(jié)果的不同將緩存的入向報文和出向報文劃分為相應(yīng)的種類;或,
將緩存的入向報文或出向報文的源地址、目的地址、源端口、目的端口進行變換值計算,以種類劃分的個數(shù)作為除數(shù)進行取模計算,根據(jù)取模計算結(jié)果的不同將緩存的入向報文和出向報文劃分為相應(yīng)的種類。
匹配單元具體用于,
匹配單元,用于對劃分的各個種類中,將第一個預(yù)設(shè)周期和第二個預(yù)設(shè)周期中緩存的入向報文和出向報文中不應(yīng)發(fā)生變化部分進行匹配,確定第一個預(yù)設(shè)周期中未匹配成功的報文為發(fā)生錯誤的報文;
本發(fā)明裝置還包括過濾單元,用于在匹配單元確定第一個預(yù)設(shè)周期中未匹配成功的報文為發(fā)生錯誤的報文之前,過濾被檢測網(wǎng)絡(luò)主動發(fā)出的出向報文和發(fā)送給被檢測網(wǎng)絡(luò)的入向報文。
本發(fā)明裝置還包括構(gòu)建及分配單元,用于預(yù)先建立以服務(wù)器、和/或配置的進程、和/或配置的線程構(gòu)成的分析單元;
分配給各分析單元進行劃分的一個或一個以上種類的入向報文和出向報文中不應(yīng)發(fā)生變化部分的匹配。
構(gòu)建及分配單元具體用于,
預(yù)先建立以服務(wù)器、和/或配置的進程、和/或配置的線程構(gòu)成的分析單元;
根據(jù)各分析單元的負荷,確定分配給各分析單元進行相應(yīng)個數(shù)種類的入向報文和出向報文中不應(yīng)發(fā)生變化部分的匹配。
以下通過具體實施例對本發(fā)明方法進行清楚詳細的說明,實施例僅用于陳述本發(fā)明,并不用于限定本發(fā)明方法的保護范圍。
實施例1
本實施例進行報文檢錯時,被檢測網(wǎng)絡(luò)可以是一個或一個以上網(wǎng)絡(luò)設(shè)備構(gòu)成的網(wǎng)絡(luò),網(wǎng)絡(luò)設(shè)備可以是路由器或交換機等;本實施例獲取被檢測網(wǎng)絡(luò)傳輸?shù)娜胂驁笪暮统鱿驁笪膶崟r的進行抓取和緩存,緩存入向報文和出向報文時還記錄包含時間屬性、報文的流向信息等。圖3為本發(fā)明第一實施例的方法流程圖,如圖3所示,包括:
如圖3所示,本實施例具體包含如下步驟
步驟300、實時抓取被檢測網(wǎng)絡(luò)傳輸?shù)娜胂驁笪暮统鱿驁笪模?/p>
步驟301、按照預(yù)設(shè)周期對實時抓取的被檢測網(wǎng)絡(luò)的入向報文和出向報文進行緩存;
步驟302、將緩存的入向報文和出向報文按照預(yù)設(shè)策略進行種類劃分;
需要說明的是,對于一個經(jīng)過被檢測網(wǎng)絡(luò)未發(fā)生錯誤的報文,假設(shè)是報文p,當它進入被檢測網(wǎng)絡(luò)時作為入向報文被抓取時為p1;離開被檢測網(wǎng)絡(luò)時被抓取時為p2,進行種類劃分時,需要保證報文p的入向報文和出向報文在同一個種類中。
本實施例進行種類劃分可以通過以下方式實現(xiàn):
將緩存的入向報文或出向報文的源地址、和/或目的地址、和/或源端口、和/或目的端口進行算數(shù)相加后,以種類劃分的個數(shù)作為除數(shù)進行取模計算,根據(jù)取模計算結(jié)果的不同將緩存的入向報文和出向報文劃分為相應(yīng)的種類;或,
將緩存的入向報文或出向報文的源地址、目的地址、源端口、目的端口進行變換值計算,以種類劃分的個數(shù)作為除數(shù)進行取模計算,根據(jù)取模計算結(jié)果的不同將緩存的入向報文和出向報文劃分為相應(yīng)的種類。這里,變換值計算包括:哈希計算或消息摘要算法第五版(md5)計算。
步驟303、對劃分的各個種類,將第一個預(yù)設(shè)周期和第二個預(yù)設(shè)周期中緩存的入向報文和出向報文中不應(yīng)發(fā)生變化部分進行匹配,確定第一個預(yù)設(shè)周期中未匹配成功的報文為發(fā)生錯誤的報文。這里,第一個預(yù)設(shè)周期與第二個預(yù)設(shè)周期相鄰,且第一個預(yù)設(shè)周期早于第二個預(yù)設(shè)周期。
需要說明的是,入向報文和出向報文可以在緩存過程中進行區(qū)分。另外,報文從流入到流出被檢測網(wǎng)絡(luò)所需時長為預(yù)設(shè)周期,所以與第一個預(yù)設(shè)周期內(nèi)的入向報文相匹配的出向報文必然在第一個預(yù)設(shè)周期或第二個預(yù)設(shè)周期內(nèi),如果在第一個和第二個預(yù)設(shè)周期內(nèi)不存在與第一個預(yù)設(shè)周期內(nèi)的入向報文相匹配的出向報文,則報文在被檢測網(wǎng)絡(luò)傳輸時發(fā)生了錯誤。
本實施例進行入向報文和出向報文中不應(yīng)發(fā)生變化部分的匹配可以通過以下優(yōu)選方式實現(xiàn):
本實施例預(yù)先建立以服務(wù)器、和/或配置的進程、和/或配置的線程構(gòu)成的分析單元;
由各分析單元進行劃分的一個或一個以上種類的入向報文和出向報文中不應(yīng)發(fā)生變化部分的匹配。具體的,
根據(jù)各分析單元的負荷,確定由各分析單元進行相應(yīng)個數(shù)種類的入向報文和出向報文中不應(yīng)發(fā)生變化部分的匹配。例如,本實施例包括分析單元1、分析單元2、分析單元3;其中,分析單元1由單獨的物理服務(wù)器構(gòu)成,分析單元2和分析單元3在另一物理服務(wù)器配置的兩個線程構(gòu)成,分析單元2和分析單元3的性能和內(nèi)存可以根據(jù)本領(lǐng)域技術(shù)人員對劃分種類的多少和各種類報文數(shù)量結(jié)合經(jīng)驗進行配置。本實施例假設(shè)劃分為4個種類,則理論上分析單元1應(yīng)該進行兩個種類的入向報文和出向報文中不應(yīng)發(fā)生變化部分的匹配;分析單元2和分析單元3分別進行1個種類的入向報文和出向報文中不應(yīng)發(fā)生變化部分的匹配;如果劃分種類較多,在給各分析單元分配完劃分的種類后,對新劃分的種類,可以根據(jù)分析單元的負荷情況進行負載均衡,當 然,本領(lǐng)域技術(shù)人員還可以通過建立新的分析單元,用于新劃分種類的入向報文和出向報文中不應(yīng)發(fā)生變化部分的匹配。負荷狀態(tài)可以通過分析單元實時或周期反饋,也可以通過設(shè)定告警閾值,在超過告警閾值時主動進行反饋。
需要說明的是,報文經(jīng)過網(wǎng)絡(luò)設(shè)備傳輸時,不應(yīng)發(fā)生變化部分從流入網(wǎng)絡(luò)設(shè)備到流出網(wǎng)絡(luò)設(shè)備,其內(nèi)容是不會發(fā)生變化的,即如果網(wǎng)絡(luò)未出現(xiàn)鏈路問題,則入向報文中不應(yīng)發(fā)生變化部分的報文字段和出向報文中不應(yīng)發(fā)生變化部分的報文字段所包含的內(nèi)容是一樣的,匹配確定包含內(nèi)容一致時,確定報文沒有發(fā)生錯誤;例如、假設(shè)網(wǎng)絡(luò)設(shè)備傳輸?shù)膱笪牟粦?yīng)發(fā)生變化部分的內(nèi)容是[0x10,0x20,0x30],則報文檢錯的裝置如果獲取到一個入向報文,不應(yīng)發(fā)生變化部分的內(nèi)容是[0x10,0x20,0x30];報文檢錯的裝置根據(jù)入向報文和出向報文不應(yīng)發(fā)生變化部分的匹配,確定報文未發(fā)生錯誤;本實施例如果報文不應(yīng)發(fā)生變化部分在傳輸過程中發(fā)生了改變,則例如獲取的出向報文變成[0x10,0x20,0x31],此時,報文檢錯的裝置無法匹配與入向報文不應(yīng)發(fā)生變化部分相同的出向報文,確定報文發(fā)生了錯誤。不同種類的報文,在網(wǎng)絡(luò)設(shè)備傳輸時不發(fā)生變化的報文字段部分可能是不同的,具體可以根據(jù)本領(lǐng)域技術(shù)人員的公知常識進行確定,發(fā)生變化的報文字段是指除不發(fā)生變化的報文字段部分的內(nèi)容,如ip報文的ttl字段,在傳輸過程中會被網(wǎng)絡(luò)設(shè)備做合法修改(比如、此時網(wǎng)絡(luò)設(shè)備時一個路由器)。
對入向報文與出向報文中不應(yīng)發(fā)生變化部分進行匹配可以是對入向報文中不應(yīng)發(fā)生變化部分與出向報文中不應(yīng)發(fā)生變化部分進行內(nèi)容上的一一對比;
對入向報文與出向報文中不應(yīng)發(fā)生變化部分進行匹配還可以通過對入向報文中不應(yīng)發(fā)生變化部分和出向報文中不應(yīng)發(fā)生變化部分分別提取特征值后,將入向報文中不應(yīng)發(fā)生變化部分提取的特征值與出向報文中不應(yīng)發(fā)生變化部分提取的特征值進行匹配,通過提取特征值的方法可以提高入向報文和出向報文的匹配效率。
需要說明的是,本實施例抓取的報文在種類劃分和后續(xù)匹配過程中,可以直接通過提取的特征值(哈希計算獲得的值或md5計算獲得的值)進行,提取的特征值包括報文長度、和/或源地址、和/或目的地址、和/或源端口、 和/或目的端口、和/或報文區(qū)分字段等。
確定第一個預(yù)設(shè)周期中未匹配成功的報文為發(fā)生錯誤的報文之前,本實施例還包括:過濾被檢測網(wǎng)絡(luò)主動發(fā)出的出向報文和發(fā)送給被檢測網(wǎng)絡(luò)的入向報文。
實施例2
本實施例中,預(yù)先建立以服務(wù)器、和/或配置的進程、和/或配置的線程構(gòu)成的分析單元;假設(shè)之前劃分的各個種類的報文已經(jīng)根據(jù)各個分析單元的性能和負荷進行了分配,本實施例假設(shè)根據(jù)種類劃分的方法產(chǎn)生一個新的種類,圖4為本發(fā)明第二實施例的方法流程圖,如圖4所示,包括:
步驟400、將緩存的入向報文和出向報文按照預(yù)設(shè)策略進行種類劃分,產(chǎn)生新的種類;
步驟401、獲取各個分析單元的負荷狀態(tài),根據(jù)負荷裝置將新產(chǎn)生的種類分配到一個分析單元中。
分析單元的負荷狀態(tài)可以包括:cpu使用率、內(nèi)存使用率,還可以包括緩存的未進行匹配的報文的數(shù)量等。
本實施例中,可以設(shè)定各個分析單元相應(yīng)的負荷閾值,當分析單元負荷達到負荷閾值時,則無需獲取該分析單元的負荷狀態(tài)。
步驟402、若分析單元接收新產(chǎn)生種類的入向報文和出向報文時負荷過大,則拒絕接收分配的新產(chǎn)生種類的入向報文和出向報文;
步驟403、重新將新產(chǎn)生的種類分配到一個新確認的分析單元中。
需要說明的是,分析單元的負荷可以周期性或觸發(fā)性反饋,也可以通過查詢方式獲得。分析單元還可以在負荷降低(例如有些種類的報文已經(jīng)匹配完成,或者該種類報文緩存數(shù)量減少)及負荷超出一定范圍時主動進行反饋。使分析單元的負荷信息可以及時的獲得。
雖然本發(fā)明所揭露的實施方式如上,但所述的內(nèi)容僅為便于理解本發(fā)明而采用的實施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本發(fā)明所揭露的精神和范圍的前提下,可以在實施的形式及細節(jié)上進行任何的修改與變化,但本發(fā)明的專利保護范圍,仍須以所附的權(quán)利 要求書所界定的范圍為準。