欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種報文處理方法和裝置的制造方法

文檔序號:9435865閱讀:516來源:國知局
一種報文處理方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及報文處理領(lǐng)域,尤其涉及一種報文處理方法和裝置。
【背景技術(shù)】
[0002]拒絕服務(wù)攻擊(Dos,Denial of Service)是指利用各種服務(wù)請求耗盡被攻擊網(wǎng)絡(luò)的系統(tǒng)資源,從而使被攻擊網(wǎng)絡(luò)無法處理合法用戶的請求。然而隨著僵尸網(wǎng)絡(luò)的興起,使得分布式拒絕服務(wù)攻擊(DDos,Distributed of Service)得快快速壯大和日益泛濫。分布式拒絕服務(wù)攻擊是指借助于客戶/服務(wù)器技術(shù),將多個計算機(jī)聯(lián)合起來作為攻擊平臺,對一個或多個目標(biāo)發(fā)動DoS攻擊。DDos的攻擊方法簡單、影響較大、難以追查,形成了規(guī)模巨大的攻擊和網(wǎng)絡(luò)流量,對被攻擊網(wǎng)絡(luò)造成了極大的危害。
[0003]隨著DDos攻擊技術(shù)的不斷提高和發(fā)展,各運(yùn)營商面臨的安全和運(yùn)營挑戰(zhàn)也不斷增多,運(yùn)營商必須在DDos威脅影響關(guān)鍵業(yè)務(wù)和應(yīng)用之前,接收流量報文并且進(jìn)行分析,判斷是否發(fā)生攻擊,把攻擊流量清洗掉,確保網(wǎng)絡(luò)正常穩(wěn)定的運(yùn)行以及業(yè)務(wù)的正常開展。其核心是對流量報文進(jìn)行分析處理。
[0004]現(xiàn)在的攻擊流量往往高達(dá)Gbps甚至數(shù)十Gbps,高效的報文分析處理,是一切分析處理工作的基礎(chǔ)。目前的高速網(wǎng)絡(luò)流量分析模塊都安裝在專用于網(wǎng)絡(luò)處理器架構(gòu)下,這種架構(gòu)價格昂貴,不易擴(kuò)展。或者高速網(wǎng)絡(luò)流量分析模塊使用86架構(gòu)處理器,86架構(gòu)是現(xiàn)在通用的架構(gòu),卻很容易因為處理不當(dāng),而導(dǎo)致處理性能急劇下降,高速網(wǎng)絡(luò)流量分析模塊通常選擇丟棄一部分性能使用X86架構(gòu)處理器。

【發(fā)明內(nèi)容】

