亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

網(wǎng)絡(luò)接口及防火墻設(shè)備的制作方法

文檔序號(hào):5276405閱讀:855來(lái)源:國(guó)知局

專(zhuān)利名稱(chēng)::網(wǎng)絡(luò)接口及防火墻設(shè)備的制作方法網(wǎng)絡(luò)接口及防火墻設(shè)備該申請(qǐng)要求2005年7月21日提交的名稱(chēng)為"網(wǎng)絡(luò)接口及防火墻設(shè)備(NETWORKINTERFACEANDFIREWALLDEVICE)"的美國(guó)專(zhuān)利申請(qǐng)No.l1/187,049、2005年7月22曰提交的名稱(chēng)為"利用下推自動(dòng)機(jī)檢測(cè)語(yǔ)義元素的方法及裝置(METHODANDAPPARATUSFORDETECTINGSEMANTICELE施NTSUSINGAPUSHDOWNAUTOMATON)"的美國(guó)臨時(shí)申請(qǐng)N0.60/701,748以及2005年5月9日提交的名稱(chēng)為"入侵枱r測(cè)系統(tǒng)(INTRUSIONDETECTINGSYSTEM)"的美國(guó)專(zhuān)利申請(qǐng)No.l1/125,956的優(yōu)先權(quán)。美國(guó)專(zhuān)利申請(qǐng)No.l1/125,956要求2004年12月21日提交的美國(guó)臨時(shí)專(zhuān)利申請(qǐng)No.60/639,002的優(yōu)先權(quán),并且是2003年1月24日提交的聯(lián)合待審的美國(guó)專(zhuān)利申請(qǐng)No.l0/351,030的部分繼續(xù)申請(qǐng)。上述申請(qǐng)全部以引用方式包含在本文的內(nèi)容中。
背景技術(shù)
:因特網(wǎng)的開(kāi)放導(dǎo)致產(chǎn)生了對(duì)因特網(wǎng)連接的機(jī)器的各種攻擊。這些攻擊通過(guò)發(fā)送使目標(biāo)機(jī)器不再正常運(yùn)行的包序列而起作用。攻擊可以分類(lèi)歸納為如下幾種使目標(biāo)機(jī)器崩潰、拒絕服務(wù)(DoS)、分布式拒絕服務(wù)(DDoS),并且能夠竄改目標(biāo)機(jī)器的文件或軟件,使得機(jī)器不再可用、被破壞掉或作為DoS克隆攻擊源(cloneattacksource)。大部分的攻擊在連接至公共因特網(wǎng)的機(jī)器上發(fā)起,并通過(guò)這種公司與因特網(wǎng)的連接而進(jìn)入企業(yè)。一些企業(yè)具有不止一個(gè)與因特網(wǎng)的連接點(diǎn)。因此,位于兩個(gè)網(wǎng)絡(luò)間的接口上的網(wǎng)絡(luò)設(shè)備,可選地稱(chēng)為防火墻,用于防御這些攻擊。例如,防火墻可以位于公共因特網(wǎng)和專(zhuān)用網(wǎng)絡(luò)之間、兩個(gè)因特網(wǎng)服務(wù)供應(yīng)商(ISP)網(wǎng)絡(luò)之間、兩個(gè)局域網(wǎng)絡(luò)之間或任何其他的兩個(gè)網(wǎng)絡(luò)之間。如果防火墻設(shè)備被放置在因特網(wǎng)的所有連接點(diǎn)上,那么就會(huì)在內(nèi)部網(wǎng)絡(luò)和機(jī)器周?chē)纬芍芙绶阑饓?。防火墻?dān)負(fù)起防止未授權(quán)攻擊進(jìn)入專(zhuān)用網(wǎng)絡(luò)以及可能清除源自專(zhuān)用網(wǎng)絡(luò)內(nèi)部的未授權(quán)傳輸?shù)呢?zé)任。防火墻的其他用途可以包括修改包內(nèi)的信息。例如,防火墻可以用作網(wǎng)絡(luò)地址轉(zhuǎn)換器(NAT),其用于在公共和專(zhuān)用網(wǎng)際協(xié)議(IP)地址之間進(jìn)行轉(zhuǎn)換。到今天,防火墻操作已經(jīng)主要作為軟件模塊的集合而實(shí)現(xiàn),這些軟件模塊運(yùn)行在任何嵌入處理器上,如PowerPC⑧或Intelclassx86處理器。問(wèn)題在于這些硬件體系結(jié)構(gòu)并不具有有效地實(shí)現(xiàn)這些防火墻操作的處理能力。因此,即使不是不可能,也很難通過(guò)在包從源流至目標(biāo)時(shí)檢測(cè)每個(gè)包每個(gè)以及應(yīng)用各種規(guī)則來(lái)確定包的有效性,來(lái)防護(hù)或過(guò)濾出所有的各種各樣的攻擊。本發(fā)明致力于解決該問(wèn)題和與現(xiàn)有技術(shù)相關(guān)的其他問(wèn)題。
發(fā)明內(nèi)容網(wǎng)絡(luò)處理設(shè)備提供了一種用于執(zhí)行防火墻和其他網(wǎng)絡(luò)接口管理操作的新穎的體系結(jié)構(gòu)。在本發(fā)明的另一方面,統(tǒng)一策略管理(unifiedpolicymanagement,UPM)體系結(jié)構(gòu)利用相同的存儲(chǔ)器和處理結(jié)構(gòu),將防火墻策略管理與發(fā)送(routing)和交換(switching)決定集成到一起。在另一實(shí)施例中,可重新配置語(yǔ)義處理器(ReconfigurableSemanticProcessor,RSP)利用分析器(parser)來(lái)識(shí)別不同的語(yǔ)法元素,接著這些語(yǔ)法元素由一個(gè)或更多語(yǔ)義處理單元(SPU)使用,來(lái)執(zhí)行不同的防火墻、網(wǎng)絡(luò)接口、發(fā)送(routing)、交換(switching)和其他的包處理操作。根據(jù)參照附圖進(jìn)行的對(duì)本發(fā)明優(yōu)選實(shí)施例的詳細(xì)描述,本發(fā)明的前述和其他目的、特征以及優(yōu)勢(shì)將會(huì)變得更加清楚。圖l是使用可重新配置語(yǔ)義處理器(RSP)的網(wǎng)絡(luò)處理設(shè)備的方塊圖;圖2A是更詳細(xì)地示出RSP的方塊圖2B和2C是示出RSP中使用的分析表(parsertable)和產(chǎn)生規(guī)則表(productionruletable)的更詳細(xì)的圖解;圖3是示出拒絕服務(wù)攻擊如何禁止網(wǎng)絡(luò)處理設(shè)備的圖解;圖4是示出防火墻如何使DoS攻擊與不同區(qū)域(zone)相關(guān)聯(lián)的圖解;圖5是圖4中所示的防火墻的更詳細(xì)的圖解;圖6示出了防火墻中的存儲(chǔ)器如何劃分為不同世代(generation);圖7是示出防火墻如何在圖6所示的不同世代之間移動(dòng)的流程圖;圖8是示出圖5中的防火墻如何處理DoS攻擊的流程圖;圖9是示出如何配置之前在圖2A中所示的RSP以便處理DoS攻擊的一種實(shí)施方式的方塊圖10和11是示出圖9中的RSP如何處理DoS候選包的流程圖12是示出獨(dú)立運(yùn)行的防火墻和路由設(shè)備的方塊圖13是提供統(tǒng)一發(fā)送和防火墻策略管理(UPM)的包處理結(jié)構(gòu)的圖圖14是示出訪(fǎng)問(wèn)控制表(AccessControlList,CAL)的表中的樣例表目的圖解;圖15是示出圖13中的包處理器如何提供UPM的流程圖16是基于上層包特征提供轉(zhuǎn)發(fā)動(dòng)作的UPM表的另一實(shí)施例;圖17是示出如何使用UPM來(lái)根據(jù)不同的統(tǒng)一資源定位符(UniformResourceLocator,URL)的值發(fā)送包的一個(gè)實(shí)施例的方塊圖18是如何在RSP中實(shí)現(xiàn)統(tǒng)一策略管理的一個(gè)實(shí)施例;圖19是示出圖18中的RSP如何運(yùn)行的流程圖20是示出RSP如何用于網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)和端口地址轉(zhuǎn)換(PortAddressTranslation,PAT)的流禾呈圖21是示出如何針對(duì)NAT/PAT轉(zhuǎn)換和IP包轉(zhuǎn)換來(lái)配置RSP的更詳細(xì)的圖解;圖22和23是示出RSP如何執(zhí)行NAT/PAT轉(zhuǎn)換的流程圖24是示出RSP如何在IPv4和IPv6之間轉(zhuǎn)換包的流程圖25是更詳細(xì)地示出RSP如何在IPv4和IPv6之間進(jìn)行轉(zhuǎn)換的流程圖26和27示出了RSP如何用于虛擬專(zhuān)用網(wǎng)絡(luò)(VPN)集成;圖28和29示出了能夠如何使用防火墻來(lái)將反病毒許可證分配至不同的子網(wǎng)絡(luò);圖30和31示出了如何將多個(gè)RSP連接在一起以便進(jìn)行分布式防火墻處理;圖32A是示出了在專(zhuān)用網(wǎng)絡(luò)中實(shí)現(xiàn)的入侵檢測(cè)系統(tǒng)(IntrusionDetectionSystem,IDS)的方塊圖32B示出了傳統(tǒng)的入侵:;險(xiǎn)測(cè)系統(tǒng)的局限性;圖32C示出了圖32中的IDS的一個(gè)實(shí)施例,該IDS識(shí)別數(shù)據(jù)流中的語(yǔ)法元素以及利用語(yǔ)法元素來(lái)識(shí)別威脅;圖33是示出如何利用可重新配置語(yǔ)義處理器(RSP)來(lái)實(shí)現(xiàn)IDS的方塊圖34是示出圖33中的IDS如何運(yùn)行的流程圖;圖35是圖33中所示的IDS的更詳細(xì)的邏輯圖;圖36是圖33中所示的RSP的方塊圖37和38示出了RSP中的直接執(zhí)行分析器(DirectExecutionParser,DXP)如何識(shí)別包含電子郵件消息的包;圖39是示出RSP如何將威脅過(guò)濾器應(yīng)用于數(shù)據(jù)流的流程圖;圖40是示出RSP如何執(zhí)行會(huì)話(huà)查找(sessionlookup)的流程圖;圖41是示出RSP如何從輸入流中產(chǎn)生令牌(token)的流程圖;圖42A是示出在執(zhí)行入侵檢測(cè)操作之前RSP如何重新集合分段包的流程圖42B是示出在執(zhí)行入侵檢測(cè)之前RSP如何記錄TCP包的流程圖;圖43和44示出了中央入侵檢測(cè)器如何使從不同網(wǎng)絡(luò)處理設(shè)備中產(chǎn)生的令牌相互關(guān)聯(lián);圖45示出了如何使用IDS來(lái)修改信息或從數(shù)據(jù)流中清除信息;圖46示出了下推自動(dòng)機(jī)(PDA)引擎;圖47是示出圖46中的PDA引擎如何執(zhí)行URL搜索的語(yǔ)義狀態(tài)圖;圖48是示出PDA引擎如何使用相同數(shù)目的語(yǔ)義狀態(tài)來(lái)搜索較長(zhǎng)字符串的語(yǔ)義狀態(tài)圖49示出了PDA引擎如何僅使用一個(gè)附加語(yǔ)義狀態(tài)來(lái)搜索附加語(yǔ)義元素5圖50-54是示出PDA引擎如何執(zhí)行示例URL搜索的詳圖;以及圖55示出了如何在可重新配置語(yǔ)義處理器(RSP)中實(shí)現(xiàn)PDA引擎。具體實(shí)施例方式圖1示出了專(zhuān)用網(wǎng)際協(xié)議(IntemetProtocol,IP)網(wǎng)絡(luò)24,其通過(guò)網(wǎng)絡(luò)接口設(shè)備25A連接至公共IP網(wǎng)絡(luò)12。公共IP網(wǎng)絡(luò)12可以是提供包交換的任何廣域網(wǎng)(WideAreaNetwork,WAN)。專(zhuān)用網(wǎng)絡(luò)24可以是7>司企業(yè)網(wǎng)、因特網(wǎng)服務(wù)供應(yīng)商(InternetServiceProvider,ISP)網(wǎng)絡(luò)、家用網(wǎng)絡(luò)等,這些都需要與公共IP網(wǎng)絡(luò)12通信。設(shè)備25A國(guó)25D可。通信的任何類(lèi)型的計(jì)算設(shè)備。例如,網(wǎng)絡(luò)處理設(shè)備25A和25B可以是路由器、交換機(jī)、網(wǎng)關(guān)、防火墻等。端點(diǎn)25C是個(gè)人計(jì)算機(jī)(PC),以及端點(diǎn)25D是服務(wù)器,例如因特網(wǎng)網(wǎng)絡(luò)服務(wù)器。PC25C可以通過(guò)有線(xiàn)連接,例如有線(xiàn)以太網(wǎng)連接,或使用例如IEEE802.11協(xié)議的無(wú)線(xiàn)連接,連接至專(zhuān)用網(wǎng)絡(luò)24。在專(zhuān)用網(wǎng)絡(luò)24中,可重新配置語(yǔ)義處理器(RSP)100在網(wǎng)絡(luò)設(shè)備25A-25D的任何組合中運(yùn)行。不同的RSP100收集和分析進(jìn)入并穿過(guò)專(zhuān)用網(wǎng)絡(luò)24的網(wǎng)絡(luò)交通(traffic)22。在該實(shí)施例中,網(wǎng)絡(luò)處理設(shè)備25A中的RSP100A配置成作為專(zhuān)用網(wǎng)絡(luò)24的防火墻和常規(guī)網(wǎng)絡(luò)接口運(yùn)行。盡管示出了以下描述的網(wǎng)絡(luò)接口和其他常規(guī)防火墻操作是在RSP100中實(shí)現(xiàn)的,但是應(yīng)該理解,這些操作中的一部分還可以在其他傳統(tǒng)的計(jì)算機(jī)體系結(jié)構(gòu)中實(shí)現(xiàn)。在一個(gè)實(shí)施例中,RSP100A配置成可以檢測(cè)和防止拒絕服務(wù)(DoS)攻擊16。連接至^^共IP網(wǎng)絡(luò)12的外部PC14可以產(chǎn)生DoS攻擊16,該攻擊意圖破壞專(zhuān)用網(wǎng)絡(luò)24中的一個(gè)或更多的網(wǎng)絡(luò)處理設(shè)備25A-25D。RSP100A監(jiān)控從公共IP網(wǎng)絡(luò)12接收的所有輸入包,以及丟棄包流20中與DoS攻擊16有關(guān)聯(lián)的任何包。除了檢測(cè)和丟棄包16外,RSP100A還可以對(duì)沒(méi)有依據(jù)DoS攻擊16刪除的包22執(zhí)行其他網(wǎng)絡(luò)接口操作26。例如,RSP100A可以提供病毒和malware沖企測(cè)和過(guò)濾、網(wǎng)《各地址轉(zhuǎn)換(NAT)、發(fā)送、統(tǒng)計(jì)分析、記錄日志、和/或在7>共IP網(wǎng)絡(luò)12和專(zhuān)用IP網(wǎng)絡(luò)24間傳輸包所需的其他包轉(zhuǎn)換操作。將在以下對(duì)所有這些操作進(jìn)行更詳細(xì)地描述。在另一實(shí)施例中,RSP100可以安裝在位于專(zhuān)用網(wǎng)絡(luò)24內(nèi)部的其他網(wǎng)絡(luò)處理設(shè)備中,或者安裝在進(jìn)入專(zhuān)用網(wǎng)絡(luò)24的任何其他主要接入點(diǎn)中。例如,RSP100B可以位于服務(wù)器25D中,以便提供類(lèi)似的-瞼證、發(fā)送、統(tǒng)計(jì)分析等。將在以下對(duì)操作26進(jìn)行更詳細(xì)的描述??蛇x地,一部分包操作26可以在RSP100B中激活,而不能夠被在RSP100A中激活。例如,除了由RSP100A執(zhí)行的任何其他的包分析過(guò)濾和包轉(zhuǎn)換外,RSP100B可以執(zhí)行統(tǒng)計(jì)分析或DoS過(guò)濾。配置成執(zhí)行以下所述任何操作的一個(gè)或更多的RSP100。應(yīng)用RSP100的平臺(tái)還可以是任何無(wú)線(xiàn)設(shè)備,例如,無(wú)線(xiàn)個(gè)人數(shù)字助手(PDA)、無(wú)線(xiàn)手機(jī)、無(wú)線(xiàn)路由器、無(wú)線(xiàn)接入點(diǎn)、無(wú)線(xiàn)客戶(hù)端等,它們通過(guò)無(wú)線(xiàn)接口接收包或其他數(shù)據(jù)流,這些無(wú)線(xiàn)接口有例如蜂窩狀的碼分多址(CDMA)或時(shí)分多址(TDMA)、802.11、藍(lán)牙等??芍匦屡渲谜Z(yǔ)義處理器(RSP)圖2A示出了用于一個(gè)實(shí)施例中的可重新配置語(yǔ)義處理器(RSP)100的方塊圖,該實(shí)施例用于執(zhí)行防火墻和以下描述的其他網(wǎng)絡(luò)接口操作。RSP100包括輸入緩沖器140,其用于緩沖通過(guò)輸入端口120接收的包數(shù)據(jù)流;以及輸出緩沖器150,其用于緩沖通過(guò)輸出端口152輸出的包數(shù)據(jù)流。直接執(zhí)行分析器(DXP)180控制對(duì)包或幀的處理,該包或幀在輸入緩沖器140上接收(例如,輸入"流")、輸出至輸出緩沖器150(例如,輸出"流,,)、以及在再循環(huán)緩沖器160中再循環(huán)(例如,再循環(huán)"流")的。優(yōu)選地,輸入緩沖器140、輸出緩沖器150以及再循環(huán)緩沖器160是先入先出(FIFO)緩沖器。DXP180還控制語(yǔ)義處理單元(SPU)200對(duì)包的處理,語(yǔ)義處理單元200處理緩沖器140、150及160與存儲(chǔ)器子系統(tǒng)215之間的數(shù)據(jù)傳遞。存儲(chǔ)器子系統(tǒng)215存儲(chǔ)從輸入端口120接收的包,并且還將訪(fǎng)問(wèn)控制表(ACL)存儲(chǔ)在CAM220中,訪(fǎng)問(wèn)控制表(ACL)用于統(tǒng)一策略管理(UPM)操作和以下描述的其他防火墻操作。RSPIOO使用至少三個(gè)表來(lái)執(zhí)行給出的防火墻操作。用于檢索產(chǎn)生規(guī)則176的代碼178存儲(chǔ)在分析表(PT)170中。語(yǔ)法產(chǎn)生規(guī)則176存儲(chǔ)在產(chǎn)生規(guī)則表(PRT)190中。由SPU200執(zhí)行的代碼段212存儲(chǔ)在語(yǔ)義代碼表(SCT)210中。分析表170中的代碼178以例如行列格式或內(nèi)容可尋址格式存儲(chǔ)。在行列格式中,分析表170的行通過(guò)非終結(jié)代碼(non-terminalcode)NT172索引,非終結(jié)代碼NT172是由內(nèi)部分析器堆棧185提供的。分析表170的列由輸入數(shù)據(jù)值DI[N]174索引,輸入數(shù)據(jù)值DI[N]174是從輸入緩沖器140中的數(shù)據(jù)頭部中提取的。在內(nèi)容可尋址格式中,來(lái)自分析器堆棧185的非終結(jié)代碼172和來(lái)自輸入緩沖器140的輸入數(shù)據(jù)值174的并置(concatenation)向分析表170提供輸入。產(chǎn)生規(guī)則表190由來(lái)自分析表170的代碼178索引。表170和l卯如圖2A所示那樣鏈接,使得向分析表170發(fā)出的詢(xún)問(wèn)將直接地返回適用于非終結(jié)代碼172和輸入數(shù)據(jù)值174的產(chǎn)生規(guī)則176。DXP180用從PRT190返回的產(chǎn)生規(guī)則(PR)176代替分析器堆棧185頂部的非終結(jié)代碼,并繼續(xù)分析來(lái)自輸入緩沖器140的數(shù)據(jù)。還根據(jù)由分析表170產(chǎn)生的代碼178,和/或根據(jù)由產(chǎn)生規(guī)則表190產(chǎn)生的產(chǎn)生規(guī)則176,來(lái)索引語(yǔ)義代碼表210。通常,分析結(jié)果允許DXP180檢測(cè)對(duì)于給出的產(chǎn)生規(guī)則176,來(lái)自語(yǔ)義代碼列表210的語(yǔ)義入口點(diǎn)(SemanticEntryPoint,SEP)例程212是否應(yīng)該由SPU200加載和執(zhí)行。SPU200具有幾個(gè)到存儲(chǔ)器子系統(tǒng)215的訪(fǎng)問(wèn)路徑,該存儲(chǔ)器子系統(tǒng)215提供了一種可由上下文符號(hào)尋址的結(jié)構(gòu)化的存儲(chǔ)器接口。存儲(chǔ)器子系統(tǒng)215、分析表170、產(chǎn)生規(guī)則表190以及語(yǔ)義代碼表210可以使用芯片存儲(chǔ)器、外部存儲(chǔ)器設(shè)備,諸如同步動(dòng)態(tài)隨機(jī)訪(fǎng)問(wèn)存儲(chǔ)器(DRAM)和內(nèi)容可尋址存儲(chǔ)器(CAM),或這種資源的組合。每個(gè)表或內(nèi)容可以?xún)H僅向共享物理存儲(chǔ)器空間的上下文接口提供一個(gè)或更多的其他表或內(nèi)容。維護(hù)中央處理單元(MCPU)56連接在SPU200和存儲(chǔ)器子系統(tǒng)215之間。MCPU56執(zhí)行RSP100的任何期望功能,其可以合理地用傳統(tǒng)的軟件和硬件來(lái)實(shí)現(xiàn)。這些功能通常是罕見(jiàn)的、無(wú)時(shí)間限制的功能,由于復(fù)雜性而不能保證包含在SCT210中。優(yōu)選地,MCPU56還具有請(qǐng)求SPU200代表MCPU執(zhí)行任務(wù)的能力。存儲(chǔ)器子系統(tǒng)215包括陣列機(jī)上下文數(shù)據(jù)存儲(chǔ)器(ArrayMachine-ContextDataMemory,AMCD)230,其用于通過(guò)散列函數(shù)或內(nèi)容可尋址存儲(chǔ)器(CAM)查找,來(lái)訪(fǎng)問(wèn)DRAM280中的數(shù)據(jù)。密碼功能塊240對(duì)數(shù)據(jù)進(jìn)行加密、解密或驗(yàn)證,上下文控制塊高速緩沖存儲(chǔ)器250將上下文控制塊高速緩存至DRAM280以及從DRAM280高速緩存上下文控制塊。通用高速緩沖存儲(chǔ)器260高速緩存用于基礎(chǔ)操作中的數(shù)據(jù),以及流式高速緩沖存儲(chǔ)器270在正對(duì)DRAM280寫(xiě)入和讀取數(shù)據(jù)流時(shí),對(duì)這些數(shù)據(jù)流進(jìn)行高速緩存。優(yōu)選地,內(nèi)容控制塊高速緩沖存儲(chǔ)器250是軟件控制的高速緩沖存儲(chǔ)器,即SPU200判斷何時(shí)使用和釋放高速緩存線(xiàn)路。電路240、250、260和270中的每個(gè)連接在DRAM280和SPU200之間。TCAM220連接在AMCD230和MCPU56之間,并包括訪(fǎng)問(wèn)控制表(ACL)以及在某種意義上基本提高防火墻性能的其他參數(shù)。RSP100功能塊的詳細(xì)設(shè)計(jì)優(yōu)化在2003年1月24日提交的名稱(chēng)為"可重新配置語(yǔ)義處理器,,的聯(lián)合待審的申請(qǐng)10/351,030中進(jìn)行描迷,其以引用的方式包含在本文的內(nèi)容中。將RSP用于防火墻和網(wǎng)絡(luò)接口搡作利用RSPIOO來(lái)實(shí)現(xiàn)以上在圖1中描述的防火墻和其他網(wǎng)絡(luò)接口操作26,RSPIOO使用語(yǔ)法規(guī)則和語(yǔ)義入口點(diǎn)(SEP)例程212。包抵達(dá)RSP設(shè)備100的輸入端口120,利用分析表170中的語(yǔ)法表表目(grammartableentry)進(jìn)行分析,并通過(guò)SEP例程212進(jìn)行語(yǔ)義處理。SEP例程212將決定1.接受包現(xiàn)狀,將其傳遞至輸出端口152;2.刪除包而不進(jìn)行進(jìn)一步處理,并且不將其轉(zhuǎn)發(fā);3.修改包,并且接著將其發(fā)送至輸出端口152;4.保留包,等待會(huì)話(huà)的其它包的到達(dá),然后決定包的最終處理;或者5.將包引導(dǎo)至具體目標(biāo),或引導(dǎo)包向后通過(guò)RSP以便進(jìn)行其它處理。構(gòu)建分析表170中的語(yǔ)法規(guī)則,以允許可接受的包向SPU200傳遞并且標(biāo)記一個(gè)已知或可疑的異常。決定通過(guò)或失敗的語(yǔ)法的一個(gè)實(shí)施例包括TCP標(biāo)志設(shè)置。TCP標(biāo)志字段其中具有8位,而且僅某些組合有效。在分析表170中對(duì)語(yǔ)法規(guī)則進(jìn)行編碼,以允許所有的可接受的TCP設(shè)置,并拒絕不可接受的TCP設(shè)置。例如,設(shè)置在相同包中的TCPSYN和FIN消息不是有效的組合,并且因此被DXP180直接地刪除。一些不可接收的包或操作可以?xún)H通過(guò)支持的SEP例程212進(jìn)行判斷。這些主要嚢括了會(huì)話(huà)和協(xié)議的狀態(tài)。在遞送相應(yīng)的TCPSYN消息之前,示例將發(fā)送TCP數(shù)據(jù)有效載荷段。在該示例中,SEP例程212應(yīng)該從用于TCP會(huì)話(huà)的存儲(chǔ)器280中刪除TCPSYN消息不處于其前面的包。因?yàn)橹苯訄?zhí)行分析器180可以根據(jù)DoS處理直接地拒絕包或重定向非攻擊包,而不消耗SPU200中的其他循環(huán),因此結(jié)合SEP代碼212使用分析器語(yǔ)法提供了更好的性能。傳統(tǒng)的防火墻必須檢測(cè)每個(gè)包以防止出現(xiàn)很多"劣質(zhì)"規(guī)則。當(dāng)發(fā)現(xiàn)新的攻擊時(shí),這是隨時(shí)間增長(zhǎng)的。相反地,分析器語(yǔ)法可以寫(xiě)成僅描述和允許可信包流過(guò)RSP100。因此,劣質(zhì)包被自動(dòng)地過(guò)濾掉,或由SPU200直接進(jìn)行處理。這樣就提供了對(duì)包監(jiān)控操作的更好的調(diào)整。RSP分析器及產(chǎn)生規(guī)則表利用具體實(shí)施例,將更好地理解RSP100作為防火墻或統(tǒng)一策略管理(UPM)的操作。在下述實(shí)施例中,RSP100提供了TCP包的拒絕服務(wù)(DoS)過(guò)濾。然而,本領(lǐng)域的技術(shù)人員應(yīng)該認(rèn)識(shí)到,下述概念可以很容易地應(yīng)用到對(duì)于利用任何通信協(xié)議傳輸?shù)娜魏螖?shù)據(jù)流的任何類(lèi)型的防火墻操作中。類(lèi)似的概念還可很容易地應(yīng)用到下述統(tǒng)一策略管理(UPM)操作中。防火墻和UPM操作包括分析和檢測(cè)輸入數(shù)據(jù)流的語(yǔ)法,參照?qǐng)D2B和2C進(jìn)行解釋。首先參照?qǐng)D2B,與很多不同語(yǔ)法相關(guān)聯(lián)的代碼可以同時(shí)存在于分析表170和產(chǎn)生規(guī)則表l卯中。例如,代碼300與4某體訪(fǎng)問(wèn)控制(MAC)包的頭部格式分析相關(guān),代碼302與IP包處理相關(guān),以及另一組代碼304與傳輸控制協(xié)議(TCP)包處理相關(guān),等等。分析表170中的其他代碼306與以下更詳細(xì)描述的其他防火墻或拒絕服務(wù)(DoS)操作有關(guān)。PR代碼178用于訪(fǎng)問(wèn)存儲(chǔ)在產(chǎn)生MJ'J表190中的相應(yīng)的產(chǎn)生身見(jiàn)則176。除非具體的查找實(shí)施需要,否則不需要將輸入值308(例如,與當(dāng)前輸入值DI[n]174相結(jié)合的非終結(jié)(NT)符號(hào)172,其中n是以字節(jié)為單位的所選匹配寬度)以任何順序分派到PR表170中。在一個(gè)實(shí)施例中,分析表170還包括自DXP180接收NT符號(hào)172和數(shù)據(jù)值DI[n]174的尋址器(addressor)310。尋址器310將NT符號(hào)172與數(shù)據(jù)值DI[n]174并置,并將并置值308應(yīng)用到分析表170。盡管概念上將產(chǎn)生規(guī)則表170的結(jié)構(gòu)視為矩陣是有益的,該矩陣中,對(duì)于NT代碼172和數(shù)據(jù)值174的每個(gè)唯一組合,具有一個(gè)PR代碼178,但是本發(fā)明并不限于此。對(duì)于不同的應(yīng)用,可以使用不同類(lèi)型的存儲(chǔ)器和存儲(chǔ)器機(jī)構(gòu)。在一個(gè)實(shí)施例中,分析表170實(shí)現(xiàn)為內(nèi)容可尋址存儲(chǔ)器(CAM),其中尋址器310使用NT代碼172和輸入數(shù)據(jù)值DI[n]174作為CAM查找PR代碼178的密鑰。優(yōu)選地,CAM是具有TCAM表目的三態(tài)內(nèi)容可尋址存儲(chǔ)器(TernaryCAM,TCAM)。每個(gè)TCAM表目包括NT代碼312和DI[n]匹配值314。每個(gè)代碼312可以具有多個(gè)TCAM表目。Dl[n]匹配值314中的每一位可以設(shè)置為"0"、"1"或"X"(表示"無(wú)關(guān)',)。這種能力使得PR代碼178僅僅需要DI[n]174的某些位/字節(jié)匹配編碼的模式,以使分析表170找到一種匹配。舉例來(lái)說(shuō),一行TCAM可以包括TCPSYN包的NT代碼NT_TCP—SYN312A,隨后是表示可能存在于TCPSYN包中的內(nèi)容的附加字節(jié)314A,例如,目標(biāo)IP地址以及TCP消息標(biāo)識(shí)符。TCAM行的剩余字節(jié)可以設(shè)置為"無(wú)關(guān)"。因此,在NT—TCP—SYN312A以及一些數(shù)目的字節(jié)DI[N]被提交給分析表170時(shí),其中DI[N]的第一組字節(jié)包括TCPSYN消息標(biāo)識(shí)符,無(wú)論DI[N]的剩余字節(jié)包括什么,匹配都會(huì)發(fā)生。如上所解釋?zhuān)治霰?70中的TCAM產(chǎn)生了與匹配N(xiāo)T172和DI[N〗174的TCAM表目相對(duì)應(yīng)的PR代碼178A。在該實(shí)施例中,PR代碼178A與TCPSYN包相關(guān)聯(lián)。PR代碼178A可以被發(fā)送回DXP180,或者直接地發(fā)送到PR列表190,或者兩者都可以。在一個(gè)實(shí)施例中,PR代碼178A是產(chǎn)生匹配的TCAM表目的行索引。圖2C示出了產(chǎn)生規(guī)則表190的一個(gè)可能的實(shí)施方式。在該實(shí)施例中,尋址器320自DXP180和分析表170接收PR代碼178,以及自DXP180接收NT符號(hào)172。優(yōu)選地,接收的NT符號(hào)172是發(fā)送給分析表170的同樣的NT符號(hào)172,在分析表170中它用于定位接收的PR代碼178。尋址器320使用這些接收的PR代碼178和NT符號(hào)172,來(lái)訪(fǎng)問(wèn)相應(yīng)的產(chǎn)生規(guī)則176。在一些實(shí)施方式中,可以并不一定需要尋址器320,但是當(dāng)使用尋址器320時(shí),它可以是DXP180的一部分、PRT190的一部分、或者是中間功能塊。例如,在分析表170或DXP180直接地構(gòu)建地址的情況下,可以不需要尋址器。存儲(chǔ)在產(chǎn)生規(guī)則表190中的產(chǎn)生規(guī)則176包括三個(gè)數(shù)據(jù)段。這些數(shù)據(jù)段包括符號(hào)段177A、SPU入口點(diǎn)(SEP)段177B以及跳讀字節(jié)(skipbyte)段177C。這些段可以是固定長(zhǎng)度的段或變化長(zhǎng)度的段,優(yōu)選地,其是"空結(jié)束"(null-terminated)。符號(hào)段177A包括將被推至DXP的分析器堆棧185頂部的終結(jié)和/或非終結(jié)符(圖2A)。SEP段177B包括SPU200用于處理數(shù)據(jù)段的SPU入口點(diǎn)(SEP)。在以下描述的一個(gè)實(shí)施方式中,SEP段177B可以與ACL斷言和在當(dāng)前分析包中識(shí)別出的其他語(yǔ)法元素相對(duì)應(yīng)。跳讀字節(jié)段177C包括跳讀字節(jié)值,輸入緩沖器140利用該跳讀字節(jié)值遞增其緩沖器指針,并推進(jìn)對(duì)輸入流的處理。有益于處理產(chǎn)生規(guī)則的其他信息還可以作為產(chǎn)生規(guī)則176的一部分進(jìn)行存儲(chǔ)。在該實(shí)施例中,由產(chǎn)生規(guī)則代碼178A索引的一個(gè)或更多產(chǎn)生規(guī)則176A與輸入緩沖器140中的識(shí)別的TCPSYN包相對(duì)應(yīng)。SEP段177B指向圖2A中的語(yǔ)義代碼表210中的SPU代碼212,如圖4-11所示,在由SPU200執(zhí)行時(shí),它對(duì)識(shí)別的TCPSYN包執(zhí)行DoS操作。在一個(gè)實(shí)施例中,SPU200包括可以并行運(yùn)行的一系列語(yǔ)義處理元素。產(chǎn)生規(guī)則176A中的SEP段177B可以開(kāi)始一個(gè)或更多SPU200,以并行執(zhí)行不同包的相同防火墻操作或相同包的不同防火墻操作。顯然,可以使用類(lèi)似的操作來(lái)檢測(cè)任何其他類(lèi)型的包或數(shù)據(jù)識(shí)別,這些包或數(shù)據(jù)識(shí)別對(duì)于任何的防火墻、網(wǎng)絡(luò)接口或下述UPM操作都可能是必需的。如上所提及,分析表170還可以包括與TCPSYN包相關(guān)或不相關(guān)的其他語(yǔ)法。例如,包括在分析表170中的IP語(yǔ)法302可以包括與輸入緩沖器140中的識(shí)別的NT—IP目標(biāo)地址相關(guān)的產(chǎn)生規(guī)則代碼178,其用于與識(shí)別的TCPSYN消息相結(jié)合以執(zhí)行DoS處理(參見(jiàn)以下的圖4-11)。產(chǎn)生規(guī)則代碼302中的匹配數(shù)據(jù)值314可以包括位于圖1中專(zhuān)用網(wǎng)絡(luò)24中的網(wǎng)絡(luò)處理設(shè)備的目標(biāo)IP地址。如果與NT一IP代碼172相關(guān)聯(lián)的輸入數(shù)據(jù)DI[I]174不具有包括在PR代碼302的匹配值314中的目標(biāo)地址,那么可以將缺省產(chǎn)生規(guī)則代碼178提供至產(chǎn)生規(guī)則表190。缺省產(chǎn)生規(guī)則代碼178可以指向產(chǎn)生規(guī)則表l卯中的產(chǎn)生規(guī)則176,它指引DXP180和/或SPU200丟棄來(lái)自輸入緩沖器140的包。拒絕服務(wù)(DoS)圖3示出了DoS攻擊16如何能夠危及網(wǎng)絡(luò)處理設(shè)備406。通常,DoS防御的目的是防止惡意包訪(fǎng)問(wèn)專(zhuān)用網(wǎng)絡(luò)24中的網(wǎng)絡(luò)處理設(shè)備。以下描述論述了與利用多個(gè)包充斥網(wǎng)絡(luò)設(shè)備相關(guān)聯(lián)的DoS攻擊的一個(gè)實(shí)施例。然而,存在有與一個(gè)或很少的惡意包相關(guān)聯(lián)的其他類(lèi)型的惡意攻擊。例如,其他惡意攻擊可以是相關(guān)的一個(gè)或少量的包,其干擾網(wǎng)絡(luò)處理設(shè)備協(xié)議棧的正常操作。對(duì)網(wǎng)絡(luò)處理設(shè)備或網(wǎng)絡(luò)的任何這些惡意攻擊以下一般稱(chēng)為DoS攻擊,并且所有這些都落在本系統(tǒng)的范圍內(nèi)。參照?qǐng)D3,運(yùn)行于專(zhuān)用網(wǎng)絡(luò)24外部的攻擊設(shè)備14通常但不必須使專(zhuān)用網(wǎng)絡(luò)24充斥多個(gè)包16。在一個(gè)實(shí)施例中,大量傳輸控制協(xié)議(TCP)同步(SYN)包400由攻擊計(jì)算機(jī)14發(fā)送至專(zhuān)用網(wǎng)絡(luò)24中的目標(biāo)地址。在另一實(shí)施例中,攻擊者14可以將大量包碎片(fragment)402發(fā)送至專(zhuān)用網(wǎng)絡(luò)24中的目標(biāo)地址。在任一種情況下,包16均使得專(zhuān)用網(wǎng)絡(luò)24中的一個(gè)或多個(gè)網(wǎng)絡(luò)設(shè)備406保持對(duì)于每個(gè)不同的接收TCPSYN包400的狀態(tài)408,以及保持對(duì)于每組接收的包碎片402的狀態(tài)410。TCPSYN攻擊400和包碎片攻擊402僅僅是多種不同類(lèi)型的可能的DoS攻擊的示例。例如,攻擊者還可以通過(guò)發(fā)送TCP結(jié)束包(Finishpacket,FIN)或重疊包碎片而破壞網(wǎng)絡(luò)設(shè)備。在基于另一端口的DoS攻擊中,蠕蟲(chóng)病毒可以寄存在專(zhuān)用網(wǎng)絡(luò)24的機(jī)器內(nèi)部,然后由攻擊者14引導(dǎo)從專(zhuān)用網(wǎng)絡(luò)24內(nèi)部發(fā)送虛假消息。DoS攻擊還可以通過(guò)因特網(wǎng)控制消息協(xié)議(ICMP)消息而開(kāi)始。無(wú)論什么時(shí)候通過(guò)網(wǎng)絡(luò)處理設(shè)備406接收新的TCPSYN包400,都保持新的TCP會(huì)話(huà)狀態(tài)408,并將相應(yīng)的TCPACK消息404發(fā)送回發(fā)送設(shè)備(攻擊者14)。但是,攻擊者14可以忽略TCPACK應(yīng)答404,并反而一直向?qū)S镁W(wǎng)絡(luò)24發(fā)送新的TCPSYN消息400。攻擊者14還可以將偽造的源地址插入TCPSYN消息400中,這樣就使得網(wǎng)絡(luò)設(shè)備406將TCPSYNACK消息404發(fā)送至另一受害計(jì)算機(jī),然后使另一受害計(jì)算機(jī)負(fù)擔(dān)不得不對(duì)大量TCPSYNACK消息404進(jìn)行的處理。網(wǎng)絡(luò)處理設(shè)備406需要在某段預(yù)定時(shí)間周期內(nèi)維持與每個(gè)TCPSYN消息400相對(duì)應(yīng)的TCP狀態(tài)408。對(duì)數(shù)量巨大的虛假TCP狀態(tài)408的維持,使網(wǎng)絡(luò)設(shè)備406的資源耗盡到了嚴(yán)重減慢對(duì)合法的IP交通的處理或刪除合法的IP交通的程度。在類(lèi)似的假設(shè)下,攻擊者14可以發(fā)送具有相關(guān)序列號(hào)的包碎片402。網(wǎng)絡(luò)處理設(shè)備406必須保持狀態(tài)410,直到序列402中的每個(gè)包碎片被接收,或直到超時(shí)時(shí)段結(jié)束。攻擊者14會(huì)故意地從序列中遺漏包碎片402。這就要求網(wǎng)絡(luò)設(shè)備406在超時(shí)時(shí)段的持續(xù)時(shí)間內(nèi)維持每組包碎片的狀態(tài)410,從而耗盡處理資源。防御這些類(lèi)型的DoS攻擊的傳統(tǒng)技術(shù)在于限制輸入包16的速率。例如,網(wǎng)絡(luò)處理設(shè)備406可以識(shí)別所有的TCPSYN包的目標(biāo)地址。當(dāng)接收包的數(shù)量超過(guò)了預(yù)定速率時(shí),刪除特定目標(biāo)地址的TCPSYN包。然而,持續(xù)不斷的監(jiān)控和追蹤每個(gè)DoS攻擊使用了大量的設(shè)備資源。網(wǎng)絡(luò)處理設(shè)備406需要針對(duì)每種可能的DoS威脅監(jiān)控每個(gè)輸入包。例如,網(wǎng)絡(luò)處理設(shè)備406需要識(shí)別每個(gè)TCPSYN包和每個(gè)包碎片。這可以單獨(dú)透徹地處理。但是,網(wǎng)絡(luò)處理器406還需要追蹤類(lèi)似接收的包的數(shù)量和速率,并且如果需要,就刪除達(dá)到DoS速率極限的相似類(lèi)型的包。一個(gè)問(wèn)題在于,在當(dāng)前網(wǎng)線(xiàn)速率下,當(dāng)前的計(jì)算機(jī)體系結(jié)構(gòu)并不具有執(zhí)行這些DoS操作的能力。參照?qǐng)D4,通過(guò)以獨(dú)特方法對(duì)包進(jìn)行速率限制,防火墻420更有效地識(shí)別和防御DoS攻擊。在以下的解釋中,將任何可能成為DoS攻擊的一部分的包稱(chēng)為DoS候選包。因此,通過(guò)防火墻420將TCPSYN包識(shí)別為DoS候選包。分割成碎片的包可以被用于可能的DoS攻擊中,并且因此也被防火墻420識(shí)別為DoS候選包。防火墻4204艮據(jù)相關(guān)的目標(biāo)地址對(duì)DoS候選包進(jìn)行速率限制。識(shí)別和管理每個(gè)可能的DoS攻擊的目標(biāo)地址可能需要大量的處理資源。然而,用于防火墻420的結(jié)構(gòu)比之前的防火墻結(jié)構(gòu)更加有效并且可升級(jí),并且因此以高線(xiàn)路速率來(lái)監(jiān)控和清除大量不同的DoS攻擊。區(qū)域策略管理可以給網(wǎng)絡(luò)處理設(shè)備或網(wǎng)絡(luò)分配不同的區(qū)域。例如,這些不同的區(qū)域可以與不同的外部網(wǎng)絡(luò)和網(wǎng)絡(luò)處理設(shè)備中的內(nèi)部網(wǎng)絡(luò)接口相關(guān)聯(lián)。這些區(qū)域可以由網(wǎng)絡(luò)策略管理考慮獨(dú)立于DoS操作進(jìn)行支配。然而,防火墻420的一個(gè)方面在分析DoS威脅時(shí)考慮由策略管理器之前指定的不同的接口區(qū)域。例如,第一區(qū)域1可以與通過(guò)接口426自公共網(wǎng)絡(luò)12接收的公共IP交通有關(guān)聯(lián)。第二區(qū)域2可以與通過(guò)VPN隧道424越過(guò)公共網(wǎng)絡(luò)12接收的半信任虛擬專(zhuān)用網(wǎng)絡(luò)(VPN)交通有關(guān)聯(lián)。例如,VPN隧道424可以建立于專(zhuān)用網(wǎng)絡(luò)24和家用計(jì)算機(jī)422之間。家用計(jì)算機(jī)422可以由運(yùn)行專(zhuān)用網(wǎng)絡(luò)24的實(shí)體的雇員操作。第三區(qū)域3可以與自專(zhuān)用網(wǎng)絡(luò)24內(nèi)部發(fā)起并且通過(guò)接口428接收的高信任IP交通有關(guān)聯(lián)。每個(gè)區(qū)域都可以與不同信任級(jí)相關(guān)聯(lián),并且相應(yīng)地分配不同的DoS速率限制。DoS速率限制指在特定時(shí)間周期中允許通過(guò)防火墻420的具有相同目標(biāo)地址的特定類(lèi)型的DoS候選包(例如,包括TCPSYN消息的包)的數(shù)量。在達(dá)到速率限制后,刪除具有相同DoS類(lèi)型和目標(biāo)地址的任何附加包。例如,通過(guò)接口426自區(qū)域l接收的包與最低級(jí)的信任相關(guān)聯(lián),這是因?yàn)檫@些包是通過(guò)公共網(wǎng)絡(luò)12從不信任源接收的。因此,與其他區(qū)域相比,自區(qū)域1接收的包被分配給較低的DoS速率限制。因?yàn)橥茰y(cè)包是自已知源422接收的,所以區(qū)域2具有中間級(jí)的信任。因此,區(qū)域2可以分配有比區(qū)域1高的DoS速率限制。例如,在限定時(shí)間周期內(nèi),與區(qū)域1相比,可以允許;歐大量的具有相同目標(biāo)地址的TCPSYN包通過(guò)區(qū)域2。在這個(gè)實(shí)施例中,因?yàn)樵诮涌?28上接收的所有包均來(lái)自位于專(zhuān)用網(wǎng)絡(luò)24內(nèi)部的機(jī)器,所以區(qū)域3具有高級(jí)別的信任。因此,在區(qū)域3接收的包可以分配有甚至更高的DoS速率限制。根據(jù)源地址或端口信息,能夠識(shí)別與接收的包相關(guān)聯(lián)的區(qū)域。例如,基于相關(guān)的源地址VLANID和/或通過(guò)其接收包的接口,RSP100或防火墻420中的一些其他處理設(shè)備可以判定與輸入包有關(guān)聯(lián)的區(qū)域。接著,防火墻420部分地根據(jù)與包有關(guān)聯(lián)的識(shí)別的區(qū)域,來(lái)管理DoS攻擊。例如,可以根據(jù)與潛在的DoS威脅有關(guān)聯(lián)的包的相關(guān)聯(lián)區(qū)域,對(duì)這些包進(jìn)行計(jì)數(shù)、管理和速率限制。這樣就使得防火墻420根據(jù)信任的相關(guān)級(jí)別,將DoS資源更加有效地分配至不同的接口。參照?qǐng)D5,圖4中所示的防火墻420的一個(gè)實(shí)施例包括處理器442,處理器442接收可以包括DoS和非DoS候選包的輸入包流440。首先,處理器442識(shí)別包流440中的可能與DoS攻擊有關(guān)聯(lián)的包(DoS候選包)。例如,處理器442可以將任何輸入包碎片或包括TCPSYN消息的包識(shí)別為DoS候選包。處理器442訪(fǎng)問(wèn)表464,以識(shí)別與識(shí)別出的DoS候選包有關(guān)聯(lián)的區(qū)域468。例如,處理器442可以將識(shí)別出的DoS包中的端口值與表464中的端口號(hào)表目466相匹配。然后,處理器識(shí)別表464中的與匹配的端口號(hào)表目466相關(guān)聯(lián)的區(qū)域468。處理器442使用識(shí)別出的DoS包的目標(biāo)地址472和相關(guān)聯(lián)的區(qū)域值468的組合,作為進(jìn)入內(nèi)容可尋址存儲(chǔ)器(CAM)444的地址。CAM444包括DoS表目445,該DoS表目445是目標(biāo)地址值和區(qū)域值的組合。CAM444中的地址位置(location)用作進(jìn)入靜態(tài)隨機(jī)訪(fǎng)問(wèn)存儲(chǔ)器(SRAM)450的指針。SRAM450中的存儲(chǔ)器位置被分割到包括DoS攻擊標(biāo)志452、時(shí)間戳454、世代(generation)值456以及偏移458的字段中。只要針對(duì)特定目標(biāo)地址的包的數(shù)量超越了預(yù)定的DoS速率限制,就設(shè)置DoS攻擊標(biāo)記452。如上所提及,DoS速率限制可以根據(jù)不同的區(qū)域448定制。無(wú)論何時(shí)將新的表目添加至TCAM444,都設(shè)置時(shí)間戳454,并且無(wú)論何時(shí)時(shí)間戳的累計(jì)時(shí)間超過(guò)預(yù)定DoS時(shí)間周期,都重新設(shè)置時(shí)間戳454。世代值456由處理器442使用來(lái)分配和管理TCAM444、SRAM450以及動(dòng)態(tài)隨機(jī)訪(fǎng)問(wèn)存儲(chǔ)器(DRAM)462中的DoS表目。偏移值458用作進(jìn)入DRAM462的指針。DRAM462包括一組計(jì)數(shù)器460,這組計(jì)數(shù)器460追蹤在DoS時(shí)間周期中由防火墻420接收的針對(duì)特定目標(biāo)地址的包的數(shù)量。處理器442識(shí)別新的DoS候選包474,該候選包能夠潛在地成為DoS攻擊的一部分。用于新識(shí)別的包474的目標(biāo)地址472和區(qū)域值468用作進(jìn)入CAM444中的地址。因?yàn)樾碌腄oS候選包474將不會(huì)匹配任何存在的表目,所以處理器442將包474的新DoS表目445添加到CAM444中。清除CAM444中新DoS表目的相應(yīng)DoS攻擊標(biāo)記452,并且將時(shí)間戳454設(shè)置為當(dāng)前時(shí)間值。如以下在圖6中更詳細(xì)描述的那樣,將世代值456設(shè)置為當(dāng)前正運(yùn)行在處理器442中的任何世代。處理器442使用地址偏移值458,以將DRAM462中的相應(yīng)的計(jì)數(shù)器460增加至1。接著,處理器442處理包流440中的下一個(gè)包。不符合可能DoS攻擊標(biāo)準(zhǔn)的包流440中的包不會(huì)纟皮識(shí)別為DoS候選包441。例如,包441可以是常規(guī)IP包,該常失見(jiàn)IP包不是包碎片并且不包括TCPSYN消息。在這種情況下,處理器442允許包441通過(guò)防火墻420,而不進(jìn)行進(jìn)一步DoS處理。可以將包流440中的下一個(gè)包識(shí)別為可能DoS攻擊(DoS候選包)。在這個(gè)實(shí)施例中,下一個(gè)識(shí)別的包已經(jīng)具有CAM444中的相應(yīng)DoS表目。例如,一個(gè)或更多具有類(lèi)似目標(biāo)地址的TCPSYN包或包碎片之前已經(jīng)在相同的DoS時(shí)間周期中由防火墻420接收。因此,包的目標(biāo)地址472和區(qū)域468將匹配CAM444的表目中的一個(gè)。接著,對(duì)應(yīng)于匹配的CAM表目445的地址449用作進(jìn)入SRAM450中的地址。處理器442首先檢查SRAM450中的DoS攻擊標(biāo)志452。如果設(shè)置了DoS攻擊標(biāo)志452,那么處理器442刪除包流440中相應(yīng)的包。如果需要,處理器442接著可以更新時(shí)間戳454和世代值456。如果沒(méi)有設(shè)置DoS攻擊標(biāo)志452,那么處理器442允許包流440中相關(guān)聯(lián)的包通過(guò)防火墻420。處理器442接著更新SRAM450和DRAM462中的DoS狀態(tài)信息。例如,處理器442遞增DRAM462中的相應(yīng)的計(jì)凄t器460,并且接著將時(shí)間戳454與當(dāng)前時(shí)間值相比較。如果時(shí)間戳454不太陳舊,那么DRAM462中計(jì)數(shù)器460的相應(yīng)的值有效,并且與DoS速率限制進(jìn)行比較。如果計(jì)數(shù)器值460低于DoS速率限制,那么處理器442繼續(xù)處理包流440中的下一個(gè)包。如果與當(dāng)前時(shí)間值進(jìn)行比較時(shí),時(shí)間戳454太陳舊,那么DRAM460中的相應(yīng)的計(jì)數(shù)值460失效,并且復(fù)位為0。還可將時(shí)間戳454重新設(shè)置為當(dāng)前時(shí)間值。這樣在每個(gè)預(yù)定時(shí)間周期中有效地重新設(shè)置計(jì)數(shù)器460。如果時(shí)間戳454有效(不太陳舊)并且DRAM462中遞增的計(jì)數(shù)460高于DoS速率限制,那么處理器442設(shè)置相應(yīng)的DoS攻擊標(biāo)志452。這就使得處理器442刪除具有相同目標(biāo)地址的類(lèi)似的包。世代值456用于管理CAM444、SRAM450以及DRAM462中的DoS表目。參照?qǐng)D6的實(shí)施例,CAM444邏輯上分割達(dá)4個(gè)不同的世代部分480。然而,這僅僅是一個(gè)實(shí)施方式而已,并且該系統(tǒng)可以配置成具有任何數(shù)量的世代部分,這些世代部分具有任何可配置的尺寸。通過(guò)根據(jù)世代480嵌入和清除DoS表目,圖5中的處理器442更加有效地識(shí)別和管理DoS攻擊。參照?qǐng)D5-7,操作490中的處理器442開(kāi)始將DoS表目輸入進(jìn)當(dāng)前的世代480。這些在圖6中示出,其中DoS表目482輸入進(jìn)當(dāng)前世代0中。在操作492中,對(duì)于在當(dāng)前世代0中增加的每個(gè)表目482,處理器442從下一個(gè)世代1中除去一個(gè)表目484。這樣確保在處理器442移動(dòng)至下一個(gè)世代時(shí),CAM444將一直具有可用空間。DoS表目482可以已經(jīng)存在于CAM444中。在這種情況下,在操作494中,處理器442將為現(xiàn)有DoS表目的當(dāng)前分配的世代值456轉(zhuǎn)換到當(dāng)前世代。例如,當(dāng)處理器在世代0下運(yùn)行時(shí),接收DoS表目482。DoS表目482可以匹配當(dāng)前分配至世代2的現(xiàn)有DoS表目489。在操作494中,處理器442將現(xiàn)有DoS表目489從世代2轉(zhuǎn)換到世代0。應(yīng)該理解,DoS表目489并沒(méi)有物理地移動(dòng)至CAM444中的其他位置,而是在處理器442將SRAM450中的世代值456從2重新分配至0時(shí),邏輯上移動(dòng)至世代0。將現(xiàn)有DoS表目移動(dòng)至當(dāng)前世代,就確??梢栽贑AM444中存在相當(dāng)長(zhǎng)時(shí)間的激活的DoS表目將不會(huì)被處理器442丟棄。例如,DoS攻擊可以繼續(xù)一段延長(zhǎng)時(shí)期。用于相同DoS攻擊的每個(gè)最新接收的包將使CAM444中的現(xiàn)有DoS表目更新至當(dāng)前世代值。這樣確保代表激活的DoS攻擊的DoS表目將會(huì)保留在CAM444中,而將其他較舊的沒(méi)有成長(zhǎng)為DoS攻擊,或者不再代表激活的DoS攻擊的DoS表目從CAM444中除去。在操作496中,處理器442決定何時(shí)應(yīng)該轉(zhuǎn)換至下一個(gè)世代480。不同的事件可以引起處理器442移動(dòng)至下一世代。在當(dāng)前世代中的所有表目已經(jīng)填滿(mǎn)的時(shí)候,處理器442在操作498中可以移動(dòng)至一下世代。這可以發(fā)生在例如當(dāng)攻擊者發(fā)送很多具有不同目標(biāo)地址的TCPSYN消息時(shí)。當(dāng)預(yù)定時(shí)間周期耗盡時(shí),處理器442還將在操作498中移動(dòng)至下一世代。這就確保所有時(shí)間戳454(圖5)與處理器442追蹤的當(dāng)前時(shí)間周期一致。例如,SRAM450中的時(shí)間戳454與DRAM462中的相關(guān)聯(lián)的計(jì)數(shù)值相結(jié)合,決定對(duì)于不同目標(biāo)地址的接收包的速率。在時(shí)間戳?xí)r期耗盡后,處理器442需要重新設(shè)置時(shí)間戳值454和相關(guān)聯(lián)的計(jì)數(shù)值460。然而,在處理器442使用的當(dāng)前時(shí)間值翻轉(zhuǎn)或復(fù)位到0后,舊的DoS表目可能會(huì)潛在地保留在CAM444中。在這種情況下,處理器442會(huì)錯(cuò)誤地將計(jì)數(shù)值增加至與之前的時(shí)間戳周期相一致的DRAM460中的計(jì)數(shù)器460。這就會(huì)錯(cuò)誤地導(dǎo)致計(jì)數(shù)器460在多個(gè)時(shí)間戳周期中對(duì)包進(jìn)行計(jì)數(shù),從而導(dǎo)致了錯(cuò)誤的DoS攻擊檢測(cè)。換句話(huà)說(shuō),在多個(gè)時(shí)間戳周期中對(duì)包進(jìn)行計(jì)數(shù)給出真實(shí)包速率的錯(cuò)誤指令。為了解決這個(gè)潛在的翻轉(zhuǎn)(rollover)問(wèn)題,在操作496中,在一些預(yù)定時(shí)間周期后,與當(dāng)前世代中表目的數(shù)量無(wú)關(guān),處理器442自動(dòng)地移動(dòng)至下一世代。這個(gè)預(yù)定時(shí)間周期,在乘以世代的總數(shù)量(在該實(shí)施例中,世代的總數(shù)量=4)時(shí),小于由處理器442使用的翻轉(zhuǎn)時(shí)間戳周期。例如,處理器442可以保持每4秒進(jìn)行翻轉(zhuǎn)的當(dāng)前定時(shí)器。用于移動(dòng)至下一世代的預(yù)定時(shí)間周期可以設(shè)置在0.5秒。這就確??梢悦?秒清除一次CAM444中所有停滯的DoS表目。因此,對(duì)處理器442確保SRAM450中的所有時(shí)間戳454將與相同的時(shí)間戳周期相關(guān)聯(lián)。這還具有未料及的優(yōu)勢(shì),就是允許SRAM450將較小量的比特用于時(shí)間戳454。換句話(huà)說(shuō),時(shí)間戳值454僅僅需要足夠數(shù)量的比特來(lái)追蹤大約2秒或更多秒的時(shí)間周期。如果在操作496中沒(méi)有達(dá)到尺寸限制或時(shí)間戳周期,那么在操作490-494中,處理器442繼續(xù)用新的DoS表目填充當(dāng)前世代,以及將現(xiàn)有的DoS表目重新分配至當(dāng)前的世代。如果在操作496中達(dá)到了尺寸或時(shí)間戳限制,那么在操作498中,處理器442移動(dòng)至下一世代,并且開(kāi)始將表目添加至新的世代。例如,處理器442開(kāi)始將新的DoS表目486移動(dòng)至世代l,并且隨之開(kāi)始將現(xiàn)有的DoS表目488從下一世代2中清除。流線(xiàn)型的DoS攻擊識(shí)別(identification)回來(lái)參照?qǐng)D5,當(dāng)輸入包440在CAM444中被識(shí)別時(shí),需要遞增DRAM462中的相關(guān)的計(jì)數(shù)器460,以決定大量類(lèi)似的包是否在時(shí)間戳454追蹤的時(shí)間周期中達(dá)到了DoS攻擊極限。然而,訪(fǎng)問(wèn)DRAM462所需的時(shí)間量可能延遲DoS攻擊判斷以及包的隨后的刪除。這還會(huì)延遲對(duì)其他的包通過(guò)防火墻420的處理。處理器442使用DoS攻擊標(biāo)志452,來(lái)快速地識(shí)別其是當(dāng)前DoS攻擊的一部分的DoS包。參照?qǐng)D5和8,DoS攻擊標(biāo)記452結(jié)合其他的處理操作使用,來(lái)減少識(shí)別和處理DoS攻擊所需要的延遲。在操作540中,處理器442接收包。在操:作542中,處理器442判斷所接收的包是否包括新的目標(biāo)地址和當(dāng)前沒(méi)有作為DoS表目包括在CAM444中的區(qū)域。如果CAM444中沒(méi)有預(yù)先存在的表目,那么立即允許包通過(guò)防火墻420。既然當(dāng)前沒(méi)有在CAM444中識(shí)別出該包,那么其不會(huì)是當(dāng)前DoS攻擊的一部分,因此也不會(huì)被刪除。在已經(jīng)允許該包通過(guò)之后,處理器442事后執(zhí)行DoS維護(hù)操作。這就確保不會(huì)必需延遲識(shí)別包之后的其他包。如上所述的圖6和7中,在事后維護(hù)中,處理器442操作546中將新的DoS表目添加至當(dāng)前的世代,并且在操作548中將DoS表目從下一世代中清除。在操作550中,處理器442清除DoS攻擊標(biāo)志452(如果還沒(méi)有清除),設(shè)置新的時(shí)間戳值454,設(shè)置當(dāng)前世代值456,并遞增DRAM462中相應(yīng)的計(jì)數(shù)器460。如果需要,在操作552中,處理器442改變當(dāng)前世代。例如,如上所述,在當(dāng)前世代中的所有表目充滿(mǎn)時(shí),或在預(yù)定時(shí)間戳耗盡后,處理器442改變當(dāng)前世代。因?yàn)閯倓傇O(shè)置了新的DoS表目的時(shí)間戳454,所以時(shí)間戳周期將不會(huì)被耗盡,但是,新的DoS表目本來(lái)已經(jīng)達(dá)到用于當(dāng)前世代的當(dāng)前DoS表目限制?;貋?lái)參照操作542,處理器442可以接收具有對(duì)應(yīng)于CAM444中現(xiàn)有DoS表目的目標(biāo)地址和區(qū)域的包。在操作560中,處理器442立即讀取與匹配的CAM表目相對(duì)應(yīng)的SRAM450中的DoS攻擊標(biāo)志452。如果設(shè)置相應(yīng)的DoS攻擊標(biāo)志452,那么在操作560中立即刪除該包??梢酝ㄟ^(guò)不將包輸出和最終在存儲(chǔ)器中重寫(xiě)包,來(lái)刪除該包。如果需要,操作582-586中的處理器442更新SRAM450中的信息。但是,因?yàn)橐呀?jīng)設(shè)置了DoS攻擊標(biāo)志452,所以處理器442不需要遞增DRAM462中相關(guān)的計(jì)凄i器。例如,在操作582中,處理器442可以用當(dāng)前的世代更新DoS表目的世代值456。在操作584中,處理器442接著判斷時(shí)間戳454是否已經(jīng)耗盡。例如,當(dāng)處理器442追蹤的當(dāng)前時(shí)間戳值和時(shí)間戳454之間的時(shí)間差大于一些預(yù)定時(shí)間周期時(shí),例如1秒,就將時(shí)間戳454重新設(shè)置為當(dāng)前的時(shí)間戳值。因此,在操作586中,可以清除相關(guān)的計(jì)數(shù)器值460和DoS攻擊標(biāo)志452。因?yàn)閷H僅是偶爾地需要重新設(shè)置時(shí)間戳454(例如,每2秒一次),所以在操作586中,將僅僅偶爾地必須訪(fǎng)問(wèn)DRAM462中的計(jì)數(shù)值。因?yàn)橄啾扔赟RAM450,DRAM462要求較長(zhǎng)的訪(fǎng)問(wèn)時(shí)間,這一點(diǎn)特別重要。因此,減小了處理器442為了進(jìn)行DoS維護(hù)所需要的時(shí)間。無(wú)論如何,既然DoS維護(hù)操作是在已經(jīng)在操作580中刪除包之后執(zhí)行的,那么其他的輸入包440(圖5)將不會(huì)被處理器442不必要地延遲。這就使得防火墻420能夠在DoS攻擊期間以千兆比特或更快的線(xiàn)路速率過(guò)濾包,而基本上不會(huì)減慢對(duì)其他合法包的處理。在操作560中,包可以具有CAM444中的現(xiàn)有DoS表目,但是并不設(shè)置相關(guān)的DoS攻擊標(biāo)志452。在操作562中,允許包通過(guò)防火墻420。如果需要,在操作564中,處理器442對(duì)于CAM444中的匹配DoS表目更新世代信息456。例如,將在SRAM450中識(shí)別的現(xiàn)有世代456設(shè)置為當(dāng)前世代。如果需要,當(dāng)世代時(shí)間周期已經(jīng)耗盡或者當(dāng)前世代中的世代表目的最大數(shù)量已經(jīng)達(dá)到了之前如圖6和7中所述的預(yù)定限制時(shí),處理器442還可以在操作564中改變當(dāng)前世代。在操作566中,遞增對(duì)于現(xiàn)有DoS表目的計(jì)數(shù)器460,并且在才喿作568中,處理器442檢查計(jì)數(shù)值460以及相關(guān)時(shí)間戳454的累積時(shí)間。在操作570中,如果時(shí)間戳值比時(shí)間戳?xí)r周期(耗盡的時(shí)間戳)舊,那么在操作572中,重新設(shè)置計(jì)數(shù)460和時(shí)間戳454。如果操作570中時(shí)間戳有效,那么在操作574中處理器442判斷計(jì)數(shù)器460是否超出了DoS攻擊極限。如果沒(méi)有,處理器442則返回到操作540,并且處理可能的DoS攻擊的下一個(gè)識(shí)別的DoS候選包。如果計(jì)數(shù)器460超出了DoS攻擊極限。那么在操作576中設(shè)置DoS攻擊標(biāo)志452。應(yīng)該注意,在一個(gè)實(shí)施例中,在相關(guān)的包已經(jīng)通過(guò)防火墻420之后,設(shè)置DoS攻擊標(biāo)志452。這樣一個(gè)附加的包通常不足以干擾專(zhuān)用網(wǎng)絡(luò)24中目標(biāo)機(jī)器的運(yùn)行(圖3)。但是,使包通過(guò)防火墻420轉(zhuǎn)發(fā)而不必須等待完成DoS管理操作的能力基本上提高了防火墻的性能。進(jìn)一步地,因?yàn)橐陨厦枋龅牟僮骺赡軆H僅針對(duì)與可能的DoS攻擊相關(guān)的包(DoS候選包)而執(zhí)行,因此,與處理可能的DoS攻擊的每一個(gè)接收的包的其他的防火墻結(jié)構(gòu)相比,DoS管理和監(jiān)控所需要的處理量得到了充分地降低。在RSP中實(shí)現(xiàn)DoS快速地返回參照?qǐng)D5,任何處理器442可以用于實(shí)現(xiàn)上述的防火墻系統(tǒng)。但是,為了進(jìn)一步提高性能,在一個(gè)實(shí)施例中,處理器442采用之前在圖2A-2C中描述的可重新配置語(yǔ)義處理器(RSP)100來(lái)實(shí)現(xiàn)。圖9更詳細(xì)地示出了如何將RSP100用于DoS保護(hù)。為了簡(jiǎn)潔的解釋?zhuān)霸趫D2A-2C中描述的RSP100中的一些處理元件并沒(méi)有在圖9中示出。在輸入緩沖器140中接收輸入包600。DXP180包括相關(guān)分析表170(圖2A)中的語(yǔ)法,該分析表170識(shí)別也許與可能的DoS攻擊相關(guān)聯(lián)的包600(DoS候選包)。例如,分析器語(yǔ)法可能識(shí)別包括TCPSYN消息、TCPFIN消息、包碎片等的任何輸入包600。在識(shí)別DoS候選包時(shí),DXP180將DoS識(shí)別消息602發(fā)送給SPU200。消息602從SCT210發(fā)起(launch)由SPU200執(zhí)行的DoSSEP代碼620。DoSSEP代碼620使得SPU200執(zhí)行以上在圖3-8中描述的不同的DoS操作。存儲(chǔ)器系統(tǒng)215包括之前在圖5中示出的DRAM462、CAM444和SRAM450。在一個(gè)實(shí)施方案中,陣列機(jī)上下文數(shù)據(jù)存儲(chǔ)器(AMCD)230用于通過(guò)散列函數(shù)或內(nèi)容可尋址存儲(chǔ)器(CAM)444訪(fǎng)問(wèn)DRAM462或SRAM450中的數(shù)據(jù)。AMCD230包括自由表(freetable)604,其包括每一個(gè)都與CAM444中的表目相關(guān)的位605。自由表604中,CAM444中任何無(wú)用的表目均由零位605表示,而CAM444中任何有效的DoS表目由相關(guān)的一位605表示。AMCD320支持來(lái)自SPU200的發(fā)現(xiàn)第一個(gè)零(FindFirstZero,FFZ)指令,SPU200識(shí)別出自由表604中的第一個(gè)零位。當(dāng)需要識(shí)別CAM444中的位置以便下載新的DoS表目時(shí),SPU200對(duì)自由表604執(zhí)行FFZ指令。FFZ指令返回自由表604中第一個(gè)零位的位置,接著用作CAM444中相應(yīng)表目的指針。SPU200將新包的目標(biāo)地址和區(qū)域加載到在CAM444中識(shí)別的地址位置。如圖6中所描述的那樣,DoS表目被添加到CAM444中的當(dāng)前世代,而其他DoS表目同時(shí)被從下一世代中清除。SPU200利用世代表608快速地識(shí)別出CAM444中哪個(gè)表目應(yīng)該從下一世代中除去。CAM444中每個(gè)世代具有相關(guān)的世代表609A-D。CAM444中與具體世代相關(guān)的每個(gè)有效的DoS表目在相關(guān)世代表608中具有相應(yīng)的零位設(shè)置。例如,CAM444中第三個(gè)表目包括與世代0相關(guān)的DoS表目。因此,SPU200將世代表608A中的第三位設(shè)置為零。如果需要清除對(duì)于世代0的DoS表目,那么SPU200對(duì)世代表608A執(zhí)行FFZ操作。識(shí)別世代表608A中的第三位,并且接著由SPU200利用來(lái)使CAM444中的相應(yīng)第三個(gè)DoS表目無(wú)效。例如,SPU200將世代表608A中的第三位設(shè)置為1,而將自由表604中的第三位設(shè)置為0。當(dāng)然,這僅僅是表604和608如何運(yùn)行的一個(gè)實(shí)施例。也可以采用其他表結(jié)構(gòu)。如上所述,可以在SPU200已經(jīng)刪除或允許相關(guān)包通過(guò)RSP100后,進(jìn)行識(shí)別CAM444中的有效表目以及識(shí)別從CAM444中清除哪個(gè)表目的這些DoS維持操作。存儲(chǔ)器系統(tǒng)215還包括表606,該表606由SPU200使用來(lái)識(shí)別之前由策略管理器識(shí)別出的區(qū)域。例如,包可以包括由DXP180識(shí)別的端口號(hào)。SPU200可以將端口號(hào)與表606中的包標(biāo)記610A進(jìn)行比較,以識(shí)別接收該包的區(qū)域610B。表606還可以包括與每個(gè)區(qū)域相關(guān)的包速率610C,以識(shí)別DoS攻擊。計(jì)時(shí)器612由SPU20(H吏用,來(lái)產(chǎn)生針對(duì)SRAM450中的每個(gè)DoS表目的時(shí)間戳,并且判斷每個(gè)時(shí)間戳的時(shí)間戳周期何時(shí)耗盡。世代表614識(shí)別當(dāng)前世代。RSP100還可以識(shí)別和丟棄具有偽造IP地址的任何包。例如,一組IP地址作為多點(diǎn)傳送目標(biāo)地址而保存??梢酝ㄟ^(guò)DXP180檢測(cè)出接收的包具有對(duì)應(yīng)于所保存的多點(diǎn)傳送地址的源地址,并立即刪除該包。圖10和11在更高層次上描述了RSP100如何實(shí)現(xiàn)以上所述的DoS操作。具體地參照?qǐng)D10和11,并且大體地參照?qǐng)D9,在操作650中,DXP180分析輸入包600。在操作652中,分析表170中的語(yǔ)法由DXP180所使用,以識(shí)別任何DoS候選包。同時(shí),DXP180可以引導(dǎo)SPU200在DRAM462中存儲(chǔ)輸入包600,或者可以將包臨時(shí)地保存在輸入緩沖器140中。操作654中,DXP180還識(shí)別包的目標(biāo)地址和接收該包的區(qū)域。當(dāng)識(shí)別出DoS候選包時(shí),操作656中,DXP180將信令(signaling)602發(fā)送給SPU200以加載與所需DoS操作相關(guān)的DoSESP代碼620。例如,SEP代碼620可以與特定類(lèi)型的DoS操作有關(guān),而DoS操作與識(shí)別的TCPSYN包或者識(shí)別的包碎片有關(guān)。操作658中,SPU將識(shí)別的目標(biāo)地址和相關(guān)的區(qū)域信息與CAM444中的表目進(jìn)行比較。操作660中,如果相應(yīng)的DoS表目存在于CAM444中,那么SPU200執(zhí)行如以下在圖11中描述的DoS操作。如果當(dāng)前沒(méi)有DoS表目存在于CAM444中,那么在操作662中,SPU200允許包通過(guò)防火墻。這就直接地意味著在將包發(fā)送給輸出緩沖器150之前,SPU200可以繼續(xù)對(duì)DRAM462中的相應(yīng)包進(jìn)行任何其他需要的防火墻處理?;蛘呷绻€沒(méi)有存儲(chǔ)在DRAM462中,那么SPU200可以允許輸入緩沖器140中的包被存儲(chǔ)在DRAM462中,以進(jìn)行進(jìn)一步的處理。SPU200接著執(zhí)行任何需要的DoS維護(hù)。例如,在操作664中,SPU200讀取AMCD320中的表614,以判斷對(duì)于相關(guān)的DoS操作什么世代是當(dāng)前激活的。SPU200還讀取表604和608,以判斷將新的DoS表目在CAM444中添加至哪里以及從下一個(gè)世代中刪除哪個(gè)DoS表目。在操作666中,SPU200用新的DoS表目更新CAM444,并且讀取SRAM450中相應(yīng)的存儲(chǔ)器位置的內(nèi)容。最后,在操作668中,SPU200更新SRAM450中的時(shí)間戳和世代信息以及DRAM462中的計(jì)數(shù)信息。參照?qǐng)D11,當(dāng)包的目標(biāo)地址和區(qū)域已經(jīng)是CAM444中的DoS表目時(shí),在操作700中,SPU200讀取SRAM450中相應(yīng)的存儲(chǔ)器位置。在操作702中,SPU200檢查是否設(shè)置了DoS攻擊標(biāo)志。如果設(shè)置了DoS攻擊標(biāo)記,那么在操作704中SPU立即地從DRAM462中刪除包或者從輸入緩沖器140中刪除包。例如,SPU200可以在DRAM462中設(shè)置表明包無(wú)效的刪除標(biāo)志。接著,再也不會(huì)從DRAM462中讀出無(wú)效包,并且最終用其他的數(shù)據(jù)進(jìn)行重寫(xiě)。在還沒(méi)有存儲(chǔ)在DRAM462中時(shí),包就自輸入緩沖器140中刪除。如果沒(méi)有設(shè)置DoS攻擊標(biāo)記,那么在操作706中,SPU立即地釋放包以進(jìn)行進(jìn)一步的處理。例如,包可以立即地從輸入緩沖器140中傳送至DRAM462中特定的位置。如杲在DRAM462中已經(jīng)存儲(chǔ)有該包,那么包可以發(fā)送到另一SPU200以進(jìn)行進(jìn)一步防火墻處理,或者如果部需要進(jìn)一步的防火墻處理,那么可以發(fā)送給輸出緩沖器150??蛇x地,SPU200可以將來(lái)自DRAM462中的包發(fā)送至再循環(huán)緩沖器(recirculationbuffer)160,以便由DXP180進(jìn)行再次分析。例如,DXP180接著可以識(shí)別與其他防火墻操作相關(guān)的包中的其他的內(nèi)容。在操作708中,SPU200更新SRAM450中的信息,并且如果需要,遞增DRAM462中相關(guān)的計(jì)數(shù)460。在操作710中,SPU200接著更新表604、606以及614中任何需要的信息。然后,SPU200等待來(lái)自DXP180的新的SEP指令602。統(tǒng)一防火墻/發(fā)送管理(統(tǒng)一策略管理)參照?qǐng)D12,防火墻804運(yùn)行在第一網(wǎng)絡(luò)800和第二網(wǎng)絡(luò)812之間。防火墻804提供了多種網(wǎng)絡(luò)接口操作。例如,除了如上所述的識(shí)別和過(guò)濾DoS攻擊之外,防火墻還需要在不同網(wǎng)絡(luò)形式之間轉(zhuǎn)換包,例如在IP第4版(IPv4)和IP第6版(IPv6)之間,或者在公共和專(zhuān)用IP地址之間進(jìn)行轉(zhuǎn)換(網(wǎng)絡(luò)地址轉(zhuǎn)換,NAT)。還可以要求防火墻804執(zhí)行其它病毒抬r測(cè)和安全操作。接著,要求諸如路由器或者交換機(jī)的另一單獨(dú)的網(wǎng)絡(luò)計(jì)算設(shè)備806來(lái)發(fā)送或者交換通過(guò)防火墻804的包。例如,自路由器/交換機(jī)806接收的包可以轉(zhuǎn)發(fā)到其他的路由器或交換機(jī)808,接著,可以進(jìn)一步將包轉(zhuǎn)發(fā)至網(wǎng)絡(luò)812中的其他的網(wǎng)絡(luò)處理設(shè)備。路由器或者交換機(jī)806還可以將包發(fā)送至端點(diǎn),例如服務(wù)器810或者個(gè)人計(jì)算機(jī)(PC)814。這種傳統(tǒng)結(jié)構(gòu)的問(wèn)題在于防火墻設(shè)備804和路由設(shè)備806自動(dòng)地運(yùn)行。因此,對(duì)于每個(gè)設(shè)備802和806需要單獨(dú)的處理和存儲(chǔ)器資源。這樣不但增加了邊緣設(shè)備的硬件成本,而且制約了可擴(kuò)展性(scalability),還會(huì)阻止這些邊緣設(shè)備以所需要的線(xiàn)路速率來(lái)處理包。例如,可以要求防火墻804針對(duì)可能的TCPSYN包監(jiān)控每個(gè)輸入包。如上所述,這就可以要求防火墻804識(shí)別每個(gè)輸入包的目標(biāo)地址。接著,將不是DoS攻擊一部分的TCPSYN包轉(zhuǎn)發(fā)至路由器806。然后,路由器806不得不再次判斷自防火墻804接收的包805的目標(biāo)地址,以將包發(fā)送至適當(dāng)?shù)哪繕?biāo)。因此,每個(gè)網(wǎng)絡(luò)處理設(shè)備804和806需要對(duì)相同的包進(jìn)行一些相同的包處理操作。結(jié)果,每個(gè)設(shè)備804和806必須維持單獨(dú)的包狀態(tài)、包緩沖器等。如以上所提及,這就制約了網(wǎng)絡(luò)處理設(shè)備的整個(gè)可擴(kuò)展性和處理能力。參照?qǐng)D13,本發(fā)明的另一方面在網(wǎng)絡(luò)處理設(shè)備820中采用統(tǒng)一策略管理,以更有效地處理包。在一個(gè)實(shí)施例中,UPM將傳統(tǒng)的防火墻和邊緣設(shè)備操作與包轉(zhuǎn)發(fā)操作集成在一起,該包轉(zhuǎn)發(fā)操作直到現(xiàn)在仍通過(guò)單獨(dú)的獨(dú)立操作處理器常規(guī)地執(zhí)行。在一個(gè)實(shí)施方案中,唯一的訪(fǎng)問(wèn)控制表(ACL)的表由處理器822使用,以提供多種不同的UPM操作。處理器822接收輸入包流802,并識(shí)別與單個(gè)包821相關(guān)的斷言組(predicateset)854。斷言組854在以下圖14中進(jìn)行更詳細(xì)的描述,但是其通常可能是接收的包中與防火墻或轉(zhuǎn)發(fā)操作相關(guān)的任何信息。例如,斷言組854可以包括,但不限于,IP地址、TCP端口號(hào)、IP協(xié)議標(biāo)識(shí)符等。在本發(fā)明的另一獨(dú)特方面,斷言組854還包括較高的開(kāi)放式系統(tǒng)互聯(lián)(OSI)層信息,例如會(huì)話(huà)初始協(xié)議(SIP)、統(tǒng)一資源定位符(URL)、簡(jiǎn)單消息傳輸協(xié)議(SMTP)、超文本傳輸協(xié)議(HTTP)、文件傳輸協(xié)議(FTP)信息,以及其他應(yīng)用層信息,例如附件和其他文本文件的這種標(biāo)識(shí)。根據(jù)可能與不同UPM或其他防火墻操作有關(guān)的斷言表目850的不同組合,來(lái)組織訪(fǎng)問(wèn)控制表(ACL)的表840。例如,第一組防火墻策略ACL848可以與不同的判斷輸入包821是否被允許通過(guò)網(wǎng)絡(luò)處理設(shè)備820的拒絕服務(wù)(DoS)操作有關(guān)。防火墻策略ACL848還可以與需要由網(wǎng)絡(luò)處理設(shè)備820執(zhí)行的其他的包轉(zhuǎn)換、授權(quán)和過(guò)濾操作有關(guān),例如,網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)、病毒檢測(cè)和過(guò)濾、IP版本轉(zhuǎn)換等。在另一具體的獨(dú)特的實(shí)施方案中,ACL表840還可以包括轉(zhuǎn)發(fā)信息庫(kù)(FIB)842,其使不同的目標(biāo)地址844與不同的目標(biāo)端口號(hào)846相關(guān)聯(lián)。FIB842可以駐留在ACL表840的獨(dú)立部分中,和/或如以下更詳細(xì)描述,可以與一些防火墻策略ACL848集成在一起。表840中的ACL表目還包括動(dòng)作(action)852,其引導(dǎo)處理器822來(lái)允許或拒絕相關(guān)的包通過(guò)網(wǎng)絡(luò)處理設(shè)備820。其他的ACL動(dòng)作852可以將相關(guān)的包引導(dǎo)至特定的目標(biāo)或返回處理器822以進(jìn)行其他的處理。在其他的情況中,防火墻策略動(dòng)作852可以引導(dǎo)處理器822將相關(guān)的包821發(fā)送至具體的輸出端口846。UMP操作,其通常并不是在相同的網(wǎng)絡(luò)處理設(shè)備820中執(zhí)行。例如,UPM操作的小子集包括如上所述因?yàn)镈oS或者入侵檢測(cè)而刪除的包838。網(wǎng)絡(luò)處理設(shè)備820還可以在轉(zhuǎn)發(fā)至目標(biāo)地址之前修改或標(biāo)記包824。例如,包824可以在特定的隧道中進(jìn)行封裝,或者用特定的QoS等級(jí)進(jìn)行標(biāo)記等。在另一UPM動(dòng)作中,ACL表840中的表目可以引導(dǎo)處理器822將任何通過(guò)或刪除的包830的統(tǒng)計(jì)數(shù)據(jù)記錄至服務(wù)器828。在另一UPM操作中,如以上簡(jiǎn)要提及,ACL表840中的表目可以使處理器822根據(jù)不同的防火墻策略度量(metrics),將包834轉(zhuǎn)發(fā)至不同的子網(wǎng)832或者設(shè)備836。例如,包括特定HTTP會(huì)話(huà)的包834可以發(fā)送至服務(wù)器836,而所有其他的包可以發(fā)送給子網(wǎng)832。在以上圖13的描述以及以下進(jìn)一步的描述中,發(fā)送和交換可以互換地使用。本領(lǐng)域的普通技術(shù)人員應(yīng)該理解,如以下進(jìn)一步詳細(xì)描述所示,UPM系統(tǒng)820結(jié)合其他的防火墻策略度量,執(zhí)行統(tǒng)一的第二層交換和/或第三層發(fā)送操作。訪(fǎng)問(wèn)控制表圖14示出了以上在圖13中描述的ACL表840的示例性表目。斷言和動(dòng)作的任何組合可以在ACL表840中組合在一起,而圖14僅僅示出了一些實(shí)施例。在一個(gè)實(shí)施例中,處理器822(圖13)將一個(gè)或更多的ACL斷言并置在一起,并且將組合的斷言組854作為包括ACL表840的CAM的地址表目。由CAM輸出動(dòng)作,該動(dòng)作與ACL表840中第一個(gè)表目的動(dòng)作有關(guān),并且與處理器822遞交的斷言組854匹配。ACL表840中的第一個(gè)表目860包括目標(biāo)IP地址斷言860A、源IP地址斷言860B、TCP端口號(hào)斷言860C、建立的TCP會(huì)話(huà)斷言860D以及允許動(dòng)作860E。在該實(shí)施例中,ACL860是ACL表840中的第一個(gè)表目。當(dāng)然,ACL表目的任何順序和組合可以加載在ACL表840中。當(dāng)由處理器822提供的斷言組854匹配斷言860A-860D時(shí),自ACL表840中輸出相關(guān)的動(dòng)作860E。在該實(shí)施例中,當(dāng)輸入包821(圖13)的目標(biāo)IP地址和源IP地址分別匹配斷言860A和860B中的值時(shí),ACL表840輸出允許動(dòng)作860E。在斷言860A和860B中識(shí)別的IP地址可以?xún)H僅包括與完全的IP源和目標(biāo)地址相關(guān)的子網(wǎng)地址。類(lèi)似于發(fā)送表中當(dāng)前使用子網(wǎng)掩碼的方式,IP地址中的附加位可以掩蔽為"無(wú)關(guān)"值。為了匹配ACL表目860,包821(圖13)還必須具有與斷言860C相對(duì)應(yīng)的相關(guān)TCP端口號(hào)。應(yīng)該注意,沒(méi)有源或目標(biāo)限定符(qualifier)與TCP端口號(hào)斷言860C有關(guān)。這就意味著包821中相同的源TCP端口號(hào)C或相同的目標(biāo)TCP端口號(hào)C將會(huì)匹配斷言860C。最終,為了匹配ACL表目860,如建立的TCP斷言860D所要求的那樣,輸入包821必須是已經(jīng)建立的TCP會(huì)話(huà)的一部分。斷言860D可以簡(jiǎn)單地是斷言組854中的標(biāo)志,其在輸入包821被判定是已經(jīng)建立的TCP會(huì)話(huà)的一部分時(shí),由處理器822所設(shè)置的。ACL表目860因此不會(huì)匹配包括試圖建立新的TCP會(huì)話(huà)的TCPSYN消息的包。下兩個(gè)ACL表目862和864與涉及拒絕月良務(wù)(DoS)攻擊的防火墻策略有關(guān)。為了匹配ACL表目862,輸入包821中的地址必須分別匹配目標(biāo)和源IP地址斷言862A和862B。此外,輸入包821還必須是如該類(lèi)型TCP斷言862C所要求的TCP包。ACL表目862使TCP包的特定目標(biāo)和源IP地址與TCPDoS動(dòng)作862D有關(guān),該動(dòng)作與上述圖4中描述的特定區(qū)域相對(duì)應(yīng)。因此,動(dòng)作862D可以利用與區(qū)域1相對(duì)應(yīng)的特定包速率極限,來(lái)引導(dǎo)處理器822執(zhí)行以上在圖4-11中描述的DoS操作。ACL表目864與TCPDoS動(dòng)作864D有關(guān),并且包括與目標(biāo)IP地址斷言862A相同的目標(biāo)IP地址斷言864A。然而,斷言864B包括與源IP地址斷言862B不同的源IP地址C。這就與自不同網(wǎng)絡(luò)接口接收的包相對(duì)應(yīng)。因此,ACL動(dòng)作864D用于利用不同的相應(yīng)區(qū)域3進(jìn)行的TCPDoS操作。處理器一旦接收動(dòng)作864D,就可以用不同的包速率極限來(lái)判斷DoS攻擊。ACL表目866與網(wǎng)際協(xié)議第4版(IPv4)到網(wǎng)際協(xié)議第6版(IPv6)的轉(zhuǎn)換相關(guān)聯(lián)。例如,輸入包821可以通過(guò)采用IPv6運(yùn)行的網(wǎng)絡(luò)進(jìn)行接收。然而,在網(wǎng)絡(luò)處理設(shè)備820的其他地區(qū)運(yùn)行的網(wǎng)絡(luò)可以采用IPv4。因此,網(wǎng)絡(luò)處理設(shè)備820可以需要將所有IPv6包轉(zhuǎn)換為IPv4包。輸入包821的IP頭部中的IP類(lèi)型字段將該包標(biāo)識(shí)為IPv4或者IPv6。處理器822從包821中提取IP類(lèi)型字段中的目標(biāo)IP地址和IP版本標(biāo)識(shí)符,并且將這些信息編排(format)到應(yīng)用到ACL表840中的斷言組854中。在斷言組854匹配ACL表目866中的斷言866A和866B時(shí),處理器822向后接收XLATEIPv6動(dòng)作866C。虹ATEIPv6動(dòng)作866C引導(dǎo)處理器822利用特定規(guī)則5將輸入IPv6包821轉(zhuǎn)換為IPv4。例如,IPv6規(guī)則5可以指導(dǎo)處理器822將IPv4頭部中的IPv6包或IPv6地址的分離部分封裝進(jìn)包括在IPv4頭部中的不同的公司和本地代碼中。IPv4和IPv6之間的轉(zhuǎn)換將在以下于圖24中進(jìn)行進(jìn)一步的詳細(xì)描述。ACL表目868和870與基于策略的發(fā)送和轉(zhuǎn)換操作有關(guān)。ACL表目868包括結(jié)合防火墻策略度量868B的轉(zhuǎn)發(fā)信息庫(kù)(FIB)發(fā)送標(biāo)準(zhǔn)868A和868C。類(lèi)似地,ACL表目870包括結(jié)合防火墻策略度量870C的FIB發(fā)送標(biāo)準(zhǔn)870A和870C。這些ACL表目868和870允許網(wǎng)絡(luò)處理設(shè)備820基于IP目標(biāo)地址和防火墻策略度量,將包發(fā)送或交換至不同端口。例如,ACL表目868包括轉(zhuǎn)發(fā)動(dòng)作868C,其引導(dǎo)處理器822將輸入包821輸出至具有目標(biāo)IP地址G的TCP包類(lèi)型868B的端口3。然而,ACL表目870引導(dǎo)處理器822將具有相同目標(biāo)IP地址G的UDP包類(lèi)型870B轉(zhuǎn)發(fā)至不同的輸出端口4。這些基于策略的發(fā)送ACL可以用于例如將TCP總線(xiàn)威脅發(fā)送至特定處理設(shè)備,以進(jìn)行進(jìn)一步DoS處理,同時(shí)UDP包被發(fā)送至與斷言870A相對(duì)應(yīng)的目標(biāo)地址。當(dāng)然,ACL表840中的表目?jī)H僅是可以用于執(zhí)行統(tǒng)一策略管理的不同ACL的小型實(shí)施例。圖15更詳細(xì)地描述了圖13中的網(wǎng)絡(luò)處理設(shè)備820如何執(zhí)行UPM。在操作880中,處理器822接收輸入包821,以及在操作882中,自輸入包產(chǎn)生斷言組854。例如,可以對(duì)處理器822進(jìn)行編程,以將一組預(yù)定的IP包字段識(shí)別、提取和以預(yù)定順序編排進(jìn)斷言中。如果IP包字段之一沒(méi)有存在于輸入包821中,那么提取表中的下一個(gè)包字段,并與之前提取和編排的斷言相結(jié)合。操作884中,處理器822將斷言組854應(yīng)用至ACL表840中,以及在操作886中,接收和執(zhí)行從ACL表840的匹配的斷言表目中接收到的動(dòng)作。為了簡(jiǎn)明,在圖15中僅描述了從ACL表中返回的3個(gè)動(dòng)作種類(lèi)。然而,可以將任何數(shù)量的不同動(dòng)作配置在ACL表目中。如果在操作892中,從ACL表840中接收到刪除動(dòng)作852,那么在操作卯0中,處理器丟棄包。在開(kāi)始處理下一個(gè)輸入包821之前,操作902中,處理器822可以記錄與刪除的包有關(guān)的任何統(tǒng)計(jì)信息。如果在操作890中,從ACL表接收到通過(guò)動(dòng)作853,那么在操作898中,處理器可以4艮據(jù)FIB842(圖13)發(fā)送或交換包。通過(guò)動(dòng)作890可以包括轉(zhuǎn)發(fā)端口號(hào),或可以引導(dǎo)處理器822再次訪(fǎng)問(wèn)ACL表840以獲得轉(zhuǎn)發(fā)端口信息。如果在操作888中,從ACL表中接收到操控(steer)ACL動(dòng)作853,那么在操作894中,處理器執(zhí)行與ACL動(dòng)作有關(guān)的防火墻操作。如果可以應(yīng)用,那么處理器822還可以在操作894中根據(jù)相關(guān)的防火墻策略度量轉(zhuǎn)發(fā)包。例如,如以上圖14中所述,操控動(dòng)作852可以引導(dǎo)處理器通過(guò)特定端口將TCP包轉(zhuǎn)發(fā)到檢查DoS攻擊的網(wǎng)絡(luò)處理設(shè)備處??蛇x地,在操作888中識(shí)別的操控動(dòng)作852可以引導(dǎo)處理器822對(duì)包執(zhí)行其他的防火墻處理。例如,操控動(dòng)作852還可以引導(dǎo)處理器822執(zhí)行網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)。因此,在操作882中,如果需要,處理器822可以從包821中提取另一斷言組854,以及在操作884中,再次將新的斷言組854應(yīng)用至ACL表840中。根據(jù)自ACL表840中接收到的下一ACL動(dòng)作852,處理器822可以在進(jìn)行NAT操作之前刪除、通過(guò)或操控包。根據(jù)上部OSI層轉(zhuǎn)發(fā)包圖16描述了發(fā)送和轉(zhuǎn)發(fā)操作如何與防火墻策略管理集成的另一實(shí)施例。ACL表910類(lèi)似于圖13中的ACL表840。然而,ACL表910將轉(zhuǎn)發(fā)信息庫(kù)(FIB)與層4和層7以及策略度量910D和910E分別結(jié)合在一起。應(yīng)該注意的一個(gè)重要的方面在于,簡(jiǎn)單地通過(guò)將新的斷言添加至表910,可以將策略管理度量的任何組合添加至傳統(tǒng)的發(fā)送和交換轉(zhuǎn)發(fā)表。應(yīng)該注意的另一特征在于,通常將發(fā)送或交換決定限制到開(kāi)放式系統(tǒng)互聯(lián)(OSI)網(wǎng)際模式。例如,交換機(jī)和路由器通常基于包端口號(hào)和IP地址制定包轉(zhuǎn)發(fā)決定。ACL表910結(jié)合圖13中的網(wǎng)絡(luò)處理設(shè)備結(jié)構(gòu),使轉(zhuǎn)發(fā)決定能夠基于包括在較高OSI層中的信息。例如,ACL表910中的一些包轉(zhuǎn)發(fā)決定基于數(shù)據(jù)鏈(層2)、網(wǎng)絡(luò)層(層3)、傳輸層(層4)和應(yīng)用層(層7)中的信息。當(dāng)然,轉(zhuǎn)發(fā)決定還可以基于任何其他的OSI層。為了進(jìn)一步詳細(xì)解釋?zhuān)珹CL表910包括目標(biāo)IP地址斷言910A,其部分地用于將包轉(zhuǎn)發(fā)至在動(dòng)作910C中識(shí)別出的不同輸出端口。斷言910B中的傳統(tǒng)子網(wǎng)掩碼用于在目標(biāo)IP地址斷言910A中掩蔽位。例如,在第一個(gè)ACL表目912中,地址"10.0.0"的僅僅開(kāi)始的三個(gè)子網(wǎng)字段與輸入包821的目標(biāo)IP地址進(jìn)行比較。在ACL表目916中,僅僅第一個(gè)子網(wǎng)字段"10"與輸入包821的目標(biāo)IP地址進(jìn)行比較。在這種實(shí)施例中,除了分別基于層4或?qū)?斷言910D和910E之夕卜,轉(zhuǎn)發(fā)決定還基于目標(biāo)IP地址。例如,具有目標(biāo)IP地址"10.0.0.x,,(其中"x"表示"無(wú)關(guān)")的輸入TCP包將要被發(fā)送至輸出端口15??蛇x地,具有目標(biāo)IP地址"10.0.0.x"的輸入U(xiǎn)DP包也將會(huì)被發(fā)送至輸出端口5。在開(kāi)始包處理期間,在處理器822識(shí)別目標(biāo)IP地址的同時(shí),由處理器822識(shí)別輸入包821的TCP和UDP標(biāo)識(shí)符。目標(biāo)IP地址和TCP或者UDP標(biāo)識(shí)符接著與ACL表910中的表目進(jìn)行比較,以判斷轉(zhuǎn)發(fā)包的正確的輸出端口。這示出了如何基于層4度量轉(zhuǎn)發(fā)包的一個(gè)實(shí)施例。ACL表目914是傳統(tǒng)的轉(zhuǎn)發(fā)表表目,當(dāng)輸入包在目標(biāo)IP地址中包括子網(wǎng)字段"12.0.x.x"時(shí),它將包轉(zhuǎn)發(fā)至特定的輸出端口2。ACL表目916根據(jù)目標(biāo)IP地址和層7會(huì)話(huà)初始協(xié)議(SIP)度量,作為發(fā)送決定的基礎(chǔ)。例如,具有IP目標(biāo)地址"10.0.0.x"的非SIP包凈^送至網(wǎng)絡(luò)處理設(shè)備820中的輸出端口7。但是,具有IP目標(biāo)地址"lO.x.x.x"的SIP包^皮發(fā)送至輸出端口4。這對(duì)于包括網(wǎng)絡(luò)電話(huà)(VoiceOverIP,VoIP)SIP信令的包是有益的,這種信令需要被發(fā)送至特定的網(wǎng)絡(luò)處理設(shè)備,例如,SIP代理服務(wù)器。其他的非SIPIP交通根據(jù)目標(biāo)地址以傳統(tǒng)的方式進(jìn)行發(fā)送。當(dāng)包包括SIP消息時(shí),用于與ACL表目916中的SIP斷言910E進(jìn)行比較的SIP標(biāo)識(shí)符是一種通過(guò)處理器822產(chǎn)生的標(biāo)志。ACL表目918示出了另一種實(shí)施例,其中發(fā)送基于層7URL度量。該類(lèi)型發(fā)送的一種應(yīng)用是用于訪(fǎng)問(wèn)網(wǎng)絡(luò)服務(wù),并且接著更加有效地將隨后的URL包發(fā)送至不同的位置。參考圖16和17,企業(yè)可以運(yùn)行網(wǎng)絡(luò)服務(wù)器934,網(wǎng)絡(luò)服務(wù)器934可由不同用戶(hù)930通過(guò)因特網(wǎng)932訪(fǎng)問(wèn)。網(wǎng)絡(luò)服務(wù)器934可以將網(wǎng)頁(yè)936顯示給用戶(hù)930,其提供了到不同商業(yè)服務(wù)的多種不同鏈接。例如,第一個(gè)URL鏈接938可以引導(dǎo)用戶(hù)進(jìn)入客戶(hù)支持,第二個(gè)URL鏈接940可以引導(dǎo)用戶(hù)進(jìn)入汽車(chē)銷(xiāo)售,而第三個(gè)鏈接942可以引導(dǎo)用戶(hù)930進(jìn)入家具銷(xiāo)售。支持這些不同鏈接938、940以及942的網(wǎng)頁(yè)服務(wù)器可以位于不同的因特網(wǎng)位置上,并且可能但不限于不同的地理位置上。例如,客戶(hù)支持服務(wù)器944可以位于亞特蘭大的公司總部,汽車(chē)銷(xiāo)售服務(wù)器946位于底特律,而家具銷(xiāo)售服務(wù)器949位于法國(guó)的巴黎。ACL表910(圖16)用于更有效地將用戶(hù)930連接至URL鏈接938、940和942。例如,當(dāng)用戶(hù)點(diǎn)擊客戶(hù)支持鏈接938時(shí),網(wǎng)頁(yè)服務(wù)器934產(chǎn)生具有包括URL"Http://DEST1,,的目標(biāo)IP地址"10.10.x.x,,的包。圖17中的路由器935將IP目標(biāo)地址和URL—起與ACL表910中的表目進(jìn)行比較。因此,路由器935通過(guò)輸出端口l將包發(fā)送給客戶(hù)支持服務(wù)器944。路由器935還可以接收具有相同目標(biāo)IP地址"IO.IO.x.x"但不具有URL"fttp:/DEST2"的包。路由器935因此通過(guò)端口2將這些包發(fā)送至汽車(chē)服務(wù)器946。具有目標(biāo)IP地址"IO.IO.x.x"和相關(guān)的URL/DEST3的包通過(guò)端口3被發(fā)送至家具服務(wù)器948。這就提供了到達(dá)期望的IP目標(biāo)的更直接的發(fā)送。采用RSP的統(tǒng)一策略管理如上所述,統(tǒng)一策略管理(UPM)可以在如圖13中所示的傳統(tǒng)的處理器和計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)中實(shí)現(xiàn)。然而,為了實(shí)現(xiàn)進(jìn)一步的性能,UPM可以在類(lèi)似于之前在圖2A-2C中所示的RSP100的可重新配置語(yǔ)義處理器(RSP)中實(shí)現(xiàn)。參照?qǐng)D18和19,在操作1000中,RSP100中的DXP180執(zhí)行語(yǔ)法,該語(yǔ)法分析輸入緩沖器140中的包以及識(shí)別執(zhí)行UPM操作所需要的任何ACL斷言954。操作1002中,DXP180將指令發(fā)送至發(fā)起SEP代碼212的SPU200。SEP代碼212使SPU200將ACL斷言954編排進(jìn)斷言組956,該斷言組956接著被應(yīng)用至ACL表979。在該實(shí)施例中,ACL表979中的一些或者全部^皮包括在一個(gè)或更多的CAM220中。根據(jù)在DXP180中執(zhí)行的語(yǔ)法和DXP180中發(fā)起的相關(guān)SEP代碼212,任何數(shù)量的ACL斷言954都能夠通過(guò)SPU200組合進(jìn)ACL斷言組956中。例如,DXP180中的語(yǔ)法可以針對(duì)包目標(biāo)和源地址識(shí)別ACL斷言954??梢葬槍?duì)IPv6-IPv4轉(zhuǎn)換或者TCPDoS操作,識(shí)別其他的斷言954。在DXP識(shí)別IPv6包時(shí),由DXP180發(fā)起的SEP代碼212可以使SPU200將目標(biāo)IP地址斷言與IPv6包類(lèi)型斷言組合在一起。類(lèi)似地,在識(shí)另UTCP包時(shí),DXP180可以發(fā)起SEP代碼212,該SEP代碼212使SPU200將目標(biāo)IP地址斷言954與TCP包類(lèi)型斷言954組合在斷言組956中。在操作1004中,SPU200將ACL斷言組956應(yīng)用至CAM220中的ACL表979。在操作1006中,SPU接著根據(jù)自CAM220接收回來(lái)的ACL動(dòng)作852來(lái)處理包。在操作1010中,ACL動(dòng)作252可以是簡(jiǎn)單的刪除指令,該刪除指令使SPU200丟棄當(dāng)前存儲(chǔ)在DRAM280(圖2A)中的包。在操作1012中,ACL動(dòng)作952可以是使SPU200將DRAM280中的包發(fā)送到輸出緩沖器150的指令。在第三種情況下,ACL動(dòng)作952可以使SPU200發(fā)起附加的SEP代碼212,其可以與特定的防火墻操作有關(guān)聯(lián)。例如,一組ACL表目980可以與不同的防火墻操作有關(guān)。ACL表目980A可以與入侵檢測(cè)系統(tǒng)(ID)許可操作有關(guān),其在以下將更詳細(xì)地描述。另一ACL表目980B可以與相應(yīng)的IDS操作有關(guān),該IDS操作在名稱(chēng)為"網(wǎng)絡(luò)處理設(shè)備中的入侵檢測(cè)的方法及設(shè)備"的聯(lián)合待審的申請(qǐng)中描述,該申請(qǐng)于2005年5月9曰提交,申請(qǐng)序列號(hào)為No.11/125,956,其以引用方式包含在本文中。其他的ACL表目980C-F可以與其他的防火墻操作有關(guān),例如,如以上已經(jīng)描述過(guò)的,或者將要在以下更詳細(xì)描述的,網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)、IPv4-IPv6轉(zhuǎn)換、TCP會(huì)話(huà)的拒絕服務(wù)(DoS)以及包碎片的DoS。例如,SPU200可以將ACL斷言組956應(yīng)用至CAM220,該CAM220匹配與DoSTCP包相對(duì)應(yīng)的ACL表目880E。包括在ACL表目980E中的動(dòng)作可以是指向語(yǔ)義代碼表210的指針982。圖19中的操作1008中,SPU200發(fā)起和執(zhí)行指針位置982處的SEP代碼。在該示例中,位置982處的SEP代碼212使SPU200執(zhí)行以上在圖4-11中描述的一些或全部TCPDoS操作。在完成由ACL表目980E中的動(dòng)作發(fā)起的TCPDoS操作之后,SEP代碼212可以使SPU200進(jìn)行任何各種其他防火墻操作。例如,由路徑1014所表示,引導(dǎo)SPU200從由DXP180識(shí)別的ACL斷言954中集合另一ACL斷言組956。接著,新的斷言組956^皮再次應(yīng)用至ACL表979,以執(zhí)行其他防火墻操作。如圖19中的路徑1016所表示的,SEP代碼212可以引導(dǎo)SPU200刪除包,或者可以如路徑1018所表示的,將包發(fā)送至輸出端口。如之前在以上的圖13-17中描述的那樣,RSPIOO還可以執(zhí)行統(tǒng)一策略管理,其將發(fā)送/交換操作都與其他的防火墻策略管理操作統(tǒng)一起來(lái)。因此,CAM220還可以包括轉(zhuǎn)發(fā)信息庫(kù)984,其包括具有目標(biāo)IP地址和相關(guān)目標(biāo)端口號(hào)的表目。如以上圖16中所示,F(xiàn)IB表984可以具有傳統(tǒng)的FIB表目987和其他的表目986,這些表目根據(jù)目標(biāo)地址和其他的防火墻策略度量988發(fā)送包。RSP100可以容易地在作為防火墻、傳統(tǒng)的路由器或交換機(jī)、或其組合進(jìn)行的操作之間移動(dòng)。例如,語(yǔ)義代碼表210(圖18)中的路徑990表示RSP100從DoSTCP操作轉(zhuǎn)換為發(fā)送操作。由SPU200提交給CAM220的第一斷言組956可以匹配DoSTCP表目980E。在完成與DoSTCP操作相關(guān)的SEP代碼982的執(zhí)行后,可以引導(dǎo)SPU200將另一斷言組956提交至CAM220。新的斷言組956可以匹配FIB984中的表目986或者987。FIB984中的表目可以將SPU200引導(dǎo)到SCT210中的SEP代碼992,其執(zhí)行傳統(tǒng)的或IPM發(fā)送操作。可選地,提供至CAM220的初始斷言組956可以匹配FIB表目986,而不是初始地匹配DoSTCP表目980E。表目986中包括的結(jié)果所得到的動(dòng)作可以引導(dǎo)SPU200將相關(guān)的包通過(guò)輸出端口發(fā)送到提供DoSTCP操作的另一設(shè)備。網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)/端口地址轉(zhuǎn)換(PAT)參照?qǐng)D20,可以對(duì)RSP100進(jìn)行編程以進(jìn)行NAT/PAT操作,該操作或端口號(hào)進(jìn)行轉(zhuǎn)換,公共IP地址用于通過(guò)公共網(wǎng)絡(luò)12傳輸包,專(zhuān)用IP地址用于通過(guò)專(zhuān)用網(wǎng)絡(luò)24傳輸包。通常,存在與運(yùn)行在專(zhuān)用網(wǎng)絡(luò)24中的不同網(wǎng)絡(luò)處理設(shè)備相關(guān)聯(lián)的多個(gè)唯一的專(zhuān)用IP地址。但是,僅僅一個(gè)或少數(shù)幾個(gè)/〉共IP地址可以用于表示多個(gè)專(zhuān)用IP地址。這種公共專(zhuān)用網(wǎng)絡(luò)24中內(nèi)部機(jī)器的身份,并且減少了映射到專(zhuān)用網(wǎng)絡(luò)24中多個(gè)專(zhuān)用地址所需的公共地址的數(shù)量。在可選的實(shí)施例中,一個(gè)或更多的專(zhuān)用IP地址具有相關(guān)聯(lián)的單獨(dú)的公共IP地址。這樣可以無(wú)需減少公共IP地址的數(shù)量,但允許防火墻1062將相應(yīng)的專(zhuān)用IP地址從公共網(wǎng)絡(luò)12中隱藏起來(lái)。這種一對(duì)一的映射還允許防火墻1062將公共IP地址重新配置給專(zhuān)用網(wǎng)絡(luò)24中不同的網(wǎng)絡(luò)設(shè)備。RSP100被重新配置,以將輸入包1061的公共IP地址1058轉(zhuǎn)換為專(zhuān)用IP地址1074。接著,專(zhuān)用IP地址1074用于將內(nèi)部包1076發(fā)送至專(zhuān)用網(wǎng)絡(luò)24中相關(guān)的網(wǎng)絡(luò)處理設(shè)備1078。RSP100還從專(zhuān)用網(wǎng)絡(luò)24中的本地設(shè)備1078中接收包1072,包1072包括專(zhuān)用IP地址1070。如果包1072;帔引導(dǎo)至^^共網(wǎng)絡(luò)12中的端點(diǎn)1056,那么RSP100將專(zhuān)用IP地址1070轉(zhuǎn)換為用于通過(guò)公共網(wǎng)絡(luò)12將包1050發(fā)送至端點(diǎn)1056的公共IP地址1052。為了更加詳細(xì)地進(jìn)行解釋?zhuān)趯?zhuān)用網(wǎng)絡(luò)24中運(yùn)行的設(shè)備1078最初可以通過(guò)防火墻1062將包1072發(fā)送到公共網(wǎng)絡(luò)12中的目標(biāo)。RSP100接收包1072,并且將專(zhuān)用源IP地址1070轉(zhuǎn)換為與防火墻1062相關(guān)的公共IP地址1052。輸出包(outgoingpacket)1050還由RSPIOO分配了特定的端口號(hào)1054。RSPIOO接著通過(guò)添加專(zhuān)用IP地址表目1068和相應(yīng)的端口號(hào)表目1066,來(lái)更新查找表(lookuptable)1064。接收輸出包1050的設(shè)備1056可以將包1061發(fā)送回本地設(shè)備1078。設(shè)備1056利用包1050中的公共IP源地址1052和端口號(hào)1054,作為發(fā)送回本地設(shè)備1078的包1061的目標(biāo)地址1058和端口號(hào)1060。RSP100將包1061中的目標(biāo)地址1058和端口號(hào)1060映射至查找表1064中的端口號(hào)表目1066。RSPIOO在與匹配的端口號(hào)表目1060相對(duì)應(yīng)的查找表1079中,識(shí)別出專(zhuān)用IP地址表目1070。RSPIOO用來(lái)自查找表1064的識(shí)別的專(zhuān)用IP地址1070,來(lái)代替包1061中的公共目標(biāo)IP地址1058。在專(zhuān)用和公共IP地址間進(jìn)行轉(zhuǎn)換期間,RSP100可以分解包,再次產(chǎn)生校驗(yàn)和值,以及接著重新組裝包。圖21-23更加詳細(xì)地示出了RSO100如何執(zhí)行上述NAT/PAT轉(zhuǎn)換的一個(gè)實(shí)施例。在操作1100中(圖22),DXP180(圖21)分析從專(zhuān)用網(wǎng)絡(luò)24接收的輸入包,以及識(shí)別專(zhuān)用IP源地址1070。操作1102中,DXP180發(fā)送信號(hào)通知SPU200從SCT210加載微指令,用于將專(zhuān)用IP源地址1070轉(zhuǎn)換為公共IP源地址。操作1104中,SPU200產(chǎn)生用于包的公共IP地址和端口號(hào)。公共IP地址通常是分配給防火墻1062(圖20)的IP地址。在操作1106中,SPU200將包1072的端口號(hào)以及相應(yīng)的專(zhuān)用IP地址加載至查找表1079。圖21示出了如何利用CAM220和SRAM221實(shí)現(xiàn)查找表1079的一個(gè)示例。SPU200通過(guò)AMCD230將與輸出包1050相關(guān)的端口號(hào)存儲(chǔ)至CAM位置220A,并且將相應(yīng)的專(zhuān)用IP地址1070作為表目221A存儲(chǔ)在SRAM221中。在操作1108中,SPU200用包括相關(guān)端口號(hào)1054(圖20)的公共源IP地址1052,代替包1072的專(zhuān)用IP源地址1070。在操作110中,SPU200還可以產(chǎn)生用于輸出包1050的新的校J瞼和。最后,在操作U12中,SPU200將具有公共IP地址1052和端口號(hào)1054的包1050從DRAM280發(fā)送至輸出端口152。圖23描述了RSPIOO如何將輸入包的公共目標(biāo)IP地址轉(zhuǎn)換回專(zhuān)用IP地址。在操作1120中,DXP180分析從公共網(wǎng)絡(luò)12接收的輸入包1061,以及識(shí)別相關(guān)的5元組(tuple)地址。在操作1122中,DXP180發(fā)送信號(hào)通知SPU200從SCT210(圖2A)加載微指令,以便將公共IP目標(biāo)地址1058和端口號(hào)1060轉(zhuǎn)換為相應(yīng)的專(zhuān)用IP目標(biāo)地址1074。在操作1124中,SPU200將來(lái)自輸入包1061的公共目標(biāo)IP地址158和端口號(hào)1060與查找表1079中的IP地址和端口號(hào)表目220A進(jìn)行比較。例如,SPU200利用目標(biāo)端口號(hào)作為進(jìn)入CAM220的地址。匹配端口號(hào)的部分220A中的地址用作進(jìn)入SRAM221中的地址部分221A的指針。在操作1126中,SPU200自SRAM221中讀取識(shí)別的專(zhuān)用目標(biāo)IP地址,以及用識(shí)別的專(zhuān)用IP地址1074代替包的公共IP目標(biāo)地址1058。在操作1128中,SPU200還可以產(chǎn)生用于轉(zhuǎn)換包的新的4L驗(yàn)和。最后,SPU200在操作1130中將來(lái)自DRAM280的包1076通過(guò)輸出端口152輸出至專(zhuān)用網(wǎng)絡(luò)24??梢詫SP100配置為在NAT/PAT操作之前或之后,對(duì)相同包執(zhí)行其他的修改和監(jiān)控操作。在這種情況下,SPU200可以將來(lái)自DRAM280的具有新的專(zhuān)用IP地址1074的包發(fā)送回再循環(huán)緩沖器160(圖2A),以進(jìn)行進(jìn)一步的防火墻處理。接著,對(duì)再循環(huán)緩沖器160中的包執(zhí)行其他的防火墻操作。IPv6/IPv4轉(zhuǎn)換參照?qǐng)D24,防火墻1062可能需要在網(wǎng)際協(xié)議第4版(IPv4)和IP第6版(IPv6)之間進(jìn)行轉(zhuǎn)換,或者在其他的IP協(xié)議版本之間進(jìn)行轉(zhuǎn)換。例如,第一個(gè)網(wǎng)絡(luò)1150可以釆用IPv6,而第二個(gè)網(wǎng)絡(luò)1160可以采用IPv4。防火墻1062因此需要將IPv6包1156的128位地址空間1158轉(zhuǎn)換為IPv4包1172的32位地址空間1170。頭部和有效負(fù)載中的其他信息也可能需要在IPv4和IPv6間進(jìn)行轉(zhuǎn)換。在一個(gè)示例中,防火墻1062將IPv6包1156轉(zhuǎn)換為IPv4包1172。在另一個(gè)示例中,防火墻1062將IPv6包1156封裝進(jìn)IPv4隧道1164中。考慮到反向轉(zhuǎn)換,防火墻1062可以將IPv4包轉(zhuǎn)換為IPv6包或者將IPv4包1172封裝進(jìn)IPv6隧道。這些不同的轉(zhuǎn)換取決于連接到防火墻1062的IP網(wǎng)絡(luò)的類(lèi)型。輸入包1158可以包M體訪(fǎng)問(wèn)控制(MAC)頭部1180、IP頭部1182以及TCP頭部1184。類(lèi)型字段1186識(shí)別IP頭部1182的IP版本號(hào)?,F(xiàn)在參照?qǐng)D21、24和25,在操作1200中(圖25),DXP180(圖21)分析輸入包1158以識(shí)別字萃爻1186中的特定IP版本。如果類(lèi)型字4炎1186指示IPv4,以及連接至RSP100的相對(duì)端的網(wǎng)絡(luò)也采用IPv4,那么DXP180可以不發(fā)起用于IP版本轉(zhuǎn)換的SPU200中的任何SEP代碼。然而,如果類(lèi)型字段1186指示不同于在RSP100的相對(duì)端運(yùn)行的IP版本,那么在操作1202中,DXP180發(fā)送信號(hào)通知SPU200以從SCT210(圖2A)中加載微指令,以便將輸入IP包轉(zhuǎn)變?yōu)槠渌W(wǎng)絡(luò)的IP版本。在該實(shí)施例中,(此處本申請(qǐng)國(guó)際公開(kāi)文本不清楚)SPU200,以便將IPv6包轉(zhuǎn)換成IPv4包。在操作1204中,SPU將DXP180識(shí)別的IPv6地址應(yīng)用至與128位IPv6地址相關(guān)的CAM220(圖21)中的部分220B。CAM220在包括相應(yīng)的32位IPv4地址的SRAM221的部分221B中,為相應(yīng)的表目分配地址。在操作1206中,SPU200讀取從SRAM221中輸出的IPv4地址,以及在操作1208中,用識(shí)別的IPv4地址代替包中的IPv6地址??蛇x地,SPU200可以將IPv6包封裝在IPv4隧道中,該隧道使用在SRAM221中識(shí)別的IPv4地址。在操作1210中,SPU200產(chǎn)生新的校驗(yàn)和,以及在操作1212中,將轉(zhuǎn)換的IPv4包或者包括IPv6包的IPv4隧道從DRAM280發(fā)送至輸出端口152。類(lèi)似于圖25中所述的處理,還可以用于將輸入IPv4包轉(zhuǎn)換為IPv6包。上述相同的處理還可以用于在將來(lái)可能會(huì)出現(xiàn)的任何其他的IP包版本之間進(jìn)行轉(zhuǎn)換。RSP100簡(jiǎn)單地識(shí)別新的IP版本號(hào),接著發(fā)起一組SEP代碼,這組SEP代碼然后由SPU200使用在第一個(gè)IP版本和第二個(gè)IP版本之間進(jìn)行轉(zhuǎn)換。IP版本轉(zhuǎn)換還可以與以上在圖13-19中描述的統(tǒng)一策略管理操作組合到一起。例如,RSPIOO可以將識(shí)別出具有不同IP版本的包發(fā)送至不同的相關(guān)的IP子網(wǎng),該子網(wǎng)可以支持在包中識(shí)別出的IP版本。RSP100的很多獨(dú)特特征之一是附加的包處理操作可以無(wú)需要求附加硬件以及無(wú)需大幅度增加軟件或者處理狀態(tài)的復(fù)雜性來(lái)執(zhí)行。例如,用于NAT/PAT轉(zhuǎn)換的圖21中示出的相同的RSP配置還可以用于在IPv4和IPv6之間進(jìn)行轉(zhuǎn)換。各個(gè)IPv6至IPv4地址映射220B和221B,以及各個(gè)IPv4至IPv6反向地址映射220C和221C,可以存儲(chǔ)在CAM220中用于NAT/PAT轉(zhuǎn)換的IP公共和專(zhuān)用地址220A和220B的旁邊。進(jìn)一步地,因?yàn)閮H僅需要少量的附加時(shí)鐘周期用于分析較大的IPv6包的頭部,對(duì)增加的128位IPv6頭部的處理^5U又將少量的附加周期增加至RSP100的整個(gè)包處理速率??梢酝ㄟ^(guò)影響(leverage)公共的DXP分析,在相同的RSP100中更加有效地才丸行多個(gè)不同的防火墻操作。例如,圖21中的DXP180可以執(zhí)行針對(duì)NAT/PAT和IPv6/IPv4操作兩者的相同分析操作中的一部分。舉例而言,IP地址由用于NAT和IP版本轉(zhuǎn)換的DXP180進(jìn)行識(shí)別。因此,相同的DXP地址分析結(jié)果能夠用于NAT和IP版本轉(zhuǎn)換。因此,除NAT語(yǔ)法之外,DXP180僅僅需要很少量的語(yǔ)法。RSP100還沒(méi)有被限制成處理任何特定數(shù)據(jù)尺寸。因此,任何IPv4或IPv6操作,或者可以在未來(lái)得到發(fā)展的任何其他的IP版本或地址尺寸,可以容易地利用相同的RSP結(jié)構(gòu)IOO得到實(shí)現(xiàn)。簡(jiǎn)單地通過(guò)添加最少量的新語(yǔ)法至DXP180、由SPU200執(zhí)行的附加SEP代碼以及CAM220和SRAM221中的一些附加表目,可以將RSPIOO配置成處理這些不同的IP版本以及地址尺寸。這與傳統(tǒng)的硬件結(jié)構(gòu)相反,傳統(tǒng)的硬件結(jié)構(gòu)要求完全地重新設(shè)計(jì)以有效地處理IPv6包而不是IPv4包。例如,傳統(tǒng)處理器中的數(shù)據(jù)路徑尺寸、寄存器尺寸以及邏輯元件,將不得不進(jìn)行重新設(shè)計(jì)以用于較大的128位IPv6地址。虛擬專(zhuān)用網(wǎng)絡(luò)(VPN)集成圖26示出了如何通過(guò)因特網(wǎng)1212建立虛擬專(zhuān)用網(wǎng)絡(luò)(VPN)隧道1207的一個(gè)實(shí)施例。計(jì)算機(jī)1216可以從公司服務(wù)器1202請(qǐng)求文件1200。服務(wù)器1212訪(fǎng)問(wèn)文件1200,并且將文件作為IP包1204通過(guò)VPN/防火墻1206發(fā)送回遠(yuǎn)程用戶(hù)1216。防火墻1206用IP安全協(xié)議封裝安全有效載荷(IPSecurityProtocolEncapsulatingSecurityPayload,IPSecESP)尾部(trailer)1210和IP安全協(xié)議-驗(yàn)i正頭部(IPSecurityProtocolAuthenticationHeader,IPSecAH)1208,例如IP源保護(hù)(IPSourceGuard,IPSG),來(lái)封裝包1204。這些IPSec頭部1208和1210位于第三協(xié)議層中,當(dāng)處于傳輸模式時(shí),其在IP頭部之前和上層協(xié)議頭部之后,或者當(dāng)處于隧道模式時(shí),其在封裝的IP頭部之前。IPSecESP頭部1210和AH頭部1208可以單獨(dú)地或彼此結(jié)合在一起使用。IPSecESP頭部1210包括對(duì)接收到的包進(jìn)行解密所必需的信息,以及可選地包括驗(yàn)證接收包1204所必需的驗(yàn)證摘要。IPSecSH頭部1208包括驗(yàn)證接收包1204所必需的驗(yàn)證摘要。當(dāng)IPSec包1218包括IPSecAH頭部1208時(shí),驗(yàn)證摘要位于第三協(xié)議層中;另外,在IPSecESP模式中,只有驗(yàn)證摘要位于ESP尾部1210中包的有效栽荷之后。IPSec包1218通過(guò)作為VPN隧道1207的因特網(wǎng)1212傳輸?shù)接?jì)算機(jī)1216。VPN/防火墻1214根據(jù)AH頭部1208和ESP頭部1210中的信息,對(duì)IPSecESP包1218進(jìn)行解密。接著,解密的IP包1204被轉(zhuǎn)發(fā)給計(jì)算機(jī)1216。如之前所述,VPN/防火墻1214還可以對(duì)解密包1204執(zhí)行任何其他的防火墻操作。圖27更詳細(xì)地示出了在VPN/防火墻1206和1241中由RSP100執(zhí)行的操作。RSP100首先執(zhí)行初步的DoS過(guò)濾1220,以過(guò)濾超過(guò)DoS攻擊速率極限接收的IPSec包1218。DoS過(guò)濾1220還可以采用類(lèi)似于以上在圖4-11中描述的方法,來(lái)過(guò)濾任何非IPSec包。安全聯(lián)合(SecurityAssociation,SA)查找操作1222從IPSec.包1218中提取IP地址、包會(huì)話(huà)標(biāo)識(shí)符以及安全參數(shù)索引(SPIs)1226,該IPSec包1218識(shí)別由RSP100使用的所要求的解密以及簽別技術(shù)。SPIs1226和其他的IP信息被提交給查找表1224,該查找表與上述用于DoS、UPM、NAT以及IP版本轉(zhuǎn)換的查找和ACL表類(lèi)似或一樣。查找表1224返回解密碼密鑰1228、解密算法標(biāo)識(shí)符1230以及驗(yàn)證算法標(biāo)識(shí)符1232。相關(guān)的解密算法將IPSec包1218中的位從加密狀態(tài)變換為非加密狀態(tài)。解密算法的實(shí)施例包括數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)、三重?cái)?shù)據(jù)加密標(biāo)準(zhǔn)(T-DES)、高級(jí)加密標(biāo)準(zhǔn)(AES)以及CBC模式中的T-DES。驗(yàn)證算法對(duì)數(shù)據(jù)執(zhí)行散列操作,以證實(shí)IP包1204中的位與從服務(wù)器1202中最初發(fā)送出的位一樣。驗(yàn)證算法的實(shí)施例包括MD5和SHA1。來(lái)自SA查找表1222的結(jié)果被提供至解密操作1234,解密操作1234接著將IPSec包1218解密回到初始的IP包1204中。在下列聯(lián)合待審的申請(qǐng)中描述了如何執(zhí)行SA查找1222以及解密操作1234的具體細(xì)節(jié),這些申請(qǐng)以引用的方式包含在本文中2005年5月11日提交的申請(qǐng)序列號(hào)為No.11/127,445的"具有浮動(dòng)解密/加密A驗(yàn)證功能塊的多處理器體系結(jié)構(gòu),,、2005年5月11日提交的申請(qǐng)序列號(hào)為No.11/127,443的"IP安全解密/加密/驗(yàn)證"、2005年5月11日提交的申請(qǐng)序列號(hào)為No.11/127,468的"流水線(xiàn)型IP安全解密/加密/驗(yàn)證,,、以及2005年5月11日提交的申請(qǐng)序列號(hào)為No.11/127,467的"具有DMA接口的DEA引擎"。DXP180分析輸入包,并且根據(jù)識(shí)別的IP類(lèi)型字段來(lái)識(shí)別IPSec包1218。接著,DXP180中的語(yǔ)法相應(yīng)地識(shí)別由DXP180用于發(fā)起SEP代碼212(圖2A)的SPIs1226。SEP代碼212引導(dǎo)SPU200將SPIs1226應(yīng)用至CAM220中的ACL,接著根據(jù)CAM查找的結(jié)果來(lái)執(zhí)行解密1234。例如,解密密鑰1228、解密算法標(biāo)識(shí)符1230以及驗(yàn)證算法標(biāo)識(shí)符1232可以存儲(chǔ)于早期在圖21中描述的相同的CAM/SRAM結(jié)構(gòu)中。CAM查找的結(jié)果是ACL動(dòng)作,其指向附加的SEP代碼,該代碼利用解密密鑰1228來(lái)執(zhí)行與標(biāo)識(shí)符1230相關(guān)的解密算法和與標(biāo)識(shí)符1232相關(guān)的驗(yàn)證算法。如果對(duì)于相同的IPsec會(huì)話(huà)接收到非加密包,例如,具有相同的5元組的包,那么CAM220中相應(yīng)的ACL表目的包可以引導(dǎo)SPU200刪除該包。這就防止了未授權(quán)的攻擊者占據(jù)VPN會(huì)話(huà)1207。解密的IP包接著凈皮發(fā)送給一個(gè)或更多不同的解密后(postdecryption)操作,其可以包括可能類(lèi)似于以上在UPM應(yīng)用中描述的轉(zhuǎn)發(fā)操作1236。例如,轉(zhuǎn)發(fā)操作1236中的RSP100可以簡(jiǎn)單地將解密的包1204轉(zhuǎn)發(fā)至目標(biāo)地址,而無(wú)需利用圖13-19中描述的FIB進(jìn)行任何其它防火墻操作??蛇x地,解密1234的輸出可以通過(guò)第二個(gè)DoS過(guò)濾1238。第二個(gè)DoS過(guò)濾1238可以對(duì)IP包1204中的當(dāng)前解密的IP地址和其他標(biāo)識(shí)符才丸行DoS檢測(cè)和過(guò)濾。例如,用于DoS和其他UPM操作的一些斷言現(xiàn)在被解密。解密的斷言被識(shí)別出,并且接著用于執(zhí)行第二個(gè)DoS操作1238、UPM或者其他要求的防火墻操作。其他的防火墻操作還可以包括如聯(lián)合待審專(zhuān)利申請(qǐng)中所描述的TCP代理操作1240,該申請(qǐng)名稱(chēng)為"具有語(yǔ)義處理器TCP狀態(tài)機(jī)的TCP隔離",于2005年7月14日提交,申請(qǐng)序列號(hào)為No.11/181,528,其以引用方式包含在本文中。在另一可能的解密后操作1240中,如以上在NAT/PAT應(yīng)用中所描述的那樣,RSP100可以將解密的IP地址轉(zhuǎn)換為公共或者專(zhuān)用地址。根據(jù)所實(shí)現(xiàn)的防火墻操作以及解密IP包1204的類(lèi)型,RSP100可以執(zhí)行解密后操作1236、1238、1240或者1240的任何組合。當(dāng)然,還可以執(zhí)行以上所述的任何其他的防火墻操作。利用防火墻策略管理的許可參照?qǐng)D28,結(jié)合RSP100的ACL表1506可以被用于更有效地分配(allocate)反病毒(Anti-Virus,AV)許可證。當(dāng)前,AV許可證被分配給單獨(dú)的機(jī)器1514。問(wèn)題在于系統(tǒng)管理者難于管理這些許可證。例如,對(duì)于增加至網(wǎng)絡(luò)的每個(gè)新的機(jī)器1514,必須購(gòu)買(mǎi)另一許可證,然后安裝AV軟件。當(dāng)許可證協(xié)議到期時(shí),網(wǎng)絡(luò)管理者然后就不得不在單獨(dú)的機(jī)器上重新安裝或重新激活A(yù)V軟件。進(jìn)一步地,AV軟件的任何更新不得不單獨(dú)地加載至每臺(tái)計(jì)算機(jī)1514。RSP100提供了集中許可證管理(centralizedlicensemanagement)。例如,可以通過(guò)類(lèi)似于以下聯(lián)合待審的申請(qǐng)中描述的方式,由防火墻1502中的RSP100運(yùn)行AV軟件1504,該申請(qǐng)名稱(chēng)為"網(wǎng)絡(luò)處理設(shè)備中入侵檢測(cè)的方法及設(shè)備",其于2005年5月9日提交,申請(qǐng)序列號(hào)為No.11/125,956。可選地,AV軟件1504可以由傳統(tǒng)的網(wǎng)絡(luò)處理設(shè)備執(zhí)行。不管怎樣,RSP100判斷哪個(gè)子網(wǎng)1520、1522以及1524具有AV許可證,并且相應(yīng)地僅對(duì)引導(dǎo)到這些許可的子網(wǎng)的包應(yīng)用AV軟件1504。參照?qǐng)D28和29,RSP100乂人具有特定目標(biāo)地址1527的公共因特網(wǎng)1500接收包1525。RSP100中的DXP180將IP目標(biāo)地址1527識(shí)別至SPU200,并且使SPU200執(zhí)行SEP代碼,其中,SEP代碼檢查以確定與目標(biāo)地址1527相對(duì)應(yīng)關(guān)的子網(wǎng)是否具有AV許可證。例如,SPU200將包的目標(biāo)地址1527提交給CAM220。目標(biāo)地址1527可以匹配ACL表目1526中的斷言1528。與ACL表目1526相關(guān)的動(dòng)作1530表明存在與包目標(biāo)地址1527相關(guān)的子網(wǎng)1522(圖28)的許可證,該包目標(biāo)地址與ACL斷言1528匹配。動(dòng)作1530可以是指向附加SEP代碼的指針,該附加SEP代碼引導(dǎo)SPU200接著判斷當(dāng)前建立的與子網(wǎng)1522的連接數(shù)量是否小于分配的許可證的數(shù)量。如果購(gòu)買(mǎi)的用于子網(wǎng)1522的許可證的數(shù)量大于活動(dòng)連接的數(shù)量,那么將AV軟件1504應(yīng)用于包1525。防火墻1502中的SPU200或者其他的處理部件,可以持續(xù)地維持因特網(wǎng)1500與每個(gè)子網(wǎng)1520、1522和1524之間的活動(dòng)連接的數(shù)量的計(jì)數(shù)1529。存儲(chǔ)器221存儲(chǔ)活動(dòng)連接的計(jì)數(shù)1529以及為連接至防火墻1502的每個(gè)子網(wǎng)購(gòu)買(mǎi)的許可證的數(shù)量1531。SPU200可以快速地判斷是否應(yīng)該通過(guò)將已經(jīng)識(shí)別的包目標(biāo)地址1527應(yīng)用于CAM220,而將AV軟件1504應(yīng)用于包1525。CAM220識(shí)別SRAM221中的位置,其包括當(dāng)前連接計(jì)數(shù)術(shù)1529和用于子網(wǎng)1522的可用許可證的數(shù)量1531。如果一個(gè)或更多的AV許可證可用,那么在執(zhí)行其他的防火墻操作之前、之間或之后,SPU200將AV軟件1504應(yīng)用至包1525。如果通過(guò)公共網(wǎng)絡(luò)定位子網(wǎng),就可以為任何通過(guò)AV軟件1504的包建立隧道。例如,子網(wǎng)1524可以位于遠(yuǎn)離防火墻1502的位置上。如果子網(wǎng)1524已經(jīng)分配有AV許可證,那么匹配子網(wǎng)1524的地址的相應(yīng)ACL表目1526中的動(dòng)作1530,還將在將包發(fā)送給子網(wǎng)1524之前,引導(dǎo)SPU200將包封裝在安全隧道1518中。AV軟件1504將不會(huì)被應(yīng)用于不具有AV許可證的子網(wǎng)。例如,無(wú)許可證密鑰動(dòng)作1530將被配置為與子網(wǎng)1520相關(guān)的ACL表目。因此,RSPIOO將不會(huì)將AV1504應(yīng)用于引導(dǎo)至子網(wǎng)1520的包。RSP陣列參照?qǐng)D30和31,多個(gè)RSPIOO可以一起連接,以提供順序的或平行的防火墻操作。例如,在圖30中,多個(gè)RSP100A-100D串聯(lián)連接在一起,每個(gè)執(zhí)行不同的防火墻、發(fā)送或入侵檢測(cè)系統(tǒng)(IDS)操作。第一個(gè)RSP100A可以通過(guò)提取5元組源和目標(biāo)IP地址以及端口號(hào),從輸入包1598中識(shí)別和提取IP信息。第二個(gè)RSP100B可以接著執(zhí)行與TCP相關(guān)的操作,例如,管理TCP會(huì)話(huà)以及過(guò)濾與DoS攻擊相關(guān)的任何TCP包,如以上在圖4-11中描述的。RSP100可以執(zhí)行包處理操作,該才喿作查找任何可以在包中運(yùn)載的任何HTTP會(huì)話(huà)。最后,RSPIOOD可以在HTTP會(huì)話(huà)中查找可能包括病毒或其他特定類(lèi)型信息的任何文本和可執(zhí)行的文件,例如,在聯(lián)合待審申請(qǐng)中所描述的,該申請(qǐng)名稱(chēng)為"網(wǎng)絡(luò)處理設(shè)備中的入侵檢測(cè)的方法及設(shè)備",其于2005年5月9日提交,申請(qǐng)序列號(hào)為No.11/125,956。當(dāng)然,RSP100的任何組合都能夠執(zhí)行不同防火墻和非防火墻操作的任何組合,圖30中僅示出了一個(gè)實(shí)施例。應(yīng)該重點(diǎn)注意,每個(gè)附加的RSP在性能上提供了基本線(xiàn)性的增加。例如,RSPIOOA可以將任何分析過(guò)的防火墻斷言、IDS信令、非終結(jié)(NT)312、產(chǎn)生代碼178、SEP代碼177B(圖2B和2C)等1602轉(zhuǎn)發(fā)給下一個(gè)RSPIOOB。RSP100B在完成包處理之后,可以將類(lèi)似的狀態(tài)信息1602發(fā)送給RSPIOOC。這就防止了每個(gè)隨后跟隨的RSP100不得不重復(fù)一些已經(jīng)在之前的RSP中完成的相同的分析。進(jìn)一步地,DXP180(圖2A)的結(jié)構(gòu)簡(jiǎn)單地通過(guò)將NT132加載進(jìn)分析器堆棧(parserstack)185(圖2A)中,來(lái)允許每個(gè)RSPIOO立即地轉(zhuǎn)換到與之前的RSP相同的狀態(tài)。例如,RSP100A可以識(shí)別包括IP目標(biāo)地址的ACL斷言。RSP100A將消息1602中的ACL斷言和相關(guān)的NT132隨同相關(guān)的包1600—起發(fā)送至RSPIOOB。在RSPIOOA之前已經(jīng)停止的狀態(tài)下,RSPIOOB可以接著利用已經(jīng)識(shí)別的IP地址信息,開(kāi)始對(duì)包1600執(zhí)行TCP操作。因此,不需要RSPIOOB再次分析包1600,例如,以便再次發(fā)現(xiàn)目標(biāo)IP地址。這與傳統(tǒng)的處理器結(jié)構(gòu)相反,在傳統(tǒng)的處理器結(jié)構(gòu)中,包處理器狀態(tài)不是容易轉(zhuǎn)換的。作為結(jié)果,增加至包處理系統(tǒng)的每個(gè)附加的傳統(tǒng)處理器可以無(wú)需線(xiàn)性地增加整個(gè)網(wǎng)絡(luò)處理設(shè)備性能。換句話(huà)說(shuō),使具有傳統(tǒng)計(jì)算機(jī)結(jié)構(gòu)的包處理設(shè)備的數(shù)量加倍,并不一定導(dǎo)致整個(gè)處理性能加倍。相反,使RSP100的數(shù)量加倍幾乎可以使主機(jī)網(wǎng)絡(luò)處理系統(tǒng)的整個(gè)性能加倍。圖31示出了RSP100的另一可選配置。在這種配置中,一個(gè)或更多RSP100并聯(lián)運(yùn)行。第一個(gè)RSP100A可以執(zhí)行初始的UPM操作,該操作基于從包中提取的IP地址和其他斷言,來(lái)判斷需要對(duì)輸入包1598執(zhí)行哪些其他防火墻操作,如果存在的話(huà)。RSP100A根據(jù)識(shí)別的防火墻策略度量,將包發(fā)送至RSPIOOB-G。例如,基于識(shí)別的防火墻斷言,包1598可以要求由RSP100B提供DoS處理。因此,RSP100A將包發(fā)送至RSP100B。如果RSP100B判斷包的目標(biāo)子網(wǎng)地址具有如以上在圖28和29中描述的相關(guān)的IDS許可證,那么包可以被發(fā)送至RSP100C以進(jìn)行反病毒處理。否則,RSP100B可以向局域網(wǎng)1604中的端點(diǎn)轉(zhuǎn)發(fā)包。如果在RSP100A中的UPM發(fā)送判斷包需要被轉(zhuǎn)換為IPv4格式,那么包就被發(fā)送至RSP100D。包1598可以接著發(fā)送至RSP100E,然后RSP100E根據(jù)不同的較高OSI層數(shù)據(jù)來(lái)處理包。例如,RSP100E可以如以上圖17中描述的那樣,根據(jù)包中的HTTP信息來(lái)發(fā)送包??梢詫⑵渌陌l(fā)送至RSP100F和IOOG,以分別執(zhí)行其他的NAT和DoS操作。命令行接口(CLI)/記錄/統(tǒng)計(jì)命令行接口回來(lái)參照?qǐng)D2A,命令行接口(CLI)282連接至MCPU56,并且允許計(jì)算機(jī)284上的操作者能夠?qū)LI命令以及數(shù)據(jù)286輸入到RSP100。接著,MCPU56解釋從計(jì)算機(jī)284接收的CLI命令286,并且按照該CLI命令286動(dòng)作。例如,CLI命令286可以引導(dǎo)MCPU56將新的ACL表目加載進(jìn)存儲(chǔ)器系統(tǒng)215的TCAM220中。CLI命令286還可以引導(dǎo)MCPU56將數(shù)據(jù)加載進(jìn)存儲(chǔ)器系統(tǒng)215的任何其他存儲(chǔ)器元件中。CLI命令286還可以用于配置RSP100中其他的存儲(chǔ)元件和表。例如,CLI命令286可以引導(dǎo)MCPU56將新的分析器語(yǔ)法加載到分析表170中,將產(chǎn)生規(guī)則176加載到產(chǎn)生規(guī)則表190中,或者將新的SEP代碼212加載到語(yǔ)義代碼表210中。CLI命令286還引導(dǎo)MCPU56從存儲(chǔ)器子系統(tǒng)215的任何存儲(chǔ)設(shè)備或表中或從RSP100中的其他的處理部件中讀取信白記錄(logging)SEP代碼212可以指示SPU200將某些檢測(cè)事件記錄至用于記錄的MCPU56。例如,SPU200可以將識(shí)別為DoS攻擊一部分的任何包發(fā)送至MCPU56。當(dāng)檢測(cè)到DoS攻擊時(shí),SEP代碼212指示SPU200將一個(gè)示例性的刪除包發(fā)送至MCPU56。SEP代碼212還可以指示SPU200在每次刪除類(lèi)似包時(shí)通知MCPU56。MCPU56將包括在刪除包中的具體的信息以及識(shí)別類(lèi)似刪除包的數(shù)量的統(tǒng)計(jì)編排進(jìn)日志(log)中。日志可以編排進(jìn)具有系統(tǒng)日志機(jī)(syslogmachine)的IP地址的IP包中,接著該系統(tǒng)日志機(jī)接收和記錄在RSP100檢測(cè)的事件。包括日志的包可以由SPU200通過(guò)輸出端口152發(fā)送至系統(tǒng)曰志機(jī)。任何檢測(cè)的事件都可以由RSP100記錄,并且包括但不限于,上述在防火墻操作中識(shí)別的任何事件。例如,SEP代碼212還可以指示SPU200將包發(fā)送至匹配CAM220中特定ACL表目的MCPU56。統(tǒng)計(jì)任何要求的統(tǒng)計(jì)可以記錄在RSP100中,以及可以本地存儲(chǔ)或發(fā)送至記錄系統(tǒng)。例如,可以對(duì)SPU200進(jìn)行編程,以對(duì)每個(gè)接收的、刪除的或輸出的包進(jìn)行計(jì)數(shù)。不同的SEP代碼212可以包括隨同其他相關(guān)的防火墻操作的記錄命令。RSPIOO識(shí)別與接收或發(fā)送的包有關(guān)的任何統(tǒng)計(jì)信息。例如,接收包的數(shù)量、接收包的尺寸、發(fā)送包的尺寸和數(shù)量、刪除包的數(shù)量、具有無(wú)效校驗(yàn)和的包的數(shù)量、復(fù)制包的數(shù)量、失敗注冊(cè)企圖等。統(tǒng)計(jì)可以通過(guò)CLI命令286下載至計(jì)算機(jī)284,或者由SPU200通過(guò)輸出端口152周期性地在包中進(jìn)行發(fā)送。驗(yàn)證(certification)上述的任何防火墻操作可以進(jìn)行驗(yàn)證,并且其可以符合不同的工業(yè)接受的驗(yàn)證標(biāo)準(zhǔn),包括計(jì)算機(jī)安全協(xié)會(huì)(ICSA)、國(guó)家標(biāo)準(zhǔn)及技術(shù)協(xié)會(huì)(NIST)、新罕布什爾州大學(xué)(UNH)、PLUGFest等??偨Y(jié)RSP結(jié)構(gòu)結(jié)合訪(fǎng)問(wèn)控制表的新穎的使用,更加有效地利用相同硬件和最少數(shù)量軟件重新配置,來(lái)執(zhí)行多種不同的防火墻、UPM或者其他的包處理操作。這些多種防火墻操作可以使用語(yǔ)法元素,例如,斷言,其通過(guò)DXP或者通過(guò)其他的防火墻分析操作得到識(shí)別。因此,RSP提供了更加可升級(jí)(scalable)的防火墻結(jié)構(gòu)。如上所提及,上述任何操作可以在任何網(wǎng)絡(luò)處理設(shè)備上實(shí)現(xiàn),并且不限制于在邊緣設(shè)備上或者傳統(tǒng)意義上稱(chēng)為防火墻的設(shè)備上運(yùn)行。例如,DoS、UPM和其他的操作可以在網(wǎng)關(guān)、路由器、服務(wù)器、交換機(jī)以及任何其他的端點(diǎn)設(shè)備上執(zhí)行。進(jìn)一步地,上述很多操作并不必須需要利用RSP100來(lái)實(shí)現(xiàn),以及可選地,可以在傳統(tǒng)的計(jì)算機(jī)體系結(jié)構(gòu)上實(shí)現(xiàn)。入侵檢測(cè)在以下的描述中,術(shù)語(yǔ)"病毒(virus),,是指任何類(lèi)型的入侵、未授權(quán)的數(shù)據(jù)、垃圾郵件(spam)、拒絕服務(wù)(DoS)攻擊或者任何其他類(lèi)型的被認(rèn)為是網(wǎng)絡(luò)處理設(shè)備的入侵的數(shù)據(jù)、信號(hào)或者消息傳輸。術(shù)語(yǔ)"病毒"可選地稱(chēng)為"流氓軟件(malware),,,并且不限于任何特定類(lèi)型的未授權(quán)數(shù)據(jù)或消息。圖32A示出了專(zhuān)用IP網(wǎng)絡(luò)2024,其通過(guò)邊緣設(shè)備2025A連接至公共網(wǎng)際協(xié)議(IP)網(wǎng)絡(luò)2012。公共IP網(wǎng)絡(luò)2012可以是提供包交換的任何廣域網(wǎng)(WAN)。專(zhuān)用網(wǎng)絡(luò)2024可以是公司企業(yè)網(wǎng)絡(luò)、因特網(wǎng)服務(wù)提供商(ISP)網(wǎng)絡(luò)、家用網(wǎng)絡(luò)等,其需要防止來(lái)自公共網(wǎng)絡(luò)2012的諸如病毒或者其他流氓軟件攻擊等攻擊。絡(luò)進(jìn)行通信的任何類(lèi)型的計(jì)算設(shè)備。例如,網(wǎng)絡(luò)處理設(shè)備2025A和2025B可以是路由器、交換機(jī)、網(wǎng)關(guān)等。在該實(shí)施例中,網(wǎng)絡(luò)處理設(shè)備2025A作為防火墻運(yùn)行,而設(shè)備2025B作為路由器或交換機(jī)運(yùn)行,設(shè)備2025C。端點(diǎn)2025C是個(gè)人計(jì)算機(jī)(PC),而端點(diǎn)2025D是服務(wù)器,諸如因特網(wǎng)網(wǎng)絡(luò)服務(wù)器。PC2025C可以通過(guò)諸如有線(xiàn)以太網(wǎng)連接的有線(xiàn)連接或者諸如利用IEEE802.11協(xié)議的無(wú)線(xiàn)連接,連接至專(zhuān)用網(wǎng)絡(luò)2024。入侵4企測(cè)系統(tǒng)(IDS)2018結(jié)合在2024中運(yùn)行的網(wǎng)絡(luò)設(shè)備2025A-2025D來(lái)實(shí)現(xiàn)。每個(gè)IDS2018采集和分析通過(guò)主機(jī)網(wǎng)絡(luò)處理設(shè)備2025的網(wǎng)絡(luò)交通2022,并且識(shí)別并丟棄包流2022內(nèi)包括病毒的任何包2016。在一個(gè)實(shí)施例中,IDS2018利用可重新配置語(yǔ)義處理器(RSP)進(jìn)行實(shí)現(xiàn),在以下將進(jìn)行更詳細(xì)的描述。然而,應(yīng)該理解,IDS2018不限于利用RSP的實(shí)施方式,并且還可以使用其他的處理設(shè)備。在一個(gè)實(shí)施例中,IDS2018安裝在邊緣路由器2025A中,其將專(zhuān)用網(wǎng)絡(luò)2024連接至外部公共網(wǎng)絡(luò)2012。在其他實(shí)施例中,IDS2018還可以在并不在傳統(tǒng)意義上執(zhí)行IDS操作的網(wǎng)絡(luò)處理設(shè)備中實(shí)現(xiàn)。例如,IDS2018還可以在路由器或交換機(jī)2025B中實(shí)現(xiàn)。在再一實(shí)施例中,IDS2018還可以在一個(gè)或更多端點(diǎn)設(shè)備中實(shí)現(xiàn),例如在PC2025C中或者在網(wǎng)絡(luò)服務(wù)器2025D中。在多個(gè)不同的網(wǎng)絡(luò)處理設(shè)備2025A-2025D中實(shí)現(xiàn)入侵檢測(cè)系統(tǒng)2018提供了更徹底的入侵;險(xiǎn)測(cè),并且能夠清除通過(guò)除了邊緣路由器2025A之外的多個(gè)不同訪(fǎng)問(wèn)點(diǎn)進(jìn)入專(zhuān)用網(wǎng)絡(luò)2024的病毒2016。例如,可以檢測(cè)出通過(guò)雇員的個(gè)人計(jì)算機(jī)2025C訪(fǎng)問(wèn)專(zhuān)用/內(nèi)部網(wǎng)絡(luò)2024的病毒,并由在PC2025C、路由器2025B或者服務(wù)器2025D中運(yùn)行的IDS2018清除。在另一實(shí)施例中,網(wǎng)絡(luò)處理設(shè)備2025中的IDS2018用于^f全測(cè)和清除源自專(zhuān)用網(wǎng)絡(luò)2024的病毒2016A。例如,PC2025C的操作者可以產(chǎn)生病毒2106A,該病毒被引導(dǎo)進(jìn)入在公共IP網(wǎng)絡(luò)2012中運(yùn)行的網(wǎng)絡(luò)設(shè)備。運(yùn)行在內(nèi)部網(wǎng)絡(luò)2024中的IDS2018的任何組合可以用于在病毒2016A被輸出至公共IP網(wǎng)絡(luò)2012之前,識(shí)別以及接著清除該病毒。語(yǔ)義處理器允許反病毒操作嵌入或分布配在整個(gè)網(wǎng)絡(luò)2024。例如,語(yǔ)義處理器可以在網(wǎng)絡(luò)路由器或交換機(jī)2025B的多個(gè)端口中執(zhí)行入侵檢測(cè)操作。嵌入的入侵檢測(cè)系統(tǒng)IDS2018更加堅(jiān)固,并與當(dāng)前的周界反病毒檢測(cè)方案相比,其提供了更加有效的入侵檢測(cè)。該入侵檢測(cè)方案對(duì)網(wǎng)絡(luò)傳輸速度傳輸速度的數(shù)據(jù)流執(zhí)行,而不必須處理某些不可信的數(shù)據(jù)類(lèi)型,例如,電子郵件附件、離線(xiàn)。利用語(yǔ)法元素的入侵檢測(cè)圖32B示出了傳統(tǒng)的入侵檢測(cè)系統(tǒng)如何產(chǎn)生過(guò)濾器。輸入數(shù)據(jù)流2071包括多個(gè)包2072。包2072包括一個(gè)或更多的頭部2072A和有效載荷2072B。傳統(tǒng)的入侵檢測(cè)系統(tǒng)不加區(qū)別地對(duì)數(shù)據(jù)流2071中的每個(gè)包2072的每一字節(jié)2074與威脅特征(threatsignature)2058進(jìn)行比較。威脅特征比較所產(chǎn)生的任何過(guò)濾器2075接著被應(yīng)用到整個(gè)的數(shù)據(jù)流2071。這種入侵檢測(cè)方案無(wú)需浪費(fèi)計(jì)算資源。例如,數(shù)據(jù)流2071中的一些信息,例如某些頭部數(shù)據(jù)2072A,可以從不包括威脅。不管怎樣,圖32B中的入侵檢測(cè)系統(tǒng)盲目地將數(shù)據(jù)流2071中的每個(gè)字節(jié)與威脅特征2058進(jìn)行比較。這就使執(zhí)行入侵檢測(cè)的計(jì)算資源無(wú)需擔(dān)負(fù)重?fù)?dān)。圖32B中的入侵檢測(cè)系統(tǒng)還不會(huì)區(qū)別對(duì)待將被進(jìn)行病毒掃描的包的上下文。例如,與電子郵件病毒有關(guān)聯(lián)的威脅特征2058被應(yīng)用到每個(gè)包2072,而沒(méi)有考慮包2072是否真實(shí)際包含了電子郵件消息。因此,與電子郵件病毒有關(guān)聯(lián)的威脅特征2058可以與包括HTTP消息的包2072進(jìn)行比較。這就進(jìn)一步限制了入侵檢測(cè)系統(tǒng)的可擴(kuò)展性。圖32C是示出IDS2018的一個(gè)實(shí)施例的圖解,IDS2018在數(shù)據(jù)流中識(shí)別語(yǔ)法元素以更有效地;險(xiǎn)測(cè)病毒。IDS2018利用分析器來(lái)識(shí)別與包2072相關(guān)的會(huì)話(huà)上下文2082。例如,媒體訪(fǎng)問(wèn)控制(MAC)地址2076A、網(wǎng)際協(xié)議(IP)地址2076B以及傳輸控制協(xié)議(TCP)地址2076C中的一個(gè)或更多個(gè),可以在初始的分析操作中識(shí)別。在該實(shí)施例中,分析器還可以將包2072識(shí)別為包括簡(jiǎn)單郵件傳輸協(xié)議(SMTP)電子郵件消息。會(huì)話(huà)上識(shí)別語(yǔ)法元素2076,允許IDS2018更有效地4企測(cè)和清除病毒或其他流氓軟件威脅。例如,IDS2018可以基于在包2072的開(kāi)始處發(fā)現(xiàn)的會(huì)話(huà)上下文2082,定制進(jìn)一步的入侵檢測(cè)操作。舉例來(lái)說(shuō),會(huì)話(huà)上下文2082將包2072識(shí)別為包括電子郵件消息。IDS2018可以接著尋找和識(shí)別尤其與電子郵件消息特別相關(guān)的附加語(yǔ)法元素2076E-2076H。并且更具體地,識(shí)別包括病毒的電子郵件語(yǔ)法元素。例如,IDS2018識(shí)別語(yǔ)法元素2076E-2076G,其包括電子郵件消息中關(guān)于"去往(To):,,、"來(lái)自(From):"以及"主題(Subject):,,字段的信息。IDS2018還可以識(shí)別電子郵件附件2076H,其也可以包括在電子郵件消息中。在該實(shí)施例中,病毒或者流氓軟件可以不僅僅包括在包含電子郵件附件的語(yǔ)法元素2076H中。其他的語(yǔ)法元素2076A-2076G可以不造成入侵威脅。因此,僅僅將包括電子郵件附件的語(yǔ)法元素2076H與威脅特征2058進(jìn)行比較。接著,可以使用其他的語(yǔ)法元素2076A-2076G中的信息,來(lái)幫助產(chǎn)生用于過(guò)濾包2072的過(guò)濾器2070。例如,可以產(chǎn)生過(guò)濾器2070,其過(guò)濾具有在語(yǔ)法元素2076F中識(shí)別的相同的"來(lái)自"字^R或者在語(yǔ)法元素2076B中識(shí)別的相同的IP源地址的任何包。因此,IDS2018可以基于數(shù)據(jù)流的IP會(huì)話(huà)上下文2082、交通特性和語(yǔ)法2076來(lái)檢測(cè)入侵企圖。接著,通過(guò)將在網(wǎng)絡(luò)交通中識(shí)別的語(yǔ)法元素2076與描述被認(rèn)為棘手的事件的特征規(guī)則2058進(jìn)行比較,來(lái)檢測(cè)入侵。這些規(guī)則2058可以描述任何行為(例如,某些主機(jī)連接至某些服務(wù))、什么樣行為是值得警示的(例如,給定量的不同主機(jī)的試圖構(gòu)成"掃描")、或者描述對(duì)已知脆弱性的已知攻擊或訪(fǎng)問(wèn)的特征。固定包延遲圖33示出了結(jié)合IDS2018使用的延遲緩沖器(delaybuffer)。可以在可重新配置語(yǔ)義處理器(RSP)2100中本地地執(zhí)行入侵監(jiān)控操作2040,或者可以結(jié)合在RSP2100內(nèi)部或者RSP2100外部運(yùn)行的其他入侵監(jiān)控電路來(lái)執(zhí)行入侵監(jiān)控操作2040。參照?qǐng)D33和34,在功能塊2048A中,RSP2100從輸入端口2120接收包2022。功能塊2048B中的RSP2100可以執(zhí)行初始的威脅過(guò)濾操作,該操作丟棄了包括病毒或其他類(lèi)型威脅的第一類(lèi)包2032A。這種初始過(guò)濾2048可以通過(guò)例如訪(fǎng)問(wèn)預(yù)定的公知威脅特征的表,來(lái)執(zhí)行。這種初始過(guò)濾防止IDS2018不得不進(jìn)一步地處理某些數(shù)據(jù)2032A。例如,可以檢測(cè)拒絕服務(wù)攻擊、眾所周知的病毒攻擊或者未授權(quán)的IP會(huì)話(huà),并且刪除相關(guān)包而不由IDS2018進(jìn)行進(jìn)一步處理。在功能塊2048C中,RSP2100將剩余的包2022存儲(chǔ)在包延遲緩沖器2030中。在一個(gè)實(shí)施例中,該包延遲緩沖器2030是動(dòng)態(tài)隨機(jī)訪(fǎng)問(wèn)存儲(chǔ)器(DRAM),或者是依照尺寸制造以便臨時(shí)緩沖輸入數(shù)據(jù)流2022的一些其他類(lèi)型的存儲(chǔ)器。在功能塊2048D中,RSP2100進(jìn)一步識(shí)別輸入數(shù)據(jù)流的語(yǔ)法。例如,RSP2100可以識(shí)別包括電子郵件消息的包。針對(duì)基于Windows⑧的PC的各種大量入侵攻擊,源于作為消息中文件或腳本(script)抵達(dá)的電子郵件消息。攻擊中數(shù)據(jù)的格式是簡(jiǎn)單的二進(jìn)制機(jī)器碼或者ASCII文本。消息必須在其被激活之前接觸到傳遞機(jī)構(gòu)的語(yǔ)法和語(yǔ)義。例如,利用筒單郵件傳輸協(xié)議/電話(huà)接入網(wǎng)點(diǎn)(SMTP/POP(PointofPresence))協(xié)議來(lái)傳輸電子郵件消息中的可執(zhí)行文件,這兩種協(xié)議使用請(qǐng)求注解(RFC)2822中說(shuō)明的多功能網(wǎng)際郵件擴(kuò)展(MIME)文件附件。因此,功能塊2048D中的RSP2100可以識(shí)別功能塊2048D中與SMTP和/或MIME協(xié)i義相對(duì)應(yīng)的包。在功能塊2048E中,RSP2100產(chǎn)生令牌2068,該令牌對(duì)應(yīng)于數(shù)據(jù)流2022的識(shí)別的語(yǔ)法。例如,令牌68可以包括識(shí)別的電子郵件消息中的特定的子元素,例如,電子郵件消息的發(fā)送者("來(lái)自—")、電子郵件消息的接收者("去往—,,)、電子郵件消息的主題("主題一")、電子郵件發(fā)送的時(shí)間("發(fā)送—")、包括在電子郵件消息中的附件等。因?yàn)镽SP2100檢查該會(huì)話(huà)信息,因此如路由器和交換機(jī)等網(wǎng)絡(luò)處理設(shè)備中的威脅過(guò)濾不限于僅僅在單個(gè)包中發(fā)現(xiàn)的元素,即,試圖劫持TCP會(huì)話(huà),或者使FTP流轉(zhuǎn)向,或者偽造HTTPS證書(shū)。在功能塊2048F中使用令牌2068,以動(dòng)態(tài)地產(chǎn)生第二組更深入的過(guò)濾器2070,該過(guò)濾器為包括在包延遲緩沖器2030中的數(shù)據(jù)的語(yǔ)法而定制。例如,令牌2068可以用于產(chǎn)生與包括在電子郵件消息中的病毒有關(guān)的過(guò)濾器2070。IDS2018的可擴(kuò)展性是重要的。通過(guò)產(chǎn)生與數(shù)據(jù)的語(yǔ)法相關(guān)的過(guò)濾器,IDS可以更有效地掃描威脅。例如,IDS2018并不必須消耗時(shí)間應(yīng)用不適用于當(dāng)前處理的數(shù)據(jù)類(lèi)型的過(guò)濾器。功能塊2048G中的RSP2100將該定制的過(guò)濾器組2070應(yīng)用到存儲(chǔ)在包延遲緩沖器2030中的數(shù)據(jù)。丟棄包括由過(guò)濾器2070識(shí)別的威脅的任何包2032B。在數(shù)據(jù)在包延遲緩沖器2030中存儲(chǔ)了一段預(yù)定的固定時(shí)間周期后,功能塊2048H中的RSP2100將數(shù)據(jù)輸出至輸出端口2152。由包延遲緩沖器2030提供的固定延遲,為監(jiān)控操作2040提供時(shí)間,以便在數(shù)據(jù)流2034從輸出端口2152中輸出之前,評(píng)估威脅、決定當(dāng)前進(jìn)行的處理中是否存在新的威脅、形成一組語(yǔ)法相關(guān)的過(guò)濾器2070以及應(yīng)用過(guò)濾器。通常,每秒l千兆比特(Gbps)以太網(wǎng)LAN系統(tǒng)的延遲緩沖器2030中的延遲大約是20至50毫秒(ms)。當(dāng)然,也可以使用其他固定的延遲周期。RSP2100將新穎的分析技術(shù)用于處理數(shù)據(jù)流2022。這使得RSP2100以網(wǎng)絡(luò)的線(xiàn)路傳輸速率實(shí)現(xiàn)IDS2018,而不必須從可以在相同網(wǎng)絡(luò)處理設(shè)備中執(zhí)行的其他輸入網(wǎng)絡(luò)發(fā)送操作中離線(xiàn)地進(jìn)行入侵監(jiān)控操作2040。這使得RSP2100能夠以固定的包延遲來(lái)處理輸入包2022,使得入侵者較難于識(shí)別和避開(kāi)運(yùn)行入侵檢測(cè)系統(tǒng)的網(wǎng)絡(luò)處理設(shè)備2025(圖32A)。例如,入侵者在試圖用病毒2016傳染專(zhuān)用網(wǎng)絡(luò)2024(圖32A)時(shí),可能監(jiān)控網(wǎng)絡(luò)延遲。如果識(shí)別出通過(guò)一個(gè)特定網(wǎng)絡(luò)路徑響應(yīng)于重復(fù)的病毒攻擊的較長(zhǎng)響應(yīng),那么入侵者可以判斷該路徑包括入侵檢測(cè)系統(tǒng)。如果另一網(wǎng)絡(luò)路徑?jīng)]有花費(fèi)較長(zhǎng)的時(shí)間來(lái)響應(yīng)試圖的攻擊,那么入侵者可以總結(jié)出該路徑?jīng)]有包含入侵檢測(cè)系統(tǒng),并且可能會(huì)通過(guò)識(shí)別的網(wǎng)絡(luò)路徑中的端口或設(shè)備發(fā)送病毒。通過(guò)與數(shù)據(jù)2022的類(lèi)型或者所產(chǎn)生并應(yīng)用至數(shù)據(jù)流2022的過(guò)濾器2070的類(lèi)型無(wú)關(guān)地,在輸入端口2120和輸出端口2152之間產(chǎn)生統(tǒng)一包延遲,IDS2018防止了入侵者識(shí)別運(yùn)行IDS2018的網(wǎng)絡(luò)處理設(shè)備2025。當(dāng)然,這僅僅是一個(gè)實(shí)施例,并且可以不利用恒定的包延遲來(lái)實(shí)現(xiàn)其他的IDS實(shí)施方式2018。在一個(gè)可選的實(shí)施例中,RSP2100僅僅將固定延遲應(yīng)用于特定類(lèi)型的識(shí)別的數(shù)據(jù),而在不應(yīng)用固定延遲的情況下處理其他的數(shù)據(jù)。通過(guò)識(shí)別數(shù)據(jù)流的語(yǔ)法,IDS2018可以識(shí)別需要進(jìn)行病毒掃描的數(shù)據(jù)流以及不需要進(jìn)行病毒掃描的數(shù)據(jù)流。IDS2018接著明智地將固定延遲僅應(yīng)用至掃描的數(shù)據(jù)流。例如,RSP2100可以將固定延遲應(yīng)用至作為包含TCPSYN消息而識(shí)別出的包。如果在SYN包中沒(méi)有檢測(cè)出不規(guī)則性,那么RSP2100可以接收和隨后處理接收的TCP數(shù)據(jù)包,而并不應(yīng)用以上在圖34中描述的固定延遲。因此,可以延遲未建立的TCP會(huì)話(huà),而不延遲其他的交通。圖35是在圖34中所示的由IDS2018執(zhí)行的l喿作的更詳細(xì)的說(shuō)明。來(lái)自數(shù)據(jù)流2022的包通過(guò)輸入端口2120由包輸入緩沖器(PIB)2140進(jìn)行接收。來(lái)自包2022的字節(jié)由直接執(zhí)行分析器(DXP)2180和語(yǔ)義處理單元(SPU)2200進(jìn)行處理。在該實(shí)施例中,一個(gè)或更多的SPU2200可以并發(fā)地執(zhí)行訪(fǎng)問(wèn)控制表(ACL)檢查操作2050、會(huì)話(huà)查找操作2052以及令牌產(chǎn)生操作2054。ACL檢查操作2050針對(duì)已知既定的(apriori)過(guò)濾器2064的初始ACL表,來(lái)檢測(cè)數(shù)據(jù)流2022中的輸入包。ACL檢查操作2050清除匹配ACL過(guò)濾器2064的包,接著將剩余的包2022加載至延遲FIFO2030中。會(huì)話(huà)查找操作2052針對(duì)已知的和有效的IP會(huì)話(huà),檢查包2022。例如,DXP2180可以將信息發(fā)送給會(huì)話(huà)查找2052,其識(shí)別TCP會(huì)話(huà)、端口號(hào)以及TCPSYN消息的到達(dá)率。會(huì)話(huà)查找2052判斷TCP會(huì)話(huà)和端口號(hào)是否在之前已經(jīng)查找到以及多久前查找到的。如果包2022被證明為有效的TCP/IP會(huì)話(huà),那么包2022可以被直接地發(fā)送給包輸出緩沖器(POB)2150。令牌產(chǎn)生操作2054根據(jù)由DXP2180識(shí)別的數(shù)據(jù)流2022的語(yǔ)法,產(chǎn)生令牌1068。在一個(gè)實(shí)施例中,令牌產(chǎn)生器(tokengenerator)2054產(chǎn)生包括5元組數(shù)據(jù)組的令牌2068,該數(shù)據(jù)組包含與輸入緩沖器2140中所處理的包相關(guān)的有源IP地址、目標(biāo)IP地址、源端口號(hào)、目標(biāo)端口號(hào)以及協(xié)議號(hào)。令牌2068還可以包括TCP包中任何的異常,諸如未知的IP或TCP選項(xiàng)。在以下描述的實(shí)施例中,一些令牌2068還包括與電子郵件消息相關(guān)的語(yǔ)法元素。例如,DXP2018可以識(shí)別與如以上在圖32C中所述的簡(jiǎn)單郵件傳輸協(xié)議(SMTP)會(huì)話(huà)相關(guān)的包。令牌產(chǎn)生操作2054接著從諸如SMTS/MIME附件的郵件會(huì)話(huà)中提取特定的信息。利用類(lèi)型、長(zhǎng)度、值(TLV)格式產(chǎn)生與電子郵件消息相關(guān)的令牌2068的一個(gè)實(shí)施例如下令牌#1類(lèi)型SMTP/MIME附件(在電子郵件消息中傳送文件的方法)長(zhǎng)度文件中的字節(jié)數(shù)值實(shí)際的文件在另一實(shí)施例中,DXP2180識(shí)別輸入緩沖器2140中與超文本標(biāo)志語(yǔ)言(HTML)會(huì)話(huà)有關(guān)的包2022。令牌產(chǎn)生操作2054因此產(chǎn)生特別相關(guān)的令牌,并且識(shí)別HTMP會(huì)話(huà)如下令牌#2.類(lèi)型HTMLBin服務(wù)(在網(wǎng)頁(yè)中傳送文件的方法)長(zhǎng)度文件中的字節(jié)數(shù)值實(shí)際的文件令牌2068由令牌產(chǎn)生操作2054形成,如上所述,使得能夠由威脅/病毒分沖斤和ACL計(jì)凄t器測(cè)量^理2056(counter-measureagent)容易:MM奪令牌2068中包括的語(yǔ)法信息與威脅特征2058進(jìn)行比較。在一個(gè)實(shí)施例中,計(jì)數(shù)器測(cè)量代理2056是通用中央處理單元(CPU),該CPU將令牌2068和存儲(chǔ)在存儲(chǔ)器中的預(yù)定義威脅特征2058進(jìn)行比較。例如,計(jì)數(shù)器測(cè)量代理2056可以實(shí)現(xiàn)各種預(yù)先存在的算法,例如"BRO"-http:〃ee.lbl.gov/bro.html或者"SNORT,,誦http:〃www.snort.org,其以引用方式包含在本文中,以便決定是否需要新的入侵過(guò)濾器。威脅特征2058可以由商業(yè)可用的入侵;險(xiǎn)測(cè)數(shù)據(jù)庫(kù)提供,例如可從SNORT或者M(jìn)cAfee獲得的數(shù)據(jù)庫(kù)。計(jì)數(shù)器測(cè)量代理2056根據(jù)令牌2068和威脅特征2058之間的匹配,動(dòng)態(tài)地產(chǎn)生輸出ACLS過(guò)濾器2070。例如,威脅特征2058可以識(shí)別包括在令牌2068之一中的電子郵件附件中的病毒。計(jì)數(shù)器測(cè)量代理2056接著動(dòng)態(tài)地產(chǎn)生包括包的源IP地址的過(guò)濾器2070,該包包含感染病毒的電子郵件附件。將過(guò)濾器2070輸出至ACL操作2062,接著ACL操作2062丟棄包括過(guò)濾器2070識(shí)別的源IP地址的延遲FIFP2030中的任何包2016。然后,將剩余的包輸出至輸出緩沖器2150。可重新配置語(yǔ)義處理器(RSP)圖36示出了用于一個(gè)實(shí)施例中的可重新配置語(yǔ)義處理器(RSP)2100的方塊圖,該實(shí)施例實(shí)現(xiàn)了上述的IDS2018。RSP2100包括輸入緩沖器2140,其用于緩沖通過(guò)輸入端口2120接收的包數(shù)據(jù)流;以及輸出緩沖器2150,其用于緩沖通過(guò)輸出端口2152輸出的包數(shù)據(jù)流。直接執(zhí)行分析器(DXP)2180控制對(duì)于在輸入緩沖器2140(例如,輸入"流")處接收的、輸出至輸出緩沖器2150(例如,輸出"流")的以及在再循環(huán)緩沖器2160(例如,再循環(huán)"流,,)中再循環(huán)的包或幀的處理。輸入緩沖器2140、輸出緩沖器2150以及再循環(huán)緩沖器2160優(yōu)選地是先入先出(FIFO)緩沖器。DXP2180還控制語(yǔ)義處理單元(SPU)2200對(duì)包的處理,該語(yǔ)義處理單元2200處理緩沖器2140、2150和2160與存儲(chǔ)器子系統(tǒng)2215間的數(shù)據(jù)傳輸。存儲(chǔ)器子系統(tǒng)2215存儲(chǔ)自輸入端口2120接收的包,并且還存儲(chǔ)用于在輸入數(shù)據(jù)流中識(shí)別威脅的威脅特征2058(圖35)。RSP2100將至少三個(gè)表用于執(zhí)行給定的IDS操作。用于接收產(chǎn)生規(guī)則2176的代碼2178存儲(chǔ)在分析表(PT)2170中。語(yǔ)法產(chǎn)生規(guī)則2176存儲(chǔ)在產(chǎn)生規(guī)則表(PRT)21卯中。SPU2200執(zhí)行的代碼段存儲(chǔ)在語(yǔ)義代碼表(SCT)2210中。分析表2170中的代碼2178以例如行列格式或者內(nèi)容可尋址格式進(jìn)行存儲(chǔ)。在行列格式中,分析表2170的行通過(guò)由內(nèi)部分析器堆棧2185提供的非終結(jié)代碼NT2172進(jìn)行索引。分析表2170的列通過(guò)從輸入緩沖器2140中的數(shù)據(jù)頭部提取的輸入數(shù)據(jù)值DI[N]2174進(jìn)行索引。在內(nèi)容可尋址格式中,來(lái)自分析器堆棧2185的非終結(jié)代碼2172和來(lái)自輸入緩沖器2140的輸入數(shù)據(jù)值2174的并置向分析表2170提供輸入。產(chǎn)生規(guī)則表2190通過(guò)來(lái)自分析表2170的代碼2178進(jìn)行索引。表2170和2190可以如圖36那樣鏈接,使得對(duì)分析表2170的查詢(xún)將直接地返回可應(yīng)用于非終結(jié)代碼2172和輸入數(shù)據(jù)值2174的產(chǎn)生規(guī)則2176。DXP2180用從PRT2190返回的產(chǎn)生規(guī)則(PR)2176代替分析器堆棧2185頂端的非終結(jié)代碼,并且繼續(xù)分析來(lái)自輸入緩沖器2140的數(shù)據(jù)。還根據(jù)由分析表2170產(chǎn)生的代碼2178,和/或根據(jù)由產(chǎn)生規(guī)則表2190產(chǎn)生的產(chǎn)生規(guī)則2176,索引語(yǔ)義代碼表2210。通常,分析結(jié)果允許DXP2180檢測(cè)對(duì)于給定的產(chǎn)生規(guī)則2176,來(lái)自語(yǔ)義代碼表2210的代碼段2212是否應(yīng)該由SPU2200加載和執(zhí)行。SPU2200具有幾個(gè)到提供結(jié)構(gòu)化存儲(chǔ)器接口的存儲(chǔ)器子系統(tǒng)2215的訪(fǎng)問(wèn)路徑,該接口可由上下文符號(hào)尋址。存儲(chǔ)器子系統(tǒng)2215、分析表2170、產(chǎn)生規(guī)則表2190以及語(yǔ)義代碼表2210可以采用單片存儲(chǔ)器、諸如同步動(dòng)態(tài)隨機(jī)訪(fǎng)問(wèn)存儲(chǔ)器(DRAM)和內(nèi)容可尋址存儲(chǔ)器(CAM)的外部存儲(chǔ)器設(shè)備、或者這種資源的組合。每個(gè)表和上下文僅僅向共享物理內(nèi)存空間的上下文接口,提供一個(gè)或更多個(gè)其他表或上下文。維護(hù)中央處理單元(MCPU)2056連接在SPU2200和存儲(chǔ)器子系統(tǒng)2215之間。MCPU2056執(zhí)行RSP2100的任何期望的功能,RSP2100可以用傳統(tǒng)軟件合理地完成。這些功能通常是稀有的、無(wú)時(shí)間界限的功能,由于復(fù)雜性而不能保證包含在SCT2210中??蛇x地,MCPU2056還具有請(qǐng)求SPU2200代表MCPU執(zhí)行任務(wù)的能力。在一個(gè)實(shí)施方式中,MCPU2056輔助產(chǎn)生訪(fǎng)問(wèn)控制表(ACL),該ACL表由SPU2200使用,來(lái)從輸入包流中過(guò)濾病毒。存儲(chǔ)器子系統(tǒng)2215包括陣列機(jī)上下文數(shù)據(jù)存儲(chǔ)器(AMCD)2230,其用于通過(guò)散列函數(shù)或內(nèi)容可尋址存儲(chǔ)器(CAM)查找,來(lái)訪(fǎng)問(wèn)DRAM2280中的數(shù)據(jù)。密碼功能塊2240加密、解密或者驗(yàn)證數(shù)據(jù),而上下文控制塊高速緩沖存儲(chǔ)器2250向和從DRAM2280中高速緩沖上下文控制塊。通用高速緩沖存儲(chǔ)器2260高速緩沖用于基本操作中的數(shù)據(jù),而流式高速緩沖存儲(chǔ)器2270在數(shù)據(jù)流被寫(xiě)進(jìn)DRAM2280中或自DRAM2280中讀出時(shí)高速緩沖該數(shù)據(jù)流。上下文控制塊高速緩沖存儲(chǔ)器2520優(yōu)選地是軟件控制的高速緩沖存儲(chǔ)器,即,SPU2200判斷何時(shí)使用和釋放高速緩沖存儲(chǔ)器線(xiàn)路。電路2240、2250、2260和2270中的每一個(gè)都連接在DRAM2280和SPU200之間。TCAM2220連接在AMCD2230和MCPU2056之間。RSP2100的功能塊的詳細(xì)設(shè)計(jì)優(yōu)化并不在本發(fā)明的范圍內(nèi)。對(duì)于可應(yīng)用語(yǔ)義處理器功能塊的詳細(xì)結(jié)構(gòu)的實(shí)施例,讀者可以參照聯(lián)合待審申請(qǐng)10/351,030,其名稱(chēng)為可重新配置語(yǔ)義處理器,于2003年1月24日提交,該申請(qǐng)以引用方式包含在本文中。利用RSP的入侵檢測(cè)結(jié)合具體實(shí)施例可以更好地理解RSP2100在入侵檢測(cè)上下文中的功能。在以下描述的實(shí)施例中,RSP2100清除電子郵件消息中的病毒或其他流氓軟件。本領(lǐng)域的技術(shù)人員應(yīng)該認(rèn)識(shí)到,描述的概念容易應(yīng)用于檢測(cè)任何類(lèi)型的病毒或其他類(lèi)型的流氓軟件,以及為利用任何通信協(xié)議傳輸?shù)娜魏螖?shù)據(jù)流執(zhí)行任何類(lèi)型的入侵檢測(cè)。初始的入侵檢測(cè)操作包括分析和檢測(cè)輸入數(shù)據(jù)流的語(yǔ)法,該操作參照?qǐng)D37和38進(jìn)行解釋。接著參照?qǐng)D37,與很多不同語(yǔ)法相關(guān)的代碼可以同時(shí)存在于分析表2170和產(chǎn)生規(guī)則表2190中。例如,代碼2300與MAC包頭部格式分析有關(guān),代碼2302與于IP包處理有關(guān),而另一組代碼2304與TCP包處理有關(guān),等等。分析表2170中的其他代碼2306與以上在圖32A-35中描述的入侵檢測(cè)2018有關(guān),并且在該實(shí)施例中,尤其識(shí)別了數(shù)據(jù)流2022(圖35)中的簡(jiǎn)單郵件傳輸協(xié)議(AMTP)包。2176。除非特定的查找實(shí)施方式需要,否則不需要將輸入值2308(例如,結(jié)合當(dāng)前輸入值DI[n]2170的非終結(jié)(NT)符號(hào)2172,其中n是以字節(jié)為單位的選擇匹配寬度)以任何特定的順序分配在PR表2170中。在一個(gè)實(shí)施例中,分析表2170還包括尋址器2310,其從DXP2180接收NT符號(hào)2172和數(shù)據(jù)值DI[n]2174。尋址器2310把NT符號(hào)2172與數(shù)據(jù)值DI[n]2174并置,并且將并置值(concatenatedvalue)2308應(yīng)用到分析表2170。盡管將產(chǎn)生規(guī)則表2170的結(jié)構(gòu)看作是對(duì)于NT代碼2172和數(shù)據(jù)值2174的每一個(gè)唯一組合的具有一個(gè)PR代碼2178的矩陣,在概念上通常是有益的,但是本發(fā)明并不受限于此。不同類(lèi)型的存儲(chǔ)器和存儲(chǔ)器結(jié)構(gòu)可以適用于不同的應(yīng)用。在一個(gè)實(shí)施例中,分析表2170作為內(nèi)容可尋址存儲(chǔ)器(CAM)實(shí)現(xiàn),其中尋址器2310使用NT代碼2172和輸入數(shù)據(jù)值DI[n]2174作為CAM的密鑰,來(lái)查找PR代碼2178。優(yōu)選地,CAM是由TCAM表目構(gòu)成的三態(tài)CAM(TernaryCAM,TCAM)。每個(gè)TCAM表目包括NT代碼2312和DI[n]匹配值2314。每個(gè)NT代碼2312可以具有多個(gè)TCAM表目??梢詫⒚课籇I[n]匹配值2314設(shè)置為"0"、"1"或"X"(表示"無(wú)關(guān)")。這種能力允許PR代碼2178要求僅僅DI[n]2174的某些位/字節(jié)匹配編碼模式,以便分析表2179找到匹配。例如,一行TCAM可以包括SMTP包的NT代碼NT—SMTP2312A,接著是附加字節(jié)2314A,其代表存在于SMTP包中內(nèi)容的特定類(lèi)型,例如電子郵件附件的標(biāo)簽。TCAM行的剩余字節(jié)被設(shè)置為"無(wú)關(guān)"。因此,當(dāng)NT—SMTP2312A和一些數(shù)量的字節(jié)DI[n]被提交給分析表2170時(shí),其中DI[n]的第一組字節(jié)包括附件標(biāo)識(shí)符,不管DI[n]的剩余字節(jié)中包括什么,匹配都將會(huì)發(fā)生。如以上所解釋的那樣,分析表2170中的TCAM產(chǎn)生與匹配N(xiāo)T2172和DI[n]2174的TCAM表目相對(duì)應(yīng)的PR代碼2178A。在該實(shí)施例中,PR代碼2178A與包括電子郵件消息的SMTP包有關(guān)聯(lián)。PR代碼2178A可以被發(fā)送回DXP2180,直接地到達(dá)PR表2190,或者都可以。在一個(gè)實(shí)施例中,PR代碼2178A是產(chǎn)生匹配的TCAM表目的行索引。圖38示出了產(chǎn)生規(guī)則表2190的一個(gè)可能實(shí)施例。在該實(shí)施例中,尋址器2320從DXP2180或分析表2170接收PR代碼2178,以及從DXP2180接收NT符號(hào)2172。優(yōu)選地,所接收的NT符號(hào)2172是發(fā)送至分析表2179的相同NT符號(hào)2172,在分析表2179中,NT符號(hào)用于定位所接收的PR代碼2178。尋址器2320使用這些接收的PR代碼2178和NT符號(hào)2172,來(lái)訪(fǎng)問(wèn)相應(yīng)的產(chǎn)生規(guī)則2176。在一些實(shí)施方案中,尋址器2320不是必需的,但是當(dāng)使用時(shí),就可以是DXP2180的一部分、PRT2190的一部分、或者中間功能塊??梢圆恍枰獙ぶ菲?,例如,如果分析表2170或者DXP2180直接地構(gòu)建地址時(shí)。存儲(chǔ)在產(chǎn)生規(guī)則表2190中的產(chǎn)生規(guī)則2176包括三個(gè)數(shù)據(jù)段。這些數(shù)據(jù)段包括符號(hào)段2177A、SPU入口點(diǎn)(SEP)段2177B以及跳讀字節(jié)段2177C。這些段可以是固定長(zhǎng)度段或可變長(zhǎng)度段,優(yōu)選地,它們是"空結(jié)束"的。符號(hào)段2177A包括將被推至DXP的分析器堆棧2185(圖2A)上的終結(jié)和/或非終結(jié)符號(hào)。SEP段2177B包括SPU2200用來(lái)處理數(shù)據(jù)段的SPU入口點(diǎn)(SEP)。跳讀字節(jié)段2177C包括輸入緩沖器2140用來(lái)遞增其緩沖器指針和推進(jìn)輸入流處理的跳讀字節(jié)值。用于處理產(chǎn)生規(guī)則的其他信息還可以作為產(chǎn)生規(guī)則2176的一部分進(jìn)行存儲(chǔ)。在該實(shí)施例中,由產(chǎn)生規(guī)則代碼2178A索引的一個(gè)或更多產(chǎn)生規(guī)則2176A與輸入緩沖器2140中識(shí)別的SMTP包相對(duì)應(yīng)。SEP段2177B指向圖36中的語(yǔ)義代碼表2210中的SPU代碼2212,當(dāng)由SPU2200執(zhí)行時(shí),其執(zhí)行以上在圖35中描述的不同的ACL檢查2050、會(huì)話(huà)查找2052以及令牌產(chǎn)生2054操作。在一個(gè)實(shí)施例中,SPU2200包括可以并行運(yùn)行的一批語(yǔ)義處理元素。產(chǎn)生少見(jiàn)則2176A中的SEP萃殳2177B可以啟動(dòng)一個(gè)或更多SPU2200來(lái)并行執(zhí)行ACL檢查2050、會(huì)話(huà)查找2052以及令牌產(chǎn)生2054操作。如上所提及,分析表2170還可以包括處理與SMTP包不相關(guān)的其他類(lèi)型數(shù)據(jù)的語(yǔ)法。例如,包括在分析表2170中的IP語(yǔ)法2302可以包括與輸入緩沖器2140中識(shí)別的NT—IP目標(biāo)地址相關(guān)的產(chǎn)生MJ'J代碼2178??梢訟"DCDo1rn肚趙中的網(wǎng)絡(luò)處理設(shè)備的目標(biāo)IP地址。如果與NT—IP代碼2172相關(guān)的輸入數(shù)據(jù)DI[I]2174不具有包括在針對(duì)PR代碼2302的匹配值2314中的目標(biāo)產(chǎn)生規(guī)則代碼2178可以指向產(chǎn)生規(guī)則表2190中的產(chǎn)生規(guī)則2176,其指示DXP2180和/或SPU2200丟棄來(lái)自輸入緩沖器2140的包。語(yǔ)義處理單元(SPU)如上所述,DXP2180在輸入流中識(shí)別特定的語(yǔ)法元素,例如,IP會(huì)話(huà)、TCP會(huì)話(huà)、以及本示例中的SMTP電子郵件會(huì)話(huà)。這些語(yǔ)法分析操作對(duì)于IDS系統(tǒng)2108的總體性能是重要的。因?yàn)镈XP2180識(shí)別輸入流的實(shí)際語(yǔ)法,所以以上在圖35中描述的后續(xù)IDS操作現(xiàn)在可以由SPU2200更有效地執(zhí)行。例如,SPU2200可能僅僅需要將與電子郵件消息相關(guān)的ACL過(guò)濾器應(yīng)用至分析的數(shù)據(jù)流。這就提供了幾點(diǎn)優(yōu)勢(shì)。第一,每個(gè)包的每個(gè)字節(jié)無(wú)需與圖35中的每個(gè)威脅特征.2058進(jìn)行比較??商鎿Q地,僅僅將與電子郵件消息相關(guān)的威脅特征子集應(yīng)用至SMTP包。這就具有增加IDS2018的可擴(kuò)展性的基本優(yōu)勢(shì),并且允許IDS2018來(lái)檢測(cè)更多的病毒和流珉軟件以及在較高的包速率下運(yùn)行。圖39更加詳細(xì)地描述了之前在圖35中描述的ACL檢查操作2050和輸出ACL操作2062。在功能塊2400中,DXP2180發(fā)送信號(hào)通知SPU2200從SCT2210中加載適當(dāng)?shù)奈⒅噶?,SCT2210執(zhí)行之前在圖35中描述的ACL檢測(cè)操作2050和輸出ACL操作2062。如以上在圖38中所描述的那樣,DXP2180通過(guò)包含在產(chǎn)生規(guī)則2176A中的SPU入口點(diǎn)(SEP)段2177B向SPU2200發(fā)送信號(hào)。根據(jù)響應(yīng)于SEP段2177B在SCT2210中取得的SPU代碼2212(圖36),在功能塊2402中,SPU2200獲得由DXP2180在輸入數(shù)據(jù)流中識(shí)別的某些語(yǔ)法元素。例如,DXP2180可以識(shí)別5元組語(yǔ)法元素,包括IP源地址、IP目標(biāo)地址、目標(biāo)端口號(hào)、源端口號(hào)以及協(xié)議類(lèi)型。當(dāng)然,這僅僅是一個(gè)實(shí)施例,數(shù)據(jù)流2022(圖35)中的其他語(yǔ)法元素還可以由DXP2180識(shí)別。在功能塊2404中,SPU2200將DXP2180識(shí)別的語(yǔ)法元素與包括在TCAM2220中的一組既定訪(fǎng)問(wèn)控制表(ACL)過(guò)濾器進(jìn)行比較。例如,TCAM2220中的這組既定的訪(fǎng)問(wèn)控制表(ACL)過(guò)濾器可以包括與已知威脅相關(guān)的不同的IP地址。在一個(gè)實(shí)施例中,通過(guò)將諸如包的IP地址的語(yǔ)法元素通過(guò)AMCD2230發(fā)送至TCAM2220,SPU2200將輸入緩沖器2140中的包的語(yǔ)法元素與TCAM2220中的既定過(guò)濾器進(jìn)行比較。IP地址接著用作進(jìn)入TCAM2220中的地址,TCAM2220將結(jié)果通過(guò)AMCD2230輸出回至SPU2200。在功能塊2406中,SPU2200檢查來(lái)自TCAM2220中的結(jié)果。來(lái)自TCAM220的輸出可以指示刪除包、存儲(chǔ)包或者可能的IP安全(IPSEC)包。例如,當(dāng)從輸入緩沖器2140的包中提供的IP地址匹配TCAM2220中的既定過(guò)濾器表目中的一個(gè)時(shí),TCAM2220可以產(chǎn)生刪除包標(biāo)志。當(dāng)輸入數(shù)據(jù)流2022的IP地址不匹配TCAM2220中任何一個(gè)表目時(shí),輸出存儲(chǔ)包標(biāo)志。TCAM2220還可以包括與加密IPSEC包相對(duì)應(yīng)的表目。如果IP地址匹配IPSEC表目中的一個(gè),那么TCAM2220輸出IPSEC標(biāo)志。在功能塊2408中,SPU2200刪除在TCAM2220中產(chǎn)生刪除包標(biāo)志的PIB2140中的任何包。SPU2200可以簡(jiǎn)單地通過(guò)指示輸入緩沖器2140跳至下一個(gè)包來(lái)刪除包。如果存儲(chǔ)包標(biāo)志/人TCAM2220中輸出,那么在功能塊2410中,SPU2200將來(lái)自輸入緩沖器2140的包存儲(chǔ)至DRAM2280中。DRAM2280作為如圖34和35中描述的延遲FIFO2030運(yùn)4亍。如果IPSEC標(biāo)志由TCAM220輸出,那么SPU2200可以通過(guò)存儲(chǔ)器子系統(tǒng)2215中的密碼電路2240,發(fā)送輸入緩沖器2140中的包。解密包可以接著發(fā)送回圖36中的再循環(huán)緩沖器2160,并且重復(fù)以上描述的ACL檢查操作。當(dāng)包存儲(chǔ)在DRAM228(X圖35中的延遲FIFO2030)中時(shí),MCPU256(圖35中的計(jì)數(shù)器測(cè)量代理2056)動(dòng)態(tài)地產(chǎn)生ACL過(guò)濾器2070,其對(duì)應(yīng)于從輸入數(shù)據(jù)流中提取的令牌2068。其在圖41中進(jìn)行更詳細(xì)地描述。功能塊2412中,SPU2200將存儲(chǔ)在DRAM2280中的包與現(xiàn)在存儲(chǔ)在TCAM2220中的動(dòng)態(tài)產(chǎn)生的ACL過(guò)濾2070(圖35)進(jìn)行比較。例如,SPU2200可以使用在功能塊2402中識(shí)別的包的相同的5元組。SPU2200將包的5元組應(yīng)用于在TCAM2220中動(dòng)態(tài)產(chǎn)生的過(guò)濾器2070。在功能塊2414中,接著由SPU2200從DRAM2280中刪除DRAM2280中的任何包,該包產(chǎn)生了來(lái)自TCAM2220的刪除包標(biāo)志結(jié)果。在預(yù)定的固定延遲周期之后,在功能塊2416中,SPU2200接著將剩余的包輸出至輸出端口2152。應(yīng)該理解,CAM2220可以包括其他的既定過(guò)濾器。例如,CAM2200可以包括與包中包括的不同協(xié)議或數(shù)據(jù)相關(guān)的過(guò)濾器。DXP2180將需要被應(yīng)用至TCAM2220中的過(guò)濾器的語(yǔ)法元素識(shí)別至SPU2200。在由延遲FIFO提供的固定時(shí)間延遲之內(nèi)判斷病毒或流氓軟件可能是不可能的。例如,病毒可以包括在很大的多兆位消息的末尾處。在這種情況下,IDS2018可以產(chǎn)生病毒通知消4,其去往與包括病毒的包相同的接收者(recipient)。病毒通知消息通知接收者丟棄包含病毒的包。圖40解釋了在之前在圖35中描述的會(huì)話(huà)查找操作2052期間由SPU2200執(zhí)行的操作。在功能塊2430中,DXP2180通過(guò)發(fā)送如之前在圖38中所述的相關(guān)的SEP段2177B,發(fā)送信號(hào)通知SPU2200從與執(zhí)行會(huì)話(huà)查找操作相關(guān)的SCT2210中加載適當(dāng)?shù)奈⒅噶?。在一個(gè)實(shí)施例中,在功能塊2432中,SPU2200從DXP2180中接收輸入包的源和目標(biāo)地址以及端口號(hào)。SPU2200接著比較地址和端口號(hào)與包括在DRAM2280中的包的當(dāng)前會(huì)話(huà)信息。對(duì)于一些IP會(huì)話(huà),在功能塊2434中,SPU2200可能需要在運(yùn)行于DRAM2280中的延遲FIFO2030中,將分割成碎片的包重新排序。在功能塊2"8中,SPU^OO還可以刪除輸入緩沖器2140中的任何包,這些包是現(xiàn)有IP會(huì)話(huà)的之前接收的包的復(fù)制。圖41描述了之前在圖35中描述的令牌產(chǎn)生操作2054。在功能塊2450中,如以上在圖36-38中所述,DXP2180分析來(lái)自輸入流中的數(shù)據(jù)。在功能塊2452中,DXP2180識(shí)別輸入緩沖器2140中的數(shù)據(jù)流中的語(yǔ)法元素,其可能與病毒或流氓軟件有關(guān)聯(lián)。在以上的實(shí)施例中,這可以包括DXP2180識(shí)別包括電子郵件消息的包。然而,由DXP2180識(shí)別的語(yǔ)法元素可以是任何一種,其包括IP地址、包括源和目標(biāo)地址的IP數(shù)據(jù)流、特定的數(shù)據(jù)流的識(shí)別的交通速率,等等。在功能塊2454中,DXP2180發(fā)送信號(hào)通知SPU2200從與特定令牌產(chǎn)生操作有關(guān)的SCT2210中加載微指令。以及更具體地,由圖38中的SEP段2177B識(shí)別的微指令,指示SPU2200為DXP2180識(shí)別的特定語(yǔ)法元素產(chǎn)生令牌。在功能塊2456中,SPU2200接著從識(shí)別的語(yǔ)法元素中產(chǎn)生令牌2068(圖35)。例如,SPU代碼2212(圖35)可以指示SPU2200提取針對(duì)識(shí)別的電子郵件消息定位的語(yǔ)法元素。SPU2200可以產(chǎn)生包含如下信息的令牌包中來(lái)自"來(lái)自"、"去往"以及"主題,,字段的信息。SPU2200還可以提取和產(chǎn)生存在于數(shù)據(jù)流中的任何電子郵件附件的令牌。例如,SPU2200可以產(chǎn)生之前在圖35中所迷的TLV令牌#1。令牌#1類(lèi)型SMTP/MIME附件(在電子郵件消息中傳送文件的方法)長(zhǎng)度文件中的字節(jié)數(shù)^f直實(shí)際的文件還應(yīng)該理解,DXP2180可以識(shí)別與威脅相關(guān)聯(lián)的很多不同類(lèi)型的語(yǔ)法元素。DXP2180可以發(fā)起用于不同語(yǔ)法元素的不同的SPU代碼2212(圖36)。例如,如上所述,DXP2180還可以識(shí)別與根據(jù)HTMP消息相對(duì)應(yīng)的語(yǔ)法元素。DXP2180發(fā)送SEP段2177B,其指示SPU2200產(chǎn)生可以類(lèi)似于以下所示的HTML令牌令牌#2類(lèi)型HTMLBin服務(wù)(在網(wǎng)頁(yè)中傳送文件的方法)長(zhǎng)度文件中的字節(jié)數(shù)it:實(shí)際的文件在功能塊2457中,SPU2200編排令牌以便易于應(yīng)用于圖35中的威脅特征2058。例如,SPU將令牌編排為類(lèi)型、長(zhǎng)度以及值(TLV)數(shù)據(jù)。在功能塊2458中,SPU接著將編排的令牌發(fā)送至圖36中的MCPU2056,或者發(fā)送至以上在圖35中描述的外部威脅/病毒分析和ACL計(jì)數(shù)器測(cè)量代理2056。在一個(gè)實(shí)施例中,MCPU2056將令牌2068應(yīng)用至包括在TCAM2220中的威脅特征2058,TCAM2220產(chǎn)生一組動(dòng)態(tài)產(chǎn)生的ACL過(guò)濾器2070。SPU2200在以上在圖39中描述的輸出ACL操作2062中,接著將TCAM2220中的動(dòng)態(tài)產(chǎn)生的ACL過(guò)濾器2070應(yīng)用至存儲(chǔ)在DRAM2280延遲FIFO中的包。匹配ACL過(guò)濾器2070的延遲FIFO中的任何包被刪除。在該實(shí)施例中,TCAM2220包括多個(gè)表,包括威脅特征表和ACL過(guò)濾器表。TCAM2220中的威脅特征表由MCPU2056訪(fǎng)問(wèn),并且TCAM2220中的ACL過(guò)濾器由SPU2220通過(guò)AMCD2230訪(fǎng)問(wèn)。在可選的實(shí)施例中,外部威脅分析設(shè)備以來(lái)自RSP2100的芯片為動(dòng)力來(lái)運(yùn)行。在該實(shí)施例中,單獨(dú)的TCAM可以包括威脅特征。SPU2200將令牌2068發(fā)送至外部威脅分析設(shè)備,外部威脅分析設(shè)備接著將動(dòng)態(tài)產(chǎn)生的ACL過(guò)濾器2070輸出至MCPU2056。MCPU2056接著將動(dòng)態(tài)產(chǎn)生的ACL過(guò)濾器2070寫(xiě)入TCAM2220中。SPU2220接著在用于圖35中所述的ACL檢查操作2050和輸出ACL操作2062中,訪(fǎng)問(wèn)TCAM2220中的ACL過(guò)濾器。對(duì)于本領(lǐng)域的技術(shù)人員而言,ACL過(guò)濾器2070的實(shí)際產(chǎn)生是已知的,因此不對(duì)其進(jìn)行進(jìn)一步描述。然而,入侵檢測(cè)系統(tǒng)曾經(jīng)根據(jù)與數(shù)據(jù)流中的識(shí)別的語(yǔ)法元素相關(guān)的令牌在以前動(dòng)態(tài)產(chǎn)生過(guò)ACL過(guò)濾器,這是不能令人相信的。碎片包中的入侵檢測(cè)當(dāng)前存在用于查找網(wǎng)絡(luò)消息中的已知模式的文本掃描器。為了避免錯(cuò)誤地檢測(cè)威脅,通常利用常規(guī)表達(dá)風(fēng)格模式匹配技術(shù),匹配長(zhǎng)序列的文本。然而,這些技術(shù)要求字節(jié)是毗鄰的,或者要求威脅掃描器使用擴(kuò)展的上下文存儲(chǔ)器。例如,病毒腳本可以作為如以下所示的一長(zhǎng)行被包含在內(nèi)Forallfilesin:C:\;{open(xxx);delete(xxx);close(xxx);}end.因此,病毒掃描器不得不尋找整個(gè)文本串s/*open(*);delete(*);close(*)*/但是,攻擊者可能如下這樣將病毒分布在多個(gè)包碎片中IPfrag#l:Forallfilesinc:\;{open(xxx);IPfrag#2:delete(xxx);close(xxx);}end;傳統(tǒng)的病毒掃描器可能不能夠檢測(cè)以上分割為碎片的IP包中的病毒。在TCP/IP協(xié)議最終將段消息放回一起時(shí),病毒已經(jīng)侵入了專(zhuān)用網(wǎng)絡(luò)。RSP2100在執(zhí)行如上所述的入侵檢測(cè)操作之前,檢測(cè)和重新組合碎片包。這就允許IDS跨越多個(gè)碎片包檢測(cè)病毒。圖42A包括流程圖2500,其解釋圖36中的RSP2100如何檢測(cè)碎片包中的病毒。參照?qǐng)D36和42A,在功能塊2502中,通過(guò)輸入端口2120在輸入緩沖器2140處接收包。在功能塊2510中,DXP2180開(kāi)始分析輸入緩沖器2140中的包的頭部。當(dāng)包被判斷為IP碎片包時(shí),DXP2180停止分析接收的包的頭部。優(yōu)選地,DXP2180完整地分析IP頭部,但是停止分析屬于后續(xù)層(例如,TCP、UDP、iSCSI等)的任何頭部。DXP2180在分析器堆棧2185上的語(yǔ)法或SPU2200指示時(shí)停止分析。根據(jù)下一功能塊2520,DXP2180發(fā)送信號(hào)通知SPU2200從SCT2210加載適當(dāng)?shù)奈⒅噶睿约皬妮斎刖彌_器2140讀取段包。根據(jù)下一功能塊2530,SPU2200通過(guò)流式高速緩沖存儲(chǔ)器2270將碎片包寫(xiě)至DRAM2280。盡管功能塊2520和2530示出為兩個(gè)獨(dú)立的步驟,但是,它們也可以可選地作為SPU2200并發(fā)地讀取和寫(xiě)入包的一個(gè)步驟來(lái)執(zhí)行。由SPU2200讀取和寫(xiě)入的并發(fā)操作被稱(chēng)為SPU流水線(xiàn)操作,其中SPU2200充當(dāng)在語(yǔ)義處理器2100內(nèi)的兩個(gè)功能塊之間傳送的流數(shù)據(jù)的導(dǎo)管或管道。根據(jù)下一判斷功能塊2540,SPU2200判斷是否已經(jīng)針對(duì)正確的IP包碎片的收集和排序分配了上下文控制塊(CCB)。用于根據(jù)IP碎片包收集和排序碎片的CCB優(yōu)選地存儲(chǔ)于DRAM2280中。CCB包括指向DRAM2280中IP碎片的指針、用于沒(méi)有抵達(dá)的IP碎片包的位屏蔽、和強(qiáng)迫語(yǔ)義處理器2100在分派的時(shí)間周期后停止等待附加IP碎片包并釋放存儲(chǔ)在DRAM2280的CCB中的數(shù)據(jù)的定時(shí)器值。SPU2200優(yōu)選地判斷是否已經(jīng)通過(guò)利用接收的IP碎片包的IP源地址,結(jié)合所接收的IP包碎片的頭部的身份識(shí)別和協(xié)議,作為密鑰,來(lái)訪(fǎng)問(wèn)AMCD2230的內(nèi)容可尋址存儲(chǔ)器(CAM)查找功能,從而分配CCB??蛇x地,IP碎片密鑰存儲(chǔ)在DRAM2280的單獨(dú)的CCB表中,并且通過(guò)利用所接收的IP碎片包的IP源地址,結(jié)合來(lái)自所接收的IP包碎片的頭部的身份識(shí)別和協(xié)議,而與CAM—起被訪(fǎng)問(wèn)。IP碎片密鑰的這種可選的尋址避免了密鑰重迭和尺寸問(wèn)題。如果SPU2200判斷還沒(méi)有針對(duì)具體IP碎片包的碎片的收集和排序分西己CCB,那么執(zhí)行程序進(jìn)行至功能塊2550,其中SPU2200分配CCB。SPU2200優(yōu)選地根據(jù)分配的CCB將密鑰輸入到AMCD2230中的IP碎片CCB表,并且啟動(dòng)定位在CCB中的定時(shí)器,該密鑰包括接收的IP碎片的IP源地址和來(lái)自接收的IP碎片包的頭部的身份識(shí)別和協(xié)議。當(dāng)接收到給定碎片包的第一個(gè)碎片時(shí),IP頭部也存儲(chǔ)至CCB中以便以后進(jìn)行再循環(huán)。對(duì)于其它碎片,無(wú)需存儲(chǔ)IP頭部。一旦針對(duì)IP碎片包的收集和排序分配了CCB,根據(jù)下一功能塊2560,SPU200將指向IP碎片(減去其IP頭部)包的指針存儲(chǔ)至CCB的DRAM2280中。可以將碎片的指針排列在CCB中,作為諸如鏈接列表。優(yōu)選地,SPU2200還通過(guò)標(biāo)記與接收碎片的原樣相對(duì)應(yīng)的屏蔽部分,來(lái)更新最新分配的CCB中的位屏蔽。根據(jù)下一判斷功能塊2570,SPU2200判斷是否已經(jīng)接收了來(lái)自包的所有的IP碎片。優(yōu)選地,這種判斷通過(guò)利用CCB中的位屏蔽來(lái)完成。本領(lǐng)域的普通技術(shù)人員應(yīng)該理解,存在多種可用于實(shí)現(xiàn)位屏蔽的技術(shù)或者等效的追蹤機(jī)制,以便與本發(fā)明一起使用。如果還沒(méi)有接收到碎片包的所有IP碎片,那么語(yǔ)義處理器2100推遲對(duì)碎片包的進(jìn)一步處理,直到接收到其他碎片為止。在接收到所有的IP段后,根據(jù)下一功能塊2580,SPU2200以正確的順序從DRAM2280讀取IP段,并將它們寫(xiě)至再循環(huán)緩沖器2160以進(jìn)行此外的分析和處理,例如上述的入侵檢測(cè)處理。在本發(fā)明的一個(gè)實(shí)施例中,SPU2200僅將特殊化的頭部和再組合的IP包(復(fù)位碎片位)的第一部分寫(xiě)至再循環(huán)緩沖器2160。這樣特殊化的頭部使DXP2180引導(dǎo)對(duì)存儲(chǔ)在DRAM2280中的重新組合的IP碎片包進(jìn)行處理,而不必將所有的IP碎片包轉(zhuǎn)移至再循環(huán)緩沖器2160。特殊化的頭部可以由指派的非終結(jié)符號(hào)組成,其加載包括IDS操作2018和指向CCB的指針的分析器語(yǔ)法。分析器2180接著正常地分析IP頭部,并繼續(xù)分析較高層(例如,TCP)頭部。當(dāng)在再循環(huán)緩沖器2160中的重新組合包中識(shí)別出可能包括病毒的語(yǔ)法元素時(shí),DXP2180發(fā)送信號(hào)通知SPU2200從SCT2210中加載指令,其執(zhí)行上述的入侵檢測(cè)操作2050、2052以及2054。例如,如果重新組合包被識(shí)別為包括電子郵件消息,那么DXP2180指示SPU2200產(chǎn)生對(duì)應(yīng)于上述不同電子郵件消息字段的令牌。圖42B包括示出IDS2018如何執(zhí)行多個(gè)TCP包的入侵操作的流程圖。根據(jù)功能塊2592A,傳輸控制協(xié)議(TCP)會(huì)話(huà)建立在發(fā)起站和作為RSP2100主機(jī)的網(wǎng)絡(luò)處理設(shè)備之間。RSP2100包括分析表2170中的適當(dāng)語(yǔ)法和PRT2190以及SCT2210中的微代碼,以建立TCP會(huì)話(huà)。在一個(gè)實(shí)施例中,一個(gè)或更多SPU2200組織和維持TCP會(huì)話(huà)的狀態(tài),包括在DRAM2280中分配CCB以進(jìn)行TCP重排序、窗口尺寸限制和定時(shí)器,其中如果在分派的時(shí)間幀沒(méi)有來(lái)自發(fā)起站的其它TCP包到達(dá),定時(shí)器就結(jié)束TCP會(huì)話(huà)。在發(fā)起站建立TCP會(huì)話(huà)之后,根據(jù)下一功能塊2592B,RSP2100等待TCP包抵達(dá)輸入緩沖器2140,該TCP包與在功能塊2592A中建立的TCP會(huì)話(huà)相對(duì)應(yīng)。因?yàn)镽SP2100可能具有用于處理輸入數(shù)據(jù)的多個(gè)SPU2200,所以RSP2100可以在等待與在功能塊2592A中建立的TCP會(huì)話(huà)相對(duì)應(yīng)的下一TCP包的同時(shí),并行地接收和處理多個(gè)包。在功能塊2592C中,通過(guò)輸入端口2120在輸入緩沖器2140處接收TCP包,并且DXP2180分析輸入緩沖器2140中的包的TCP頭部。DXP2180發(fā)送微指令給分配的SPU2200,該微指令在執(zhí)行時(shí),要求分配的SPU2200從輸入緩沖器2140讀取接收的包,以及通過(guò)流式高速緩沖存儲(chǔ)器2270將接收的包寫(xiě)至DRAM2280。分配的SPU2200接著定位TCPCCB,將指向DRAM2280中接收包的位置的指針存儲(chǔ)至TCPCCB,以及重啟TCPCCB中的定時(shí)器。接著釋放分配的SPU2200,并且能夠?qū)⑵浞峙浣oDXP2180確定的其他處理。根據(jù)下一功能塊2592D,如果需要,對(duì)接收的TCP包進(jìn)行重新排序,以確保有效載荷數(shù)據(jù)的正確排序。如本領(lǐng)域公知的那樣,如果所有的在前包已經(jīng)到達(dá),那么認(rèn)為T(mén)CP包具有正確的順序。當(dāng)接收的包被判斷處于正確的順序,那么可信的SPU2200從SCT2210加載微指令以便進(jìn)行再循環(huán)。根據(jù)下一功能塊2592E,分配的SPU結(jié)合來(lái)自TCP頭部的TCP連接信息和TCP非終結(jié)符,以產(chǎn)生特殊化的TCP頭部。分配的SPU2200接著將特殊化的TCP頭部寫(xiě)至再循環(huán)緩沖器2160??蛇x地,特殊化的TCP頭部連同其相應(yīng)的TCP有效載荷可以被發(fā)送至再循環(huán)緩沖器2160。根據(jù)下一功能塊2592F,特殊化的TCP頭部和重新組合的TCP有效載荷由DXP2180進(jìn)行分析,以識(shí)別TCP數(shù)據(jù)中的附加語(yǔ)法元素。識(shí)別為可能包含入侵的任何語(yǔ)法元素,由SPU2200根據(jù)上述的入侵操作進(jìn)行處理。分布式令牌產(chǎn)生圖43示出了運(yùn)行在網(wǎng)絡(luò)2600中的分布式IDS系統(tǒng)的一個(gè)實(shí)施例。網(wǎng)絡(luò)2600包括不同網(wǎng)絡(luò)處理i殳備2610,其執(zhí)行不同活動(dòng),例如防火墻2610A、電子郵件服務(wù)器2610B以及網(wǎng)絡(luò)服務(wù)器2610C。不同網(wǎng)絡(luò)設(shè)備2610A-C每個(gè)分別運(yùn)行類(lèi)似上述IDS2018的IDS2620A-C。在一個(gè)實(shí)施例中,利用類(lèi)似于以上在圖36-41中描述的RSP2100,實(shí)現(xiàn)一個(gè)或更多IDS2620。然而,在其他實(shí)施例中,利用其他硬件結(jié)構(gòu)執(zhí)行一個(gè)或更多IDS2620。每個(gè)網(wǎng)絡(luò)處理設(shè)備2610連接至中央入4曼檢測(cè)器(centralintrusiondetector)2670,其執(zhí)行中央入侵分析。每個(gè)IDS2620A-2620C分析輸入數(shù)據(jù)流,并分別產(chǎn)生令牌2640A-C,類(lèi)似于以上在圖35中描述的令牌2068。令牌2640發(fā)送至中央入侵檢測(cè)器2670。參照?qǐng)D43和44,功能塊2802中,中央入侵檢測(cè)器2670從每個(gè)IDS2620接收令牌2640。功能塊2804中,入侵檢測(cè)器2670根據(jù)令牌2640分析不同數(shù)據(jù)流的交通模式。在功能塊2806中接著產(chǎn)生了過(guò)濾器,并且在功能塊2808中,根據(jù)分析可以產(chǎn)生威脅特征。然后,在功能塊2810中,新的過(guò)濾器和威脅特征^:分布至每個(gè)IDS2620。在一個(gè)示例中,圖43中的防火墻2610B可以產(chǎn)生令牌2640B,其識(shí)別從公共網(wǎng)絡(luò)2630中接收的新數(shù)據(jù)流。令牌2640B被發(fā)送至識(shí)別新的源IP地址A的中央入侵檢測(cè)器2670。網(wǎng)絡(luò)服務(wù)器2610C還可以將令牌2640C發(fā)送至入侵檢測(cè)器2670。第一個(gè)令牌2640C—1識(shí)別新的源IP地址A,第二個(gè)令牌2640C—2表示源IP地址A已經(jīng)用于訪(fǎng)問(wèn)網(wǎng)絡(luò)服務(wù)器2610C中的文件。中央入侵檢測(cè)器2670將令牌2640B、2640C_1以及2640C—2相互關(guān)聯(lián),以識(shí)別可能不會(huì)被正常檢測(cè)出的可能的病毒或者流珉軟件。例如,入侵檢測(cè)器2670可以判斷在令牌2640B中從防火墻2610B中接收的新的源IP地址A,是還在網(wǎng)絡(luò)服務(wù)器2610C中打開(kāi)文件的相同IP地址A。該實(shí)施例中,^i殳來(lái)自^^共因特網(wǎng)2630的外部鏈沖妄不打開(kāi)內(nèi)部網(wǎng)絡(luò)文件。因?yàn)榱钆?640B自防火墻2610B接收,因此中央入侵檢測(cè)器2670總結(jié)出IP地址A是自公共因特網(wǎng)2630外部接收的。因此,中央入侵檢測(cè)器2670將新的過(guò)濾器2750發(fā)送至防火墻2610B中的IDS2620B,并可能發(fā)送至其他網(wǎng)絡(luò)設(shè)備2610A和2610C,從而防止具有源IP地址A的包進(jìn)入網(wǎng)絡(luò)2600。在另一實(shí)施例中,電子郵件服務(wù)器2610A中的IDS2620A產(chǎn)生了令牌2640A—1,其識(shí)別電子郵件是自未知源IP地址A接收的。IDS2620A還發(fā)送令牌2640A_2,其識(shí)別在令牌2640A—1中識(shí)別出的電子郵件中包括的MIME/附件。中央入侵檢測(cè)器2670根據(jù)之前接收的令牌2640B、2640C—1和2640C一2判斷與IP源地址A相關(guān)的任何數(shù)據(jù)流可能包括病毒或者流珉軟件。因此,中央入侵;險(xiǎn)測(cè)器2670可以動(dòng)態(tài)地產(chǎn)生新的特征2660,其與包括在令牌2640A—2中的MIME/附件的名稱(chēng)和/或內(nèi)容相應(yīng)。中央入侵4全測(cè)器2670將新的特征2660發(fā)送至電子郵件服務(wù)器2610A中的IDS2620A中,并可能發(fā)送至在網(wǎng)絡(luò)2600中運(yùn)行的每個(gè)其他的IDS2620中。IDS2620A接著將新的威脅特征添加至圖35中所示的威脅特征58中。因此,IDS系統(tǒng)2600可以根據(jù)令牌2640的語(yǔ)法內(nèi)容,以及根據(jù)發(fā)送令牌的網(wǎng)絡(luò)處理設(shè)備2610的類(lèi)型,產(chǎn)生過(guò)濾器和/或特征。例如,與自網(wǎng)絡(luò)中的其他網(wǎng)絡(luò)處理設(shè)備產(chǎn)生的令牌相比,可以更加懷疑地處理由防火墻2610B產(chǎn)生的令牌2640B。同時(shí),如上所述,由防火墻2610B(從公共因特網(wǎng)接收的IP包)識(shí)別的新IP地址知識(shí),可以與由電子郵件^^務(wù)器2610A或網(wǎng)絡(luò)服務(wù)器2610C檢測(cè)的其他操作的知識(shí)相關(guān),以便更徹底地檢測(cè)病毒。在其他的實(shí)施例中,中央入侵檢測(cè)器2670可以禁止與檢測(cè)的病毒或其他流氓軟件有關(guān)系的任何網(wǎng)絡(luò)處理設(shè)備。例如,病毒2660可以由運(yùn)行在PC2662中的IDS2662檢測(cè)。IDS2662將病毒2660通知給中央入侵檢測(cè)器2670。然后,中央入侵檢測(cè)器2670可以使PC2650與其余的網(wǎng)絡(luò)2600斷開(kāi),直到識(shí)別并清除病毒2660的源為止。樹(shù)形搜索的可擴(kuò)展性上述IDS2018通過(guò)在能夠出現(xiàn)威脅的會(huì)話(huà)上下文中進(jìn)行掃描,改進(jìn)了現(xiàn)有的入侵檢測(cè)。將分析樹(shù)(parsertree)而不是常規(guī)表達(dá)式(regularexpression),用于模式匹配。通過(guò)"掃描"輸入包流尋找匹配那些已知威脅的模式,來(lái)執(zhí)行入侵檢測(cè)和包數(shù)據(jù)中的其他威脅。現(xiàn)有的常規(guī)表達(dá)式掃描器必須掃描包的每個(gè)字節(jié),并且不具有判斷包的哪個(gè)部分包含威脅的能力。例如,電子郵件中的威脅可能僅通過(guò)電子郵件附件而進(jìn)入。電子郵件消息的定義主體是ASCII字符串,軟件通常不會(huì)以不期望或者惡意的行為作用于ASCII字符串。電子郵件消息的附件由特定的公開(kāi)的語(yǔ)法和頭部定義,例如,多功能網(wǎng)際郵件擴(kuò)展(MIME)。而且,用于傳輸電子郵件消息的IP協(xié)議的頭部通常不會(huì)引起電子郵件客戶(hù)進(jìn)行惡意行為。一般地,電子郵件附件中腳本或程序的執(zhí)行引起入侵問(wèn)題。因此,僅僅需要掃描電子郵件消息的MIME部分來(lái)檢測(cè)可能的病毒。發(fā)現(xiàn)電子郵件消息的MIME部分,要求理解用于傳輸電子郵件消息(TCP/IP)的協(xié)議以及電子郵件MIME格式。RSP2100快速地分析,并且僅僅針對(duì)消息的MIME部分,以可擴(kuò)展的方式啟動(dòng)病毒掃描。這樣就減少了必須掃描的包的數(shù)量,也減少了必須在每個(gè)包中掃描的字節(jié)的數(shù)量。RSP2100指向輸入數(shù)據(jù)流的語(yǔ)法分析,該語(yǔ)法分析允許IDS2018了解需要掃描哪種類(lèi)型的數(shù)據(jù)和需要執(zhí)行哪種類(lèi)型的掃描。這就使得IDS2018能夠更加有效地產(chǎn)生與輸入流的語(yǔ)法相對(duì)應(yīng)的令牌68。DXP2180和RSP2100的其他特征是針對(duì)這種類(lèi)型的威脅掃描來(lái)優(yōu)化的,并且與使用傳統(tǒng)硬件結(jié)構(gòu)的常規(guī)表達(dá)式掃描器相比,具有提高的性能。例如,LL(k)分析器,與圖36中在分析表2170和分析器堆棧2185中實(shí)現(xiàn)的三態(tài)內(nèi)容可尋址存儲(chǔ)器(TCAM)結(jié)合,可以比常規(guī)表達(dá)式引擎更快地搜索輸入流。常規(guī)表達(dá)式掃描器要求相當(dāng)數(shù)量的且可變的長(zhǎng)度,以便確定可能的匹酉己。通配符匹配還要求唯一的操作。另一方面,LL(k)分析器結(jié)合TCAM,可以跳過(guò)長(zhǎng)串的通配符,并在一個(gè)時(shí)鐘周期中匹配特定字節(jié)。修改會(huì)話(huà)內(nèi)容參照?qǐng)D45,IDS2018還可用于增加或修改識(shí)別的會(huì)話(huà)上下文2852中的信息。換句話(huà)說(shuō),IDS2018不受限于僅僅刪除在入侵威脅中識(shí)別的包。圖45示出了PC2864建立與網(wǎng)絡(luò)處理設(shè)備2856的IP鏈接2866。IDS2018在設(shè)備2856中運(yùn)行,并且如上所述識(shí)別與IP鏈接2866有關(guān)的特定IP會(huì)話(huà)上下文2852。例如,IDS2018識(shí)別HTTP消息、FTTP消息、SMTP電子郵件消息等,其由PC2864發(fā)送至在WAN2850中運(yùn)行的另一端點(diǎn)設(shè)備??梢詫?duì)IDS2018進(jìn)行編程,以增加或修改與識(shí)別的會(huì)話(huà)上下文2852有關(guān)的特定類(lèi)型的內(nèi)容2862。在一個(gè)實(shí)施例中,可以對(duì)IDS2018進(jìn)行編程,以清除包含在電子郵件或FTTP消息中的文件中的信用卡號(hào)2858。在另一實(shí)施例中,可以對(duì)IDS2018進(jìn)行編程,以將數(shù)字水印(digitalwatermark)2860添加至在FTTP或電子郵件文件中識(shí)別的任何文件。IDS2018可以例如將數(shù)字水印2860添加至包括PC2864的IP源地址的文件中。如上所述,RSP2100的DXP2180識(shí)別通過(guò)IP鏈接2864攜帶的不同的會(huì)話(huà)上下文2852。SPU2200可以接著產(chǎn)生與不同類(lèi)型的內(nèi)容2862有關(guān)的令牌,該內(nèi)容2862與識(shí)別的會(huì)話(huà)上下文2852有關(guān)。例如,如以上在圖35中所述,SPU2200可以產(chǎn)生包括電子郵件附件的令牌。RSP2100搜索包括在電子郵件附件中的任何文件。在第一個(gè)實(shí)施例中,DXP2180可以識(shí)別被引導(dǎo)到WAN2850的任何IP包。DXP2180接著指示SPU2200搜索包括在包中的包含信用卡號(hào)的任何文件。如果檢測(cè)了信號(hào)卡號(hào),那么IDS2018用使信用卡信息成為空白的一系列"X"代替信用卡號(hào)。在第二個(gè)實(shí)施例中,SPU2200將數(shù)字水印2860添加至在FTTP或電子郵件會(huì)話(huà)中的檢測(cè)文件。具有修改的信用卡信息或水印信息的文件接著被轉(zhuǎn)發(fā)至對(duì)應(yīng)于FTTP或電子郵件會(huì)話(huà)的目標(biāo)地址。類(lèi)似的修改還可以對(duì)與任何識(shí)別的會(huì)話(huà)上下文2852有關(guān)的任何類(lèi)型的內(nèi)容2862進(jìn)行。例如,特定的IP源或目標(biāo)地址可以改變?yōu)榱硪籌P地址,并接著根據(jù)一些識(shí)別的會(huì)話(huà)上下文2852或者會(huì)話(huà)內(nèi)容2862.30發(fā)送回IP網(wǎng)全備2850。圖46示出了下推自動(dòng)機(jī)(PDA)引擎3040的一個(gè)實(shí)施例,PDA引擎3040將上下文自由語(yǔ)法(CFG)用于更有效地搜索數(shù)據(jù)。語(yǔ)義表3042包括非終結(jié)(NT)符號(hào)3046,其表示由PDA引擎3040管理的不同的語(yǔ)義狀態(tài)。每個(gè)語(yǔ)義狀態(tài)3046還具有一個(gè)或更多相應(yīng)的語(yǔ)義表目3044,其與包括在輸入數(shù)據(jù)3014中的語(yǔ)義元素3015有關(guān)。輸入數(shù)據(jù)3014的任意部分(arbitraryportion)3060與當(dāng)前的非終結(jié)符號(hào)3062組合在一起,并且應(yīng)用至語(yǔ)義表3042的表目中。索引3054由對(duì)應(yīng)于表目3046、3044的語(yǔ)義表3042輸出,表目3046、3044匹配組合符號(hào)3062和輸入數(shù)據(jù)段3060。語(yǔ)義狀態(tài)映射(semanticstatemap)3048識(shí)別表示PDA引擎3040的下一個(gè)語(yǔ)義狀態(tài)的下一個(gè)非終結(jié)符號(hào)3054。下一個(gè)非終結(jié)符號(hào)3054被推至堆棧3052,接著從堆棧3052中彈出以便與輸入數(shù)據(jù)3014的下一個(gè)段3060相結(jié)合。PDA引擎3040繼續(xù)分析輸入數(shù)據(jù)3014,直到4企測(cè)到目標(biāo)搜索串3016為止。首先,堆棧3052可以包括終結(jié)和非終結(jié)(NT)符號(hào),其允許PDA引擎3040的語(yǔ)義狀態(tài)被嵌套在其他語(yǔ)義狀態(tài)中。這就使得多個(gè)語(yǔ)義狀態(tài)能夠由單個(gè)的非終結(jié)符號(hào)所表示,并且要求充分少量的狀態(tài)由PDA引擎3040進(jìn)行管理。進(jìn)一步地,參照?qǐng)D46和47,通常不存在語(yǔ)義狀態(tài)轉(zhuǎn)換,直到檢測(cè)到相關(guān)的語(yǔ)義元素為止。例如,PDA引擎3040初始運(yùn)行在第一語(yǔ)義狀態(tài)(SS)3070中,并且不轉(zhuǎn)換至第二語(yǔ)義狀態(tài)3072,直到檢測(cè)到整個(gè)語(yǔ)義元素"WWW."為止。類(lèi)似地,PDA引擎3040仍然保留在語(yǔ)義狀態(tài)3072中,直到檢測(cè)到下一個(gè)語(yǔ)義元素".ORG"為止。接著PDA引擎3040從語(yǔ)義狀態(tài)3072轉(zhuǎn)換至語(yǔ)義狀態(tài)3074。因此,PDA引擎3040的一個(gè)特征在于語(yǔ)義狀態(tài)3070、3072以及3074的數(shù)量對(duì)應(yīng)于需要在輸入數(shù)據(jù)3014中搜索的語(yǔ)義元素的數(shù)量。相反,圖46中的PDA引擎3040可以不需要任何附加的語(yǔ)義狀態(tài)來(lái)搜索較長(zhǎng)的字符串。例如,圖48示出了要求PDA引擎3040搜索字符串"WWWW.XXXX.ORGG"的可選搜索。在這個(gè)實(shí)施例中,PDA引擎3040被要求搜索第一語(yǔ)義元素"WWW."中的附加"W,,,以及搜索第二語(yǔ)義元素"ORGG,,中的附加"G,,字符。圖48中添加至新搜索串中的附加字符并不增加之前在圖47中要求的語(yǔ)義狀態(tài)3070、3071和3073的數(shù)量。PDA引擎3040還能夠減少或消除狀態(tài)分支。PDA引擎3040通過(guò)將可能的第二個(gè)"WWW."串嵌套到搜索".ORG"語(yǔ)義元素的相同語(yǔ)義狀態(tài)3072中,來(lái)消除這些附加的分支狀態(tài)。這由圖47中的路徑3075所表示,其中在搜索第二個(gè)可能出現(xiàn)的"WWW."和搜索".ORG"時(shí),PDA引擎3040留在語(yǔ)義狀態(tài)3072。PDA引擎40的另一方面在于可以基本不影響或增加語(yǔ)義表3042的復(fù)雜性,而增加其他的搜索串。參照?qǐng)D49,示出了第三個(gè)語(yǔ)義元素".EXE"被添加至由圖46中的PDA引擎3040執(zhí)行的搜索中。附加的語(yǔ)義元素".EXE"僅僅增加一個(gè)附加的語(yǔ)義狀態(tài)3076至語(yǔ)義表3042。因此,圖46中的PDA結(jié)構(gòu)導(dǎo)致了更緊湊和有效的狀態(tài)表,其在添加附加搜索標(biāo)準(zhǔn)時(shí),具有可預(yù)測(cè)且穩(wěn)定的線(xiàn)性狀態(tài)擴(kuò)展。例如,當(dāng)新的串被添加至數(shù)據(jù)搜索中時(shí),不需要重寫(xiě)整個(gè)語(yǔ)義表3042,而僅需要增加附加的i吾義表目。示例實(shí)施方式圖50-54更詳細(xì)地示出了由之前在圖46中示出的PDA引擎3040執(zhí)行的示例PDA上下文自由語(yǔ)法。參照?qǐng)D50,使用了相同的搜索示例,其中,PDA引擎3040搜索URL串"WWW.XXX.ORG"。當(dāng)然,這僅是一個(gè)實(shí)施例,并且任何串或字符的組合都能夠利用PDA引擎3040進(jìn)行搜索。還應(yīng)該注意,PDA引擎3040還可以在軟件中實(shí)現(xiàn),使得語(yǔ)義表3042、存儲(chǔ)器中。通用CPU接著實(shí)現(xiàn)以下描述的操作。另一實(shí)施例使用可重新配置語(yǔ)義處理器(RSP),在以下圖47中對(duì)其進(jìn)行更詳細(xì)地描述。在該實(shí)施例中,內(nèi)容可尋址存儲(chǔ)器(CAM)用于實(shí)現(xiàn)語(yǔ)義表3042。可選的實(shí)施例可以使用靜態(tài)隨機(jī)訪(fǎng)問(wèn)存儲(chǔ)器(SRAM)或動(dòng)態(tài)隨初a訪(fǎng)問(wèn)存儲(chǔ)器(DRAM)。語(yǔ)義表3042被劃分為語(yǔ)義狀態(tài)部分(semanticstatesection)46,如上所述,其可以包括相應(yīng)的非終結(jié)(NT)符號(hào)。在該實(shí)施例中,語(yǔ)義表3042僅包括兩個(gè)語(yǔ)義狀態(tài)。部分3046A中的第一個(gè)語(yǔ)義狀態(tài)由非終結(jié)符NT1識(shí)別,并與語(yǔ)義元素"WWW."有關(guān)。部分3046B中的第二個(gè)語(yǔ)義狀態(tài)由非終結(jié)符NT2識(shí)別,并與語(yǔ)義元素".ORG"有關(guān)。語(yǔ)義表3042的第二部分3044包括與輸入數(shù)據(jù)3014中的語(yǔ)義元素相對(duì)應(yīng)的不同語(yǔ)義表目。相同的語(yǔ)義表目在相同的語(yǔ)義狀態(tài)部分3046中可以存在多次。例如,語(yǔ)義表目WWW.可以位于部分3046A中不同的位置,以識(shí)別語(yǔ)義元素"WWW."出現(xiàn)在輸入數(shù)據(jù)3Q14中的不同位置。這僅僅是一個(gè)實(shí)施例,用于進(jìn)一步優(yōu)化PDA引擎3040的運(yùn)行。在可選的實(shí)施例中,只有特定的語(yǔ)義表目?jī)H僅可以使用一次,并且輸入數(shù)據(jù)3014隨后移至輸入緩沖器3061中以檢查每個(gè)不同的數(shù)據(jù)位置。語(yǔ)義表3042中的第二語(yǔ)義狀態(tài)部分3046B有效地包括兩個(gè)語(yǔ)義表目。".ORG"表目用于檢測(cè)輸入數(shù)據(jù)3014中的".ORG"串,而"WWW."表目用于檢測(cè)輸入數(shù)據(jù)3014中可能的第二個(gè)"WWW."串。此外,多個(gè)不同的".ORG"和"WWW."表目可選地加載至語(yǔ)義表3042的部分3046B,以進(jìn)行分析優(yōu)化。同樣可能使用一個(gè)"WWW."表目和一個(gè)"ORG."表目,或者圖50中所示的較少數(shù)表目。在該實(shí)施例中,語(yǔ)義狀態(tài)映射3046包括三個(gè)不同的部分。然而,還可以使用較少數(shù)的部分。下一個(gè)狀態(tài)部分3080將語(yǔ)義表3042中匹配的語(yǔ)義表目映射至由PDA引擎3040使用的下一個(gè)語(yǔ)義狀態(tài)。語(yǔ)義入口點(diǎn)(SEP)部分3078用于發(fā)起用于語(yǔ)義處理單元(SPU)的微指令,其將要在以下進(jìn)行更詳細(xì)地描述。這個(gè)部分是可選的,并且PDA引擎3040可以可選地使用在下一狀態(tài)部分3080中識(shí)別的非終結(jié)符號(hào),來(lái)判斷4接著對(duì)輸入數(shù)據(jù)301執(zhí)行的其他操作。例如,在非終結(jié)符號(hào)NT3從映射3048中輸出時(shí),相應(yīng)的處理器(未示出)獲知URL串"WWW.XXX.ORG"已經(jīng)在輸入數(shù)據(jù)3014中檢測(cè)到。在PDA引擎3040識(shí)別出URL之后,處理器接著可以對(duì)輸入數(shù)據(jù)3014執(zhí)行所要求的任何后續(xù)處理。因此,SEP3078僅僅是在PDA引擎3040中的一個(gè)優(yōu)化,其可以被包括或可以不包括。跳讀字節(jié)部分3076識(shí)別來(lái)自輸入數(shù)據(jù)3014的字節(jié)數(shù),以在下一個(gè)操作循環(huán)中移位到輸入緩沖器3061。當(dāng)在語(yǔ)義表3042中不存在匹配時(shí),使用匹配所有分析器表目表(MatchAllParserentriesTable,MAPT)3082。執(zhí)行特定末尾的操作符號(hào)"$"隨同初始的非終結(jié)符號(hào)NT1首先被推至堆棧3052上,NT1表示與搜索URL有關(guān)的第一個(gè)語(yǔ)義狀態(tài)。NT1符號(hào)和輸入數(shù)據(jù)3014的第一段3060被加載進(jìn)輸入緩沖器3061,并應(yīng)用至CAM3090。在該實(shí)施例中,輸入緩沖器3061的內(nèi)容不匹配CAM3090中的任何表目。因此,由CAM3090產(chǎn)生的指針3054指向MAPT表3082的缺省NT1表目。缺省NT1表目指示PDA引擎3040將輸入數(shù)據(jù)3014的一個(gè)附加字節(jié)移位到輸入緩沖器3061中。PDA引擎3040接著將另一非終結(jié)NT1符號(hào)推至堆棧3052。圖51示出了在輸入數(shù)據(jù)3014的下一字節(jié)被移位到輸入緩沖器3061之后的下一PDA循環(huán)。第一個(gè)URL語(yǔ)義元素3060A("WWW.")現(xiàn)在包括在輸入緩沖器3061中。非終結(jié)符號(hào)NT1再次從堆棧3052中彈出,并與輸入緩沖器3061中的輸入數(shù)據(jù)3060結(jié)合在一起。輸入緩沖器3061與語(yǔ)義表3042中的內(nèi)容的比較,產(chǎn)生了NT1表目3042B處的匹配。與表目3042B有關(guān)的索引3054B指向語(yǔ)義狀態(tài)映射表目3048B。表目3048B中的下一狀態(tài)包括非終結(jié)符號(hào)NT2,其表示轉(zhuǎn)換至下一個(gè)語(yǔ)義狀態(tài)。映射表目3048B還識(shí)別PDA引擎3040在下一個(gè)分析循環(huán)中需要將輸入數(shù)據(jù)3014移位的字節(jié)數(shù)。在該實(shí)施例中,因?yàn)樵谳斎刖彌_器3061的第一個(gè)4字節(jié)中4企測(cè)到"WWW."串,所以表目3048B中的跳讀字節(jié)值指示PDA引擎3040將另一個(gè)8字節(jié)移位到輸入緩沖器3061中。該跳讀值依賴(lài)于硬件,并且可以根據(jù)語(yǔ)義表3042的尺寸變化。當(dāng)然,也可以使用具有較大的或較小的語(yǔ)義表寬度的其他硬件工實(shí)施方式。圖52示出了在已經(jīng)將輸入數(shù)據(jù)3014的下一個(gè)8字節(jié)移位到輸入緩沖器3061后PDA引擎3040中的下一循環(huán)。同樣,新的語(yǔ)義狀態(tài)NT2已經(jīng)被推至堆棧3052,接著彈出堆棧3052并與輸入數(shù)據(jù)3014的下一個(gè)段3060結(jié)合在一起。輸入緩沖器3061中的內(nèi)容再次應(yīng)用至語(yǔ)義表3042。在該P(yáng)DA循環(huán)中,輸入緩沖器3061中的內(nèi)容不匹配語(yǔ)義表3042中的任何語(yǔ)義表目。因此,NT2狀態(tài)的缺省指針3054C指向MAPT表3082中相應(yīng)的NT2表目。NT2表目指示PDA引擎3040將一個(gè)附加的字節(jié)移位到輸入緩沖器3061中,并將相同的語(yǔ)義狀態(tài)NT2推至堆棧3052。圖53示出了在已經(jīng)將輸入數(shù)據(jù)3014的另一字節(jié)移位到輸入緩沖器3061后的下一PDA循環(huán)。在該實(shí)施例中,在輸入緩沖器3061的內(nèi)容和語(yǔ)義表3042中的任何NT2表目之間依然不存在匹配。因此,語(yǔ)義狀態(tài)NT2的缺省指針3054C再次指向MAPT表3082中的NT2表目。表3082中的缺省NT2表目指示PDA引擎3040將來(lái)自輸入數(shù)據(jù)3014中的另一字節(jié)移位到輸入緩沖器3061,并將另一NT2符號(hào)推至堆棧3052。應(yīng)該注意,在最后兩個(gè)PDA循環(huán)中,在由非終結(jié)NT2表示的語(yǔ)義狀態(tài)中不存在變化。盡管在第二個(gè)語(yǔ)義元素".ORG"中的前面三個(gè)字符".OR"由PDA引擎3040進(jìn)行接收,但是依然不存在狀態(tài)轉(zhuǎn)換。圖54示出了其中輸入緩沖器3061中的內(nèi)容現(xiàn)在匹配語(yǔ)義表3042中的NT2表目3042D的下一個(gè)PDA循環(huán)。相應(yīng)的指針3054D指向語(yǔ)義狀態(tài)映射3048中的表目3048D。在該實(shí)施例中,表目3048D指示URL"WWW.XXX.ORG"已經(jīng)通過(guò)映射到下一個(gè)語(yǔ)義狀態(tài)NT3而得到檢測(cè)。應(yīng)該注意,PDA引擎3040并不轉(zhuǎn)換到語(yǔ)義狀態(tài)NT3,直到檢測(cè)到整個(gè)語(yǔ)義元素".ORG"為止。映射表目3048D還包括指針SEP1,其可選地發(fā)起^f鼓指令,該微指令由語(yǔ)義處理單元(SPU)(參見(jiàn)圖55)執(zhí)行以用于對(duì)輸入數(shù)據(jù)3014執(zhí)行與檢測(cè)的URL相對(duì)應(yīng)的附加操作。例如,SPU可以剝離附加輸入數(shù)據(jù)3014,以便執(zhí)行防火墻操作、病毒^r測(cè)操作等,如在以下聯(lián)合待審的申請(qǐng)中所述的,包括于2005年7月21日提交的名稱(chēng)為"網(wǎng)絡(luò)接口和防火墻設(shè)備"的申請(qǐng)序列號(hào)No.11/187,049以及2005年5月9日提交的名稱(chēng)為"入侵檢測(cè)系統(tǒng)"的申請(qǐng)序列號(hào)No.11/125,956,其以引用方式包括在本文中。與SPU的SEP微指令的發(fā)送并發(fā)地,映射表目3048D還可以指示PDA引擎3040將由非終結(jié)NT3表示的新的語(yǔ)義狀態(tài)推至堆棧3052。這可能使得PDA引擎3040開(kāi)始執(zhí)行對(duì)于檢測(cè)的URL3016之后的輸入數(shù)據(jù)3014中其他語(yǔ)義元素的不同搜索。例如,如圖49所示,PDA引擎3040可以開(kāi)始搜索與可執(zhí)行文件有關(guān)的語(yǔ)義元素".EXE",其可以包括在輸入數(shù)據(jù)3014中。同樣如上所述,搜索新的語(yǔ)義元素".EXE"僅僅要求PDA引擎3040在語(yǔ)義表3042中添加一個(gè)附加的語(yǔ)義狀態(tài)。依然如上所述,不要求PDA引擎3040針對(duì)每個(gè)分析的數(shù)據(jù)項(xiàng)維持單獨(dú)的狀態(tài)。狀態(tài)僅僅針對(duì)不同語(yǔ)義元素之間的而被維持。例如,圖50、52和53示出并不完全地匹配語(yǔ)義表3042中任何語(yǔ)義表目的數(shù)據(jù)輸入。在這些情況下,PDA引擎3040繼續(xù)分析輸入數(shù)據(jù),而不保持非匹配數(shù)據(jù)串的任何狀態(tài)信息。同樣,如以上在圖46-48中所提及的,PDA引擎3040中的語(yǔ)義狀態(tài)基本上獨(dú)立于搜索串長(zhǎng)度。例如,可以筒單地通過(guò)用較長(zhǎng)的語(yǔ)義表目"WWWW."替換語(yǔ)義表3042中的語(yǔ)義表目"WWW.",就能夠搜索較長(zhǎng)的搜索串"WWWW."而不是"WWW.",并且相應(yīng)地。可重新配置語(yǔ)義處理器(RSP)圖45示出了用于一個(gè)實(shí)施例中的可重新配置語(yǔ)義處理器(RSP)3100的方塊圖,該實(shí)施例用于實(shí)現(xiàn)以上描述的下推自動(dòng)機(jī)(PDA)引擎3040。RSP3100包括輸入緩沖器3140,其用于緩沖通過(guò)輸入端口3120接收的包數(shù)據(jù)流;以及輸出緩沖器3150,其用于緩沖通過(guò)輸出端口3152輸出的包數(shù)據(jù)流。直接執(zhí)行分析器(DXP)3180實(shí)現(xiàn)PDA引擎3040,并控制對(duì)于在輸入緩沖器3140上接收的(例如,輸入"流,,)、向輸出緩沖器3150輸出的(例如,輸出"流,,)以及在再循環(huán)緩沖器3160中再循環(huán)的(例如,再循環(huán)"流")包或幀的處理。優(yōu)選地,輸入緩沖器3140、輸出緩沖器3150以及再循環(huán)緩沖器3160是先入先出(FIFO)緩沖器。DXP3180還控制由語(yǔ)義處理單元(SPU)3200對(duì)包的處理,語(yǔ)義處理單元3200處理緩沖器3140、3150以及3160和存儲(chǔ)器子系統(tǒng)3215之間的數(shù)據(jù)傳遞。存儲(chǔ)器子系統(tǒng)3215存儲(chǔ)自輸入端口3120接收的包,并且還存儲(chǔ)CAM3220中的訪(fǎng)問(wèn)控制表(ACL),用于統(tǒng)一策略管理(UPM)、防火墻、病毒檢測(cè)以及在以下聯(lián)合待審的專(zhuān)利申請(qǐng)中描述的其他的防火墻操作,包括于2005年7月21日提交的申請(qǐng)序列號(hào)為No.11/187,049的"網(wǎng)絡(luò)接口和防火墻設(shè)備"和2005年5月9日提交的申請(qǐng)序列號(hào)為No.11/125,956的"入侵檢測(cè)系統(tǒng)",其以引用方式包含在本文中。RSP3100使用至少三個(gè)表來(lái)實(shí)現(xiàn)給定PDA算法。用于4企索產(chǎn)生規(guī)則3176的代碼3178存儲(chǔ)在分析表(PT)3170中。在一個(gè)實(shí)施例中,分析表3170包括圖46中所示的語(yǔ)義表3042。語(yǔ)法產(chǎn)生規(guī)則3176存儲(chǔ)在產(chǎn)生規(guī)則表(PRT)3190中。產(chǎn)生規(guī)則表3190可以包括例如圖46中所示的語(yǔ)義狀態(tài)映射3048。通過(guò)SPU3200執(zhí)行的代碼段3212存儲(chǔ)在語(yǔ)義代碼表(SCT)3210中??梢圆鹏迵?jù)圖50-54中所示的語(yǔ)義狀態(tài)映射3048中的SEP指針3078,發(fā)起代碼段3212。分析表3170中的代碼3178以例如行列格式或內(nèi)容可尋址格式存儲(chǔ)。在行列格式中,分析表3170的行通過(guò)由內(nèi)部分析器堆棧3185提供的非終結(jié)代碼NT3172索引。在一個(gè)實(shí)施例中,分析器堆棧3185是圖46中所示的堆棧3052。分析表3170的列通過(guò)從輸入緩沖器3140中的數(shù)據(jù)頭部提取的輸入數(shù)據(jù)值DI[N]3174索引。在內(nèi)容可尋址格式中,來(lái)自分析器堆棧3185的非終結(jié)代碼3172和來(lái)自輸入緩沖器3140的輸入數(shù)據(jù)值3174的并置,向分析表3170提供輸入,如圖50-54中由輸入緩沖器3061所示。產(chǎn)生規(guī)則表3190通過(guò)來(lái)自分析表3170的代碼3178索引。表3170和3190可以進(jìn)行鏈接,使得向分析表3170的詢(xún)問(wèn)將直接地返回可應(yīng)用于非終結(jié)代碼3172和輸入數(shù)據(jù)值3174的產(chǎn)生規(guī)則3176。DXP3180用從PRT3190返回的產(chǎn)生規(guī)則(PR)3176代替分析器堆棧3185頂部的非終結(jié)代碼,并繼續(xù)分析來(lái)自輸入緩沖器3140的數(shù)據(jù)。還根據(jù)分析表3170產(chǎn)生的代碼3178,和/或根據(jù)產(chǎn)生規(guī)則表3190產(chǎn)生的產(chǎn)生規(guī)則3176,索引語(yǔ)義代碼表3210。通常,分析結(jié)果使得DXP3180檢測(cè)對(duì)于給定的產(chǎn)生規(guī)則3176,來(lái)自譯義代碼表3210的語(yǔ)義入口點(diǎn)(SEP)例程3212是否應(yīng)該由SPU3200加載和執(zhí)行。SPU3200具有幾個(gè)訪(fǎng)問(wèn)存儲(chǔ)器子系統(tǒng)3215的路徑,該存儲(chǔ)器子系統(tǒng)3215提供了一種上下文符號(hào)可尋址的結(jié)構(gòu)化存儲(chǔ)器接口。存儲(chǔ)器子系統(tǒng)3215、分析表3170、產(chǎn)生弄見(jiàn)則表3190以及語(yǔ)義代碼表3210,都可以4吏用芯片存儲(chǔ)器、諸如同步的動(dòng)態(tài)隨^/L訪(fǎng)問(wèn)存儲(chǔ)器(DRAM)和內(nèi)容可尋址存儲(chǔ)器(CAM)的外部存儲(chǔ)器設(shè)備或這種資源的組合。每個(gè)表或內(nèi)容可以?xún)H僅向共享物理存儲(chǔ)器空間的上下文接口提供一個(gè)或更多其他表或內(nèi)容。維護(hù)中央處理單元(MCPU)3056連接在SPU3200和存儲(chǔ)器子系統(tǒng)3215之間。MCPU3056執(zhí)行RSP3100的任何期望功能,其可以合理地用傳統(tǒng)的軟件和硬件實(shí)現(xiàn)。這些功能通常是罕見(jiàn)的、無(wú)時(shí)間限制的功能,因?yàn)閺?fù)雜性而不能保證包含在SCT3210中。優(yōu)選地,MCPU3056還具有要求SPU3200代表MCPU效益執(zhí)行任務(wù)的能力。存儲(chǔ)器子系統(tǒng)3215包括陣列機(jī)上下文數(shù)據(jù)存儲(chǔ)器(AMCD)3230,其用于通過(guò)散列函數(shù)或內(nèi)容可尋址存儲(chǔ)器(CAM)查找,來(lái)訪(fǎng)問(wèn)DRAM3280中的數(shù)據(jù)。密碼功能塊3240對(duì)數(shù)據(jù)進(jìn)行加密、解密或驗(yàn)證,上下文控制塊高速緩沖存儲(chǔ)器3250向和從DRAM3280高速緩存上下文控制塊。通用高速緩沖存儲(chǔ)器3260高速緩存用于基礎(chǔ)操作中的數(shù)據(jù),以及流式高速緩沖存儲(chǔ)器3270在正向DRAM3280寫(xiě)入和自DRAM3280中讀取數(shù)據(jù)流時(shí)高速緩存該數(shù)據(jù)流。優(yōu)選地,上下文控制塊高速緩沖存儲(chǔ)器3250是軟件控制的高速緩沖存儲(chǔ)器,即SPU3200決定何時(shí)使用及釋放高速緩沖線(xiàn)路。每個(gè)電路3240、3250、3260和3270連接在DRAM3280和SPU3200之間。TCAM3220連接在AMCD3230和MCPU3056之間,并包括訪(fǎng)問(wèn)控制表(ACL)以及可以用于執(zhí)行防火墻、統(tǒng)一策略管理或其他入侵才企測(cè)操作的其他參數(shù)。RSP3100功能塊的詳細(xì)設(shè)計(jì)優(yōu)化在2003年1月24日提交的名稱(chēng)為"可重新配置語(yǔ)義處理器,,的聯(lián)合待審的申請(qǐng)No.10/351,030中進(jìn)行描述,其以引用的方式包含在本文的內(nèi)容中。分析表如以上在圖46-54中所述,分析表3170可以實(shí)現(xiàn)為內(nèi)容可尋址存儲(chǔ)器(CAM),其中NT代碼和輸入數(shù)據(jù)值DI[n]用作CAM查找PR代碼3176的密鑰,PR代碼3176與PRT3190中的產(chǎn)生失見(jiàn)則相關(guān)。優(yōu)選地,CAM是包括TCAM表目的三態(tài)CAM(TCAM)。每個(gè)TCAM表目包括NT代碼和DI[n]匹配值。每個(gè)NT代碼312可以具有多個(gè)TCAM表目。每位DI[n]匹配值可以設(shè)置為"0"、"1"或"X"(表示"無(wú)關(guān)")。這種能力使得PR代碼要求僅僅Dl[n]的某些位/字節(jié)依次匹配代碼模式,以使分析表170找到一種匹配。舉例來(lái)說(shuō),一行TCAM可以包括用于IP目標(biāo)地址字段的NT代碼NT一IP,其后跟隨表示與包含語(yǔ)義處理器的設(shè)備相應(yīng)的IP目標(biāo)地址的四個(gè)字節(jié)。TCAM行的剩余四個(gè)字節(jié)被設(shè)置為"無(wú)關(guān)"。因此在NT_IP以及8字節(jié)DI[8]被提交給分析表3170時(shí),其中DI[8]的第一個(gè)4字節(jié)包括正確的IP地址,無(wú)論是否包括DI[8]的剩余4字節(jié),匹配都會(huì)發(fā)生。因?yàn)門(mén)CAM使用"無(wú)關(guān)"能力,并可能存在對(duì)于單個(gè)NT的多個(gè)TCAM表目,所以TCAM可以找到對(duì)于給定NT代碼和DI[n]匹配值的多個(gè)匹配的TCAM表目。TCAM通過(guò)其硬件對(duì)這些匹配區(qū)分優(yōu)先次序,并僅輸出具有最高優(yōu)先級(jí)的匹配。進(jìn)一步地,當(dāng)NT代碼和DI[n]匹配值被提交給TCAM時(shí),TCAM試圖并行地將每個(gè)TCAM表目與接收的NT代碼和DI[n]匹配代碼進(jìn)行匹配。因此,TCAM有能力判斷在語(yǔ)義處理器3100的單個(gè)時(shí)鐘周期中是否在分析表3170中發(fā)現(xiàn)了匹配。觀(guān)察該結(jié)構(gòu)的另一方法是作為"變量前瞻(variablelook-ahead)"分析器。盡管將諸如8字節(jié)的固定數(shù)據(jù)輸入段應(yīng)用至TCAM,TCAM編碼允許下一個(gè)產(chǎn)生規(guī)則(或如圖46-54中所述的語(yǔ)義表目)基于輸入的當(dāng)前8字節(jié)的任何部分。如果輸入流的頭部處的當(dāng)前8字節(jié)中任何位置的任何一位或一字節(jié)是當(dāng)前規(guī)則的結(jié)果,那么可以對(duì)TCAM表目進(jìn)行編碼,使得在匹配時(shí)可以忽略余下的位或字節(jié)?;旧希瑢?duì)于給定的產(chǎn)生規(guī)則,可以將當(dāng)前的"符號(hào)"定義為輸入流頭部處的64位的任何組合。對(duì)于給定的分析任務(wù),通過(guò)智能編碼,通??梢詼p少分析循環(huán)、NT代碼以及表目的數(shù)量。在以下聯(lián)合待審的申請(qǐng)中進(jìn)一步詳細(xì)描述了產(chǎn)生身見(jiàn)則表3170的TCAM實(shí)施例,該申請(qǐng)名稱(chēng)為"利用CAM和SRAM的分析表/產(chǎn)生規(guī)則表結(jié)構(gòu)",其申請(qǐng)序列號(hào)為No.11/181,527,于2005年7月14日提交,該申請(qǐng)以引用方式包含在本文中。上述系統(tǒng)可以使用執(zhí)行一些或全部操作的專(zhuān)用處理器系統(tǒng)、微控制器、可編程邏輯設(shè)備或微處理器。上述操作中的一些可以在軟件中實(shí)現(xiàn),以及其他的操作可以在硬件中實(shí)現(xiàn)。出于便利的目的,操作被描述為各種相互連接的功能塊或者截然不同的軟件模塊。然而,這并不是必須的,可以存在如下情況,其中這些功能塊或模塊等效地結(jié)合進(jìn)單個(gè)邏輯設(shè)備、程序或具有不清晰邊界的操作。在任何事件中,功能塊和軟件模塊或柔性接口的特征可以通過(guò)其自身實(shí)現(xiàn),或者結(jié)合硬件或軟件中的其他操作實(shí)現(xiàn)。在優(yōu)選實(shí)施例中,已經(jīng)描述和示出了本發(fā)明的原理,應(yīng)該理解,在不背離本發(fā)明的情況下,可以對(duì)本發(fā)明在排列和細(xì)節(jié)上進(jìn)行修改。我們要求在所附權(quán)利要求的精神和范圍中進(jìn)行所有修改和變化的權(quán)利。權(quán)利要求1.一種監(jiān)控和過(guò)濾拒絕服務(wù)(DoS)攻擊的方法,其包括識(shí)別與可能的拒絕服務(wù)攻擊有關(guān)聯(lián)的包;追蹤包的狀態(tài)作為存儲(chǔ)器中的拒絕服務(wù)表目;當(dāng)存儲(chǔ)器中不存在先前的拒絕服務(wù)表目時(shí),允許新包通過(guò);以及在已經(jīng)允許所述新包通過(guò)后,將新的拒絕服務(wù)表目添加進(jìn)用于所述新包的所述存儲(chǔ)器中。2.根據(jù)權(quán)利要求1所述的方法,包括接收已經(jīng)在所述存儲(chǔ)器中具有拒絕服務(wù)表目的包;當(dāng)在相應(yīng)的拒絕服務(wù)表目中設(shè)置了拒絕服務(wù)攻擊標(biāo)志時(shí),刪除所述包;以及當(dāng)時(shí)間戳比預(yù)定時(shí)間周期更舊時(shí),更新所述時(shí)間戳、計(jì)數(shù)器和用于所述相應(yīng)的拒絕服務(wù)表目的所述拒絕服務(wù)攻擊標(biāo)志。3.根據(jù)權(quán)利要求1所述的方法,包括接收已經(jīng)在所述存儲(chǔ)器中具有拒絕服務(wù)表目的包;當(dāng)在相應(yīng)的拒絕服務(wù)表目中沒(méi)有設(shè)置拒絕服務(wù)攻擊標(biāo)志時(shí),允許所述包通過(guò);以及在已經(jīng)允許所述包通過(guò)后,遞增用于所述相應(yīng)的拒絕服務(wù)表目的計(jì)數(shù)器;以及在計(jì)數(shù)器超過(guò)拒絕服務(wù)攻擊極限并且用于所述相應(yīng)的拒絕服務(wù)表目的時(shí)間戳處于預(yù)定時(shí)間周期內(nèi)時(shí),設(shè)置拒絕服務(wù)攻擊標(biāo)志。4.一種網(wǎng)絡(luò)處理設(shè)備,包括處理器,配置成使用相同的存儲(chǔ)器子系統(tǒng)作為轉(zhuǎn)發(fā)信息庫(kù)(FIB)以及用于防火墻策略管理。5.根據(jù)權(quán)利要求4所述的網(wǎng)絡(luò)處理設(shè)備,其中,所述處理器將包括在包中的目標(biāo)地址和防火墻策略度量與存儲(chǔ)器子系統(tǒng)中的相同組的訪(fǎng)問(wèn)控制表(ACL)表目進(jìn)行比較,以制定發(fā)送或交換決定以及執(zhí)行防火墻操作。6.根據(jù)權(quán)利要求4所述的網(wǎng)絡(luò)處理設(shè)備,其中,所述訪(fǎng)問(wèn)控制表表目包括斷言,與所述包中的所述目標(biāo)地址和所述防火墻策略度量一致;以及動(dòng)作,表示對(duì)包執(zhí)行哪種防火墻或者轉(zhuǎn)發(fā)操作。7.根據(jù)權(quán)利要求4所述的網(wǎng)絡(luò)處理設(shè)備,其中,所述處理器包括數(shù)據(jù)分析器,配置成識(shí)別包中的地址和防火墻度量;以及一個(gè)或更多的語(yǔ)義處理單元(SPU),根據(jù)識(shí)別的所述地址和所述防火墻度量對(duì)所述包執(zhí)行防火墻操作和包轉(zhuǎn)發(fā)操作。8.—種語(yǔ)義處理器,包括分析器,分析包以識(shí)別與網(wǎng)絡(luò)接口操作有關(guān)聯(lián)的語(yǔ)法元素,所述分析器接著根據(jù)所述識(shí)別的語(yǔ)法元素發(fā)起微指令;以及一個(gè)或更多的語(yǔ)義處理單元(SPU),通過(guò)執(zhí)行由直接執(zhí)行分析器發(fā)起的所述微指令來(lái)執(zhí)行所述網(wǎng)絡(luò)接口操作。9.根據(jù)權(quán)利要求8所述的語(yǔ)義處理器,包括輸入端口,配置成接收數(shù)據(jù)符號(hào);直接執(zhí)行分析器,存儲(chǔ)堆棧符號(hào),所述分析器響應(yīng)于接收的數(shù)據(jù)符號(hào)來(lái)處理所述堆棧符號(hào);分析表,組成有產(chǎn)生規(guī)則代碼,所述產(chǎn)生規(guī)則代碼可由至少一個(gè)接收的數(shù)據(jù)符號(hào)和所述分析器提供的符號(hào)的組合進(jìn)行索引;產(chǎn)生規(guī)則表,組成有可由所述產(chǎn)生規(guī)則代碼索引的產(chǎn)生規(guī)則;以及語(yǔ)義代碼表,可由所述語(yǔ)義處理單元進(jìn)行訪(fǎng)問(wèn),并組成有由所述產(chǎn)生規(guī)則代碼索引的機(jī)器指令。10.根據(jù)權(quán)利要求8所述的語(yǔ)義處理器,其中,所述處理器識(shí)別可能是拒絕服務(wù)(DoS)攻擊的一部分的拒絕服務(wù)包,所述分析器使得語(yǔ)義處理單元監(jiān)控接收拒絕服務(wù)候選包的速率,并根據(jù)監(jiān)控的速率刪除或通過(guò)所述拒絕服務(wù)候選包。11.根據(jù)權(quán)利要求8所述的語(yǔ)義處理器,包括訪(fǎng)問(wèn)控制表(ACL),所述訪(fǎng)問(wèn)控制表包括表目,具有與由所述分析器識(shí)別的包語(yǔ)義元素相應(yīng)的斷言;以及動(dòng)作,由一個(gè)或更多的語(yǔ)義處理單元所使用以判斷對(duì)所述包執(zhí)行哪種防火墻操作。12.根據(jù)權(quán)利要求ll所述的語(yǔ)義處理器,包括轉(zhuǎn)發(fā)信息庫(kù)(FIB),所述轉(zhuǎn)發(fā)信息庫(kù)包括目標(biāo)地址和相應(yīng)的輸出端口,所述一個(gè)或更多的語(yǔ)義處理單元利用來(lái)自所述訪(fǎng)問(wèn)控制表的斷言和來(lái)自所述轉(zhuǎn)發(fā)信息庫(kù)的目標(biāo)地址的組合,來(lái)決定如何轉(zhuǎn)發(fā)和處理所述包。13.根據(jù)權(quán)利要求12所述的語(yǔ)義處理器,其中,所述訪(fǎng)問(wèn)控制表包括與用于所述相同目標(biāo)地址斷言的不同輸出端口有關(guān)聯(lián)的不同統(tǒng)一資源定位符(URL),所述分析器識(shí)別包括在所述包中的目標(biāo)地址和統(tǒng)一資源標(biāo)識(shí)符值,以及所述語(yǔ)義處理單元將所述包轉(zhuǎn)發(fā)至在所述訪(fǎng)問(wèn)控制表中識(shí)別的所述輸出端口,所述訪(fǎng)問(wèn)控制表具有匹配的目標(biāo)地址斷言和統(tǒng)一資源定位符斷言。14.根據(jù)權(quán)利要求8所述的語(yǔ)義處理器,包括將公共地址與專(zhuān)用地址進(jìn)行映射的網(wǎng)絡(luò)地址轉(zhuǎn)換和/或端口地址轉(zhuǎn)換(NAT/PAT)查找表,所述分析器識(shí)別所述包中的公共或?qū)S玫刂?,并指示一個(gè)或更多的語(yǔ)義處理單元用來(lái)自所述查找表的相應(yīng)的公共或?qū)S玫刂诽鎿Q所述專(zhuān)用或公共地址。15.根據(jù)權(quán)利要求8所述的語(yǔ)義處理器,包括網(wǎng)際協(xié)議(IP)版本轉(zhuǎn)換表,將第一網(wǎng)際協(xié)議版本格式的地址與第二網(wǎng)際版本格形式的相應(yīng)地址進(jìn)行映射,所述分析器識(shí)別用于所述包中的所述網(wǎng)際協(xié)議版本形式,以及包中的地址。16.根據(jù)權(quán)利要求8所述的語(yǔ)義處理器,包括虛擬專(zhuān)用網(wǎng)絡(luò)(VPN)表,所述虛擬專(zhuān)用網(wǎng)絡(luò)表將解密密鑰、解密算法標(biāo)識(shí)符和/或驗(yàn)證算法標(biāo)識(shí)符與相關(guān)的安全參數(shù)索引(SPI)相關(guān)聯(lián),所述分析器識(shí)別所述包中的安全參數(shù)指數(shù),以及指示所述語(yǔ)義處理單元將識(shí)別的安全參數(shù)索引應(yīng)用至所述虛擬專(zhuān)用網(wǎng)絡(luò)表,并且接著根據(jù)自所述虛擬專(zhuān)用網(wǎng)絡(luò)表接收回的所述解密密鑰、所述解密算法標(biāo)識(shí)符和/或所述驗(yàn)證算法標(biāo)識(shí)符,對(duì)浙述包進(jìn)行解密。17.—種入侵檢測(cè)系統(tǒng),包括數(shù)據(jù)分析器,識(shí)別數(shù)據(jù)流中的語(yǔ)法元素;以及威脅過(guò)濾電路,根據(jù)由所述數(shù)據(jù)分析器識(shí)別的所述語(yǔ)法元素過(guò)濾來(lái)自所述數(shù)據(jù)流的威脅。.'18.根據(jù)權(quán)利要求17所述的入侵檢測(cè)系統(tǒng),包括延遲緩沖器,所述延遲緩沖器由所述威脅過(guò)濾電路使用,以在過(guò)濾所述威脅時(shí)將輸出所述數(shù)據(jù)流延遲一段基本恒定的時(shí)間周期。19.根據(jù)權(quán)利要求18所述的入侵檢測(cè)系統(tǒng),其中,所述威脅過(guò)濾電路利用第一組既定訪(fǎng)問(wèn)控制表(ACL)過(guò)濾器來(lái)執(zhí)行所述數(shù)據(jù)流的第一初步威脅過(guò)濾,以及利用根據(jù)識(shí)別的語(yǔ)法元素產(chǎn)生的第二組訪(fǎng)問(wèn)控制表過(guò)濾器來(lái)執(zhí)行所述延遲緩沖器中數(shù)據(jù)的第二威脅過(guò)濾。20.根據(jù)權(quán)利要求17所述的入侵檢測(cè)系統(tǒng),其中,所述威脅過(guò)濾電路從所述識(shí)別的語(yǔ)法元素中產(chǎn)生令牌,所述令牌被應(yīng)用至威脅特征以動(dòng)態(tài)地產(chǎn)生對(duì)應(yīng)于所述語(yǔ)法元素的一組威脅過(guò)濾器。21.根據(jù)權(quán)利要求20所述的入侵檢測(cè)系統(tǒng),其中,所述令牌僅針對(duì)可以與威脅有關(guān)聯(lián)的所述數(shù)據(jù)流中的語(yǔ)法元素產(chǎn)生,以及沒(méi)有針對(duì)所述數(shù)據(jù)流中的其他部分產(chǎn)生令牌。22.根據(jù)權(quán)利要求17所述的入侵檢測(cè)系統(tǒng),其中,所述數(shù)據(jù)分析器根據(jù)包括在分析器堆棧中的符號(hào)分析所述數(shù)據(jù)。23.根據(jù)權(quán)利要求22所述的入侵檢測(cè)系統(tǒng),其中,所述分析器包括分析表,所述分析表包括對(duì)應(yīng)于所述數(shù)據(jù)流中的不同語(yǔ)法元素的產(chǎn)生規(guī)則代碼,所述產(chǎn)生規(guī)則代碼根據(jù)來(lái)自所述分析器堆棧的所述符號(hào)和部分所述數(shù)據(jù)流進(jìn)行索引。24.根據(jù)權(quán)利要求23所述的入侵檢測(cè)系統(tǒng),包括產(chǎn)生規(guī)則表,所述產(chǎn)生規(guī)則表包括由所述產(chǎn)生規(guī)則代碼索引的產(chǎn)生規(guī)則,當(dāng)過(guò)濾來(lái)自所述數(shù)據(jù)流的所述威脅時(shí),一部分產(chǎn)生規(guī)則對(duì)由所述威脅過(guò)濾電路執(zhí)行的微指令進(jìn)行尋址。25.根據(jù)權(quán)利要求17所述的入侵;險(xiǎn)測(cè)系統(tǒng),包括中央入侵檢測(cè)器,所述中央入侵檢測(cè)器從位于不同網(wǎng)絡(luò)處理設(shè)備中的所述威脅過(guò)濾電路接收令牌,所述不同網(wǎng)絡(luò)處理設(shè)備識(shí)別由所述不同網(wǎng)絡(luò)處理設(shè)備所處理的不同數(shù)據(jù)流的不同語(yǔ)法元素,所述中央入侵檢測(cè)器根據(jù)所述不同語(yǔ)法元素產(chǎn)生過(guò)濾器,以及將所述過(guò)濾器分布回到所述不同網(wǎng)絡(luò)處理設(shè)備中。26.根據(jù)權(quán)利要求25所述的入侵檢測(cè)系統(tǒng),其中,所述中央入侵檢測(cè)器根據(jù)由發(fā)送所述令牌的網(wǎng)絡(luò)處理設(shè)備執(zhí)行的網(wǎng)絡(luò)處理操作,產(chǎn)生所述過(guò)濾器。27.根據(jù)權(quán)利要求17所述的入侵檢測(cè)系統(tǒng),包括再循環(huán)緩沖器,所述再循環(huán)緩沖器在所述威脅過(guò)濾電路過(guò)濾來(lái)自所述數(shù)據(jù)流的所述威脅之前重新組合來(lái)自所述數(shù)據(jù)流的碎片包。28.—種語(yǔ)義處理器,包括直接執(zhí)行分析器(DXP),識(shí)別數(shù)據(jù)流中的語(yǔ)法元素;以及一個(gè)或更多的語(yǔ)義處理單元(SPU),根據(jù)由所述直接執(zhí)行分析器識(shí)別的語(yǔ)法元素對(duì)所述數(shù)據(jù)流執(zhí)行入侵檢測(cè)操作。29.根據(jù)權(quán)利要求28所述的語(yǔ)義處理器,包括分析表,所述分析表包括多組產(chǎn)生規(guī)則代碼,所述產(chǎn)生規(guī)則代碼通過(guò)合并與語(yǔ)法元素對(duì)應(yīng)的非終結(jié)符號(hào)和部分所述數(shù)據(jù)流來(lái)索引。30.根據(jù)權(quán)利要求29所述的語(yǔ)義處理器,包括產(chǎn)生規(guī)則表,所述產(chǎn)生規(guī)則表包括由所述分析表中的產(chǎn)生規(guī)則代碼索引的產(chǎn)生規(guī)則,所述產(chǎn)生規(guī)則中的至少一部分包括語(yǔ)義處理單元入口點(diǎn)值,所述語(yǔ)義處理單元入口點(diǎn)值索引由用于執(zhí)行所述入侵檢測(cè)操作的所述一個(gè)或更多的語(yǔ)義處理單元所執(zhí)行的微指令。31.根據(jù)權(quán)利要求28所述的語(yǔ)義處理器,其中,所述一個(gè)或更多的語(yǔ)義處理單元將所述數(shù)據(jù)流中的包與第一組既定訪(fǎng)問(wèn)控制表過(guò)濾器進(jìn)行比較,并且接著根據(jù)所述比較,丟棄或存儲(chǔ)所述包。32.根據(jù)權(quán)利要求31所述的語(yǔ)義處理器,其中,所述一個(gè)或更多的語(yǔ)義處理單元在執(zhí)行所述入侵檢測(cè)操作時(shí),將所述包存儲(chǔ)一段固定延遲周期。33.根據(jù)權(quán)利要求32所述的語(yǔ)義處理器,其中,所述一個(gè)或更多的語(yǔ)義處理單元從由直接執(zhí)行分析器識(shí)別的所述語(yǔ)法元素中產(chǎn)生令牌,以及將所述令牌提供至動(dòng)態(tài)產(chǎn)生與所述令牌對(duì)應(yīng)的訪(fǎng)問(wèn)控制表(ACL)的威脅分析器。34.根據(jù)權(quán)利要求33所述的語(yǔ)義處理器,其中,所述一個(gè)或更多的語(yǔ)義處理單元丟棄匹配所述動(dòng)態(tài)產(chǎn)生的訪(fǎng)問(wèn)控制表的任何存儲(chǔ)包。35.根據(jù)權(quán)利要求28所述的語(yǔ)義處理器,包括再循環(huán)緩沖器,所述再循環(huán)緩沖器由所述一個(gè)或更多語(yǔ)義處理單元(SPU)使用以重新組合所述數(shù)據(jù)流中碎片包,所述直接執(zhí)行分析器接著識(shí)別所述重新組合的包中的語(yǔ)法元素,以及所述一個(gè)或更多的語(yǔ)義處理單元才艮據(jù)所述識(shí)別的語(yǔ)法元素執(zhí)行入侵檢測(cè)操作。36.根據(jù)權(quán)利要求28所述的語(yǔ)義處理器,其中,所述直接執(zhí)行分析器識(shí)別所述數(shù)據(jù)流中的簡(jiǎn)單郵件傳輸協(xié)議(SMTP)包,以及指示所述一素,并利用所述提取的電子郵件元素產(chǎn)生接著應(yīng)用至所述簡(jiǎn)單郵件傳輸協(xié)議包的一組電子郵件威脅過(guò)濾器。37.—種下推自動(dòng)機(jī)(PDA)引擎,包括語(yǔ)義表,配置成對(duì)應(yīng)于不同下推自動(dòng)機(jī)語(yǔ)義狀態(tài)的不同部分,其中至少一些所述部分包括一個(gè)或更多的語(yǔ)義表目,所述語(yǔ)義表目與可以包括在輸入數(shù)據(jù)中的多字符語(yǔ)義元素對(duì)應(yīng),所述語(yǔ)義表通過(guò)將識(shí)別所述不同語(yǔ)義狀態(tài)的符號(hào)與所述輸入數(shù)據(jù)的段組合而進(jìn)行索引。38.根據(jù)權(quán)利要求37所述的下推自動(dòng)機(jī)引擎,包括語(yǔ)義狀態(tài)映射,所述語(yǔ)義狀態(tài)映射根據(jù)匹配組合的符號(hào)和輸入數(shù)據(jù)段的當(dāng)前的下推自動(dòng)機(jī)語(yǔ)義狀態(tài)中的所述語(yǔ)義表目,識(shí)別下一個(gè)下推自動(dòng)機(jī)語(yǔ)義狀態(tài)。39.根據(jù)權(quán)利要求38所述的下推自動(dòng)機(jī)引擎,包括堆棧,所述堆棧彈出用于和所述輸入數(shù)據(jù)段組合在一起的符號(hào),以及推進(jìn)與由所述語(yǔ)義狀態(tài)映射識(shí)別的下一個(gè)語(yǔ)義狀態(tài)對(duì)應(yīng)的下一個(gè)符號(hào)。40.根據(jù)權(quán)利要求39所述的下推自動(dòng)機(jī)引擎,其中,所述堆棧包括表示多個(gè)先前的下推自動(dòng)機(jī)語(yǔ)義狀態(tài)的非終結(jié)符號(hào)。41.根據(jù)權(quán)利要求37所述的下推自動(dòng)機(jī)引擎,其中,所述語(yǔ)義表根據(jù)在所述輸入數(shù)據(jù)中識(shí)別的所述語(yǔ)義元素,并獨(dú)立于包含在所述語(yǔ)義元素中的單獨(dú)的字符,在不同的下推自動(dòng)機(jī)語(yǔ)義狀態(tài)之間轉(zhuǎn)換。42.根據(jù)權(quán)利要求37所述的下推自動(dòng)機(jī)引擎,其中,所述語(yǔ)義表包括內(nèi)容可尋址存儲(chǔ)器(CAM),所述內(nèi)容可尋址存儲(chǔ)器中的語(yǔ)義表目位置匹配用于識(shí)別下一個(gè)語(yǔ)義狀態(tài)的所述輸入數(shù)據(jù)中的語(yǔ)義元素。43.根據(jù)權(quán)利要求42所述的下推自動(dòng)機(jī)引擎,包括跳讀數(shù)據(jù)映射,由內(nèi)容可尋址存儲(chǔ)器進(jìn)行索引,所述跳讀數(shù)據(jù)映射識(shí)別多個(gè)輸入數(shù)據(jù)以移位到所述下推自動(dòng)機(jī)引擎中,以便與所述語(yǔ)義表目進(jìn)行比較。44.根據(jù)權(quán)利要求37所述的下推自動(dòng)機(jī)引擎,包括可重新配置語(yǔ)義處理器(RSP),所述可重新配置語(yǔ)義處理器包括根據(jù)由所述語(yǔ)義表識(shí)別的所述語(yǔ)義狀態(tài)對(duì)所述輸入數(shù)據(jù)執(zhí)行附加操作的一個(gè)或更多的語(yǔ)義處理單元(SPU)。45.根據(jù)權(quán)利要求44所述的下推自動(dòng)機(jī)引擎,包括語(yǔ)義入口點(diǎn)(SEP)映射,所述語(yǔ)義入口點(diǎn)映射由所述語(yǔ)義表索引,以便發(fā)起由所述一個(gè)或更多的語(yǔ)義處理單元執(zhí)行的微指令。全文摘要網(wǎng)絡(luò)處理設(shè)備提供了一種用于執(zhí)行防火墻和其他網(wǎng)絡(luò)接口管理操作的新穎的體系結(jié)構(gòu)。在本發(fā)明的另一方面,統(tǒng)一策略管理(UPM)體系結(jié)構(gòu)利用相同的存儲(chǔ)器和處理結(jié)構(gòu),將防火墻策略管理與發(fā)送和交換決定集成在一起。在另一實(shí)施例中,可重新配置語(yǔ)義處理器(RSP)利用分析器識(shí)別不同的語(yǔ)法元素,接著這些語(yǔ)法元素由一個(gè)或更多的語(yǔ)義處理單元(SPU)使用,來(lái)執(zhí)行不同的防火墻、網(wǎng)絡(luò)接口、發(fā)送、交換和其他的包處理操作。文檔編號(hào)G06F17/00GK101116052SQ200580044219公開(kāi)日2008年1月30日申請(qǐng)日期2005年12月20日優(yōu)先權(quán)日2004年12月21日發(fā)明者凱文·杰羅米·羅懷特,凱維赫·杰拉里,史蒂芬·克萊·埃利斯,索姆索布理·司柯達(dá)爾申請(qǐng)人:米斯特科技有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1