本發(fā)明涉及網(wǎng)絡(luò)安全領(lǐng)域,更具體地說,涉及一種數(shù)據(jù)包處理的方法及裝置。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)突飛猛進(jìn),網(wǎng)絡(luò)為人們帶來便捷的同時(shí)也帶來了威脅。很多網(wǎng)絡(luò)病毒的攻擊給企業(yè)或個(gè)人帶來了巨大損失,因此網(wǎng)絡(luò)數(shù)據(jù)的安全十分重要。
應(yīng)對(duì)網(wǎng)絡(luò)攻擊可以通過訪問控制實(shí)現(xiàn),使用防火墻就是訪問控制的一種方式。傳統(tǒng)的防火墻,在訪問控制的時(shí)候主要是建立訪問規(guī)則,將接收到的每一個(gè)數(shù)據(jù)包都逐條與訪問規(guī)則進(jìn)行匹配,直到最后一條。如果匹配到了相應(yīng)的規(guī)則,則按照該規(guī)則進(jìn)行處理,如果沒有匹配到則按照默認(rèn)規(guī)則進(jìn)行處理。
當(dāng)建立的訪問規(guī)則非常多時(shí),如果逐條匹配訪問規(guī)則,則會(huì)占用大量時(shí)間,嚴(yán)重影響訪問速度。
因此,如何在訪問控制時(shí)縮短數(shù)據(jù)包處理時(shí)間,是本領(lǐng)域技術(shù)人員需要解決的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種數(shù)據(jù)包處理的方法及裝置,以在訪問控制時(shí)縮短數(shù)據(jù)包處理時(shí)間。
為實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供了如下技術(shù)方案:
一種數(shù)據(jù)包處理的方法,包括:
接收數(shù)據(jù)包;
將所述數(shù)據(jù)包中的每種數(shù)據(jù)緩存到緩存地址線的對(duì)應(yīng)的數(shù)據(jù)線上;
判斷是否存在目標(biāo)地址線,所述目標(biāo)地址線的每個(gè)數(shù)據(jù)線的數(shù)據(jù)與所述緩存地址線對(duì)應(yīng)的數(shù)據(jù)線上的數(shù)據(jù)相同;
若是,則按照所述目標(biāo)地址線對(duì)應(yīng)的預(yù)設(shè)規(guī)則處理所述數(shù)據(jù)包;
若否,則按照默認(rèn)規(guī)則處理所述數(shù)據(jù)包。
其中,所述預(yù)設(shè)規(guī)則包括:
accept,reject,drop,forwarding。
其中,按照所述目標(biāo)地址線對(duì)應(yīng)的預(yù)設(shè)規(guī)則處理所述數(shù)據(jù)包,包括:
當(dāng)所述預(yù)設(shè)規(guī)則為accept時(shí),產(chǎn)生主機(jī)中斷信號(hào)或事件通知信號(hào),利用所述主機(jī)中斷信號(hào)或所述事件通知信號(hào)使主機(jī)接收所述數(shù)據(jù)包。
其中,所述按照所述目標(biāo)地址線對(duì)應(yīng)的預(yù)設(shè)規(guī)則處理所述數(shù)據(jù)包,包括:
當(dāng)預(yù)設(shè)規(guī)則為drop時(shí),將所述數(shù)據(jù)包丟棄,使所述緩存地址線復(fù)位。
其中,所述將所述數(shù)據(jù)包中的每種數(shù)據(jù)緩存到緩存地址線的對(duì)應(yīng)的數(shù)據(jù)線上,包括:
將同一數(shù)據(jù)包中的數(shù)據(jù)緩存至同一根緩存地址線的數(shù)據(jù)線上,其中所述數(shù)據(jù)包括mac地址、ip地址、port。
一種數(shù)據(jù)包處理的裝置,包括:
接收模塊,用于接收數(shù)據(jù)包;
緩存模塊,用于將所述數(shù)據(jù)包中的每種數(shù)據(jù)緩存到緩存地址線的對(duì)應(yīng)的數(shù)據(jù)線上;
判斷模塊,用于判斷是否存在目標(biāo)地址線,所述目標(biāo)地址線的每個(gè)數(shù)據(jù)線的數(shù)據(jù)與所述緩存地址線對(duì)應(yīng)的數(shù)據(jù)線上的數(shù)據(jù)相同;
第一處理模塊,用于存在目標(biāo)地址線時(shí),按照所述目標(biāo)地址線對(duì)應(yīng)的預(yù)設(shè)規(guī)則處理所述數(shù)據(jù)包;
第二處理模塊,用于不存在目標(biāo)地址線時(shí),按照默認(rèn)規(guī)則處理所述數(shù)據(jù)包。
其中,所述預(yù)設(shè)規(guī)則包括:
accept,reject,drop,forwarding。
其中,當(dāng)所述預(yù)設(shè)規(guī)則為accept時(shí),所述第一處理模塊,具體用于,產(chǎn)生主機(jī)中斷信號(hào)或事件通知信號(hào),利用所述主機(jī)中斷信號(hào)或所述事件通知信號(hào)使主機(jī)接收所述數(shù)據(jù)包。
其中,當(dāng)預(yù)設(shè)規(guī)則為drop時(shí),所述第一處理模塊,具體用于,將所述數(shù)據(jù)包丟棄,使所述緩存地址線復(fù)位。
其中,所述緩存模塊,具體用于,將同一數(shù)據(jù)包中的數(shù)據(jù)緩存至同一根緩存地址線的數(shù)據(jù)線上,其中所述數(shù)據(jù)包括mac地址、ip地址、port。
通過以上方案可知,本發(fā)明實(shí)施例提供的一種數(shù)據(jù)包處理的方法,接收數(shù)據(jù)包;將所述數(shù)據(jù)包中的每種數(shù)據(jù)緩存到緩存地址線的對(duì)應(yīng)的數(shù)據(jù)線上;判斷是否存在目標(biāo)地址線,所述目標(biāo)地址線的每個(gè)數(shù)據(jù)線的數(shù)據(jù)與所述緩存地址線對(duì)應(yīng)的數(shù)據(jù)線上的數(shù)據(jù)相同;若是,則按照所述目標(biāo)地址線對(duì)應(yīng)的預(yù)設(shè)規(guī)則處理所述數(shù)據(jù)包;若否,則按照默認(rèn)規(guī)則處理所述數(shù)據(jù)包。
由此可見,本發(fā)明實(shí)施例提供的一種數(shù)據(jù)包處理的方法可以在目標(biāo)地址線上定義數(shù)據(jù)的規(guī)則,當(dāng)接收到數(shù)據(jù)包時(shí),將數(shù)據(jù)包中的數(shù)據(jù)放在地址線上相應(yīng)的數(shù)據(jù)線上,與目標(biāo)地址線匹配,通過硬件的方式并行匹配,能快速的決定一個(gè)數(shù)據(jù)包需要如何處理,減少了數(shù)據(jù)包處理時(shí)間,提高了訪問速度。本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)包處理的裝置,同樣可以實(shí)現(xiàn)上述技術(shù)效果。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例公開的一種數(shù)據(jù)包處理的方法流程圖;
圖2為本發(fā)明實(shí)施例公開的一種數(shù)據(jù)包處理的裝置結(jié)構(gòu)示意圖;
圖3為本發(fā)明實(shí)施例公開的一種具體的數(shù)據(jù)包處理的實(shí)現(xiàn)框圖;
圖4為本發(fā)明實(shí)施例公開的一種數(shù)據(jù)緩存模塊拓?fù)鋱D;
圖5為本發(fā)明實(shí)施例公開的一種數(shù)據(jù)緩存模塊數(shù)據(jù)類型圖;
圖6為本發(fā)明實(shí)施例公開的一種檢測模塊拓?fù)鋱D。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例公開了一種數(shù)據(jù)包處理的方法及裝置,以在訪問控制時(shí)縮短數(shù)據(jù)包處理時(shí)間。
參見圖1,本發(fā)明實(shí)施例提供的一種數(shù)據(jù)包處理的方法,具體包括:
s101,接收數(shù)據(jù)包。
s102,將所述數(shù)據(jù)包中的每種數(shù)據(jù)緩存到緩存地址線的對(duì)應(yīng)的數(shù)據(jù)線上。
具體地,在接收到數(shù)據(jù)包后,需要對(duì)數(shù)據(jù)包進(jìn)行緩存,將數(shù)據(jù)包中的數(shù)據(jù)緩存到緩存地址線的對(duì)應(yīng)的數(shù)據(jù)線上,也就是對(duì)應(yīng)的地址線與對(duì)應(yīng)的數(shù)據(jù)線的交叉點(diǎn)。為了方便存儲(chǔ),可以將同一個(gè)數(shù)據(jù)包的數(shù)據(jù)存放在同一個(gè)地址線上,地址線上分布著包括存放mac地址信息、ip地址信息、port地址信息的數(shù)據(jù)線,可以將數(shù)據(jù)包中對(duì)應(yīng)的信息分別放置同一條緩存地址線上的對(duì)應(yīng)的數(shù)據(jù)線上。
s103,判斷是否存在目標(biāo)地址線,所述目標(biāo)地址線的每個(gè)數(shù)據(jù)線的數(shù)據(jù)與所述緩存地址線對(duì)應(yīng)的數(shù)據(jù)線上的數(shù)據(jù)相同。
具體地,判斷所述數(shù)據(jù)包應(yīng)被如何處理時(shí),利用目標(biāo)地址線進(jìn)行檢測,可以預(yù)先設(shè)定好預(yù)設(shè)地址線上的數(shù)據(jù)以及預(yù)設(shè)規(guī)則,當(dāng)需要檢測緩存地址線的數(shù)據(jù)時(shí),將緩存地址線與預(yù)設(shè)地址線匹配,判斷是否可以匹配到一條預(yù)設(shè)地址線,其中這條地址線上的每個(gè)數(shù)據(jù)線的數(shù)據(jù)與緩存地址線對(duì)應(yīng)的數(shù)據(jù)線上的數(shù)據(jù)相同,也就是判斷是否存在目標(biāo)地址線。
需要說明的是,利用硬件進(jìn)行檢測數(shù)據(jù)包應(yīng)被如何處理可以并行的檢測數(shù)據(jù)包中的每個(gè)數(shù)據(jù),因此檢測速度很快。
s104,若是,則按照所述目標(biāo)地址線對(duì)應(yīng)的預(yù)設(shè)規(guī)則處理所述數(shù)據(jù)包。
具體地,如果存在目標(biāo)地址線,也就是說,緩存地址線上的數(shù)據(jù)與一條預(yù)設(shè)的地址線上的參數(shù)一致,那么則按這條目標(biāo)地址線上的預(yù)設(shè)的規(guī)則處理這個(gè)數(shù)據(jù)包。
例如,預(yù)設(shè)地址線1為1010111accept;
預(yù)設(shè)地址線2為0000101accept;
預(yù)設(shè)地址線3為1110001accept;
其中由0、1組成的數(shù)據(jù)為預(yù)設(shè)參數(shù),accept為預(yù)設(shè)規(guī)則,預(yù)設(shè)規(guī)則還可以為reject、drop、forwarding。
當(dāng)緩存地址線上的數(shù)據(jù)為0000101,也就是數(shù)據(jù)包的數(shù)據(jù)為0000101,那么匹配到預(yù)設(shè)地址線2,目標(biāo)地址線為預(yù)設(shè)地址線2,利用預(yù)設(shè)地址線的預(yù)設(shè)規(guī)則accept處理這個(gè)數(shù)據(jù)包,即接收這個(gè)數(shù)據(jù)包。
s105,若否,則按照默認(rèn)規(guī)則處理所述數(shù)據(jù)包。
如果沒有匹配到目標(biāo)地址線,則按照默認(rèn)規(guī)則處理數(shù)據(jù)包,默認(rèn)規(guī)則可以設(shè)置為drop,即丟棄這個(gè)數(shù)據(jù)包。
需要說明的是,預(yù)設(shè)規(guī)則與默認(rèn)規(guī)則可以在主機(jī)上將相關(guān)訪問控制的規(guī)則編寫好,然后使用相關(guān)的專用軟件把相關(guān)的規(guī)則燒錄。
由此可見,本發(fā)明實(shí)施例提供的一種數(shù)據(jù)包處理的方法,可以在目標(biāo)地址線上定義數(shù)據(jù)的規(guī)則,當(dāng)接收到數(shù)據(jù)包時(shí),將數(shù)據(jù)包中的數(shù)據(jù)放在地址線上相應(yīng)的數(shù)據(jù)線上,與目標(biāo)地址線匹配,通過硬件的方式并行匹配,能快速的決定一個(gè)數(shù)據(jù)包需要如何處理,減少了數(shù)據(jù)包處理時(shí)間,提高了訪問速度。
本發(fā)明實(shí)施例提供一種具體的數(shù)據(jù)包處理的方法,區(qū)別于上述實(shí)施例,本發(fā)明實(shí)施例對(duì)上述實(shí)施例中的s104做了具體地限定與說明,其他步驟內(nèi)容與上述實(shí)施例大致相同,具體內(nèi)容可以參考上述實(shí)施例對(duì)應(yīng)的部分,此處不再贅述。具體地,s104包括:
當(dāng)所述預(yù)設(shè)規(guī)則為accept時(shí),產(chǎn)生主機(jī)中斷信號(hào)或事件通知信號(hào),利用所述主機(jī)中斷信號(hào)或所述事件通知信號(hào)使主機(jī)接收所述數(shù)據(jù)包。
具體地,當(dāng)預(yù)設(shè)規(guī)則為accept,要接收數(shù)據(jù)包時(shí),產(chǎn)生主機(jī)中斷信號(hào)或事件通知信號(hào),使主機(jī)做進(jìn)一步的處理。
當(dāng)預(yù)設(shè)規(guī)則為drop時(shí),將所述數(shù)據(jù)包丟棄,使所述緩存地址線復(fù)位。
具體地,當(dāng)預(yù)設(shè)規(guī)則為drop,也就是需要丟棄數(shù)據(jù)包時(shí),使相應(yīng)的緩存地址線復(fù)位,將緩存地址線上的所有數(shù)據(jù)寫成0。
本發(fā)明實(shí)施例提供一種具體的數(shù)據(jù)包處理的方法,區(qū)別于上述實(shí)施例,本發(fā)明實(shí)施例對(duì)上述實(shí)施例中s101做了具體地限定,其他步驟內(nèi)容與上述實(shí)施例大致相同,具體內(nèi)容可以參考上述實(shí)施例,此處不再贅述。具體地,s101包括:
將同一數(shù)據(jù)包中的數(shù)據(jù)緩存至同一根緩存地址線的數(shù)據(jù)線上,其中所述數(shù)據(jù)包括mac地址、ip地址、port。
具體地,為了存儲(chǔ)方便,使同一個(gè)數(shù)據(jù)包中的數(shù)據(jù)緩存至一個(gè)緩存地址線中,地址線上分布著包括存放mac地址信息、ip地址信息、port地址信息的數(shù)據(jù)線,可以將數(shù)據(jù)包中對(duì)應(yīng)的信息分別放置同一條緩存地址線上的對(duì)應(yīng)的數(shù)據(jù)線上。
下面對(duì)本發(fā)明實(shí)施例提供的一種數(shù)據(jù)包處理的裝置進(jìn)行介紹,參見圖2,本發(fā)明實(shí)施例具體包括:
接收模塊201,用于接收數(shù)據(jù)包。
緩存模塊202,用于將所述數(shù)據(jù)包中的每種數(shù)據(jù)緩存到緩存地址線的對(duì)應(yīng)的數(shù)據(jù)線上。
具體地,接收模塊201在接收到數(shù)據(jù)包后,緩存模塊202需要對(duì)數(shù)據(jù)包進(jìn)行緩存,將數(shù)據(jù)包中的數(shù)據(jù)緩存到緩存地址線的對(duì)應(yīng)的數(shù)據(jù)線上,也就是對(duì)應(yīng)的地址線與對(duì)應(yīng)的數(shù)據(jù)線的交叉點(diǎn)。為了方便存儲(chǔ),可以將同一個(gè)數(shù)據(jù)包的數(shù)據(jù)存放在同一個(gè)地址線上,地址線上分布著包括存放mac地址信息、ip地址信息、port地址信息的數(shù)據(jù)線,可以將數(shù)據(jù)包中對(duì)應(yīng)的信息分別放置同一條緩存地址線上的對(duì)應(yīng)的數(shù)據(jù)線上。
判斷模塊203,用于判斷是否存在目標(biāo)地址線,所述目標(biāo)地址線的每個(gè)數(shù)據(jù)線的數(shù)據(jù)與所述緩存地址線對(duì)應(yīng)的數(shù)據(jù)線上的數(shù)據(jù)相同。
具體地,判斷所述數(shù)據(jù)包應(yīng)被如何處理時(shí),利用目標(biāo)地址線進(jìn)行檢測,可以預(yù)先設(shè)定好預(yù)設(shè)地址線上的數(shù)據(jù)以及預(yù)設(shè)規(guī)則,當(dāng)需要檢測緩存地址線的數(shù)據(jù)時(shí),將緩存地址線與預(yù)設(shè)地址線匹配,判斷模塊203判斷是否可以匹配到一條預(yù)設(shè)地址線,其中這條地址線上的每個(gè)數(shù)據(jù)線的數(shù)據(jù)與緩存地址線對(duì)應(yīng)的數(shù)據(jù)線上的數(shù)據(jù)相同,也就是判斷是否存在目標(biāo)地址線。
需要說明的是,利用硬件進(jìn)行檢測數(shù)據(jù)包應(yīng)被如何處理可以并行的檢測數(shù)據(jù)包中的每個(gè)數(shù)據(jù),因此檢測速度很快。
第一處理模塊204,用于存在目標(biāo)地址線時(shí),按照所述目標(biāo)地址線對(duì)應(yīng)的預(yù)設(shè)規(guī)則處理所述數(shù)據(jù)包。
具體地,如果存在目標(biāo)地址線,也就是說,緩存地址線上的數(shù)據(jù)與一條預(yù)設(shè)的地址線上的參數(shù)一致,那么第一處理模塊204則按這條目標(biāo)地址線上的預(yù)設(shè)的規(guī)則處理這個(gè)數(shù)據(jù)包。
例如,預(yù)設(shè)地址線1為1010111accept;
預(yù)設(shè)地址線2為0000101accept;
預(yù)設(shè)地址線3為1110001accept;
其中由0、1組成的數(shù)據(jù)為預(yù)設(shè)參數(shù),accept為預(yù)設(shè)規(guī)則,預(yù)設(shè)規(guī)則還可以為reject、drop、forwarding。
當(dāng)緩存地址線上的數(shù)據(jù)為0000101,也就是數(shù)據(jù)包的數(shù)據(jù)為0000101,那么匹配到預(yù)設(shè)地址線2,目標(biāo)地址線為預(yù)設(shè)地址線2,利用預(yù)設(shè)地址線的預(yù)設(shè)規(guī)則accept處理這個(gè)數(shù)據(jù)包,即接收這個(gè)數(shù)據(jù)包。
第二處理模塊205,用于不存在目標(biāo)地址線時(shí),按照默認(rèn)規(guī)則處理所述數(shù)據(jù)包。
如果沒有匹配到目標(biāo)地址線,則第二處理模塊205按照默認(rèn)規(guī)則處理數(shù)據(jù)包,默認(rèn)規(guī)則可以設(shè)置為drop,即丟棄這個(gè)數(shù)據(jù)包。
需要說明的是,預(yù)設(shè)規(guī)則與默認(rèn)規(guī)則可以在主機(jī)上將相關(guān)訪問控制的規(guī)則編寫好,然后使用相關(guān)的專用軟件把相關(guān)的規(guī)則燒錄。
由此可見,本發(fā)明實(shí)施例提供的一種數(shù)據(jù)包處理的方法,可以在目標(biāo)地址線上定義數(shù)據(jù)的規(guī)則,當(dāng)接收模塊201接收到數(shù)據(jù)包時(shí),利用緩存模塊202將數(shù)據(jù)包中的數(shù)據(jù)放在地址線上相應(yīng)的數(shù)據(jù)線上,利用判斷模塊203與目標(biāo)地址線匹配,通過硬件的方式并行匹配,能快速的決定一個(gè)數(shù)據(jù)包需要如何處理,減少了數(shù)據(jù)包處理時(shí)間,提高了訪問速度。
本發(fā)明實(shí)施例提供一種具體的數(shù)據(jù)包處理的裝置,區(qū)別于上述實(shí)施例,本發(fā)明實(shí)施例對(duì)上述實(shí)施例中的第一處理模塊204做了具體地限定與說明,其他模塊內(nèi)容與上述實(shí)施例大致相同,具體內(nèi)容可以參考上述實(shí)施例對(duì)應(yīng)的部分,此處不再贅述。具體地,第一處理模塊204具體用于:
當(dāng)所述預(yù)設(shè)規(guī)則為accept時(shí),產(chǎn)生主機(jī)中斷信號(hào)或事件通知信號(hào),利用所述主機(jī)中斷信號(hào)或所述事件通知信號(hào)使主機(jī)接收所述數(shù)據(jù)包。
具體地,當(dāng)預(yù)設(shè)規(guī)則為accept,要接收數(shù)據(jù)包時(shí),第一處理模塊204產(chǎn)生主機(jī)中斷信號(hào)或事件通知信號(hào),使主機(jī)做進(jìn)一步的處理。
當(dāng)預(yù)設(shè)規(guī)則為drop時(shí),將所述數(shù)據(jù)包丟棄,使所述緩存地址線復(fù)位。
具體地,當(dāng)預(yù)設(shè)規(guī)則為drop,也就是需要丟棄數(shù)據(jù)包時(shí),第一處理模塊204使相應(yīng)的緩存地址線復(fù)位,將緩存地址線上的所有數(shù)據(jù)寫成0。
本發(fā)明實(shí)施例提供一種具體的數(shù)據(jù)包處理的裝置,區(qū)別于上述實(shí)施例,本發(fā)明實(shí)施例對(duì)上述實(shí)施例中緩存模塊201做了具體地限定,其他模塊內(nèi)容與上述實(shí)施例大致相同,具體內(nèi)容可以參考上述實(shí)施例,此處不再贅述。具體地,緩存模塊201具體用于:
緩存模塊201將同一數(shù)據(jù)包中的數(shù)據(jù)緩存至同一根緩存地址線的數(shù)據(jù)線上,其中所述數(shù)據(jù)包括mac地址、ip地址、port。
具體地,為了存儲(chǔ)方便,使同一個(gè)數(shù)據(jù)包中的數(shù)據(jù)緩存至一個(gè)緩存地址線中,地址線上分布著包括存放mac地址信息、ip地址信息、port地址信息的數(shù)據(jù)線,可以將數(shù)據(jù)包中對(duì)應(yīng)的信息分別放置同一條緩存地址線上的對(duì)應(yīng)的數(shù)據(jù)線上。
下面對(duì)本發(fā)明實(shí)施例提供的一種具體的數(shù)據(jù)包處理的裝置進(jìn)行介紹,參圖3,本發(fā)明實(shí)施例具體包括:
數(shù)據(jù)包接收緩存模塊301,網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)入數(shù)據(jù)包接收緩存模塊,進(jìn)行緩存;
檢測模塊302,對(duì)該數(shù)據(jù)包進(jìn)行檢測,是否符合相關(guān)訪問控制規(guī)則;
數(shù)據(jù)包處理模塊303,如果檢測通過,則通知數(shù)據(jù)包處理模塊303,檢測通過可以放行;
檢測模塊302通過終端或事件的方式通知主機(jī)做相關(guān)的處理,提取數(shù)據(jù)包;
如果檢測不通過,檢測模塊302直接通知數(shù)據(jù)包處理模塊303將數(shù)據(jù)丟棄;
編程模塊304,主要實(shí)現(xiàn)根據(jù)主機(jī)設(shè)計(jì)的相關(guān)規(guī)則,燒錄進(jìn)檢測模塊302。
主機(jī)模塊305,該模塊為需要保護(hù)的計(jì)算機(jī)系統(tǒng),該計(jì)算機(jī)系統(tǒng)可以是服務(wù)器,存儲(chǔ),或者其他需要進(jìn)行訪問控制的信息化設(shè)備。
具體地,參見圖4與圖5,數(shù)據(jù)包接收緩存模塊301具體包括:
數(shù)據(jù)線和地址線交叉點(diǎn)用來存放數(shù)據(jù)(0或1),為了存取方便,設(shè)定在一個(gè)地址線上存儲(chǔ)一個(gè)數(shù)據(jù)包。在一個(gè)數(shù)據(jù)包中包括標(biāo)頭和用戶數(shù)據(jù)。標(biāo)頭主要是相關(guān)的協(xié)議頭,包括以太網(wǎng)頭、ip頭、tcp/udp協(xié)議頭等。
因?yàn)榫W(wǎng)絡(luò)接收到的數(shù)據(jù)包的標(biāo)頭基本是有規(guī)律可循的,因此在接收數(shù)據(jù)的時(shí)候,可以讓相關(guān)的數(shù)據(jù)存儲(chǔ)到相應(yīng)的位置,讓數(shù)據(jù)包的ip地址存到預(yù)設(shè)的ip存儲(chǔ)位置,mac存到預(yù)設(shè)的mac存儲(chǔ)位置,以方便檢測模塊以硬件的方式進(jìn)行檢測匹配,達(dá)到并行檢測匹配,實(shí)現(xiàn)快速?zèng)Q定數(shù)據(jù)包的放行或者丟棄。在通常,數(shù)據(jù)傳輸過程中一般都會(huì)有mac,ip,port等幾種參數(shù),在訪問控制的時(shí)候,也一般會(huì)根據(jù)這些參數(shù)進(jìn)行控制。因此需要提取這些信息,放置到相應(yīng)的數(shù)據(jù)線上,方便檢測模塊進(jìn)行檢測。
參見圖6,檢測模塊302具體包括:
檢測模塊中的每根地址線當(dāng)中存放一條參數(shù)信息,動(dòng)作處理模塊中存放針對(duì)該參數(shù)信息的處理規(guī)則(accept,reject,drop,forwarding)。
參數(shù)檢測模塊用于獲取數(shù)據(jù)包中相關(guān)的ip,port,mac的信息,動(dòng)作處理模塊中預(yù)先存放著對(duì)應(yīng)參數(shù)的動(dòng)作處理信息。在設(shè)置防火墻動(dòng)作規(guī)則的時(shí)候,并不需要所有的參數(shù)都設(shè)置,里面可以只設(shè)置其中的某一項(xiàng),如ip,或者他們之間的一個(gè)組合,如mac和ip。
一旦數(shù)據(jù)包中的相關(guān)參數(shù)和參數(shù)檢測模塊中的相關(guān)設(shè)置匹配,就使相應(yīng)的地址線進(jìn)行導(dǎo)通,使其選擇動(dòng)作模塊中預(yù)先設(shè)置好的相關(guān)動(dòng)作。
如果動(dòng)作模塊選擇的是accept,則動(dòng)作模塊將激發(fā)數(shù)據(jù)處理模塊產(chǎn)生中斷信號(hào)或事件通知信號(hào),使主機(jī)接收數(shù)據(jù)包。
如果動(dòng)作是drop,則動(dòng)作模塊將激發(fā)數(shù)據(jù)處理模塊將數(shù)據(jù)進(jìn)行丟棄。
這種檢查方式的優(yōu)點(diǎn)在于通過硬件方式并行規(guī)則匹配,能快速的決定一個(gè)數(shù)據(jù)包是accept還是drop,或者reject,減少相關(guān)規(guī)則處理時(shí)間,提高訪問速度。
數(shù)據(jù)包處理模塊303具體包括:
該模塊主要用于在接收(accept)數(shù)據(jù)包時(shí)產(chǎn)生主機(jī)中斷信號(hào)(或者事件通知信號(hào)),使主機(jī)做進(jìn)一步的處理。在丟棄(drop)數(shù)據(jù)包是,使數(shù)據(jù)緩存模塊中的相關(guān)地址線進(jìn)行復(fù)位(清0)。
編程模塊304具體包括:
該模塊主要用于方便向檢測模塊寫入相應(yīng)的規(guī)則。在規(guī)則寫入的時(shí)候,可以在主機(jī)上將相關(guān)訪問控制規(guī)則編寫好,然后使用相關(guān)的專用軟件把相關(guān)的規(guī)則燒入檢測模塊。檢測模塊根據(jù)這個(gè)規(guī)則進(jìn)行相關(guān)的訪問控制。
因此,本發(fā)明實(shí)施例提供的一種數(shù)據(jù)包處理的裝置,可以通過硬件的方式對(duì)數(shù)據(jù)包進(jìn)行檢測,實(shí)現(xiàn)了對(duì)數(shù)據(jù)包訪問進(jìn)行快速的處理,從而提高訪問速度。這種方式對(duì)于訪問網(wǎng)絡(luò)安全問題突出,訪問量巨大的今天,對(duì)于提高服務(wù)器和存儲(chǔ)的吞吐量,降低訪問時(shí)延,進(jìn)而提高產(chǎn)品的競爭力,有正面促進(jìn)作用。
本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。
對(duì)所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。