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

反向路徑轉發(fā)保護的制作方法

文檔序號:6489480閱讀:142來源:國知局
專利名稱:反向路徑轉發(fā)保護的制作方法
技術領域
本發(fā)明的一個實施例涉及通信和計算機系統(tǒng),尤其是路由器、分組交換系統(tǒng)和其他設備;更具體而言,一個實施例涉及利用基于轉發(fā)信息庫的訪問控制列表自動填充進行的反向路徑轉發(fā)保護。
背景技術
通信工業(yè)正在迅速變化以適應新興的技術和不斷增長的客戶需求。這種對于新應用和現(xiàn)有應用的更強性能的客戶需求正在驅動著網(wǎng)絡和系統(tǒng)提供商采用速度更快能力更大(例如帶寬更大)的網(wǎng)絡和系統(tǒng)。在嘗試實現(xiàn)這些目標時,許多通信提供商常采用的方法是使用分組交換技術。公共和專用通信網(wǎng)絡正越來越多地被用諸如因特網(wǎng)協(xié)議(IP)這樣的各種分組技術來構建和擴展。
RFC 2827描述了實現(xiàn)單播反向路徑轉發(fā)以防止源地址偽造的必要性。存在兩種已知的用于執(zhí)行此操作的方式。第一,靜態(tài)訪問控制列表(ACL)可被操作者手動創(chuàng)建,以指定特定接口上允許的源地址。此方法的主要缺點包括需要為每個接口手動定義不同的ACL,以及需要手動更新這些ACL以適應網(wǎng)絡拓撲的變化以便提供適當?shù)谋Wo。
第二種已知的方法是對轉發(fā)信息庫執(zhí)行兩個查找操作一個查找操作基于目的地,以識別向哪個位置轉發(fā)分組,第二查找操作基于分組的源地址,以識別分組是否在被允許的接口上被接收。此方法要求對FIB進行第二查找操作,這一點或者降低了轉發(fā)分組的速率(因為它要求兩個查找而不是一個),或者要求附加的或重復的組件來并行執(zhí)行這兩個查找操作。另外,通常還執(zhí)行第三查找操作,此查找操作是對一組預定義的ACL進行的,以便進一步識別如何處理分組。執(zhí)行所有這些查找操作影響了處理分組的速率和/或執(zhí)行這種操作所需的硬件和軟件的量。
在一種已知的方法中,當在接口上啟用單播反向路徑轉發(fā)時,路由器檢查該接口上接收到的所有分組。路由器進行檢查以確定源地址出現(xiàn)在路由選擇表中,并且匹配在其上接收到分組的接口。此特征進行檢查以查明在路由器接口處接收到的任何分組是否是在去到分組源的最佳返回路徑之一上到達的。該特征通過基于分組的源地址在路由選擇信息庫中執(zhí)行反向查找來做到這一點。如果未定位到分組的相應反向路徑,則該特征可根據(jù)配置命令中是否指定了ACL來丟棄或轉發(fā)分組。如果命令中指定了ACL,則當(且僅當)分組未通過單播反向路徑轉發(fā)檢查時,ACL被檢查以查明分組應當被丟棄(利用ACL中的拒絕語句)還是被轉發(fā)(利用ACL中的許可語句)。如果在配置命令中未指定ACL,則路由器立即丟棄偽造或畸形的分組。

發(fā)明內(nèi)容
公開了利用基于轉發(fā)信息庫的訪問控制列表自動填充來對分組進行反向路徑轉發(fā)保護的方法、裝置、數(shù)據(jù)結構、計算機可讀介質、機構、裝置等等。在較寬的方面中,本發(fā)明提供了基于轉發(fā)信息庫的訪問控制列表自動生成;這一點促進了在轉發(fā)信息庫和訪問控制列表二者的基礎上進行一致的分組處理。從而,本發(fā)明可提供一種分組處理方法,在該方法中,是在包括標識許可或拒絕狀態(tài)的訪問控制列表條目的訪問控制列表的基礎上以及在標識轉發(fā)位置的轉發(fā)信息庫的基礎上處理分組的,該方法包括基于轉發(fā)信息庫自動生成或更新訪問控制列表條目。
優(yōu)選地,至少基于要處理的分組的源地址為要執(zhí)行的查找操作安排訪問控制列表條目和轉發(fā)信息庫。更優(yōu)選地,至少基于分組的源地址為要利用公共查找值執(zhí)行的查找操作安排訪問控制列表條目和轉發(fā)信息庫兩者。一個實施例通過從分組中提取包括源地址的一個或多個值來識別查找值。基于查找值對訪問控制列表執(zhí)行訪問控制列表查找操作以識別許可或拒絕狀態(tài),其中訪問控制列表包括多個訪問控制列表條目?;谕ㄟ^訪問訪問控制列表查找操作識別出的許可或拒絕狀態(tài)處理分組。這種基于許可狀態(tài)的分組處理通常包括對轉發(fā)信息庫的表示(representation)執(zhí)行轉發(fā)查找操作以識別一個位置并將分組轉發(fā)到該位置。基于轉發(fā)信息庫自動生成訪問控制列表條目。
在一個實施例中,基于轉發(fā)信息庫和預定義的訪問控制列表自動生成訪問控制列表條目。在一個實施例中,響應于轉發(fā)信息庫或預定義的訪問控制列表的變化自動更新訪問控制列表條目。
在一個實施例中,自動生成訪問控制列表條目包括為與預定義的訪問控制列表的許可狀態(tài)相關聯(lián)的條目識別條目的源地址和轉發(fā)信息庫中的地址(例如完全指定的地址,前綴)的交集,并且基于交集生成訪問控制列表條目中的一個或多個。
在一個實施例中,自動生成訪問控制列表條目包括基于轉發(fā)信息庫識別多個拒絕操作條目,這些拒絕操作對應于轉發(fā)信息庫中的地址的補集,還包括就搜索順序而言將這些拒絕操作條目放置在與預定義的訪問控制列表相對應的多個預定義的訪問控制列表條目之前;并且其中如果在訪問控制列表查找操作期間拒絕操作條目之一被匹配,則拒絕狀態(tài)被生成。在一個實施例中,基于轉發(fā)信息庫識別多個拒絕操作條目包括基于轉發(fā)信息庫構造二元(binary)trie,并且遍歷該二元trie以識別拒絕操作條目。
在一個實施例中,執(zhí)行訪問控制列表查找操作包括對關聯(lián)存儲器(associative memory)執(zhí)行關聯(lián)存儲器查找操作,其中訪問控制列表被編程到關聯(lián)存儲器中;并且其中基于轉發(fā)信息庫自動生成的條目被配置為如果在關聯(lián)存儲器查找操作期間被匹配則生成強制無命中結果,以便基于與預定義的訪問控制列表相對應的關聯(lián)存儲器條目識別許可或拒絕狀態(tài),并且關聯(lián)存儲器包括一個或多個拒絕條目,以便如果基于轉發(fā)信息庫自動生成的條目中沒有一個被匹配則生成拒絕狀態(tài)。


