本發(fā)明涉及旁路網(wǎng)絡(luò)流量質(zhì)量檢測,具體地,涉及自適應(yīng)的旁路網(wǎng)絡(luò)流量質(zhì)量檢測的方法及系統(tǒng)。
背景技術(shù):
1、目前眾多分析工具在進行數(shù)據(jù)包分析時,雖然均有丟包分析,但并未區(qū)分丟包是屬于業(yè)務(wù)網(wǎng)絡(luò)的丟包還是旁路網(wǎng)絡(luò)的丟包,在進行基于旁路網(wǎng)絡(luò)流量的業(yè)務(wù)監(jiān)控時,旁路網(wǎng)絡(luò)造成的丟包并非真實的業(yè)務(wù)問題,極易引發(fā)誤告警。在出現(xiàn)誤告警狀況時,傳統(tǒng)分析方法主要有三種:
2、1、通過旁路網(wǎng)絡(luò)流量設(shè)備的丟包計數(shù),人工進行分析判斷;
3、2、通過下載數(shù)據(jù)包,借助專業(yè)的分析工具,如wireshark,人工進行比對分析;
4、3、通過與系統(tǒng)的業(yè)務(wù)日志做對比,判斷是否真的出現(xiàn)業(yè)務(wù)問題。
5、這幾種方法均需要人工介入,且容易出錯。因此在現(xiàn)有業(yè)務(wù)監(jiān)控中,還未見自動化實現(xiàn)旁路網(wǎng)絡(luò)流量質(zhì)量檢測的系統(tǒng)及方法。
技術(shù)實現(xiàn)思路
1、針對現(xiàn)有技術(shù)中的缺陷,本發(fā)明的目的是提供一種自適應(yīng)的旁路網(wǎng)絡(luò)流量質(zhì)量檢測的方法及系統(tǒng)。
2、根據(jù)本發(fā)明提供的一種自適應(yīng)的旁路網(wǎng)絡(luò)流量質(zhì)量檢測的方法,包括:
3、步驟s1:在主機系統(tǒng)前端,實時捕獲并存儲旁路的業(yè)務(wù)系統(tǒng)數(shù)據(jù)包;
4、步驟s2:根據(jù)業(yè)務(wù)系統(tǒng)配置的服務(wù)端ip篩選當前業(yè)務(wù)系統(tǒng)對應(yīng)的數(shù)據(jù)包;
5、步驟s3:基于篩選到的當前業(yè)務(wù)系統(tǒng)對應(yīng)的數(shù)據(jù)包判斷業(yè)務(wù)解碼的關(guān)聯(lián)條件,識別當前業(yè)務(wù)系統(tǒng)是否為tcp同步會話;
6、步驟s4:對識別到的tcp同步會話中序列號隊列按順序重組;
7、步驟s5:基于數(shù)據(jù)包的tcp特征對旁路網(wǎng)絡(luò)流量進行質(zhì)量檢測。
8、優(yōu)選地,所述步驟s3包括:基于篩選到的當前業(yè)務(wù)系統(tǒng)對應(yīng)的數(shù)據(jù)包識別業(yè)務(wù)解碼的關(guān)聯(lián)條件,當業(yè)務(wù)解碼是基于tcp五元組按數(shù)據(jù)包順序關(guān)聯(lián)的,則認為當前業(yè)務(wù)系統(tǒng)是tcp同步會話。
9、優(yōu)選地,所述步驟s3包括:
10、步驟s3.1:獲取當前業(yè)務(wù)系統(tǒng)的tcp五元組信息;所述tcp五元組信息包括:客戶端ip、客戶端端口號、協(xié)議、服務(wù)端ip、服務(wù)端端口號;
11、步驟s3.2:將獲取的當前業(yè)務(wù)系統(tǒng)的tcp五元組信息hash為flowid;
12、步驟s3.3:確定關(guān)聯(lián)條件為flowid的業(yè)務(wù)為tcp同步會話。
13、優(yōu)選地,所述步驟s5采用:
14、步驟s5.1:分析數(shù)據(jù)包的tcp特征;
15、步驟s5.2:基于數(shù)據(jù)包的tcp特征分析,選擇不同的數(shù)據(jù)源質(zhì)量檢測模型對旁路網(wǎng)絡(luò)流量的質(zhì)量進行檢測。
16、優(yōu)選地,所述步驟s5.1包括:
17、tcp會話只有一筆同步業(yè)務(wù)或一個tcp會話有多筆同步業(yè)務(wù);
18、當tcp會話只有一筆同步業(yè)務(wù)時,包括一筆同步業(yè)務(wù)只有一個響應(yīng)數(shù)據(jù)包或一筆同步業(yè)務(wù)有多個響應(yīng)數(shù)據(jù)包;
19、當一筆同步業(yè)務(wù)只有一個響應(yīng)數(shù)據(jù)包時,包括第一種丟包場景;所述第一種丟包場景包括:第一響應(yīng)數(shù)據(jù)包丟失,無ack數(shù)據(jù)包,單筆業(yè)務(wù)結(jié)束后關(guān)閉tcp會話,有fin包;
20、當一筆同步業(yè)務(wù)有多個響應(yīng)數(shù)據(jù)包時,包括第二種丟包場景、第三種丟包場景、第四種丟包場景以及第五種丟包場景;其中,所述第二種丟包場景為同一筆業(yè)務(wù),丟失了第一個響應(yīng)數(shù)據(jù)包,有對應(yīng)的ack數(shù)據(jù)包,其余未丟包;所述第三種丟包場景為同一筆業(yè)務(wù),丟失了第一個響應(yīng)數(shù)據(jù)包和對應(yīng)的ack數(shù)據(jù)包其余未丟包;所述第四種丟包場景為同一筆業(yè)務(wù),收到了第一個響應(yīng)數(shù)據(jù)包和對應(yīng)的ack,后續(xù)有響應(yīng)數(shù)據(jù)包丟失但有對應(yīng)的ack數(shù)據(jù)包;所述第五種丟包場景為同一筆業(yè)務(wù),收到了第一個響應(yīng)數(shù)據(jù)包和對應(yīng)的ack,后續(xù)有響應(yīng)數(shù)據(jù)包和對應(yīng)的ack數(shù)據(jù)包同時丟失;
21、當一個tcp會話有多筆同步業(yè)務(wù)時,包括一筆業(yè)務(wù)只有一個響應(yīng)數(shù)據(jù)包或一筆業(yè)務(wù)有多個響應(yīng)數(shù)據(jù)包;
22、當一筆業(yè)務(wù)只有一個響應(yīng)數(shù)據(jù)包時,包括:第六種丟包場景;所述第六種丟包場景包括:響應(yīng)數(shù)據(jù)包丟失,但有對應(yīng)的ack數(shù)據(jù)包;
23、當一筆業(yè)務(wù)有多個響應(yīng)數(shù)據(jù)包時,包括第七種丟包場景和第八種丟包場景;所述第七種丟包場景包括:某筆業(yè)務(wù)的響應(yīng)數(shù)據(jù)包丟失,但有對應(yīng)的ack;所述第八種丟包場景包括:某筆業(yè)務(wù)的其中一個響應(yīng)數(shù)據(jù)包和對應(yīng)的ack均丟失。
24、優(yōu)選地,所述步驟s5.2包括:所述不同的數(shù)據(jù)源質(zhì)量檢測模型包括:第一種數(shù)據(jù)源質(zhì)量檢測模型和第二種數(shù)據(jù)源質(zhì)量檢測模型;
25、所述第一種數(shù)據(jù)源質(zhì)量檢測模型包括:
26、通過ack數(shù)據(jù)包的ack?number與前一個對端數(shù)據(jù)包的seq?number?+?lenth對比,當ack?number>seq?number?+?lenth,則判斷為丟包;
27、fin包判斷:fin?ack被當作一個負載為1的數(shù)據(jù)包,在對比時會對ack的acknumber做減1操作,當ack?number?-?1>seq?number?+?lenth,則判斷為丟包;
28、所述第二種數(shù)據(jù)源質(zhì)量檢測模型包括:
29、同側(cè)的兩個連續(xù)數(shù)據(jù)包的seq?number相減,其差值若大于被減包的lenth,則判斷為丟包;
30、fin包判斷:fin?ack被當作一個負載為1的數(shù)據(jù)包,同側(cè)的兩個連續(xù)數(shù)據(jù)包的seqnumber相減時做減1操作,其差值若大于被減數(shù)據(jù)包的lenth,則判斷為丟包;
31、所述第一種丟包場景、所述第二種丟包場景、所述第四種丟包場景、所述第六種丟包場景以及所述第七種丟包場景,采用所述第一種數(shù)據(jù)源質(zhì)量檢測模型對旁路網(wǎng)絡(luò)流量的質(zhì)量進行檢測;
32、所述第三種丟包場景、所述第五種丟包場景以及所述第八種丟包場景采用所述第二種數(shù)據(jù)源質(zhì)量檢測模型對旁路網(wǎng)絡(luò)流量的質(zhì)量進行檢測。
33、優(yōu)選地,所述方法還包括:基于旁路網(wǎng)絡(luò)流量的質(zhì)量進行檢測獲得單筆業(yè)務(wù)的丟包數(shù)據(jù);
34、所述基于旁路網(wǎng)絡(luò)流量的質(zhì)量進行檢測獲得單筆業(yè)務(wù)的丟包數(shù)據(jù),包括:
35、當業(yè)務(wù)正常有響應(yīng)時,該筆業(yè)務(wù)標識為數(shù)據(jù)源質(zhì)量正常,當該筆業(yè)務(wù)無響應(yīng)時,且該筆業(yè)務(wù)的響應(yīng)判斷有丟包時,該筆業(yè)務(wù)標識為數(shù)據(jù)源質(zhì)量異常;當統(tǒng)計業(yè)務(wù)量指標時,數(shù)據(jù)源質(zhì)量異常的業(yè)務(wù)依然計算在內(nèi);當統(tǒng)計響應(yīng)率、成功率、響應(yīng)時間指標時,數(shù)據(jù)源質(zhì)量異常的業(yè)務(wù)不納入統(tǒng)計;同時將按不同時間顆粒度記錄丟包的業(yè)務(wù)量,用于數(shù)據(jù)源質(zhì)量分析。
36、根據(jù)本發(fā)明提供的一種自適應(yīng)的旁路網(wǎng)絡(luò)流量質(zhì)量檢測的系統(tǒng),包括:
37、模塊m1:在主機系統(tǒng)前端,實時捕獲并存儲旁路的業(yè)務(wù)系統(tǒng)數(shù)據(jù)包;
38、模塊m2:根據(jù)業(yè)務(wù)系統(tǒng)配置的服務(wù)端ip篩選當前業(yè)務(wù)系統(tǒng)對應(yīng)的數(shù)據(jù)包;
39、模塊m3:基于篩選到的當前業(yè)務(wù)系統(tǒng)對應(yīng)的數(shù)據(jù)包判斷業(yè)務(wù)解碼的關(guān)聯(lián)條件,識別當前業(yè)務(wù)系統(tǒng)是否為tcp同步會話;
40、模塊m4:對識別到的tcp同步會話中序列號隊列按順序重組;
41、模塊m5:基于數(shù)據(jù)包的tcp特征對旁路網(wǎng)絡(luò)流量進行質(zhì)量檢測。
42、優(yōu)選地,所述模塊m3包括:基于篩選到的當前業(yè)務(wù)系統(tǒng)對應(yīng)的數(shù)據(jù)包識別業(yè)務(wù)解碼的關(guān)聯(lián)條件,當業(yè)務(wù)解碼是基于tcp五元組按數(shù)據(jù)包順序關(guān)聯(lián)的,則認為當前業(yè)務(wù)系統(tǒng)是tcp同步會話;
43、所述模塊m3包括:
44、模塊m3.1:獲取當前業(yè)務(wù)系統(tǒng)的tcp五元組信息;所述tcp五元組信息包括:客戶端ip、客戶端端口號、協(xié)議、服務(wù)端ip、服務(wù)端端口號;
45、模塊m3.2:將獲取的當前業(yè)務(wù)系統(tǒng)的tcp五元組信息hash為flowid;
46、模塊m3.3:確定關(guān)聯(lián)條件為flowid的業(yè)務(wù)為tcp同步會話;
47、優(yōu)選地,所述模塊m5采用:
48、模塊m5.1:分析數(shù)據(jù)包的tcp特征;
49、模塊m5.2:基于數(shù)據(jù)包的tcp特征分析,選擇不同的數(shù)據(jù)源質(zhì)量檢測模型對旁路網(wǎng)絡(luò)流量的質(zhì)量進行檢測;
50、所述模塊m5.1包括:
51、tcp會話只有一筆同步業(yè)務(wù)或一個tcp會話有多筆同步業(yè)務(wù);
52、當tcp會話只有一筆同步業(yè)務(wù)時,包括一筆同步業(yè)務(wù)只有一個響應(yīng)數(shù)據(jù)包或一筆同步業(yè)務(wù)有多個響應(yīng)數(shù)據(jù)包;
53、當一筆同步業(yè)務(wù)只有一個響應(yīng)數(shù)據(jù)包時,包括第一種丟包場景;所述第一種丟包場景包括:第一響應(yīng)數(shù)據(jù)包丟失,無ack數(shù)據(jù)包,單筆業(yè)務(wù)結(jié)束后關(guān)閉tcp會話,有fin包;
54、當一筆同步業(yè)務(wù)有多個響應(yīng)數(shù)據(jù)包時,包括第二種丟包場景、第三種丟包場景、第四種丟包場景以及第五種丟包場景;其中,所述第二種丟包場景為同一筆業(yè)務(wù),丟失了第一個響應(yīng)數(shù)據(jù)包,有對應(yīng)的ack數(shù)據(jù)包,其余未丟包;所述第三種丟包場景為同一筆業(yè)務(wù),丟失了第一個響應(yīng)數(shù)據(jù)包和對應(yīng)的ack數(shù)據(jù)包其余未丟包;所述第四種丟包場景為同一筆業(yè)務(wù),收到了第一個響應(yīng)數(shù)據(jù)包和對應(yīng)的ack,后續(xù)有響應(yīng)數(shù)據(jù)包丟失但有對應(yīng)的ack數(shù)據(jù)包;所述第五種丟包場景為同一筆業(yè)務(wù),收到了第一個響應(yīng)數(shù)據(jù)包和對應(yīng)的ack,后續(xù)有響應(yīng)數(shù)據(jù)包和對應(yīng)的ack數(shù)據(jù)包同時丟失;
55、當一個tcp會話有多筆同步業(yè)務(wù)時,包括一筆業(yè)務(wù)只有一個響應(yīng)數(shù)據(jù)包或一筆業(yè)務(wù)有多個響應(yīng)數(shù)據(jù)包;
56、當一筆業(yè)務(wù)只有一個響應(yīng)數(shù)據(jù)包時,包括:第六種丟包場景;所述第六種丟包場景包括:響應(yīng)數(shù)據(jù)包丟失,但有對應(yīng)的ack數(shù)據(jù)包;
57、當一筆業(yè)務(wù)有多個響應(yīng)數(shù)據(jù)包時,包括第七種丟包場景和第八種丟包場景;所述第七種丟包場景包括:某筆業(yè)務(wù)的響應(yīng)數(shù)據(jù)包丟失,但有對應(yīng)的ack;所述第八種丟包場景包括:某筆業(yè)務(wù)的其中一個響應(yīng)數(shù)據(jù)包和對應(yīng)的ack均丟失;
58、所述模塊m5.2包括:所述不同的數(shù)據(jù)源質(zhì)量檢測模型包括:第一種數(shù)據(jù)源質(zhì)量檢測模型和第二種數(shù)據(jù)源質(zhì)量檢測模型;
59、所述第一種數(shù)據(jù)源質(zhì)量檢測模型包括:
60、通過ack數(shù)據(jù)包的ack?number與前一個對端數(shù)據(jù)包的seq?number?+?lenth對比,當ack?number>seq?number?+?lenth,則判斷為丟包;
61、fin包判斷:fin?ack被當作一個負載為1的數(shù)據(jù)包,在對比時會對ack的acknumber做減1操作,當ack?number?-?1>seq?number?+?lenth,則判斷為丟包;
62、所述第二種數(shù)據(jù)源質(zhì)量檢測模型包括:
63、同側(cè)的兩個連續(xù)數(shù)據(jù)包的seq?number相減,其差值若大于被減包的lenth,則判斷為丟包;
64、fin包判斷:fin?ack被當作一個負載為1的數(shù)據(jù)包,同側(cè)的兩個連續(xù)數(shù)據(jù)包的seqnumber相減時做減1操作,其差值若大于被減數(shù)據(jù)包的lenth,則判斷為丟包;
65、所述第一種丟包場景、所述第二種丟包場景、所述第四種丟包場景、所述第六種丟包場景以及所述第七種丟包場景,采用所述第一種數(shù)據(jù)源質(zhì)量檢測模型對旁路網(wǎng)絡(luò)流量的質(zhì)量進行檢測;
66、所述第三種丟包場景、所述第五種丟包場景以及所述第八種丟包場景采用所述第二種數(shù)據(jù)源質(zhì)量檢測模型對旁路網(wǎng)絡(luò)流量的質(zhì)量進行檢測。
67、與現(xiàn)有技術(shù)相比,本發(fā)明具有如下的有益效果:
68、1、本發(fā)明通過采用tcp序列號分析的方法,解決了旁路網(wǎng)絡(luò)流量丟包對業(yè)務(wù)監(jiān)控的影響,從而實現(xiàn)了業(yè)務(wù)監(jiān)控質(zhì)量的大幅提升;
69、2、本發(fā)明通過采用數(shù)據(jù)源質(zhì)量檢測的方法,自動標記數(shù)據(jù)源質(zhì)量異常的業(yè)務(wù),解決了人工分析慢的問題,實現(xiàn)了程序自動化標記。