專利名稱::單一芯片實現(xiàn)多項網(wǎng)絡(luò)安全功能的方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及網(wǎng)絡(luò)安全和組網(wǎng)
技術(shù)領(lǐng)域:
,尤其涉及一種單一芯片實現(xiàn)多項網(wǎng)絡(luò)安全功能的方法。
背景技術(shù):
:隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)已經(jīng)成了社會生活中不可或缺的一種工具,小到soho(家庭辦公),大到上萬人的企業(yè),都建立了自己的網(wǎng)絡(luò),但是隨之而來的是,網(wǎng)絡(luò)病毒、黑客的危害也越來越大,一次比一次頻繁,影響范圍一次比一次大,造成的損失一次比一次嚴(yán)重。面對這種情況,所有擁有網(wǎng)絡(luò)的企業(yè)都不得不認(rèn)真思考自身網(wǎng)絡(luò)的安全問題。要解決網(wǎng)絡(luò)安全,當(dāng)然離不開網(wǎng)絡(luò)安全設(shè)備。目前市面上的網(wǎng)絡(luò)安全設(shè)備不外乎采用了以下幾種方案1、基于工控機架構(gòu)的防火墻工控機的架構(gòu),是CPU+主板+網(wǎng)卡,網(wǎng)卡芯片與CPU通過主板的PCI總線相連,所有的報文從網(wǎng)卡芯片收上來,都通過PCI總線送到CPU,由CPU進行全部處理。基于這種方案的防火墻,性能受限于PCI總線的性能,是沒有辦法達到很高的性能的。2、基于NP架構(gòu)的防火墻NP的架構(gòu),是CPU+若干個微引擎+網(wǎng)卡,一般CPU與微引擎是集成在一個NPU芯片內(nèi)。報文從網(wǎng)卡收上來,分派到一個指定的微引擎去處理,處理完后微引擎直接轉(zhuǎn)發(fā)。由于有若干個微引擎同時處理,處理速度較快。但微引擎的代碼需要用微碼編寫,且直接操作微引擎內(nèi)部的硬件資源,非常復(fù)雜;微引擎可存放的指令空間也非常有限,僅21T4K(后續(xù)升級版本也在此數(shù)量級內(nèi)),不能實現(xiàn)復(fù)雜的處理邏輯?;谶@種方案的防火墻,價格都比較昂貴,處理簡單任務(wù)時,能夠達到線速,但處理深度過濾等多任務(wù)時,性能急劇下降。3、基于交換、路由芯片架構(gòu)的防火墻此架構(gòu)是CPU+FPGA/ASIC,F(xiàn)PGA/ASIC上直接帶有(或外接)網(wǎng)口,申請?zhí)枮镃N200410040052.8的發(fā)明專利申請就是采用此架構(gòu)的技術(shù)方案。所述方案的FPGA/ASIC是從交換、路由芯片轉(zhuǎn)過來的,在交換、路由的基礎(chǔ)上,加入防火墻、NAT(NetworkAddressTranslation,網(wǎng)絡(luò)地址轉(zhuǎn)換)的功能。該方案的缺點是處理每個報文,都要重新査找路由表中的路由,匹配NAT表中的地址轉(zhuǎn)換規(guī)則,因此性能會受到很大的限制;另外,路由表、NAT表的大小不可能太大,也嚴(yán)重限制了其實際的應(yīng)用范圍。以上幾種方案都有不足,要么本身性能不高,要么在復(fù)雜應(yīng)用下的性能不高,無法滿足客戶日益增長的需求。
發(fā)明內(nèi)容因此本發(fā)明所要解決的技術(shù)問題是提供一種單一芯片同時實現(xiàn)二層交換、防火墻連接表的方法,該方法能夠提高網(wǎng)絡(luò)的系統(tǒng)性能、降低系統(tǒng)成本。本發(fā)明具體是這樣實現(xiàn)的1、一種單一芯片實現(xiàn)多項網(wǎng)絡(luò)安全功能的方法,包括如下步驟-1-1、芯片對收到的報文進行解析,得到輸入報文的關(guān)鍵域的內(nèi)容;1-2、根據(jù)解析的結(jié)果,進行二層處理,查找MACtable;1-3、如果MACtable査找命中,則用解析得到的報文的源IP、目的IP、源port、目的port、protocol査找防火墻連接表;如果沒有命中,則送CPU,由CPU作進一步處理;l-4、如果防火墻連接表査找命中,則根據(jù)防火墻連接表中的標(biāo)志對報文做相應(yīng)的處理;如果沒有命中,則送CPU,由CPU作進一步處理。2、如1所述的單一芯片實現(xiàn)多項網(wǎng)絡(luò)安全功能的方法,步驟1-2中用解析得到的報文的源MAC、目的MAC、VLAN號査找MACtable,判斷在MACtable中是否存在源MAC與VLAN號的組合和目的MAC與VLAN號的組合,如果不存在,則送CPU,由CPU更新MACtable。3、如1所述的單一芯片實現(xiàn)多項網(wǎng)絡(luò)安全功能的方法,步驟1-4中根據(jù)防火墻連接表中的標(biāo)志對報文做相應(yīng)的處理包括如下步驟判斷防火墻連接表中是否有送CPU的標(biāo)志,如果有,就將此報文送CPU處理否則根據(jù)連接表中標(biāo)示的出口,把報文轉(zhuǎn)發(fā)出去。4、如3所述的單一芯片實現(xiàn)多項網(wǎng)絡(luò)安全功能的方法,如果防火墻連接表中沒有送CPU的標(biāo)志,則再判斷防火墻連接表中是否有做網(wǎng)絡(luò)地址轉(zhuǎn)換的標(biāo)志,如果有,則對報文做網(wǎng)絡(luò)地址轉(zhuǎn)換,然后根據(jù)連接表中標(biāo)示的出口,把報文轉(zhuǎn)發(fā)出去;否則直接根據(jù)連接表中標(biāo)示的出口,把報文轉(zhuǎn)發(fā)出去。5、如1至4中任意一項所述的單一芯片實現(xiàn)多項網(wǎng)絡(luò)安全功能的方法,所述單一芯片為現(xiàn)場可編程門陣列或者專用集成電路。由于采用了上述處理過程,本發(fā)明與現(xiàn)有技術(shù)相比,具有以下優(yōu)點-1、本發(fā)明在單一芯片上實現(xiàn)了交換、三層轉(zhuǎn)發(fā)、防火墻的功能。這樣,絕大部分流量芯片都可直接處理,大大降低了系統(tǒng)對CPU、PCI總線帶寬的需求,節(jié)省了CPU資源,提高了整個系統(tǒng)的性能。2、本發(fā)明克服了基于工控機架構(gòu)和基于NP架構(gòu)的防火墻處理速度慢的缺陷,提高了整個系統(tǒng)在網(wǎng)絡(luò)環(huán)境中的高速處理能力。即使在100/1000M的高速網(wǎng)絡(luò)處于擁塞或繁忙時,也能保證進行線速交換。3、本發(fā)明在單一芯片上同時實現(xiàn)了交換、三層轉(zhuǎn)發(fā)、防火墻的功能,使系統(tǒng)成本大大降低。4、本發(fā)明避免了基于交換、路由芯片架構(gòu)的FPGA/ASIC方案中每個報文都要查一遍路由表的缺點,其路由只需在建立連接時査找一次,建立相應(yīng)防火墻連接表,后續(xù)報文就不用再査,只需依據(jù)防火墻連接表進行轉(zhuǎn)發(fā)即可;同時也避免了在芯片內(nèi)部集成路由表時,路由表大小受限的缺點,依據(jù)這種方案,路由的數(shù)目幾乎不受限制。5、本發(fā)明避免了基于交換、路由芯片架構(gòu)的FPGA/ASIC方案中每個報文要重新匹配NAT規(guī)則的缺點,其NAT只需在建立連接時査找,依據(jù)NAT規(guī)則,建立好防火墻連接表,后續(xù)的報文就不用再每次査找NAT規(guī)則表,只需依據(jù)防火墻連接表,就可完成NAT地址轉(zhuǎn)換功能;同時也避免了在芯片內(nèi)部集成NAT規(guī)則表時,NAT規(guī)則表大小受限的缺點,依據(jù)這種方案,NAT規(guī)則數(shù)幾乎不受限制。圖l是本發(fā)明的操作流程圖。具體實施方式以下結(jié)合附圖對本發(fā)明的具體實施作進一步的說明-本發(fā)明提出了一種單一芯片實現(xiàn)多項網(wǎng)絡(luò)安全功能的方法,該方法基于FPGA(FieldProgrammableGateArray,現(xiàn)場可編程門陣列)/ASIC(ApplicationSpecificIntegratedCircuit,專用集成電路)芯片架構(gòu)的防火墻,以克服CPU(CentralProcessingUnit,中央處理單元)、PCI(PeripheralControllerInterface,外圍控制器接口)總線帶寬對網(wǎng)絡(luò)安全設(shè)備的性能限制,實現(xiàn)網(wǎng)絡(luò)安全設(shè)備性能上的突破,降低網(wǎng)絡(luò)安全解決方案的代價,降低組網(wǎng)成本。本發(fā)明在一個芯片上同時實現(xiàn)二層交換、防火墻連接表,以單一芯片實現(xiàn)多項網(wǎng)絡(luò)安全功能。二層交換是根據(jù)芯片內(nèi)部的MAC(MediaAccessControl,媒介接入控制)table進行轉(zhuǎn)發(fā),這是網(wǎng)絡(luò)設(shè)備領(lǐng)域的一項常規(guī)技術(shù);防火墻連接表主要包括源IP、目的IP、源port、目的port、protoco1等TCP(TransmissionControlProtocol,傳輸控制協(xié)議)、UDP(UserDatagramProtocol,用戶數(shù)據(jù)報協(xié)議)連接的信息。如圖1所示,本發(fā)明包括如下處理步驟1、芯片對收到的報文進行解析,得到輸入報文的關(guān)鍵域的內(nèi)容;2、根據(jù)解析的結(jié)果,進行二層處理,査找MACtable;3、如果MACtable査找命中,則根據(jù)解析的結(jié)果,取出五元組(源IP、目的IP、源port、目的port、protocol),査找防火墻連接表,如果沒有命中,則送CPU,由CPU作進一步處理;4、如果防火墻連接表査找命中,則根據(jù)防火墻連接表中的標(biāo)志對報文做相應(yīng)的處理,包括正常轉(zhuǎn)發(fā)報文、做NAT(NetworkAddressTranslation,網(wǎng)絡(luò)地址轉(zhuǎn)換)之后轉(zhuǎn)發(fā)報文、送CPU處理,如果沒有命中,則送CPU,由CPU作進一步處理。在第1步中,當(dāng)芯片收到一個報文,首先解析出報文的源MAC、目的MAC、VLAN(VirtualLocalAreaNetwork,虛擬局域網(wǎng))號;然后,在第2步中,在MACtable中查找是否存在源MAC與VLAN號的組合和目的MAC與VLAN號的組合,如果不存在,則送CPU,由CPU更新MACtable。在第4步中,如果防火墻連接表中有送CPU的標(biāo)志,就將此報文送CPU處理,如果防火墻連接表中有做NAT的標(biāo)志,就做NAT,然后根據(jù)連接表中標(biāo)示的出口,把報文轉(zhuǎn)發(fā)出去,如果沒有送CPU或者做NAT的標(biāo)志,則直接根據(jù)連接表中標(biāo)示的出口,把報文轉(zhuǎn)發(fā)出去。以下是根據(jù)上述處理步驟的一個具體實施實例,其具體處理流程如下1.芯片對收到的報文進行解析,得到源MAC、目的MAC、VLAN號、源IP、目的IP、源port、目的port、protocol等域的內(nèi)容;2.用解析得到的源MAC、目的MAC、VLAN號査找MACtable;3.如果MACtable査找命中,則用解析得到的源IP、目的IP、源port、目的port、protocol査找防火墻連接表;4.如果防火墻連接表查找命中,則先判斷連接表中是否有送CPU標(biāo)志,如果有,貝服文送CPU處理,否則再判斷連接表中是否有做NAT標(biāo)志,如果有,則對報文做NAT。最后根據(jù)連接表中標(biāo)示的出口,把報文發(fā)送出去。以上所述僅為本發(fā)明的示意性實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。權(quán)利要求1.一種單一芯片實現(xiàn)多項網(wǎng)絡(luò)安全功能的方法,包括如下步驟1-1、芯片對收到的報文進行解析,得到輸入報文的關(guān)鍵域的內(nèi)容;1-2、根據(jù)解析的結(jié)果,進行二層處理,查找MACtable;1-3、如果MACtable查找命中,則用解析得到的報文的源IP、目的IP、源port、目的port、protocol查找防火墻連接表;如果沒有命中,則送CPU,由CPU作進一步處理;1-4、如果防火墻連接表查找命中,則根據(jù)防火墻連接表中的標(biāo)志對報文做相應(yīng)的處理;如果沒有命中,則送CPU,由CPU作進一步處理。2、如權(quán)利要求l所述的單一芯片實現(xiàn)多項網(wǎng)絡(luò)安全功能的方法,其特征在于,步驟1-2中用解析得到的報文的源MAC、目的MAC、VLAN號查找MACtable,判斷在MACtable中是否存在源MAC與VLAN號的組合和目的MAC與VLAN號的組合,如果不存在,則送CPU,由CPU更新MACtable。3、如權(quán)利要求1所述的單一芯片實現(xiàn)多項網(wǎng)絡(luò)安全功能的方法,其特征在于,步驟l-4中根據(jù)防火墻連接表中的標(biāo)志對報文做相應(yīng)的處理包括如下步驟判斷防火墻連接表中是否有送CPU的標(biāo)志,如果有,就將此報文送CPU處理;否則根據(jù)連接表中標(biāo)示的出口,把報文轉(zhuǎn)發(fā)出去。4、如權(quán)利要求3所述的單一芯片實現(xiàn)多項網(wǎng)絡(luò)安全功能的方法,其特征在于,如果防火墻連接表中沒有送CPU的標(biāo)志,則再判斷防火墻連接表中是否有做網(wǎng)絡(luò)地址轉(zhuǎn)換的標(biāo)志,如果有,則對報文做網(wǎng)絡(luò)地址轉(zhuǎn)換,然后根據(jù)連接表中標(biāo)示的出口,把報文轉(zhuǎn)發(fā)出去;否則直接根據(jù)連接表中標(biāo)示的出口,把報文轉(zhuǎn)發(fā)出去。5、如權(quán)利要求1至4中任意一項所述的單一芯片實現(xiàn)多項網(wǎng)絡(luò)安全功能的方法,其特征在于,所述單一芯片為現(xiàn)場可編程門陣列或者專用集成電路。全文摘要本發(fā)明公開了一種單一芯片實現(xiàn)多項網(wǎng)絡(luò)安全功能的方法,包括如下步驟芯片對收到的報文進行解析,得到輸入報文的關(guān)鍵域的內(nèi)容;根據(jù)解析的結(jié)果,進行二層處理,查找MACtable;如果MACtable查找命中,則用解析得到的報文的源IP、目的IP、源port、目的port、protocol查找防火墻連接表;如果沒有命中,則送CPU,由CPU作進一步處理;如果防火墻連接表查找命中,則根據(jù)防火墻連接表中的標(biāo)志對報文做相應(yīng)的處理;如果沒有命中,則送CPU,由CPU作進一步處理。本發(fā)明提高了網(wǎng)絡(luò)的系統(tǒng)性能、降低了系統(tǒng)成本。文檔編號H04L12/04GK101212314SQ20061015616公開日2008年7月2日申請日期2006年12月30日優(yōu)先權(quán)日2006年12月30日發(fā)明者萬鶴林,濤曾,沈利軍,王萬亭,鄒希良申請人:北京天融信網(wǎng)絡(luò)安全技術(shù)有限公司