專利名稱:使用虛擬接口在轉(zhuǎn)發(fā)上下文之間傳送分組的制作方法
技術領域:
本發(fā)明的一個實施例涉及通信和計算機系統(tǒng),尤其是路由器、分組交
換系統(tǒng)和其他設備;更具體地, 一個實施例涉及使用虛擬接口在轉(zhuǎn)發(fā)上下 文(forwarding context)之間傳送分組。
背景技術:
通信業(yè)正在迅速改變以適應新型技術和不斷增加的客戶需求。對新應 用和現(xiàn)有應用的性能提高的該客戶需求驅(qū)使通信網(wǎng)絡和系統(tǒng)供應商采用具 有更高速度和容量(例如,更大帶寬)的網(wǎng)絡和系統(tǒng)。在完成這些目標的 嘗試中,很多通信供應商采取的通用方法是使用分組交換技術。漸漸地, 公共和私有通信網(wǎng)絡通過諸如因特網(wǎng)協(xié)議(IP)之類的各種分組技術被構 建和擴展。注意,除非明確指出,否則本文描述或引用的任何事物都不作 為本申請的現(xiàn)有技術。
分組交換設備己從每個設備表示單個路由器或橋的設備演化成支持多 "轉(zhuǎn)發(fā)上下文"的設備。如這里所使用的,轉(zhuǎn)發(fā)上下文包括但不限于虛擬 路由器、邏輯路由器和/或虛擬私有網(wǎng)絡。每個轉(zhuǎn)發(fā)上下文維護或關聯(lián)與其 自身相關的分組轉(zhuǎn)發(fā)信息。例如,兩個邏輯路由器可以設在相同的物理設 備中,但這些不同的轉(zhuǎn)發(fā)上下文將維護不同的路由表和轉(zhuǎn)發(fā)信息庫,以在 處理和轉(zhuǎn)發(fā)分組時使用。
當然,分組在一個轉(zhuǎn)發(fā)上下文中的該處理可以確定某些分組應被傳送 到一個不同的轉(zhuǎn)發(fā)上下文中。過去,這意味著分組應被發(fā)送到一個不同的 分組交換設備。然而如今,這些不同的轉(zhuǎn)發(fā)上下文設在相同的物理分組交 換機中是可能的,例如位于單個物理路由器的不同邏輯或虛擬路由器中。
用于在兩個轉(zhuǎn)發(fā)上下文之間特別是邏輯路由器之間(例如,其中每個 線路卡只屬于單個轉(zhuǎn)發(fā)上下文)傳送分組的一個現(xiàn)有方法例示于圖1A。示出分組交換機100,其包括三個轉(zhuǎn)發(fā)上下文101、 102和103,這些設備 具有物理接口 111-116。該方法使用物理線纜121-123來連接不同的轉(zhuǎn)發(fā)上 下文101-103,這要求技術員正確地連接用于每對轉(zhuǎn)發(fā)上下文的物理線 纜。
用于在兩個轉(zhuǎn)發(fā)上下文之間特別是虛擬路由器之間傳送分組的另一個 現(xiàn)有技術例示于圖1B。示出分組交換機140,其包括三個轉(zhuǎn)發(fā)上下文 141、 142和143。這些轉(zhuǎn)發(fā)上下文使用進程間通信151-156 (例如,標準 IPC或?qū)S糜布蜍浖?來在這些轉(zhuǎn)發(fā)上下文141-143之間傳送分組。為 了傳送分組并提供將特征應用于這些分組的機制,該方法需要專用硬件和 軟件研發(fā)。這些特征的示例包括但不限于訪問控制列表(ACL)、服務 質(zhì)量(QoS)(例如,承諾的訪問速度,限速,成形,標記等)、累積的/ 采樣的網(wǎng)絡流量計費、單播逆向路徑轉(zhuǎn)發(fā)(uRPF)、基于策略的路由、邊 界網(wǎng)關協(xié)議(BGP)策略計費、經(jīng)由BGP的QoS策略傳播、計費、統(tǒng) 計、網(wǎng)絡緩存重定向、合法偵聽、IPSec加密/解密,入侵檢測和避免、滿 狀態(tài)防火墻(state-foil firewall)、網(wǎng)絡地址轉(zhuǎn)換以及基于網(wǎng)絡的應用辨
認o
發(fā)明內(nèi)容
公開了在通信和計算系統(tǒng)特別是路由器、分組交換系統(tǒng)和其他設備 中,使用虛擬接口在轉(zhuǎn)發(fā)上下文之間傳送分組的方法、設備、數(shù)據(jù)結構、 計算機可讀介質(zhì)、機制和裝置及其他。如這里使用的,虛擬接口指接口基 礎架構(例如,緩沖器、存儲位置、其他數(shù)據(jù)結構),但不連接到如物理 接口之類的外部線纜或其他通信機制。
一個實施例包括第一轉(zhuǎn)發(fā)上下文,其被配置成基于第一轉(zhuǎn)發(fā)信息庫
來識別用于分組的轉(zhuǎn)發(fā)信息;第二轉(zhuǎn)發(fā)上下文,其被配置成基于第二轉(zhuǎn)發(fā) 信息庫來識別用于分組的轉(zhuǎn)發(fā)信息;第一虛擬接口,其被配置成接收分 組,所述第一虛擬接口與所述第一轉(zhuǎn)發(fā)上下文相關聯(lián);第二虛擬接口,其 被配置成發(fā)送分組,所述第二虛擬接口與所述第二轉(zhuǎn)發(fā)上下文相關聯(lián);以 及上下文轉(zhuǎn)發(fā)器,其耦合到所述第一和第二虛擬接口,被配置成將由第一虛擬接口接收到但在第一虛擬接口處未被丟棄的所有分組自動移動到第二 虛擬接口 。第一轉(zhuǎn)發(fā)上下文被配置成基于第一轉(zhuǎn)發(fā)信息庫針對特定分組確 定該特定分組將轉(zhuǎn)發(fā)到第二轉(zhuǎn)發(fā)上下文,并且響應于所述確定,第一轉(zhuǎn)發(fā) 上下文被配置成將該特定分組移動到第一虛擬接口 ;其中所述裝置被配置 使得該特定分組在第一虛擬接口處不會被丟棄。 一個實施例包括上下文轉(zhuǎn) 發(fā)器以提供多個轉(zhuǎn)發(fā)上下文之間的互連,以便相同的虛擬接口可用于將分 組傳送到不同的轉(zhuǎn)發(fā)上下文。在一個實施例中,第一和第二虛擬接口中的 每一個是雙向的,以便分組可以自動從第一虛擬接口移動到第二虛擬接 口,并且從第二虛擬接口移動到第一虛擬接口。
所附權利要求具體提出本發(fā)明的特征。本發(fā)明及其優(yōu)點通過以下詳細 說明結合附圖將得到最好的理解。 圖1A-B現(xiàn)有網(wǎng)絡配置;
圖2A是例示分組交換機的框圖,所述分組交換機使用虛擬接口在其
多個轉(zhuǎn)發(fā)上下文之間傳送分組;
圖2B是例示在一個實施例中使用的處理的流程圖,所述處理使用虛 擬接口在多個轉(zhuǎn)發(fā)上下文之間傳送分組;
圖2C是例示在一個實施例中使用的處理的流程圖,所述處理使用虛 擬接口在多個轉(zhuǎn)發(fā)上下文之間傳送分組;
圖3A是例示分組交換機的框圖,所述分組交換機使用虛擬接口在其 多個轉(zhuǎn)發(fā)上下文之間傳送分組;
圖3B是例示分組交換機的框圖,所述分組交換機使用虛擬接口在其 多個轉(zhuǎn)發(fā)上下文之間傳送分組;
圖3C例示可以在一個實施例中使用的示例性數(shù)據(jù)結構;
圖3D是例示在一個實施例中使用的處理的流程圖,所述處理使用虛 擬接口在多個轉(zhuǎn)發(fā)上下文之間傳送分組;
圖4是例示多個耦合的轉(zhuǎn)發(fā)上下文的框圖;以及
圖5是在一個實施例中使用的系統(tǒng)或組件的框圖。
具體實施例方式
公開了在通信和計算系統(tǒng)特別是路由器、分組交換系統(tǒng)和其他設備 中,使用虛擬接口在轉(zhuǎn)發(fā)上下文之間傳送分組的方法、設備、數(shù)據(jù)結構、 計算機可讀介質(zhì)、機制和裝置及其他。
注意,這里描述的實施例包括各種元素和限制,沒有一個元素或限制 被認為是關鍵元素或限制。每個權利要求各自完整地記述了發(fā)明的一個方 面。另外,描述的某些實施例可包括但不限于系統(tǒng)、網(wǎng)絡、集成電路芯 片、嵌入式處理器、ASCI、方法和包含指令的計算機可讀介質(zhì)等。 一個或 多個系統(tǒng)、設備、組件等可包含一個或多個實施例,這些實施例可包括由 相同或不同系統(tǒng)、設備、組件等執(zhí)行的權利要求的某些元素或限制。之后 描述的實施例體現(xiàn)了本發(fā)明的范圍和精神內(nèi)的各個方面和配置,附圖例示 示例性和非限制性配置。注意,用于執(zhí)行方法和處理塊操作的計算機可讀 介質(zhì)和裝置被公開并遵守本發(fā)明的可擴充范圍和精神。
如這里所使用的,術語"分組"指代所有類型的分組或任何其他數(shù)據(jù) 或信息單元,包括但不限于固定程度信元和可變長度分組,它們中的每一 個可以或不可以被劃分成更小的分組或信元。這里使用的術語"分組"還 指代分組本身或分組指示符,例如但不限于分組或分組首部、數(shù)據(jù)結構 值、指針或索引或任何其他部分或者分組或與之相關的信息的直接或間接 指示符的全部或部分。例如,路由器常常在分組特別是首部的一個或多個 字段或數(shù)據(jù)上操作,因此分組主體常常存儲在單獨的存儲器中同時分組首 部被操縱,并且基于分組(即,本例中的分組首部)的處理結果,整個分 組被轉(zhuǎn)發(fā)或丟棄等。此外,這些分組可包含一種或多種類型的信息,包括 但不限于語音、數(shù)據(jù)、視頻和音頻信息。術語"項"在這里一般用于指代 分組或任何其他信息或數(shù)據(jù)單元或段,或者設備、組件、元素或任何其他 實體。短語"處理分組"和"分組處理"通常指基于分組內(nèi)容(例如,分 組首部或其他字段)執(zhí)行某些步驟或動作,并且這種步驟或動作可以或可 以不包括修改、存儲、丟棄和/或轉(zhuǎn)發(fā)分組和/或相關數(shù)據(jù)。術語或引用 "丟棄"分組或其等同物(例如,丟棄分組,分組被丟棄等)在這里用于識別分組的物理丟棄、導致分組被丟棄和/或標記或區(qū)分分組以便以后丟棄 或者與"被承認"分組的處理可能不同的處理(例如,更有可能被后續(xù)處
理丟棄、早期擁塞指示標記等)。術語聯(lián)網(wǎng)設備的"接口"指物理接口、 邏輯接口 (例如,物理接口的一部分或者有時在業(yè)界被稱為子接口一例如
但不限于與網(wǎng)絡接口相關的特定VLAN),以及/或者虛擬接口 (例如,基 于例如不限于隧道接口之類的某些特性組合在一起的流量)。
術語"系統(tǒng)"在這里一般用于描述任何數(shù)目的地組件、元素、子系 統(tǒng)、設備、分組交換元素、分組交換機、路由器、網(wǎng)絡、計算機和/或通信 設備或機制或其組件的合并。術語"計算機"在這里一般用于描述任何數(shù) 目的地計算機,包括但不限于個人計算機、嵌入式處理元素和系統(tǒng)、控制 邏輯、ASIC、芯片、工作站、主機等。術語"處理元素"在這里一般用于 描述任何類型的處理機制或設備,如處理器、ASCI、現(xiàn)場可編程門陣列、 計算機等。術語"設備"在這里一般用于描述任何類型的機制,包括計算 機或系統(tǒng)或其組件。術語"任務"和"處理"在這里一般用于描述任何類 型的運行程序,包括但不限于計算機進程、任務、線程、執(zhí)行應用、操作 系統(tǒng)、用戶進程、設備驅(qū)動器、本機代碼、機器或其他語言等,并且可以 是交互的或非交互的、邏輯地和/或遠程地運行的、在前臺和/或后臺運行 的、在用戶和/或存在系統(tǒng)地址空間中運行的、庫和/或獨立應用程序的例 程,并且不限于任何特定的存儲器分割技術。附圖中例示的步驟、連接和 信號及信息的處理包括但不限于任何框圖、流程圖和消息序列圖,通???按相同或不同的串行或并行次序、并且/或者由不同組件和/或處理、線程 等、并且/或者通過不同連接并與其他實施例中的其他功能相結合地執(zhí)行, 除非這使實施例失效或者明確或不明確地要求一個順序(例如,對于讀取 值、處理值的順序一在處理該值之前必須先獲得該值,雖然相關的某些處 理可以在讀取操作之前、同時和/或之后執(zhí)行)。另外,術語"識別"在這 里一般用于描述任何直接或間接確認某事物的方式或機制,可包括但不限 于接收、從存儲器中取得、確定、定義、計算、生成等。
另外,術語"網(wǎng)絡"和"通信機制"在這里一般用于描述一個或多個 網(wǎng)絡、通信介質(zhì)或通信系統(tǒng),包括但不限于因特網(wǎng)、公共或私有電話、蜂窩、無線、衛(wèi)星、有線、局域、城域和/或廣域網(wǎng)絡、線纜、電連接、總線 等,以及諸如消息傳遞、進程間通信、共享存儲器等的內(nèi)部通信機制。術 語"消息"在這里一般用于描述可以是也可以不是但通常經(jīng)由任何類型的 一種或多種通信機制來傳送的一條消息。
術語"存儲機制"包括任何類型的用于維護任何格式的指令或數(shù)據(jù)的 存儲器、存儲設備或其他機制。"計算機可讀介質(zhì)"是包含任何存儲器、 存儲設備和/或其他存儲機制的可擴充術語。術語"存儲器"包括但不限于
任何隨機存取存儲器(RAM)、只讀存儲器(ROM)、閃存、集成電路
和/或其他存儲組件或元素。術語"存儲設備"包括任何固態(tài)存儲介質(zhì)、磁 盤驅(qū)動器、磁碟、聯(lián)網(wǎng)服務、磁帶驅(qū)動器和任何其他類型的存儲設備。存 儲器和存儲設備可存儲將由處理元素和/或控制邏輯執(zhí)行的計算機可執(zhí)行指 令,以及被處理元素和/或控制邏輯操縱的數(shù)據(jù)。術語"數(shù)據(jù)結構"是可擴 充術語,指代任何數(shù)據(jù)元素、變量、數(shù)據(jù)結構、數(shù)據(jù)庫和/或一種或多種可 以應用于數(shù)據(jù)以方便解譯數(shù)據(jù)或?qū)ζ鋱?zhí)行操作的組織方案,包括但不限于 存儲位置或器件、集、隊列、數(shù)、堆、列表、鏈表、數(shù)組、表、指針等。 數(shù)據(jù)結構通常以一種存儲機制來維護。術語"指針"和"鏈接"在這里一 般用來標識用于引用或標識另一元素、組件或其他實體的某些機制,它們 可包括但不限于對存儲器或其他存儲機制或其位置的引用、數(shù)據(jù)結構中的 索引、值等。
術語"一個實施例"在這里用于引用特定實施例,其中對"一個實施 例"的每個引用可指代不同的實施例,并且描述相關特征、元素和/或限制 時,該術語在此的重復使用不建立每一個實施例必須包含的相關特征、元 素和/或限制的累積集合,雖然實施例通??赡馨ㄋ羞@些特征、元素和 /或限制。另外,短語"用于...的裝置"通常包括包含用于執(zhí)行...的計算機 可執(zhí)行指令的計算機可讀介質(zhì)。
另外,術語"第一"、"第二"等在這里通常用于表示不同單元(例 如,第一元素、第二元素)。這些術語在這里的使用不一定暗含諸如一個 單元或事件在另 一個之前出現(xiàn)或到來之類的次序,而是提供在特定單元之 間進行區(qū)分的機制。此外,名詞的單數(shù)時態(tài)的使用是非限制性的,該使用通常包括一個或多個該特定事物而非僅一個(例如,單詞"存儲器"的使 用通常指代一個或多個存儲器,不必指明"存儲器或多個存儲器"或"一 個或多個存儲器"或"至少一個存儲器"等)。此外,短語"基于X"和 "響應于X"用于指示從中獲取或?qū)е履呈挛锏捻?X"的最小集合,其中 "X"是可擴充的并且不一定必須描述對其執(zhí)行了操作等的項的完整列 表。另外,短語"耦合到"用于指示兩個元素或設備之間的某種級別的直 接或間接連接,耦合的設備或多個設備修改或不修改耦合的信號或傳送的 信息。術語"子集"用于指示一個集合的所有元素的全部或不到全部的組 合。術語"子樹"用于指示全部樹的所有或不到全部。另外,術語"或" 在這里用于標識連接項的一個或多個(包括全部)的選擇。另外,與"包 括"、"含有"或"特征是"是同義詞的過渡術語"包含"是包含性的或 開放式的,不排除附加的、未記載的元素或方法步驟。
公開了在通信和計算系統(tǒng)特別是路由器、分組交換系統(tǒng)和其他設備 中,使用虛擬接口在轉(zhuǎn)發(fā)上下文之間傳送分組的方法、設備、數(shù)據(jù)結構、 計算機可讀介質(zhì)、機制和裝置及其他。
一個實施例包括第一轉(zhuǎn)發(fā)上下 文,被配置成基于第一轉(zhuǎn)發(fā)信息庫來識別用于分組的轉(zhuǎn)發(fā)信息;第二轉(zhuǎn)發(fā) 上下文,被配置成基于第二轉(zhuǎn)發(fā)信息庫來識別用于分組的轉(zhuǎn)發(fā)信息;第一
虛擬接口,被配置成接收分組,所述第一虛擬接口與所述第一轉(zhuǎn)發(fā)上下文
相關聯(lián);第二虛擬接口,被配置成發(fā)送分組,所述第二虛擬接口與所述第 二轉(zhuǎn)發(fā)上下文相關聯(lián);以及上下文轉(zhuǎn)發(fā)器,耦合到所述第一和第二虛擬接 口 ,被配置成 自動將由第一虛擬接口接收但在第一虛擬接口處未丟棄的所 有分組移動到第二虛擬接口 。第一轉(zhuǎn)發(fā)上下文被配置成基于第一轉(zhuǎn)發(fā)信息 庫針對特定分組進行確定以將該特定分組轉(zhuǎn)發(fā)到第二轉(zhuǎn)發(fā)上下文,并且響 應于所述確定,第一轉(zhuǎn)發(fā)上下文被配置成將該特定分組移動到第一虛擬接 口 ;其中裝置被配置使得該特定分組在第一虛擬接口不會被丟棄。
一個實施例包括:第一轉(zhuǎn)發(fā)上下文應用處理器,被配置成將一個或多 個特征應用到所述由第一虛擬接口接收的分組;并且其中所述上下文轉(zhuǎn)發(fā) 器被配置成自動將未被所述特征的應用丟棄的所有分組移動到第二虛擬接 口。在一個實施例中,所述裝置被配置成將一個或多個特征應用到第一虛擬接口和第二虛擬接口中的分組。 一個實施例包括耦合到第二虛擬接口的 統(tǒng)計信息收集器,該統(tǒng)計信息收集器被配置成收集用于處理所述移動到第 二虛擬接口的分組的統(tǒng)計信息。在一個實施例中,所述裝置被配置成對接 收到第一虛擬接口中的分組收集用于處理第一虛擬接口中的所述分組的統(tǒng) 計信息,并被配置成對接收到第二虛擬接口中的分組收集用于處理第二虛 擬接口中的所述分組的統(tǒng)計信息。
一個用于處理分組的實施例包括在分組交換設備中的轉(zhuǎn)發(fā)上下文之間 移動分組的能力。 一個實施例包括多個不同的轉(zhuǎn)發(fā)上下文,被配置成基 于它們各自的轉(zhuǎn)發(fā)信息庫來識別用于分組的轉(zhuǎn)發(fā)信息;上下文轉(zhuǎn)發(fā)器,被 配置成在所述多個不同的轉(zhuǎn)發(fā)上下文之中轉(zhuǎn)發(fā)分組;以及多個背靠背
(back-to-back)虛擬接口對,每個所述背靠背虛擬接口對包括第一虛擬接 口和第二虛擬接口,其中所述每個背靠背虛擬接口對的第一虛擬接口與所 述多個不同的轉(zhuǎn)發(fā)上下文中的一個不同轉(zhuǎn)發(fā)上下文相關聯(lián),并且其中所述 每個背靠背虛擬接口對的第二虛擬接口與所述上下文轉(zhuǎn)發(fā)器相關聯(lián)。在一 個實施例中,上下文轉(zhuǎn)發(fā)器被配置成在所述背靠背虛擬接口對的第二虛擬 接口上接收分組,并且對于所述在第二虛擬接口上接收的多個分組的每個 特定分組,識別向所述多個不同的轉(zhuǎn)發(fā)上下文中的哪個特定轉(zhuǎn)發(fā)上下文來 轉(zhuǎn)發(fā)所述特定分組并將所述特定分組移動到與所述特定轉(zhuǎn)發(fā)上下文相對應 的多個背靠背虛擬接口對的第二虛擬接口;并且其中所述裝置被配置成自 動將在所述第一接口上接收的分組移動到每個所述多個背靠背虛擬接口對 的第二接口 ,并自動將在所述第二接口上接收的分組移動到每個所述多個 背靠背虛擬接口對的第一接口。
在一個實施例中,多個轉(zhuǎn)發(fā)上下文的每一個被配置成當分組基于其轉(zhuǎn) 發(fā)信息庫被確定為轉(zhuǎn)發(fā)到所述多個轉(zhuǎn)發(fā)上下文的一個不同的目的地轉(zhuǎn)發(fā)上 下文時,將與所述不同的目的地轉(zhuǎn)發(fā)上下文相對應的標簽附加到該分組 上;并且其中上下文轉(zhuǎn)發(fā)器被配置成響應于在多個第二虛擬接口之一上接 收分組、基于附加到該分組的標簽來識別向所述多個第二虛擬接口的哪一 個來移動該分組。
在一個實施例中,多個轉(zhuǎn)發(fā)上下文的每一個被配置成當分組基于其轉(zhuǎn)
14發(fā)信息庫被確定為轉(zhuǎn)發(fā)到所述多個轉(zhuǎn)發(fā)上下文的一個不同的目的地轉(zhuǎn)發(fā)上 下文時,將與所述多個轉(zhuǎn)發(fā)上下文的當前轉(zhuǎn)發(fā)上下文相對應的源標簽和與 所述不同目的地轉(zhuǎn)發(fā)上下文相對應的目的地標簽附加到該分組上;并且其 中上下文轉(zhuǎn)發(fā)器被配置成響應于在多個第二虛擬接口之一上接收分組、基 于附加到該分組的源標簽和目的地標簽來識別向所述多個第二虛擬接口的 哪一個來移動該分組。
一個實施例包括第一轉(zhuǎn)發(fā)上下文應用處理器,與多個不同的轉(zhuǎn)發(fā)上 下文的至少一個相關聯(lián),被配置成將一個或多個特征應用到由所述多個不 同的轉(zhuǎn)發(fā)上下文的至少一個轉(zhuǎn)發(fā)上下文的第一虛擬接口接收的分組上。
一個實施例在分組交換系統(tǒng)中的轉(zhuǎn)發(fā)上下文之間移動分組,所述分組 交換系統(tǒng)包括多個虛擬接口,所述多個虛擬接口包括第一虛擬接口和第二 虛擬接口,所述轉(zhuǎn)發(fā)上下文包括與第一虛擬接口相關聯(lián)的第一轉(zhuǎn)發(fā)上下文 和與第二虛擬接口相關聯(lián)的第二轉(zhuǎn)發(fā)上下文。對于被第一轉(zhuǎn)發(fā)上下文確定 為轉(zhuǎn)發(fā)到第二轉(zhuǎn)發(fā)上下文的多個分組的每個特定分組,所述特定分組被移 動到第一虛擬接口。對于置于第一虛擬接口中的每個獨特分組,所述獨特 分組被移動到第二虛擬接口,所述獨特分組被第二轉(zhuǎn)發(fā)上下文處理。在一 個實施例中,特征被應用到這些虛擬接口的一個或多個虛擬接口上。
一個實施例包括第一轉(zhuǎn)發(fā)上下文,被配置成基于第一轉(zhuǎn)發(fā)信息庫來 識別用于分組的轉(zhuǎn)發(fā)信息;第二轉(zhuǎn)發(fā)上下文,被配置成基于第二轉(zhuǎn)發(fā)信息
庫來識別用于分組的轉(zhuǎn)發(fā)信息;第一虛擬接口,被配置成接收分組,所述 第一虛擬接口與第一轉(zhuǎn)發(fā)上下文相關聯(lián);第二虛擬接口,被配置成發(fā)送分 組,所述第二虛擬接口與第二轉(zhuǎn)發(fā)上下文相關聯(lián);以及自動將由第一虛擬 接口接收但在第一虛擬接口處未丟棄的所有分組移動到第二虛擬接口中的 裝置。 一個實施例包括將特征應用到由第一虛擬接口接收的分組上的裝 置。 一個實施例包括將特征應用到由第二虛擬接口接收的分組上的裝置。 在一個實施例中,第一和第二轉(zhuǎn)發(fā)上下文與不同的私有網(wǎng)絡相關聯(lián)。 在一個實施例中,第一和第二轉(zhuǎn)發(fā)上下文與不同的邏輯路由器相關聯(lián)。在 一個實施例中,第一轉(zhuǎn)發(fā)上下文、第二轉(zhuǎn)發(fā)上下文、第一虛擬接口、第二 虛擬接口以及上下文轉(zhuǎn)發(fā)器設于分組交換設備的單個線路卡上。在第一實施例中,第一轉(zhuǎn)發(fā)上下文、第二轉(zhuǎn)發(fā)上下文、第一虛擬接口、第二虛擬接 口以及上下文轉(zhuǎn)發(fā)器設于分組交換設備的單個線路卡上。
在一個實施例中,上下文轉(zhuǎn)發(fā)器僅是自動將分組從虛擬接口對中的一 個虛擬接口移動到虛擬接口對中的另一個虛擬接口的機制或處理。在一個 實施例中,上下文轉(zhuǎn)發(fā)器可以(例如,基于數(shù)據(jù)結構查找操作或通過另一 途徑)確定自動將置于其虛擬接口之一中的分組移動到多個虛擬接口中的 哪一個。在一個實施例中,上下文轉(zhuǎn)發(fā)器可提供其他功能,例如但不限于 將特征應用到(例如,存儲在其多個虛擬接口之一中的或從其多個虛擬接 口之一移開的)分組。
轉(zhuǎn)向附圖,圖2A例示分組交換機200,通過兩個轉(zhuǎn)發(fā)上下文210和 230示出。為了便于解釋,轉(zhuǎn)發(fā)上下文210和230被例示為包含相同的組 件;當然,在一個實施例中,轉(zhuǎn)發(fā)上下文210和230以不同的方式來實 現(xiàn)。另外,雖然一個實施例具有多于兩個轉(zhuǎn)發(fā)上下文,互連結構通常以滿 足特定應用需要的方式來實現(xiàn),但是圖2A例示兩個轉(zhuǎn)發(fā)上下文。
如所示,轉(zhuǎn)發(fā)上下文210 (例如,虛擬路由器,邏輯路由器、虛擬私 有網(wǎng)絡等)包括路由處理器212,路由處理器212使用轉(zhuǎn)發(fā)信息庫數(shù)據(jù)結 構211來確定向哪兒轉(zhuǎn)發(fā)分組(例如,向不同的轉(zhuǎn)發(fā)上下文轉(zhuǎn)發(fā)分組一這 在一個實施例中是通過虛擬接口來執(zhí)行的)。在一個實施例中,分組交換 機制213以通信的方式耦合虛擬接口 215-216和物理接口 217-218。分組可 以通過接口 215-218被轉(zhuǎn)發(fā)到不同的轉(zhuǎn)發(fā)上下文。物理接口 217-218例如 使用共享端口適配卡226連接到外部通信機制。與轉(zhuǎn)發(fā)上下文210類似, 轉(zhuǎn)發(fā)上下文230 (例如,虛擬路由器、邏輯路由器、虛擬私有網(wǎng)絡等)包 括路由處理器232,路由處理器232使用轉(zhuǎn)發(fā)信息庫數(shù)據(jù)結構231來確定 向哪兒轉(zhuǎn)發(fā)分組。在一個實施例中,分組交換機制233以通信的方式耦合 虛擬接口 235-236和物理接口 237-238。分組可以通過接口 235-238被轉(zhuǎn)發(fā) 到不同的轉(zhuǎn)發(fā)上下文。物理接口 237-238例如使用共享端口適配卡236連 接到外部通信機制。
轉(zhuǎn)發(fā)上下文210和230使用虛擬接口 215和235來傳送分組。在一個 實施例中,當分組置于這些虛擬接口之一中時,它被上下文轉(zhuǎn)發(fā)器220自動移動到其他轉(zhuǎn)發(fā)上下文中它的成對的虛擬接口中。 一個實施例允許特征 被應用到接口處的分組上;并且在這種情況下,若分組未被特征的應用
(214, 234)丟棄,則上下文轉(zhuǎn)發(fā)器220自動將置于接口 215或235中的 所有分組移動到其他接口。因此, 一個實施例充分利用標準的接口機制 (允許特征被應用到分組),但虛擬化該接口并添加上下文轉(zhuǎn)發(fā)器220以 自動將在虛擬接口處未丟棄的所有分組移動到其相應的成對虛擬接口 。換 言之,虛擬接口 215和235在到達一個接口 (但在該接口處未被丟棄)的 所有分組將被移動到另一接口方面是"背靠背"接口。這提供了用于在轉(zhuǎn) 發(fā)上下文之間傳送分組的有效機制,同時提供了將特征應用到每個虛擬接 口處的這些分組的能力。轉(zhuǎn)發(fā)上下文210被示為包括(一個或多個)其他 虛擬接口 (216),并且轉(zhuǎn)發(fā)上下文230被示為包括(一個或多個)其他 虛擬接口 (236),所述虛擬接口允許分組在其他轉(zhuǎn)發(fā)上下文(未示出) 之間的成對方式的轉(zhuǎn)發(fā)。
圖2B是例示使用虛擬接口在多個轉(zhuǎn)發(fā)上下文之間傳送分組的一個實 施例中所使用的處理的流程圖。處理開始于處理塊250。當處理塊253中 確定虛擬接口中存在分組時,處理塊256-258例示的處理被執(zhí)行。在處理 塊256中,虛擬接口對的相應目的地虛擬接口按需要被確定(例如,在一 個實施例中,上下文轉(zhuǎn)發(fā)器被用來在多個轉(zhuǎn)發(fā)上下文之間移動分組,所以 源虛擬接口可能需要確定虛擬接口對中它的相應目的地虛擬接口)。在處 理塊258中,特征被可選地應用到分組,任何該分組從第一 (源)虛擬接 口被移動到第二 (目的地)虛擬接口。在一個實施例中,與第一虛擬接口/ 第一轉(zhuǎn)發(fā)上下文相關聯(lián)的第一組特征被應用到分組,然后/或者與第二虛擬 接口/第二轉(zhuǎn)發(fā)上下文相關聯(lián)的特征被應用到分組。特征的應用可以由特征 應用處理器、由上下文轉(zhuǎn)發(fā)器、或由另一機制對虛擬接口中的或從虛擬接 口移開的分組執(zhí)行。處理返回處理塊253。
圖2C是例示使用虛擬接口在多個轉(zhuǎn)發(fā)上下文之間傳送分組的一個實 施例中所使用的處理的流程圖。處理開始于處理塊270。當處理塊273確 定虛擬接口中存在分組時,處理塊275-286例示的處理被執(zhí)行。
如處理塊275所確定,若一個或多個特征將被應用到分組上,則在處理塊276中應用這些特征;若分組被處理塊279確定的分組處理丟棄,則 處理返回處理塊273。否則,在處理塊280中,虛擬接口對的相應目的地 虛擬接口按需要被確定(例如,在一個實施例中,上下文轉(zhuǎn)發(fā)器被用來在 多個轉(zhuǎn)發(fā)上下文之間移動分組,所以源虛擬接口可能需要確定虛擬接口對 中它的相應目的地虛擬接口)。在處理塊282中,分組從第一 (源)虛擬 接口被移動到第二 (目的地)虛擬接口。如處理塊285-286所例示,特征 還可在虛擬接口對的第二 (目的地)虛擬接口處應用。處理返回處理塊 273。
圖3A是例示使用虛擬接口來在其多個轉(zhuǎn)發(fā)上下文之間傳送分組的分 組交換機的框圖。圖3A例示包括多個(即,至少兩個)轉(zhuǎn)發(fā)上下文301 和305的分組交換機300。上下文轉(zhuǎn)發(fā)器309用來在這些轉(zhuǎn)發(fā)上下文301 和305之中移動分組。在一個實施例中,每個轉(zhuǎn)發(fā)上下文301、 305包括 單個虛擬接口 302、 306。在基于第一虛擬接口本身、由路由處理器或由另 一機制關聯(lián)到分組上的目的地標簽和/或源標簽來確定目的地接口后,上下 文轉(zhuǎn)發(fā)器309將非丟棄的分組從虛擬接口 302、 306的第一 (源)虛擬接 口移動到第二 (目的地)虛擬接口 302、 306。
圖3B例示與圖3A所示類似、但其上下文轉(zhuǎn)發(fā)器實現(xiàn)方式不同的分組 交換機310。如所示,分組交換機310包括多個(即,至少兩個)轉(zhuǎn)發(fā)上 下文311和321,具有用于在這些轉(zhuǎn)發(fā)上下文311、 321之中移動分組的上 下文轉(zhuǎn)發(fā)器330。在一個實施例中,每個轉(zhuǎn)發(fā)上下文311、 321包括單個虛 擬接口 312、 322。上下文轉(zhuǎn)發(fā)器330包括多個虛擬接口 332-333,使得通 過轉(zhuǎn)發(fā)上下文311、 321的每一個中的虛擬接口 312、 322建立虛擬接口 對。因此,置于虛擬接口 312、 322中的(非丟棄)分組被自動移動到上 下文轉(zhuǎn)發(fā)器330中它的相應虛擬接口 332-333中?;谀撤N識別機制(例 如,由路由處理器或由另一機制關聯(lián)到分組上的目的地標簽和/或源標 簽),分組從(上下文轉(zhuǎn)發(fā)器330內(nèi)的) 一個虛擬接口 332-333被移動到 與該分組將被移動到的轉(zhuǎn)發(fā)上下文311、 321相對應的(上下文轉(zhuǎn)發(fā)器330 內(nèi)的)虛擬接口 332-333。從另一虛擬接口 332-333移動到虛擬接口 332-333的分組被自動移動到轉(zhuǎn)發(fā)上下文311、 321內(nèi)它們相應的虛擬接口312、 322。當然,特征可以被應用到這些虛擬接口 312、 322、 332和333 中的任何一個,并且除了在虛擬接口處丟棄的分組之外的所有分組被轉(zhuǎn)發(fā) 到其相應的目的地轉(zhuǎn)發(fā)上下文。在一個實施例中,上下文轉(zhuǎn)發(fā)器與第三轉(zhuǎn) 發(fā)上下文相關聯(lián)。虛擬接口對和分組在這些虛擬接口之間的自動移動是靈 活的工具,并可以通過無限數(shù)目的地配置來互連。
圖3C例示可在一個實施例中使用的示例性數(shù)據(jù)結構。在一個實施例 中,虛擬接口配對數(shù)據(jù)結構340用于識別預定的虛擬接口對(例如,供上 下文轉(zhuǎn)發(fā)器使用)。該數(shù)據(jù)結構定義若分組被放在特定的源虛擬接口中
(并且不被丟棄),則它將自動移動到其在數(shù)據(jù)結構340中定義的成對虛 擬接口。在一個實施例中,標簽到虛擬接口映射數(shù)據(jù)結構350用于識別
(例如,以供上下文轉(zhuǎn)發(fā)器使用)對應于標簽的虛擬接口,所述標簽通常 由路由處理器或其他機制附加到分組上或與分組相關聯(lián)。該數(shù)據(jù)結構可定 義例如若分組與特定標簽相關聯(lián),則它將被自動移動到數(shù)據(jù)結構350中定 義的虛擬接口。
圖3D是例示使用虛擬接口來在多個轉(zhuǎn)發(fā)上下文之間傳送分組的一個 實施例中所使用的處理的流程圖。處理開始于處理塊360。如處理塊363 中所確定,若虛擬接口中存在非丟棄分組,則在處理塊364中,配對的另 一虛擬接口被識別。在處理塊366中,分組從第一虛擬接口被移動到已識 別的第二虛擬接口。處理返回處理塊363。
虛擬接口對提供用于耦合多個轉(zhuǎn)發(fā)上下文(及其他應用)的靈活、適 應性強的機制,這里例示并討論這些不同架構中的若干架構。圖4進一步 例示用于耦合轉(zhuǎn)發(fā)上下文401-404的可擴展數(shù)目的地通信架構之一,所述 轉(zhuǎn)發(fā)上下文被示為使用背靠背虛擬接口對421、 423、 424來耦合。 一個或 多個上下文轉(zhuǎn)發(fā)器自動在每個虛擬接口對的虛擬接口之間移動分組,并且 可以按需要在分組交換機400中的虛擬接口或其他地方應用特征。
例如,若分組將從轉(zhuǎn)發(fā)上下文-1401轉(zhuǎn)發(fā)到轉(zhuǎn)發(fā)上下文-4 404,則在一 個實施例中,轉(zhuǎn)發(fā)上下文-1401將進行識別以將分組轉(zhuǎn)發(fā)到轉(zhuǎn)發(fā)上下文-2 402 (例如,"下一跳"轉(zhuǎn)發(fā)上下文)并將分組放在虛擬接口對421中它 的虛擬接口中。分組將被自動移動到轉(zhuǎn)發(fā)上下文-2 422中的相應虛擬接口。轉(zhuǎn)發(fā)上下文-2通?;谵D(zhuǎn)發(fā)信息庫中的查找操作或可能基于與分組相 關的標簽或其他信息來進行識別,或者進行識別以將分組轉(zhuǎn)發(fā)到轉(zhuǎn)發(fā)上下
文_4 404,并且分組將被置于其在虛擬接口對424中的虛擬接口中。分組 將被自動移動到轉(zhuǎn)發(fā)上下文-4 424內(nèi)的相應虛擬接口,并可用于由轉(zhuǎn)發(fā)上 下文-4 424進行的處理。
圖5是使用虛擬接口在轉(zhuǎn)發(fā)上下文之間移動分組的分組交換系統(tǒng)的一 個實施例中所使用的系統(tǒng)或組件500的框圖。在一個實施例中,系統(tǒng)或組 件500執(zhí)行與此處例示或以其他方式描述的流程圖之一相對應的一個或多 個處理。在一個實施例中,系統(tǒng)或組件500對應于上下文轉(zhuǎn)發(fā)器或上下文 轉(zhuǎn)發(fā)器的一部分。在一個實施例中,系統(tǒng)或組件500對應于轉(zhuǎn)發(fā)上下文或 轉(zhuǎn)發(fā)上下文的一部分。
在一個實施例中,系統(tǒng)或組件500包括處理元件501、存儲器502、 存儲設備503、專用組件505 (例如,分類或事件檢測機制)和用于發(fā)送 和接收分組并且/或者在轉(zhuǎn)發(fā)上下文之間傳送分組并/或與外部設備或組件 傳送分組的虛擬(以及可能的物理)接口 507 ,它們通常經(jīng)由一個或多個 通信機制以通信的方式509來耦合,通信路徑通常適合于滿足應用的需 要。
組件500的各種實施例可包括或多或少的元件。組件500的操作通常 由處理元件501控制,處理元件501使用存儲器502和存儲設備503來執(zhí) 行一個或多個任務或處理。存儲器502是一類計算機可讀介質(zhì),并且通常 包含隨機存取存儲器(RAM)、只讀存儲器(ROM)、閃存、集成電路 以及/或者其他存儲組件。存儲器502通常存儲將由處理元件501運行的計 算機可執(zhí)行指令和/或由處理元件501操縱以根據(jù)實施例實現(xiàn)功能的數(shù)據(jù)。 存儲設備503是另一類計算機可讀介質(zhì),并且通常包含固態(tài)存儲介質(zhì)、磁 盤驅(qū)動器、磁碟、聯(lián)網(wǎng)業(yè)務、磁帶驅(qū)動器和其他存儲設備。存儲設備503 通常存儲將由處理元件501運行的計算機可執(zhí)行指令和/或由處理元件501 操縱以根據(jù)實施例實現(xiàn)功能的數(shù)據(jù)。
鑒于可以應用本發(fā)明的原理的很多可能的實施例,將理解這里參考圖 示/附圖來描述的實施例和實施例的方面只是示意性的,不應視為限制本發(fā)明的范圍。例如,并且對本領域技術人員明顯的是,處理塊操作的很多操 作可以被重排序以在其他操作之前、之后或基本同時執(zhí)行。另外,數(shù)據(jù)結 構的很多不同形式可以在各種實施例中使用。這里描述的發(fā)明考慮了所有 可能落入所附權利要求及其等同物的范圍內(nèi)的實施例。
2權利要求
1. 用于處理分組的裝置,包括在分組交換設備中的轉(zhuǎn)發(fā)上下文之間移動分組的能力,所述裝置包括第一轉(zhuǎn)發(fā)上下文,其被配置成基于第一轉(zhuǎn)發(fā)信息庫來識別用于分組的轉(zhuǎn)發(fā)信息;第二轉(zhuǎn)發(fā)上下文,其被配置成基于第二轉(zhuǎn)發(fā)信息庫來識別用于分組的轉(zhuǎn)發(fā)信息;第一虛擬接口,其被配置成接收分組,所述第一虛擬接口與所述第一轉(zhuǎn)發(fā)上下文相關聯(lián);第二虛擬接口,其被配置成發(fā)送分組,所述第二虛擬接口與所述第二轉(zhuǎn)發(fā)上下文相關聯(lián);以及上下文轉(zhuǎn)發(fā)器,其耦合到所述第一和第二虛擬接口,被配置成將由所述第一虛擬接口接收到但在所述第一虛擬接口處未被丟棄的所有分組自動移動到所述第二虛擬接口,其中,所述第一轉(zhuǎn)發(fā)上下文被配置成基于所述第一轉(zhuǎn)發(fā)信息庫針對特定分組確定該特定分組將被轉(zhuǎn)發(fā)到所述第二轉(zhuǎn)發(fā)上下文,并且響應于所述確定,所示第一轉(zhuǎn)發(fā)上下文被配置成將該特定分組移動到所述第一虛擬接口;其中所述裝置被配置使得該特定分組在所述第一虛擬接口處不會被丟棄。
2. 如權利要求1所述的裝置,其中所述第一和第二轉(zhuǎn)發(fā)上下文與不同 的私有網(wǎng)絡相關聯(lián)。
3. 如權利要求1所述的裝置,其中所述第一和第二轉(zhuǎn)發(fā)上下文與不同 虛擬路由器相關聯(lián)。
4. 如權利要求1所述的裝置,其中所述第一和第二轉(zhuǎn)發(fā)上下文與不同 邏輯路由器相關聯(lián)。
5. 如權利要求4所述的裝置,其中所述第一轉(zhuǎn)發(fā)上下文、所述第二轉(zhuǎn) 發(fā)上下文、所述第一虛擬接口、所述第二虛擬接口和所述上下文轉(zhuǎn)發(fā)器位 于分組交換設備的單個線路卡上。
6. 如權利要求1所述的裝置,其中所述第一轉(zhuǎn)發(fā)上下文、所述第二轉(zhuǎn) 發(fā)上下文、所述第一虛擬接口、所述第二虛擬接口和所述上下文轉(zhuǎn)發(fā)器位 于分組交換設備的單個線路卡上。
7. 如權利要求1所述的裝置,包括第一轉(zhuǎn)發(fā)上下文應用處理器,其被 配置成將一個或多個特征應用到由所述第一虛擬接口接收的所述分組上; 并且其中所述轉(zhuǎn)發(fā)上下文被配置成將未被所述特征的應用丟棄的所有分組 自動移動到所述第二虛擬接口。
8. 如權利要求1所述的裝置,其中所述裝置被配置成將一個或多個特 征應用到所述第一虛擬接口和第二虛擬接口中的所述分組上。
9. 如權利要求1所述的裝置,包括耦合到所述第二虛擬接口的統(tǒng)計信 息收集器,其被配置成收集在處理移動到所述第二虛擬接口的所述分組時使用的統(tǒng)計信息。
10. 如權利要求1所述的裝置,其中所述裝置被配置成收集關于接收 到所述第一虛擬接口中的分組的統(tǒng)計信息,以用于處理所述第一虛擬接口 中的所述分組,并被配置成收集關于接收到所述第二虛擬接口中的分組的 統(tǒng)計信息,以用于處理所述第二虛擬接口中的所述分組。
11. 一種用于處理分組的裝置,包括在分組交換設備中的轉(zhuǎn)發(fā)上下文 之間移動分組的能力,所述裝置包括多個不同的轉(zhuǎn)發(fā)上下文,被配置成基于它們各自的轉(zhuǎn)發(fā)信息庫來識別 用于分組的轉(zhuǎn)發(fā)信息;上下文轉(zhuǎn)發(fā)器,其被配置成在所述多個不同的轉(zhuǎn)發(fā)上下文之間轉(zhuǎn)發(fā)分 組;以及多個背靠背虛擬接口對,每個所述背靠背虛擬接口對包括第一虛擬接 口和第二虛擬接口 ,其中每個所述背靠背虛擬接口對中的第一虛擬接口與 所述多個不同的轉(zhuǎn)發(fā)上下文中的一個不同的轉(zhuǎn)發(fā)上下文相關聯(lián),并且其中 每個所述背靠背虛擬接口對中的第二虛擬接口與所述上下文轉(zhuǎn)發(fā)器相關 聯(lián);其中所述上下文轉(zhuǎn)發(fā)器被配置成在所述背靠背虛擬接口對的第二虛擬 接口上接收分組,并且對于在所述第二虛擬接口上接收的所述分組中的每個特定分組,識別將向所述多個不同的轉(zhuǎn)發(fā)上下文中的哪個特定的轉(zhuǎn)發(fā)上 下文轉(zhuǎn)發(fā)所述特定分組并將所述特定分組移動到所述多個背靠背虛擬接口對中與所述特定轉(zhuǎn)發(fā)上下文相對應的第二虛擬接口;并且其中所述裝置被配置成將在所述第一接口上接收的分組自動移動到所述多個背靠背虛擬接 口對中的每一個的第二接口 ,并將在所述第二接口上接收的分組自動移動 到所述多個背靠背虛擬接口對中的每一個的第一接口。
12. 如權利要求11所述的裝置,其中所述多個轉(zhuǎn)發(fā)上下文中的每一個 被配置成當分組基于其轉(zhuǎn)發(fā)信息庫被確定為將被轉(zhuǎn)發(fā)到所述多個轉(zhuǎn)發(fā)上下 文中的一個不同的目的地轉(zhuǎn)發(fā)上下文時,將與所述不同的目的地轉(zhuǎn)發(fā)上下 文相對應的標簽附加到該分組上;并且其中所述上下文轉(zhuǎn)發(fā)器被配置成響 應于在多個第二虛擬接口之一上接收到分組,基于附加到該分組的標簽來 識別將向所述多個第二虛擬接口中的哪一個移動該分組。
13. 如權利要求11所述的裝置,其中所述多個轉(zhuǎn)發(fā)上下文中的每一個 被配置成當分組基于其轉(zhuǎn)發(fā)信息庫被確定為將被轉(zhuǎn)發(fā)到所述多個轉(zhuǎn)發(fā)上下 文中的一個不同的目的地轉(zhuǎn)發(fā)上下文時,將與所述多個轉(zhuǎn)發(fā)上下文中的當 前轉(zhuǎn)發(fā)上下文相對應的源標簽和與所述不同的目的地轉(zhuǎn)發(fā)上下文相對應的 目的地標簽附加到該分組上;并且其中所述上下文轉(zhuǎn)發(fā)器被配置成響應于 在多個第二虛擬接口之一上接收到分組,基于附加到該分組的源標簽和目 的地標簽來識別將向所述多個第二虛擬接口中的哪一個移動該分組。
14. 如權利要求11所述的裝置,其中所述多個不同的轉(zhuǎn)發(fā)上下文與不 同的私有網(wǎng)絡相關聯(lián)。
15. 如權利要求11所述的裝置,其中所述多個不同的轉(zhuǎn)發(fā)上下文的每 一個與不同的虛擬路由器相關聯(lián)。
16. 如權利要求11所述的裝置,其中所述多個不同的轉(zhuǎn)發(fā)上下文的每 一個與不同的邏輯路由器相關聯(lián)。
17. 如權利要求11所述的裝置,其中所述多個不同的轉(zhuǎn)發(fā)上下文中的 每一個和所述上下文轉(zhuǎn)發(fā)器位于分組交換設備的單個線路卡上。
18. 如權利要求11所述的裝置,包括與所述多個不同的轉(zhuǎn)發(fā)上下文中 的至少一個相關聯(lián)的第一轉(zhuǎn)發(fā)上下文應用處理器,所述第一轉(zhuǎn)發(fā)上下文應用處理器被配置成將一個或多個特征應用到由所述多個不同的轉(zhuǎn)發(fā)上下文 中的所述至少一個轉(zhuǎn)發(fā)上下文的第一虛擬接口接收的分組上。
19. 一種用于在分組交換系統(tǒng)中的轉(zhuǎn)發(fā)上下文之間移動分組的方法, 所述分組交換系統(tǒng)包括多個虛擬接口,所述多個虛擬接口包括第一虛擬接 口和第二虛擬接口,所述轉(zhuǎn)發(fā)上下文包括與所述第一虛擬接口相關聯(lián)的第 一轉(zhuǎn)發(fā)上下文和與所述第二虛擬接口相關聯(lián)的第二轉(zhuǎn)發(fā)上下文,所述方法 包括對于被所述第一轉(zhuǎn)發(fā)上下文確定為將被轉(zhuǎn)發(fā)到所述第二轉(zhuǎn)發(fā)上下文的 多個分組中的每個特定分組,將該特定分組移動到所述第一虛擬接口;以 及對于被置于所述第一虛擬接口中的每個獨特分組,將該獨特分組移動 到所述第二虛擬接口 ,所述獨特分組被所述第二轉(zhuǎn)發(fā)上下文所處理。
20. 如權利要求19所述的方法,其中所述第一和第二轉(zhuǎn)發(fā)上下文與不 同的私有網(wǎng)絡相關聯(lián)。
21. 如權利要求19所述的方法,其中所述第一和第二轉(zhuǎn)發(fā)上下文與不 同的虛擬路由器相關聯(lián)。
22. 如權利要求19所述的方法,其中所述第一和第二轉(zhuǎn)發(fā)上下文與不 同的邏輯路由器相關聯(lián)。
23. 如權利要求19所述的方法,包括對于被接收到所述第二虛擬接 口中的每個所述被移動的分組,在所述第二轉(zhuǎn)發(fā)上下文內(nèi)確定將向哪里轉(zhuǎn) 發(fā)所述分組并轉(zhuǎn)發(fā)所述分組。
24. —種用于在分組交換系統(tǒng)中的轉(zhuǎn)發(fā)上下文之間移動分組的方法, 所述分組交換系統(tǒng)包括多個虛擬接口 ,所述多個虛擬接口包括第一虛擬接 口和第二虛擬接口,所述轉(zhuǎn)發(fā)上下文包括與所述第一虛擬接口相關聯(lián)的第 一轉(zhuǎn)發(fā)上下文和與所述第二虛擬接口相關聯(lián)的第二轉(zhuǎn)發(fā)上下文,所述方法 包括對于被所述第一轉(zhuǎn)發(fā)上下文確定為將被轉(zhuǎn)發(fā)到所述第二轉(zhuǎn)發(fā)上下文的 多個分組中的每個特定分組,將該特定分組移動到所述第一虛擬接口,其 中一個或多個第一接口特征在所述第一虛擬接口處被應用到所述特定分組;以及對于被置于所述第一虛擬接口中且未被所述第一接口特征的應用丟棄 的每個獨特分組,將該獨特分組移動到所述第二虛擬接口,其中所述獨特 分組被所述第二轉(zhuǎn)發(fā)上下文所處理。
25. 如權利要求24所述的方法,包括對于被接收到所述第二虛擬接口中的每個被移動的分組,將一個或多個第二特征應用到該被移動的分 組。
26. 如權利要求25所述的方法,包括對于被接收到所述第二虛擬接 口中的、未被所述第二特征的應用丟棄的每個所述被移動的分組,在所述 第二轉(zhuǎn)發(fā)上下文內(nèi)確定將向哪里轉(zhuǎn)發(fā)所述分組并轉(zhuǎn)發(fā)所述分組。
27. 如權利要求24所述的方法,包括對于被接收到所述第二虛擬接 口中的每個所述被移動的分組,在所述第二轉(zhuǎn)發(fā)上下文內(nèi)確定將向哪里轉(zhuǎn) 發(fā)所述分組并轉(zhuǎn)發(fā)所述分組。
28. —種設備,包括第一轉(zhuǎn)發(fā)上下文,其被配置成基于第一轉(zhuǎn)發(fā)信息庫來識別用于分組的轉(zhuǎn)發(fā)信息;第二轉(zhuǎn)發(fā)上下文,其被配置成基于第二轉(zhuǎn)發(fā)信息庫來識別用于分組的 轉(zhuǎn)發(fā)信息;第一虛擬接口,其被配置成接收分組,所述第一虛擬接口與所述第一 轉(zhuǎn)發(fā)上下文相關聯(lián);第二虛擬接口,其被配置成發(fā)送分組,所述第二虛擬接口與所述第二 轉(zhuǎn)發(fā)上下文相關聯(lián);以及用于將由所述第一虛擬接口接收到但在所述第一虛擬接口處未被丟棄 的所有分組自動移動到所述第二虛擬接口中的裝置。
29. 如權利要求28所述的設備,包括用于將特征應用到由所述第一虛 擬接口接收的所述分組上的裝置。
30. 如權利要求29所述的設備,包括用于將特征應用到由所述第二虛 擬接口接收的所述分組上的裝置。
全文摘要
在通信和計算系統(tǒng)特別是路由器、分組交換系統(tǒng)和其他設備中,分組是通過虛擬接口(215,216,235,236)在轉(zhuǎn)發(fā)上下文(210,230)(例如,虛擬路由器、邏輯路由器和/或私有網(wǎng)絡)之間傳送的。虛擬接口(215,216,235,236)指接口基礎架構(例如,緩沖器、存儲位置、其他數(shù)據(jù)結構),但不連接到諸如物理接口(217,218,237,238)之類的外部線纜或其他通信機制。通過將置于與第一轉(zhuǎn)發(fā)上下文(210)相關聯(lián)的第一虛擬接口(215)中的分組自動移動到與第二轉(zhuǎn)發(fā)上下文(230)相關聯(lián)的第二虛擬接口(236),分組在轉(zhuǎn)發(fā)上下文(210,230)之間移動(假設由于應用到分組上的特征,分組在第一虛擬接口處未被丟棄)。
文檔編號H04L12/28GK101473598SQ200780022504
公開日2009年7月1日 申請日期2007年6月4日 優(yōu)先權日2006年6月16日
發(fā)明者華倫·斯考特·溫納兒, 多倫·奧茲, 尼爾·本-德瓦拉, 薩倫爾·奧舒勒爾 申請人:思科技術公司