所附權利要求書詳細闡述了本發(fā)明的特征??蓮囊韵陆Y合附圖的詳細描述中獲得對本發(fā)明的實施例及其優(yōu)點的最佳理解,附圖中圖1是示出一個實施例中使用的系統(tǒng)的框圖,該系統(tǒng)用于通過利用基于轉發(fā)信息庫的訪問控制列表自動填充對分組進行反向路徑轉發(fā)保護來處理分組。
圖2A-C示出供一個實施例使用的查找機制的無數(shù)的配置中的少數(shù)幾個;圖3是示出一個實施例中使用的系統(tǒng)的框圖,該系統(tǒng)用于通過利用基于轉發(fā)信息庫的訪問控制列表自動填充對分組進行反向路徑轉發(fā)保護來處理分組。
圖4是示出一個實施例中使用的系統(tǒng)的框圖,該系統(tǒng)用于通過利用基于轉發(fā)信息庫的訪問控制列表自動填充對分組進行反向路徑轉發(fā)保護來處理分組。
圖5A示出了一個實施例中使用的用于基于轉發(fā)信息庫自動填充一個或多個訪問控制列表的進程;圖5B是示出一個實施例中生成和使用的訪問控制條目的框圖;圖6A示出了一個實施例中使用的用于基于轉發(fā)信息庫和預定義的訪問控制列表來自動填充一個或多個訪問控制列表的進程;圖6B是示出一個實施例中生成和使用的訪問控制條目的框圖;圖7A示出了一個實施例中使用的用于基于轉發(fā)信息庫和預定義的訪問控制列表來自動填充一個或多個訪問控制列表的進程;圖7B是示出一個實施例中生成和使用的訪問控制條目的框圖;圖7C示出了一個實施例中使用的用于基于轉發(fā)信息庫來自動生成訪問控制列表拒絕條目的進程;圖7D示出了一個實施例中使用的用于基于轉發(fā)信息庫來自動生成訪問控制列表拒絕條目的進程;圖8A示出了一個實施例中使用的用于利用強制無命中條目基于轉發(fā)信息庫和預定義的訪問控制列表來自動填充一個或多個訪問控制列表的進程;圖8B是示出一個實施例中生成和使用的訪問控制條目的框圖;圖8C示出了在具有強制無命中條目的ACL中執(zhí)行查找操作的一個實施例。
具體實施例方式
公開了可能在路由器、分組交換系統(tǒng)和其他設備中尤其有用的利用基于轉發(fā)信息庫的訪問控制列表自動填充來對分組進行反向路徑轉發(fā)保護的方法、設備、數(shù)據(jù)結構、計算機可讀介質、機構、裝置等等。
這里所描述的實施例包括各種元素和限制,其中沒有一個元素或限制被視為關鍵的元素或限制。每項權利要求單獨地完整陳述本發(fā)明的一個方面。此外,這里所描述的某些實施例可以包括但不限于(除其他外)系統(tǒng)、網(wǎng)絡、集成電路芯片、嵌入式處理器、ASIC、方法和包含指令的計算機可讀介質。一個或多個系統(tǒng)、設備、組件等可構成一個或多個實施例,這些實施例可包括由相同或不同的系統(tǒng)、設備、組件等執(zhí)行的權利要求的某些元素或限制。下文中所描述的實施例體現(xiàn)了本發(fā)明的范圍和精神內(nèi)的各種方面和配置,其中附圖示出了示例性而非限制性的配置。除非另外聲明,否則這里公開的元素可以按其他組合方式提供或獨立地來提供,并且方法特征可應用于裝置或計算機程序方面,反之亦然。
這里所使用的術語“分組”是指各種類型的分組或任何其他信息或數(shù)據(jù)單元,包括但不限于固定長度信元和可變長度分組,其中每一個可以或不可以被劃分成更小的分組或信元。這里所使用的術語“分組”還指分組本身或分組指示,例如但不限于分組的全部或部分或者分組頭部、數(shù)據(jù)結構值、指針或索引或者分組的任何其他部分或標識。此外,這些分組可包含一種或多種類型的信息,包括但不限于語音、數(shù)據(jù)、視頻和音頻信息。這里一般使用的術語“項目”是指分組或任何其他信息或數(shù)據(jù)單元或片段、設備、組件、元件或任何其他實體。短語“處理分組”和“分組處理”通常是指基于分組內(nèi)容(例如分組頭部或其他字段)執(zhí)行某些步驟或動作,這種步驟或動作可能包括或不包括修改、存儲、丟棄和/或轉發(fā)分組和/或相關聯(lián)的數(shù)據(jù)。
這里一般使用的術語“系統(tǒng)”是用于描述任何數(shù)目的組件、元件、子系統(tǒng)、設備、分組交換元件、分組交換機、路由器、網(wǎng)絡、計算機和/或通信設備或機構,或者其組件的組合。這里一般使用的術語“計算機”是用于描述任何數(shù)目的計算機,包括但不限于個人計算機、嵌入式處理元件和系統(tǒng)、控制邏輯、ASIC、芯片、工作站、大型機等。這里一般使用的術語“處理元件”是用于描述任何類型的處理機構或設備,例如處理器、ASIC、現(xiàn)場可編程門陣列、計算機等。這里一般使用的術語“設備”是用于描述任何類型的機構,包括計算機或系統(tǒng)或其組件。這里一般使用的術語“任務”和“進程”是用于描述任何類型的運行程序,包括但不限于計算機進程、任務、線程、執(zhí)行應用程序、操作系統(tǒng)、用戶進程、設備驅動器、原碼、機器或其他語言等等,并且可以是交互式的和/或非交互式的、在本地和/或遠程執(zhí)行的、在前臺和/或后臺執(zhí)行的、在用戶和/或操作系統(tǒng)地址空間中執(zhí)行的、庫例程和/或獨立應用程序,并且不限于任何特定的存儲器分區(qū)技術。在附圖(包括但不限于任何框圖和流程圖以及消息序列圖)中示出的步驟、連接、信號和信息處理可以按相同或不同的串行或并行順序來執(zhí)行,和/或由不同的組件和/或進程、線程等來執(zhí)行,和/或在不同連接上執(zhí)行,并且可與其他實施例中的功能相組合,同時仍保持在本發(fā)明的范圍和精神內(nèi)。此外,這里一般使用的術語“識別”是用于描述任何直接或間接斷定某件事的方式或機制,其中可包括但不限于接收、從存儲器取回、確定、限定、計算、生成等等。
此外,這里一般使用的術語“網(wǎng)絡”和“通信機構”是用于描述一個或多個網(wǎng)絡、通信介質或通信系統(tǒng),包括但不限于因特網(wǎng),專用或公共電話、蜂窩、無線、衛(wèi)星、有線、局域、城域和/或廣域網(wǎng)絡,電纜,電連接,總線等等,以及諸如消息傳遞、進程間通信、共享存儲器等內(nèi)部通信機構。這里一般使用的術語“消息”是用于描述一段信息,它可能是也可能不是但通常是經(jīng)由一個或多個任何類型的通信機構來傳輸?shù)摹?br> 術語“存儲機構”包括任何類型的存儲器、存儲設備或其他以任何格式保存指令或數(shù)據(jù)的機構?!坝嬎銠C可讀介質”是一個可擴展術語,它包括任何存儲器、存儲設備、存儲機構,以及其他的其中包括了諸如網(wǎng)絡接口卡和緩沖器這樣的接口和設備的存儲和信令機構,以及任何通信設備和接收和發(fā)送的信號,和計算機化的系統(tǒng)可解釋、接收和/或發(fā)送的其他當前和正在發(fā)展中的技術。術語“存儲器”包括任何隨機訪問存儲器(RAM)、只讀存儲器(ROM)、閃存、集成電路和/或其他存儲器組件或元件。術語“存儲設備”包括任何固態(tài)存儲介質、盤驅動器、軟磁盤、網(wǎng)絡化服務、磁帶驅動器和其他存儲設備。存儲器和存儲設備可存儲將要由處理元件和/或控制邏輯執(zhí)行的計算機可執(zhí)行指令,以及由處理元件和/或控制邏輯所操縱的數(shù)據(jù)。術語“數(shù)據(jù)結構”是一個可擴展術語,它是指任何數(shù)據(jù)元素、變量、數(shù)據(jù)結構、數(shù)據(jù)庫和/或可應用到數(shù)據(jù)以幫助解釋數(shù)據(jù)或對其執(zhí)行操作的一個或多個組織方案,例如但不限于存儲器位置或設備、集合、隊列、樹、堆、列表、鏈表、陣列、表、指針等等。數(shù)據(jù)結構通常被保存在存儲機構中。這里一般使用的術語“指針”和“鏈接”是指某些用于引用或標識另一元素、組件或其他實體的機制,這些機制可包括但不限于對存儲器或其他存儲機構或其中的位置的引用、數(shù)據(jù)結構中的索引、值等等。術語“關聯(lián)存儲器”是一個可擴展術語,是指任何類型的已知的或未來開發(fā)的關聯(lián)存儲器,包括但不限于二元和三元(temary)內(nèi)容可尋址存儲器、散列表、TRIE和其他數(shù)據(jù)結構等。此外,術語“關聯(lián)存儲器單元”可包括但不限于一個或多個關聯(lián)存儲器設備或其部件,包括但不限于條目的區(qū)域、段、庫、頁、塊、集合等等。
這里所使用的術語“一個實施例”是指特定實施例,其中每次提到“一個實施例”可能是指不同的實施例,這里在描述相關聯(lián)的特征、元素和/或限制時重復使用該術語并不確立每個和所有實施例必須包括的相關聯(lián)的特征、元素和/或限制的累積集合,但是一個實施例通??砂ㄋ羞@些特征、元素和/或限制。此外,短語“用于xxx的裝置”通常包括包含用于執(zhí)行xxx的計算機可執(zhí)行指令的計算機可讀介質。
此外,這里使用的術語“第一”、“第二”等通常是用于表示不同單元(例如第一元件、第二元件)。這里使用這些術語不一定意味著諸如一個單元或事件發(fā)生或出現(xiàn)在另一個之前這樣的順序,而是提供一種區(qū)分特定單元的機制。此外,使用名詞的單數(shù)時態(tài)是非限制性的,對其的使用通常包括一個或多個特定事物而不是只有一個(例如使用單詞“存儲器”通常是指一個或多個存儲器而不是必須指定“一個存儲器或多個存儲器”或者“一個或多個存儲器”或“至少一個存儲器”等等)。此外,短語“基于x”和“響應于x”被用于指示從中導出或導致某件事的項目x的最小集合,其中“x”是可擴展的,并且不一定描述了在其上執(zhí)行了操作的項目的完整列表等等。此外,短語“被耦合到”用于指示兩個元件或設備之間的某種級別的直接或間接連接,其中一個或多個耦合設備修改或不修改被耦合的信號或被傳輸?shù)男畔ⅰPg語“子集”用于指示集合的所有元素或部分元素的群組。術語“子樹”用于指示樹的全部或部分。此外,術語“或者”在這里是指對相聯(lián)系的項目中的一個或多個(包括全部)的選擇。
公開了利用基于轉發(fā)信息庫的訪問控制列表自動填充來對分組進行反向路徑轉發(fā)保護的方法、裝置、數(shù)據(jù)結構、計算機可讀介質、機構、裝置等等。在較寬的方面中,本發(fā)明提供了基于轉發(fā)信息庫的訪問控制列表自動生成;這一點促進了在轉發(fā)信息庫和訪問控制列表二者的基礎上進行一致的分組處理。從而,本發(fā)明可提供一種分組處理方法,在該方法中,是在包括標識許可或拒絕狀態(tài)的訪問控制列表條目的訪問控制列表的基礎上以及在標識轉發(fā)位置的轉發(fā)信息庫的基礎上處理分組的,該方法包括基于轉發(fā)信息庫自動生成或更新訪問控制列表條目。
優(yōu)選地,至少基于要處理的分組的源地址為要執(zhí)行的查找操作安排訪問控制列表條目和轉發(fā)信息庫。更優(yōu)選地,至少基于分組的源地址為要利用公共查找值執(zhí)行的查找操作安排訪問控制列表條目和轉發(fā)信息庫兩者。一個實施例通過從分組中提取包括源地址的一個或多個值來識別查找值。基于查找值對訪問控制列表執(zhí)行訪問控制列表查找操作以識別許可或拒絕狀態(tài),其中訪問控制列表包括多個訪問控制列表條目?;谕ㄟ^訪問訪問控制列表查找操作識別出的許可或拒絕狀態(tài)處理分組。這種基于許可狀態(tài)的分組處理通常包括對轉發(fā)信息庫的表示執(zhí)行轉發(fā)查找操作以識別一個位置并將分組轉發(fā)到該位置。基于轉發(fā)信息庫自動生成訪問控制列表條目。
在一個實施例中,基于轉發(fā)信息庫和預定義的訪問控制列表自動生成訪問控制列表條目。在一個實施例中,響應于轉發(fā)信息庫或預定義的訪問控制列表的變化自動更新訪問控制列表條目。
在一個實施例中,自動生成訪問控制列表條目包括為與預定義的訪問控制列表的許可狀態(tài)相關聯(lián)的條目識別條目的源地址和轉發(fā)信息庫中的地址(例如完全指定的地址,前綴)的交集,并且基于交集生成訪問控制列表條目中的一個或多個。
在一個實施例中,自動生成訪問控制列表條目包括基于轉發(fā)信息庫識別多個拒絕操作條目,這些拒絕操作對應于轉發(fā)信息庫中的地址的補集,還包括就搜索順序而言將這些拒絕操作條目放置在與預定義的訪問控制列表相對應的多個預定義的訪問控制列表條目之前;并且其中如果在訪問控制列表查找操作期間拒絕操作條目之一被匹配,則拒絕狀態(tài)被生成。在一個實施例中,基于轉發(fā)信息庫識別多個拒絕操作條目包括基于轉發(fā)信息庫構造二元trie,并且遍歷該二元trie以識別拒絕操作條目。
在一個實施例中,執(zhí)行訪問控制列表查找操作包括對關聯(lián)存儲器執(zhí)行關聯(lián)存儲器查找操作,其中訪問控制列表被編程到關聯(lián)存儲器中;并且其中基于轉發(fā)信息庫自動生成的條目被配置為如果在關聯(lián)存儲器查找操作期間被匹配則生成強制無命中結果,以便基于與預定義的訪問控制列表相對應的關聯(lián)存儲器條目識別許可或拒絕狀態(tài),并且關聯(lián)存儲器包括一個或多個拒絕條目,以便如果基于轉發(fā)信息庫自動生成的條目中沒有一個被匹配則生成拒絕狀態(tài)。
圖1是示出一個實施例中使用的系統(tǒng)的框圖,該系統(tǒng)用于通過利用基于轉發(fā)信息庫的訪問控制列表自動填充對分組進行反向路徑轉發(fā)保護來處理分組。轉發(fā)信息庫(FIB)數(shù)據(jù)121和預定義的(例如從另一個機構由客戶定義或自動定義)訪問控制列表(ACL)123被FIB和ACL更新機構120所接收,該FIB和ACL更新機構120通常包括用于存儲FIB和ACL數(shù)據(jù)的數(shù)據(jù)結構。FIB和ACL更新機構120在初始時響應于需要更新的ACL或FIB的變化,自動確定訪問控制條目,其中包括基于轉發(fā)信息庫自動確定的那些條目。這些ACL條目被發(fā)送(如箭頭127所示)到ACL查找機構130。類似地,F(xiàn)IB查找機構接收FIB更新(如箭頭125所示),該FIB查找機構包括通常被存儲在有助于執(zhí)行快速查找的數(shù)據(jù)結構中(例如存儲在存儲器或關聯(lián)存儲器中)的FIB數(shù)據(jù)的復本。
分組101被分組處理器100所接收。通過從分組中提取包括源地址的一個或多個值生成查找值131。ACL查找機構130基于它的一個或多個訪問控制列表執(zhí)行查找操作,并且向分組處理器100提供查找結果133,該查找結果133通常包括許可或拒絕指示,并且可選地包括其他指示。如果分組101與許可狀態(tài)相關聯(lián),則分組的目的地地址作為查找值107被提供給FIB查找機構110,F(xiàn)IB查找機構110執(zhí)行查找操作并返回查找結果109,該查找結果109通常包括向其轉發(fā)分組的位置(轉發(fā)分組則由分組處理器100完成,如分組103所指示)或無匹配指示。在一個實施例中,查找機構110和130中的查找操作是并行執(zhí)行的。在一個實施例中,查找機構110和130中的查找操作是順序執(zhí)行的。當然,所描述的是無數(shù)的用于通過利用基于轉發(fā)信息庫的訪問控制列表自動填充對分組進行反向路徑轉發(fā)保護來處理分組的實施例中的某些實施例的多個方面。
圖2A-C示出供一個實施例使用的查找機構的無數(shù)的配置中的少數(shù)幾個。圖2A示出一個實施例中使用的查找機構200??刂?04執(zhí)行或致使執(zhí)行基于查找值201在存儲器或關聯(lián)存儲器206中的查找操作,以產(chǎn)生查找結果207,該查找結果207通常包括許可或拒絕狀態(tài)指示。存在無數(shù)的可被一個實施例使用的用于執(zhí)行查找操作的技術。
圖2B示出一個實施例中使用的查找機構210。關聯(lián)存儲器214基于查找值211執(zhí)行查找操作,并生成匹配位置結果215。在附屬存儲器216中執(zhí)行查找操作以產(chǎn)生查找結果217,該查找結果217通常包括許可或拒絕狀態(tài)指示。
圖2C示出一個實施例中使用的查找機構220。關聯(lián)存儲器226基于查找值221執(zhí)行查找操作,并生成查找結果227(例如匹配位置或無命中指示,或其他指示)。
圖3是示出一個實施例中使用的系統(tǒng)300的框圖,該系統(tǒng)用于通過利用基于轉發(fā)信息庫的訪問控制列表自動填充對分組進行反向路徑轉發(fā)保護來處理分組。例如,一個實施例包括這樣的進程,其與這里所示出的框圖或流程圖之一相對應,或者與實現(xiàn)權利要求的全部或部分的任何其他裝置或機構相對應,而其他內(nèi)部或外部組件或設備可實現(xiàn)權利要求的其他元素/限制。另外,單個或多個系統(tǒng)、設備、組件等可包括實施例。
在一個實施例中,系統(tǒng)300包括處理元件301、存儲器302、存儲設備303、用于接收和發(fā)送分組或其他項目的接口304以及關聯(lián)存儲器和附屬存儲器(adjunct memory)307,這些部件經(jīng)由一個或多個通信機構309(為了說明示為總線)被耦合。
系統(tǒng)300的各種實施例可包括更多或更少的元件。系統(tǒng)300的操作通常是由處理元件301利用存儲器302和存儲設備303控制的,以執(zhí)行一個或多個任務或進程,例如但不限于通過利用基于轉發(fā)信息庫的訪問控制列表自動填充對分組進行反向路徑轉發(fā)保護來處理分組。一個實施例使用另一種查找機構而不是關聯(lián)存儲器和附屬存儲器307來在基于轉發(fā)信息庫自動填充的訪問控制列表中執(zhí)行查找操作。
存儲器302是一種類型的計算機可讀介質,通常包括隨機訪問存儲器(RAM)、只讀存儲器(ROM)、閃存、集成電路和/或其他存儲組件。存儲器302通常存儲用于實現(xiàn)根據(jù)本發(fā)明的一個實施例的功能的將要由處理元件301執(zhí)行的計算機可執(zhí)行指令和/或被處理元件301操縱的數(shù)據(jù)。存儲設備303是另一種類型的計算機可讀介質,通常包括固態(tài)存儲介質、盤驅動器、軟磁盤、網(wǎng)絡化服務、磁帶驅動器和其他存儲設備。存儲設備303通常存儲用于實現(xiàn)根據(jù)本發(fā)明的一個實施例的功能的將要由處理元件301執(zhí)行的計算機可執(zhí)行指令和/或被處理元件301操縱的數(shù)據(jù)。
圖4是示出一個實施例中使用的系統(tǒng)的框圖,該系統(tǒng)用于通過利用基于轉發(fā)信息庫的訪問控制列表自動填充對分組進行反向路徑轉發(fā)保護來處理分組。處理開始于進程塊400中,并前進到進程塊402,在這里分組被識別(例如被接收,被從隊列中去除,等等)。在進程塊404中,查找值被識別,識別方式通常是通過從分組中提取包括源地址的一個或多個字段。在進程塊406中,基于查找值在訪問控制列表中執(zhí)行查找操作,以識別許可或拒絕狀態(tài),或許還會識別其他指示,該訪問控制列表包括基于轉發(fā)信息庫自動生成的以及可能來自其他源(例如預定義的ACL等)的條目。在進程塊408中,基于識別出的許可或拒絕狀態(tài)處理分組。另外,如果是許可操作,則目的地地址被用于在轉發(fā)信息庫中查找分組的目的地位置,分組將被轉發(fā)到該位置。在一個實施例中,此查找操作是與其他處理步驟并行執(zhí)行的。如進程塊409所示,處理完成。
圖5A示出了一個實施例中使用的用于基于轉發(fā)信息庫自動填充一個或多個訪問控制列表的進程。處理開始于進程塊500,并前進到進程塊502,在這里目的地地址(例如前綴和完全指定的地址)被從轉發(fā)信息庫中提取出來。在進程塊504中,基于這些目的地地址,ACL條目被識別,并被編程在查找機構中以便匹配分組的源地址(例如用于執(zhí)行反向路徑轉發(fā)),并與許可狀態(tài)指示相關聯(lián)。在進程塊506中,將會匹配任何源地址的條目通常被編程在ACL中先前操作中識別出的條目之后,并被與拒絕狀態(tài)相關聯(lián)。此時,ACL已被編程并準備好供搜索。如進程塊508和510所示,當對FID的更新被識別出時,訪問控制列表條目被相應地更新,以便保持反向路徑轉發(fā)操作的完善性。
圖5B是示出一個實施例中生成和使用的訪問控制條目540的框圖。如圖所示,基于目的地地址(例如前綴和完全指定的地址)并且與許可狀態(tài)相關聯(lián)的ACL條目551從搜索順序上而言被編程在匹配任何源地址并且與拒絕狀態(tài)相關聯(lián)的條目552之前。
圖6A示出了一個實施例中使用的用于基于轉發(fā)信息庫和預定義的訪問控制列表來自動填充一個或多個訪問控制列表的進程。處理開始于進程塊600處。按照在進程塊602中所確定的,當有更多預定ACL語句時,在進程塊604中,識別出第一/下一個語句。按照在進程塊606中所確定的,如果該語句不與許可狀態(tài)相關聯(lián),則在進程塊608中,直接從該語句生成一個或多個ACL條目,并且它們與拒絕狀態(tài)相關聯(lián)。否則,在進程塊610中,將語句的源地址與轉發(fā)信息庫中的目的地地址(例如前綴和完全指定的地址)相比較。按照在進程塊612中所確定的,如果存在交集,則生成一個或多個ACL條目以覆蓋此交集,并且這些條目與拒絕狀態(tài)相關聯(lián)。否則,在進程塊614中,由于分組的源地址不被允許(例如它未被識別為轉發(fā)信息庫中的目的地地址),因此語句被忽略。處理返回進程塊602。注意,通常,保持生成的ACL語句的順序,但是可應用某些優(yōu)化技術以將這些條目映射到其他條目中,以用于本發(fā)明的一個實施例中。
在所有的預定義的ACL語句已被處理之后,在進程塊620中,將會匹配任何源地址的條目通常被編程到ACL中先前操作中識別出的條目之后,并且被與拒絕狀態(tài)相關聯(lián)。如進程塊622和624所示,當對FIB或預定義的ACL的更新被識別出時,訪問控制列表條目被相應地更新,以便保持反向路徑轉發(fā)和訪問控制列表操作的完善性。
圖6B是示出一個實施例中生成和使用的訪問控制條目640的框圖。如圖所示,基于與許可狀態(tài)相關聯(lián)的預定義的ACL語句和轉發(fā)信息庫中的目的地地址(例如前綴和完全指定的地址)的交集的ACL條目641從搜索順序上而言被編程在匹配任何源地址并且與拒絕狀態(tài)相關聯(lián)的條目642之前。
圖7A示出了一個實施例中使用的用于基于轉發(fā)信息庫和預定義的訪問控制列表來自動填充一個或多個訪問控制列表的進程。處理開始于進程塊700,并前進到進程塊702,在這里識別出來自轉發(fā)信息庫的目的地地址(例如前綴和完全指定的地址)。在進程塊704中,這些地址的補集(在所有可能的地址的上下文中)被識別。反向路徑轉發(fā)允許具有源地址并匹配相應轉發(fā)信息庫中的目的地地址的分組被轉發(fā)/處理。從而,不匹配FIB中的地址的分組被過濾/丟棄。通過識別不在FIB中的所有地址的集合,這些地址可被編程在ACL中(從搜索順序上而言通常是第一個)并且被與拒絕狀態(tài)相關聯(lián),其后跟隨與預定義的ACL相對應的條目。從而,這些ACL部分/ACL條目集合可被獨立更新。
接下來,在進程塊706中,具有不匹配FIB中的目的地地址的源地址的ACL條目(ACL條目的其他字段通常被通配)被編程并與拒絕狀態(tài)相關聯(lián)。在進程塊708中,與預定義的ACL語句相對應的條目被編程,并且其后通常跟隨與拒絕狀態(tài)相關聯(lián)的通配條目。如進程塊710-716中所示,響應于對FIB或預定義的ACL語句的更新,相應的ACL條目被更新。
圖7B是示出一個實施例中生成和使用的訪問控制條目720的框圖。如圖所示,基于在FIB中未找到的地址的集合(即FIB中的地址的補集)的ACL條目721被編程,其后跟隨與預定義的ACL語句相對應的ACL條目722,并且之后通常跟隨匹配任何源地址并與拒絕狀態(tài)相關聯(lián)的條目723。(當然如果在條目722中找到了一個或者實施例被配置為不添加這種條目723,則不必添加條目723)。術語“地址集合”通常既是指完全指定的地址,又是指前綴(其通常代表完全指定的地址的相鄰集合)。
圖7C示出了一個實施例中使用的用于基于轉發(fā)信息庫來自動生成訪問控制列表拒絕條目的進程。處理開始于進程塊730,并且前進到進程塊732,在這里,輸入前綴集合(可能包括完全指定的地址)被識別出。接下來,在進程塊734中,構造二元trie,其具有與來自FIB的前綴相對應的許可節(jié)點。在進程塊736中,生成與缺少的子節(jié)點相對應的拒絕規(guī)則,以便識別未出現(xiàn)在FIB中的地址。如738所示,處理完成。(注意,當對FIB進行更新或執(zhí)行修改trie和節(jié)點以更新ACL條目的優(yōu)化進程時,可重復此進程)。
圖7D示出了一個實施例中使用的用于基于轉發(fā)信息庫來自動生成訪問控制列表拒絕條目的進程750。圖中示出的是遞歸程序GENERATE DENY,其接收trie的節(jié)點的標識作為其輸入。此程序在基于轉發(fā)信息庫(或其他源)創(chuàng)建許可節(jié)點的情況下遍歷二元trie,并且生成地址補集/所需要的拒絕ACL條目。如果當前節(jié)點是葉節(jié)點而不是許可節(jié)點,則生成與節(jié)點的前綴相對應的拒絕條目。如果兩個子節(jié)點都是許可狀態(tài),則處理完成。否則,如果節(jié)點只有一個孩子,則生成與不存在的子節(jié)點相對應的拒絕條目。否則,為每個不是許可狀態(tài)的子節(jié)點遞歸調用此程序。
圖8A示出了一個實施例中使用的用于利用強制無命中條目基于轉發(fā)信息庫和預定義的訪問控制列表來自動填充一個或多個訪問控制列表的進程。處理開始于進程塊800,并且前進到進程塊802,在這里從轉發(fā)信息庫中提取目的地地址(例如前綴和完全指定的地址)。在進程塊804中,基于這些目的地地址,ACL條目被識別,并且被編程到查找機構中以便匹配分組的源地址(例如用于執(zhí)行反向路徑轉發(fā)),并且與許可強制無命中指示相關聯(lián)。另外,將會匹配任何源地址的條目被編程在ACL中,并且被與拒絕狀態(tài)相關聯(lián)。接下來,進程塊806,基于預定義的ACL語句的ACL條目被編程,以便如果匹配強制無命中條目則這些ACL條目被搜索,這些ACL條目之后通常跟隨被標記為拒絕狀態(tài)的匹配任何源地址的條目。如進程塊808-814中所示,響應于對FIB或預定義的ACL語句的更新,相應的ACL條目被更新。
圖8B是示出一個實施例中生成和使用的訪問控制條目840的框圖。如圖所示,ACL條目集合850,包括基于來自FIB的目的地地址(例如前綴和完全指定的地址)并與強制無命中狀態(tài)相關聯(lián)的ACL條目851以及其后的(從搜索順序上而言)匹配任何源地址并且與拒絕狀態(tài)相關聯(lián)的條目852。ACL條目集合860包括基于預定義的訪問控制列表的ACL條目861以及其后的(從搜索順序上而言)匹配任何源地址并且與拒絕狀態(tài)相關聯(lián)的條目862。對ACL條目集合850執(zhí)行搜索以識別拒絕狀態(tài)或強制無命中狀態(tài)。如果識別出強制無命中狀態(tài),則ACL條目集合860的搜索結果被用作查找操作的結果。對ACL條目集合850和860的搜索可并行或順序完成。另外,無數(shù)的用于利用強制無命中狀態(tài)執(zhí)行查找操作的機構中的一種機構在2002年8月10日遞交的美國專利申請No.10/215,719中描述,這里通過引用將其全部公開文本包含進來。
圖8C示出了在具有強制無命中條目的ACL中執(zhí)行查找操作的一個實施例。處理開始于進程塊870,并前進到進程塊872,在這里對ACL條目集合執(zhí)行查找操作。如果在進程塊874中確定在第一ACL條目集合中識別出匹配,并且在進程塊876中確定它不對應于強制無命中狀態(tài),則在進程塊878中,使用從搜索順序上而言的第一個匹配結果(在一個實施例中,這將始終對應于拒絕狀態(tài)-例如條目852)。否則,如進程塊880所示,使用來自第二ACL條目集合的最高優(yōu)先級匹配結果。在一個實施例中,為多于兩個條目集合重復此進程。
考慮到本發(fā)明的原理適用的許多可能的實施例,可以意識到這里參考附圖描述的實施例及其各方面只是說明性的,而不應當被理解為限制了本發(fā)明的范圍。例如,正如本領域的技術人員將會明白的,許多進程塊操作可被重新排序,以便在其他操作之前、之后執(zhí)行或與其他操作基本上同時執(zhí)行。另外,在各種實施例中可使用許多不同形式的數(shù)據(jù)結構。這里所描述的本發(fā)明預期了可能處于以下權利要求書及其等同物的范圍內(nèi)的所有這種實施例。
權利要求
1.一種分組處理方法,其中在包括標識許可或拒絕狀態(tài)的訪問控制列表條目的訪問控制列表的基礎上以及在標識轉發(fā)位置的轉發(fā)信息庫的基礎上處理分組,所述方法包括基于所述轉發(fā)信息庫自動生成或更新所述訪問控制列表條目。
2.如權利要求1所述的方法,其中至少基于要處理的分組的源地址為要執(zhí)行的查找操作安排所述訪問控制列表條目和所述轉發(fā)信息庫,優(yōu)選地,其中至少基于所述分組的源地址為要利用公共查找值執(zhí)行的查找操作安排所述訪問控制列表條目和所述轉發(fā)信息庫兩者。
3.一種用于處理分組的方法,該方法包括通過從分組中提取一個或多個值來識別查找值,所述一個或多個值包括所述分組的源地址;基于所述查找值在訪問控制列表中執(zhí)行訪問控制列表查找操作,以識別許可或拒絕狀態(tài),其中所述訪問控制列表包括訪問控制列表條目;基于在所述執(zhí)行訪問控制列表查找操作的步驟中識別出的許可或拒絕狀態(tài)處理所述分組,其中所述基于許可狀態(tài)處理所述分組的步驟包括對轉發(fā)信息庫的表示執(zhí)行轉發(fā)查找操作以識別一個位置并將所述分組轉發(fā)到該位置;以及基于轉發(fā)信息庫自動生成所述訪問控制列表條目。
4.如前述任何一項權利要求所述的方法,其中所述自動生成所述訪問控制列表條目的步驟包括基于所述轉發(fā)信息庫和預定義的訪問控制列表自動生成所述訪問控制列表條目。
5.如前述任何一項權利要求所述的方法,其中所述自動生成所述訪問控制列表條目的步驟包括為與所述預定義的訪問控制列表的許可狀態(tài)相關聯(lián)的條目識別所述條目的源地址和所述轉發(fā)信息庫中的地址的交集,并且基于該交集生成一個或多個訪問控制列表條目。
6.如前述任何一項權利要求所述的方法,其中所述自動生成所述訪問控制列表條目的步驟包括基于所述轉發(fā)信息庫識別多個拒絕操作條目,所述多個拒絕操作對應于所述轉發(fā)信息庫中的地址的補集,還包括就搜索順序而言將所述多個拒絕操作條目放置在與所述預定義的訪問控制列表相對應的多個預定義的訪問控制列表條目之前;并且其中如果在所述執(zhí)行訪問控制列表查找操作的步驟期間所述多個拒絕操作條目之一被匹配,則所述拒絕狀態(tài)被生成。
7.如權利要求6所述的方法,其中所述基于所述轉發(fā)信息庫識別多個拒絕操作條目的步驟包括基于所述轉發(fā)信息庫構造二元trie,并且遍歷該二元trie以識別所述多個拒絕操作條目。
8.如權利要求2或4所述的方法,其中所述執(zhí)行訪問控制列表查找操作的步驟包括對關聯(lián)存儲器執(zhí)行關聯(lián)存儲器查找操作,其中所述訪問控制列表被編程到所述關聯(lián)存儲器中;并且其中基于所述轉發(fā)信息庫自動生成的所述條目被配置為如果在所述執(zhí)行關聯(lián)存儲器查找操作的步驟期間被匹配則生成強制無命中結果,以便基于與所述預定義的訪問控制列表相對應的關聯(lián)存儲器條目識別所述許可或所述拒絕狀態(tài),并且所述關聯(lián)存儲器包括一個或多個拒絕條目,以便如果基于所述轉發(fā)信息庫自動生成的所述條目中沒有一個被匹配則生成所述拒絕狀態(tài)。
9.如權利要求4所述的方法,其中響應于所述轉發(fā)信息庫或所述預定義的訪問控制列表的變化自動更新所述訪問控制列表條目。
10.如前述任何一項權利要求所述的方法,其中響應于所述轉發(fā)信息庫的變化自動更新所述訪問控制列表條目。
11.一種用于處理分組的裝置,該裝置包括用于通過從分組中提取一個或多個值來識別查找值的裝置,所述一個或多個值包括所述分組的源地址;用于基于所述查找值在訪問控制列表中執(zhí)行訪問控制列表查找操作以識別許可或拒絕狀態(tài)的裝置,其中所述訪問控制列表包括訪問控制列表條目;用于基于在所述執(zhí)行訪問控制列表查找操作的步驟中識別出的許可或拒絕狀態(tài)處理所述分組的裝置,其中所述基于許可狀態(tài)處理所述分組的步驟包括對轉發(fā)信息庫的表示執(zhí)行轉發(fā)查找操作以識別一個位置并將所述分組轉發(fā)到該位置;以及用于基于轉發(fā)信息庫自動生成所述訪問控制列表條目的裝置。
12.如權利要求11所述的裝置,其中所述用于自動生成所述訪問控制列表條目的裝置包括用于基于所述轉發(fā)信息庫和預定義的訪問控制列表自動生成所述訪問控制列表條目的裝置。
13.如權利要求12所述的裝置,其中所述用于自動生成所述訪問控制列表條目的裝置包括用于基于與所述預定義的訪問控制列表的許可狀態(tài)相關聯(lián)的條目和所述轉發(fā)信息庫中的地址的交集生成一個或多個訪問控制列表條目的裝置。
14.如權利要求12所述的裝置,其中所述自動生成所述訪問控制列表條目包括用于基于所述轉發(fā)信息庫識別多個拒絕操作條目的裝置,所述多個拒絕操作對應于所述轉發(fā)信息庫中的地址的補集;其中所述多個拒絕操作條目就搜索順序而言被放置在與所述預定義的訪問控制列表相對應的多個預定義的訪問控制列表條目之前;并且其中如果在所述訪問控制列表查找操作期間所述多個拒絕操作條目之一被匹配,則所述拒絕狀態(tài)被生成。
15.如權利要求14所述的裝置,其中所述用于基于所述轉發(fā)信息庫識別多個拒絕操作條目的裝置包括用于基于所述轉發(fā)信息庫構造二元trie并且用于遍歷該二元trie以識別所述多個拒絕操作條目的裝置。
16.如權利要求12所述的裝置,其中所述用于執(zhí)行訪問控制列表查找操作的裝置包括用于對關聯(lián)存儲器執(zhí)行關聯(lián)存儲器查找操作的裝置,其中所述訪問控制列表被編程到所述關聯(lián)存儲器中;并且其中基于所述轉發(fā)信息庫自動生成的所述條目被配置為如果在所述執(zhí)行關聯(lián)存儲器查找操作的步驟期間被匹配則生成強制無命中結果,以便基于與所述預定義的訪問控制列表相對應的關聯(lián)存儲器條目識別所述許可或所述拒絕狀態(tài),并且所述關聯(lián)存儲器包括一個或多個拒絕條目,以便如果基于所述轉發(fā)信息庫自動生成的所述條目中沒有一個被匹配則生成所述拒絕狀態(tài)。
17.如權利要求12所述的裝置,包括用于響應于所述轉發(fā)信息庫或所述預定義的訪問控制列表的變化自動更新所述訪問控制列表條目的裝置。
18.如權利要求11所述的裝置,包括用于響應于所述轉發(fā)信息庫的變化自動更新所述訪問控制列表條目的裝置。
19.一種裝置,包括查找值生成器,其被配置為用于通過從分組中提取一個或多個值來識別查找值,所述一個或多個值包括所述分組的源地址;訪問控制列表查找機構,其被配置為用于基于所述查找值在訪問控制列表中執(zhí)行訪問控制列表查找操作以識別許可或拒絕狀態(tài);分組處理器,其被配置為用于基于通過所述訪問控制列表查找操作識別出的許可或拒絕狀態(tài)處理所述分組,其中所述基于許可狀態(tài)處理所述分組的步驟包括對轉發(fā)信息庫的表示執(zhí)行轉發(fā)查找操作以識別一個位置并將所述分組轉發(fā)到該位置;以及訪問控制列表生成器,其被配置為用于基于所述轉發(fā)信息庫自動生成所述訪問控制列表中的條目。
20.如權利要求19所述的裝置,其中所述訪問控制列表生成器基于所述轉發(fā)信息庫和預定義的訪問控制列表自動生成條目。
21.如權利要求20所述的裝置,其中所述訪問控制列表生成器為與所述預定義的訪問控制列表的許可狀態(tài)相關聯(lián)的條目識別所述條目的源地址和所述轉發(fā)信息庫中的地址的交集,并且基于該交集生成一個或多個訪問控制列表條目。
22.如權利要求20所述的裝置,其中所述訪問控制列表生成器在生成所述訪問控制列表條目時基于所述轉發(fā)信息庫識別多個拒絕操作條目并且就搜索順序而言將所述多個拒絕操作條目放置在與所述預定義的訪問控制列表相對應的多個預定義的訪問控制列表條目之前;并且其中如果在所述訪問控制列表查找操作期間所述多個拒絕操作條目之一被匹配,則所述訪問控制列表查找機構生成所述拒絕狀態(tài)。
23.如權利要求22所述的裝置,其中所述訪問控制列表生成器通過執(zhí)行包括基于所述轉發(fā)信息庫構造和遍歷二元trie在內(nèi)的操作來基于所述轉發(fā)信息庫識別多個拒絕操作條目。
24.如權利要求20所述的裝置,其中所述訪問控制列表查找機構包括關聯(lián)存儲器;其中所述訪問控制列表被編程到所述關聯(lián)存儲器中;并且其中基于所述轉發(fā)信息庫自動生成的所述條目按以下方式被編程到所述關聯(lián)存儲器中如果在所述關聯(lián)存儲器查找操作期間被匹配則生成強制無命中結果以便基于與所述預定義的訪問控制列表相對應的關聯(lián)存儲器條目識別所述許可或所述拒絕狀態(tài),并且所述關聯(lián)存儲器包括一個或多個拒絕條目,以便如果基于所述轉發(fā)信息庫自動生成的所述條目中沒有一個被匹配則生成所述拒絕狀態(tài)。
25.如權利要求20所述的裝置,其中所述訪問控制列表生成器響應于所述轉發(fā)信息庫或所述預定義的訪問控制列表的變化更新所述訪問控制列表條目。
26.如權利要求19所述的裝置,其中所述訪問控制列表生成器響應于所述轉發(fā)信息庫的變化更新所述訪問控制列表條目。
27.一種計算機可讀介質或計算機程序或計算機程序產(chǎn)品,包含用于執(zhí)行如權利要求1至10中任何一項所述的方法的計算機可執(zhí)行指令。
28.一種計算機可讀介質或計算機程序或計算機程序產(chǎn)品,包含用于執(zhí)行用于處理分組的步驟的計算機可執(zhí)行指令,所述步驟包括通過從分組中提取一個或多個值識別查找值,所述一個或多個值包括所述分組的源地址;基于所述查找值在訪問控制列表中執(zhí)行訪問控制列表查找操作,以識別許可或拒絕狀態(tài),其中所述訪問控制列表包括訪問控制列表條目;基于在所述執(zhí)行訪問控制列表查找操作的步驟中識別出的許可或拒絕狀態(tài)處理所述分組,其中所述基于許可狀態(tài)處理所述分組的步驟包括對轉發(fā)信息庫的表示執(zhí)行轉發(fā)查找操作以識別一個位置并將所述分組轉發(fā)到該位置;以及基于轉發(fā)信息庫自動生成所述訪問控制列表條目。
29.如權利要求28所述的計算機可讀介質,其中所述自動生成所述訪問控制列表條目的步驟包括基于所跡轉發(fā)信息庫和預定義的訪問控制列表自動生成所述訪問控制列表條目。
30.如權利要求29所述的計算機可讀介質,其中所述自動生成所述訪問控制列表條目的步驟包括為與所述預定義的訪問控制列表的許可狀態(tài)相關聯(lián)的條目識別所述條目的源地址和所述轉發(fā)信息庫中的地址的交集,并且基于該交集生成一個或多個訪問控制列表條目。
31.如權利要求29所述的計算機可讀介質,其中所述自動生成所述訪問控制列表條目的步驟包括基于所述轉發(fā)信息庫識別多個拒絕操作條目,所述多個拒絕操作對應于所述轉發(fā)信息庫中的地址的補集,還包括就搜索順序而言將所述多個拒絕操作條目放置在與所述預定義的訪問控制列表相對應的多個預定義的訪問控制列表條目之前;并且其中如果在所述執(zhí)行訪問控制列表查找操作的步驟期間所述多個拒絕操作條目之一被匹配,則所述拒絕狀態(tài)被生成。
32.如權利要求31所述的計算機可讀介質,其中所述基于所述轉發(fā)信息庫識別多個拒絕操作條目的步驟包括基于所述轉發(fā)信息庫構造二元trie,并且遍歷該二元trie以識別所述多個拒絕操作條目。
33.如權利要求29所述的計算機可讀介質,其中所述執(zhí)行訪問控制列表查找操作的步驟包括對關聯(lián)存儲器執(zhí)行關聯(lián)存儲器查找操作,其中所述訪問控制列表被編程到所述關聯(lián)存儲器中;并且其中基于所述轉發(fā)信息庫自動生成的所述條目被配置為如果在所述執(zhí)行關聯(lián)存儲器查找操作的步驟期間被匹配則生成強制無命中結果,以便基于與所述預定義的訪問控制列表相對應的關聯(lián)存儲器條目識別所述許可或所述拒絕狀態(tài),并且所述關聯(lián)存儲器包括一個或多個拒絕條目,以便如果基于所述轉發(fā)信息庫自動生成的所述條目中沒有一個被匹配則生成所述拒絕狀態(tài)。
34.如權利要求29所述的計算機可讀介質,其中響應于所述轉發(fā)信息庫或所述預定義的訪問控制列表的變化自動更新所述訪問控制列表條目。
35.如權利要求28所述的計算機可讀介質,其中響應于所述轉發(fā)信息庫的變化自動更新所述訪問控制列表條目。
全文摘要
利用基于轉發(fā)信息庫的訪問控制列表自動填充提供了對分組(101、103)的反向路徑轉發(fā)保護。一種實現(xiàn)通過從分組中提取包括源地址(131)的一個或多個值來識別查找值?;诓檎抑祵υL問控制列表執(zhí)行訪問控制列表查找操作以識別許可或拒絕狀態(tài)(133),其中訪問控制列表包括多個訪問控制列表條目。基于通過訪問訪問控制列表查找操作識別出的許可或拒絕狀態(tài)處理分組,這種基于許可狀態(tài)的分組處理通常包括對轉發(fā)信息庫的表示執(zhí)行轉發(fā)查找操作以識別一個位置并將分組轉發(fā)到該位置?;谵D發(fā)信息庫自動生成訪問控制列表條目。
文檔編號G06F17/30GK1826591SQ200480020776
公開日2006年8月30日 申請日期2004年8月26日 優(yōu)先權日2003年8月28日
發(fā)明者皮拉姆·馬里姆素, 普里彥克拉曼施·瓦克赫德 申請人:思科技術公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
申扎县| 佳木斯市| 饶河县| 景洪市| 肃宁县| 进贤县| 喀喇| 交城县| 阿克陶县| 分宜县| 苍南县| 玉山县| 竹山县| 玛纳斯县| 博湖县| 巴中市| 洪湖市| 丘北县| 闽清县| 于田县| 武宁县| 江门市| 凤阳县| 古蔺县| 定日县| 鸡东县| 朝阳区| 嘉义县| 津南区| 曲沃县| 潼关县| 陆河县| 金山区| 永平县| 和林格尔县| 邳州市| 安塞县| 平安县| 汉中市| 邵阳县| 枞阳县|