新四季網

網絡接口及防火牆設備的製作方法

2023-08-06 10:35:26


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

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