[0005]有鑒于此,本發(fā)明實施例提供一種報文處理方法和裝置,以優(yōu)化現(xiàn)有大流量報文的處理方案。
[0006]第一方面,本發(fā)明實施例提供了一種報文處理方法,包括:
[0007]在主線程中將接收的報文順序拷貝到數(shù)組中;
[0008]在報文分流線程中提取所述數(shù)組中所述報文的源地址和目標(biāo)地址;
[0009]將所述源地址與所述目標(biāo)地址按照預(yù)設(shè)算法進(jìn)行計算;
[0010]將所述報文按照所述計算結(jié)果發(fā)送給相應(yīng)的工作線程。
[0011]第二方面,本發(fā)明實施例還提供了一種報文處理裝置,包括:
[0012]報文接收模塊,用于在主線程中將接收的報文順序拷貝到數(shù)組中;
[0013]地址提取模塊,用于在報文分流線程中提取所述數(shù)組中所述報文的源地址和目標(biāo)地址;
[0014]地址計算模塊,用于將所述源地址與所述目的地址按照預(yù)設(shè)算法進(jìn)行計算;
[0015]報文分配模塊,用于將所述報文按照所述計算結(jié)果發(fā)送給相應(yīng)的工作線程。
[0016]本發(fā)明實施例提供的一種報文處理方法和裝置,該方法通過在主線程將接收的報文順序拷貝到數(shù)組中,在報文分流線程中提取該報文的源地址和目標(biāo)地址,并將源地址和目標(biāo)地址按照預(yù)設(shè)算法進(jìn)行計算,根據(jù)計算結(jié)果將該報文發(fā)送到相應(yīng)的工作線程。通過采用上述報文處理方法,可以充分利用多個CPU核心,減少線程之間的相互影響,并且能提高緩存的命中率,提高了報文分析處理效率。
【附圖說明】
[0017]通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細(xì)描述,本發(fā)明的其它特征、目的和優(yōu)點(diǎn)將會變得更明顯:
[0018]圖1為本發(fā)明實施例一提供的一種報文處理方法流程圖;
[0019]圖2為本發(fā)明實施例二提供的一種報文處理方法流程圖;
[0020]圖3為本發(fā)明實施例三提供的一種報文處理裝置的結(jié)構(gòu)框圖。
【具體實施方式】
[0021]下面結(jié)合附圖和實施例對本發(fā)明作進(jìn)一步的詳細(xì)說明??梢岳斫獾氖牵颂幩枋龅木唧w實施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部內(nèi)容。
[0022]實施例一
[0023]圖1是本發(fā)明實施例一提供的一種報文處理方法的流程圖,該方法可以由任意執(zhí)行報文處理的裝置來執(zhí)行,該裝置可以通過軟件和/或硬件來實現(xiàn)。如圖1所示,該方法包括:
[0024]S110、在主線程中將接收的報文順序拷貝到數(shù)組中。
[0025]在本實施例中,所述報文可以為IP報文、TCP報文或UDP報文等報文。
[0026]示例性的,在主線程接收報文前,可以先創(chuàng)建一個二維數(shù)組,當(dāng)主線程接收到報文時,將接收到的報文拷貝到這個二維數(shù)組中。優(yōu)選的,接收的報文可以按接收的順序拷貝到這個二維數(shù)組中。優(yōu)選的,可以將接收的報文的頭部按順序拷貝到二維數(shù)組中。例如,創(chuàng)建二維數(shù)組G_PKG[MAX*N] [Μ],N為創(chuàng)建的工作線程數(shù),MAX為一個具體數(shù)值,M為最大拷貝的字節(jié)數(shù),其中Ν,ΜΑΧ,Μ都可以根據(jù)具體的實際情況設(shè)定。進(jìn)一步的,假設(shè)MAX可以為40,N可以為10,M可以為60字節(jié)。創(chuàng)建的主線程可以命名為HANDLE線程,當(dāng)HANDLE線程接收到一個報文時,這里接收的報文可以命名為PKG報文,將PKG報文的報文頭拷貝到二維數(shù)組G_PKG中,由于現(xiàn)有報文的報文頭部的字節(jié)都小于60字節(jié),因此M設(shè)置為60字節(jié)可以滿足本實施例。
[0027]S120、在報文分流線程中提取所述數(shù)組中所述報文的源地址和目標(biāo)地址。
[0028]示例性的,當(dāng)報文分流線程檢查到二維數(shù)組中有新的報文時,就會提取報文的源地址和目標(biāo)地址。例如,將報文分流線程可以命名為SPLIT線程,當(dāng)SPLIT線程檢查到G_PKG中有新的報文時,就在二維數(shù)組中取出該報文的源IP地址SIP和目標(biāo)IP地址DIP。
[0029]S130、將所述源地址與所述目標(biāo)地址按照預(yù)設(shè)算法進(jìn)行計算。
[0030]示例性的,當(dāng)報文分流線程提取出報文的源地址和目標(biāo)地址后,將源地址和目標(biāo)地址按照預(yù)先設(shè)定的算法進(jìn)行運(yùn)算得出一個數(shù)值。例如,預(yù)先設(shè)定的算法可以為(SIP'DIP) % N,當(dāng)SPLIT線程提取SIP和DIP后,按照此算法算出一個數(shù)值,此值可以為命名為KEY。
[0031]S140、將所述報文按照所述計算結(jié)果發(fā)送給相應(yīng)的工作線程。
[0032]示例性的,在將所述報文的源地址與目標(biāo)地址進(jìn)行計算后,報文分流線程根據(jù)計算的值,將該報文發(fā)送給相應(yīng)的工作線程。例如,將SIP和DIP按照(SIP~DIP) % N的算法得出的KEY值為M,且M〈N,報文分流線程就將報文PKG發(fā)送給對應(yīng)的工作線程M。
[0033]S150、當(dāng)所述工作線程接收到所述報文后,對所述報文進(jìn)行分析統(tǒng)計。
[0034]示例性的,當(dāng)工作線程接收到由報文分流線程發(fā)送的報文時,取出該報文,并對該報文進(jìn)行分析統(tǒng)計,工作線程具體的分析方法可以按照實際情況來自由設(shè)定。優(yōu)選的,可以取出各類報文的頭部進(jìn)行分析。例如,當(dāng)工作線程接收的報文為IP報文時,則對IP HEADER進(jìn)行分析統(tǒng)計,又如,當(dāng)工作線程接收的報文為TCP報文時,則對TCP HEADER進(jìn)行分析統(tǒng)計,或者,當(dāng)工作線程接收的報文為UDP報文時,則對UDP HEADER進(jìn)行分析統(tǒng)計。
[0035]本發(fā)明實施例一提供的報文處理方法,先建立一個二維數(shù)值,主線程接收到報文時,將接收的報文順序拷貝到二維數(shù)組中,報文分流線程檢查到二維數(shù)組中有報文時,就提取報文的源地址和目標(biāo)地址,并將源地址和目標(biāo)地址按照預(yù)設(shè)的算法進(jìn)行進(jìn)算,并按照計算結(jié)果將報文發(fā)送給相應(yīng)的工作線程,工作線程接收到報文后,可以對報文進(jìn)行分析統(tǒng)計。當(dāng)?shù)竭_(dá)的報文很多時,主線程只負(fù)責(zé)拷貝報文,可以增大報文的緩存命中率,使用報文分流線程減少工作線程對報文的查找,工作線程只需要分析接收到的報文,這樣可以加快報文處理的過程,提高工作線程的工作效率。
[0036]實施例二
[0037]圖2為本發(fā)明實施例提供的一種報文處理方法的流程圖,在上述實施例基礎(chǔ)之上作進(jìn)一步的優(yōu)化。
[0038]進(jìn)一步的,在主線程中將接收的報文順序拷貝到數(shù)組之前,先創(chuàng)建主線程,報文分流線程以及不小于兩個的工作線程,并將這些線程分別綁定至不同的CPU,該流程具體包括:
[0039]S2
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
黄大仙区| 乾安县| 乌恰县| 宾阳县| 梁河县| 瓮安县| 包头市| 民县| 靖西县| 皋兰县| 万州区| 凤山市| 广河县| 龙江县| 乐平市| 高尔夫| 旬阳县| 法库县| 罗源县| 苍梧县| 上犹县| 西宁市| 林周县| 大余县| 民权县| 景宁| 汝城县| 永康市| 绥宁县| 华容县| 兴国县| 平顺县| 北海市| 西吉县| 武宣县| 石台县| 大厂| 连州市| 威信县| 乌拉特前旗| 许昌县|