新四季網

用於在分布式網絡交換機中的路由表管理的系統和方法

2023-06-30 05:56:16

用於在分布式網絡交換機中的路由表管理的系統和方法
【專利摘要】提供了用於管理在分布式網絡交換機中的路由表的技術。該分布式網絡交換機被劃分為可以共享路由表的邏輯交換分區或邏輯網絡。共享的路由表被配置計數器和閾值以在每一個邏輯網絡的基礎上控制路由表的利用。當計數器超過特定閾值時,修改路由表以減少在路由表內的路由項或者暫停新的路由項的插入。
【專利說明】用於在分布式網絡交換機中的路由表管理的系統和方法
[0001]
【技術領域】
[0002]本發明的實施例總體上涉及計算機網絡的領域。
【背景技術】
[0003]計算機系統經常使用在公共的機座中耦合在一起的多個計算機。該計算機可以是通過在機座內的公共主幹(Backbone)耦合的獨立伺服器。每個伺服器是可插入板,其包括至少一個處理器、板上存儲器和輸入/輸出(I/O)接口。而且,伺服器可以連接到交換機以擴展伺服器的能力。例如,交換機可以允許伺服器訪問另外的乙太網網絡或外圍部件互連快速(PCIe)插槽,並且允許在相同或不同機座中的伺服器之間的通信。另外,也可以組合多個交換機以建立分布式網絡交換機。

【發明內容】

[0004]本發明的實施例提供了用於執行用於在具有多個交換模塊的分布式網絡交換機中的路由表管理的操作的方法、產品和系統,其中,所述交換機模塊至少包括第一交換模塊。所述交換模塊 包括多個電橋元件和路由表。在相應的交換模塊中的所述多個電橋元件之間共享在每一個交換模塊中的所述路由表。所述多個交換模塊被邏輯地劃分到多個邏輯網絡內。所述操作包括:所述第一交換模塊接收具有源地址和目的地地址的第一幀。所述第一幀與所述多個邏輯網絡的第一邏輯網絡相關聯。所述操作進一步包括:在確定所述第一交換模塊的所述路由表不包括用於所述源地址的路由項時,修改在所述第一交換模塊中的所述路由表以包括具有對於所述源地址確定的路由信息的第一路由項和所述第一邏輯網絡。所述操作包括:更新在與所述第一邏輯網絡相關聯的所述路由表中的路由項的計數。所述操作進一步包括:在確定與所述第一邏輯網絡相關聯的路由項的所述計數超過與所述第一邏輯網絡相關聯的第一閾值時,基於與所述第一邏輯網絡相關聯的所述第二路由項修改所述路由表以使得在所述路由項中的第二路由項無效。
【專利附圖】

【附圖說明】
[0005]為了獲得和可以詳細理解上述方面,可以參考附圖提供如上簡要匯總的本發明的實施例的更具體的說明。
[0006]然而,應當注意,附圖僅圖示了本發明的典型實施例,並且因此不被認為限制其範圍,因為本發明可以允許其他等同有效的實施例。
[0007]圖1圖示了根據本發明的一個實施例的、包括分布式網絡交換機的系統架構。
[0008]圖2圖示了根據本發明的一個實施例的、實現分布式網絡交換機的系統的硬體表
/Jn ο
[0009]圖3是描述根據本發明的一個實施例的交換模塊的轉發資料庫的框圖。[0010]圖4是描述根據本發明的一個實施例的、用於在分布式網絡交換機中邏輯劃分基於散列的路由表的方法的流程圖。
[0011]圖5是描述根據本發明的一個實施例的、用於減少在由不同的邏輯交換分區共享的路由表中的特定邏輯交換分區的路由項的方法的流程圖。
[0012]圖6是描述根據本發明的一個實施例的、用於保持由不同的邏輯交換分區共享的路由表的方法的流程圖。
[0013]為了便於理解,已經在可能時使用相同的附圖標號來指示對於附圖公共的相同元件。可以預期的是,在一個實施例中公開的元素可以有益地用在其他實施例上,而沒有特定的說明。在此引用的附圖不應當被了解為根據比例繪製,除非具體說明。而且,為了演示和說明的清楚,附圖經常被簡化並且細節或部件被省略。附圖和說明用於解釋下面描述的原理,其中,相似的指定表示相似的元件。
【具體實施方式】
[0014]本公開的實施例提供了用於管理在分布式網絡交換機中的共享路由表的技術。在一個實施例中,可以將分布式網絡交換機劃分為共享公共的轉發資料庫(FDB)的邏輯交換分區或邏輯網絡(LN)。在具有較大數量的MAC地址的給定的LN上的終端站可以支配共享FDB,並且填充路由表,由此使得在其他LN上的其他終端站使用請求來充滿網絡。在本發明的一個實施例中,分布式網絡交換機在共享FDB中保存項目的多個計數器,以控制每一個邏輯網絡的共享FDB的使用。根據一個實施例,分布式網絡交換機可以動態地設置用於計數器的閾值。在一個示例中,當用於給定LN的計數器達到閾值水平時,分布式網絡交換機可以根據各種標準來選擇和無效來自用於給定LN的共享FDB的現有路由項。在另一個示例中,當用於給定的LN的計數器達到閾值水平時,分布式網絡交換機可以限制在共享FDB中的用於給定LN的新的網絡地址的學習。
[0015]下面,參考本發明的實施例。然而,應當明白,本發明不限於特定的描述的實施例。相反,下面的特徵和元素的任何組合不論是否與不同的實施例相關預期實現和實施本發明。而且,雖然本發明的實施例可以相對於其他可能的解決方案和/或相對於現有技術實現優點,但是是否通過給定的實施例實現特定的優點不限制本發明。因此,下面的方面、特徵、實施例和優點僅是說明性的,並且不被認為是所附的權利要求的元素或限制,除了在權利要求中明確地說明。同樣,對於「本發明」的引用不應當被解釋為在此公開的任何發明主題的一般化,並且不應當被認為是所附的權利要求的元素或限制,除了在權利要求中明確地說明。
[0016]例如,雖然本公開的特定方面可能討論轉發資料庫以找到外出接口以轉發在輸入接口上接收的數據幀,但是應當認識到,在此所述的技術和實施例可以被擴展到其他分組交換系統,諸如路由表、路由信息庫(RIB )、路由資料庫等。如此一來,可以在此可交換地使用術語「轉發」和「路由」。
[0017]所屬【技術領域】的技術人員知道,本發明的各個方面可以實現為系統、方法或電腦程式產品。因此,本發明的各個方面可以具體實現為以下形式,即:完全的硬體實施方式、完全的軟體實施方式(包括固件、駐留軟體、微代碼等),或硬體和軟體方面結合的實施方式,這裡可以統稱為「電路」、「模塊」或「系統」。此外,在一些實施例中,本發明的各個方面還可以實現為在一個或多個計算機可讀介質中的電腦程式產品的形式,該計算機可讀介質中包含計算機可讀的程序代碼。
[0018]可以採用一個或多個計算機可讀介質的任意組合。計算機可讀介質可以是計算機可讀信號介質或者計算機可讀存儲介質。計算機可讀存儲介質例如可以是一但不限於——電、磁、光、電磁、紅外線、或半導體的系統、裝置或器件,或者任意以上的組合。計算機可讀存儲介質的更具體的例子(非窮舉的列表)包括:具有一個或多個導線的電連接、可攜式計算機盤、硬碟、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或快閃記憶體)、光纖、可攜式緊湊盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計算機可讀存儲介質可以是任何包含或存儲程序的有形介質,該程序可以被指令執行系統、裝置或者器件使用或者與其結合使用。
[0019]計算機可讀的信號介質可以包括在基帶中或者作為載波一部分傳播的數據信號,其中承載了計算機可讀的程序代碼。這種傳播的數據信號可以採用多種形式,包括——但不限於——電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質還可以是計算機可讀存儲介質以外的任何計算機可讀介質,該計算機可讀介質可以發送、傳播或者傳輸用於由指令執行系統、裝置或者器件使用或者與其結合使用的程序。
[0020]計算機可讀介質上包含的程序代碼可以用任何適當的介質傳輸,包括一但不限於一無線、有線、光纜、RF等等,或者上述的任意合適的組合。
[0021]可以以一種或多種程序設計語言的任意組合來編寫用於執行本發明操作的電腦程式代碼,所述程序設計語言包括面向對象的程序設計語言一諸如Java、Smalltalk、C++等,還包括常規的過程式程序設計語言一諸如「C」語言或類似的程序設計語言。程序代碼可以完全地在用戶計算機上執行、部分地在用戶計算機上執行、作為一個獨立的軟體包執行、部分在用戶計算機上部分在遠程計算機上執行、或者完全在遠程計算機或伺服器上執行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網絡一包括區域網(LAN)或廣域網(WAN)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用網際網路服務提供商來通過網際網路連接)。
[0022]下面將參照根據本發明實施例的方法、裝置(系統)和電腦程式產品的流程圖和/或框圖描述本發明。應當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由電腦程式指令實現。這些電腦程式指令可以提供給通用計算機、專用計算機或其它可編程數據處理裝置的處理器,從而生產出一種機器,使得這些電腦程式指令在通過計算機或其它可編程數據處理裝置的處理器執行時,產生了實現流程圖和/或框圖中的一個或多個方框中規定的功能/動作的裝置。
[0023]也可以把這些電腦程式指令存儲在計算機可讀介質中,這些指令使得計算機、其它可編程數據處理裝置、或其他設備以特定方式工作,從而,存儲在計算機可讀介質中的指令就產生出包括實現流程圖和/或框圖中的一個或多個方框中規定的功能/動作的指令的製造品(article of manufacture)0
[0024]也可以將計算機形成指令安裝到使得在計算機上執行一系列操作步驟的計算機、其他可編程數據處理設備或其他裝置、用於產生計算機實現的處理的其他可編程設備或其他裝置,使得在計算機或其他可編程設備上執行的指令提供用於實現在流程圖和/或框圖的一個或多個方框中指定的功能/行為的處理。[0025]附圖中的流程圖和框圖顯示了根據本發明的多個實施例的系統、方法和電腦程式產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用於實現規定的邏輯功能的可執行指令。也應當注意,在有些作為替換的實現中,方框中所標註的功能也可以以不同於附圖中所標註的順序發生。例如,兩個連續的方框實際上可以基本並行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或動作的專用的基於硬體的系統來實現,或者可以用專用硬體與計算機指令的組合來實現。
[0026]圖1圖示了根據本發明的一個實施例的、包括分布式網絡交換機180的系統架構100。系統架構100包括連接到分布式網絡交換機180的第一和第二伺服器105、106。在一個實施例中,第一伺服器105可以包括耦合到存儲器110的至少一個處理器109。處理器109可以表示一個或多個處理器(例如,微處理器)或多核處理器。存儲器110可以表示:隨機存取存儲器(RAM)裝置,該裝置包括伺服器105的主存儲器;以及,補充級的存儲器,諸如高速緩存、非易失性或備份存儲器(例如,可編程或快閃記憶體)和只讀存儲器等。另外,存儲器110可以包括物理地位於伺服器105中或耦合到伺服器105的另一個計算裝置上的內存存儲器。伺服器105可以在作業系統(未示出)的控制下運行,並且執行各種計算機軟體應用、部件、程序、對象、模塊和數據結構,諸如虛擬機111。
[0027]伺服器105可以包括網絡適配器115(例如,聚合式網絡適配器或CNA)。聚合式網絡適配器可以包括單根I/o虛擬(SR-1OV)適配器,諸如外圍部件互連快速(PCIe)適配器,該PCIe適配器支持聚合式增強乙太網(CEE)。系統100的另一個實施例可以包括多根I/O虛擬(MR-1OV)適配器。網絡適配器115可以進一步用於實現乙太網光纖信道(FCoE)協議、乙太網RDMA和網際網路小計算機系統接口(iSCSI)等。通常,網絡適配器115使用基於乙太網和PCI的通信方法來傳送數據,並且可以耦合到虛擬機111的一個或多個。具體地說,可以將乙太網用作對於分布式網絡交換機的協議,而可以將PCI用作用於從主存儲器向網絡適配器115傳送數據,或者從網絡適配器115向主存儲器傳送數據的協議。另外,適配器可以促進在虛擬機111之間的共享訪問。雖然將適配器115示出為被包括在伺服器105內,但是在其他實施例中,適配器可以物理地區分與伺服器105分離的不同裝置。
[0028]如圖1中所示,第二伺服器106可以包括耦合到存儲器110的處理器109,處理器109包括與在第一伺服器105中找到的那些類似的一個或多個虛擬機111。伺服器106的存儲器110可以包括超管理器113,超管理器113被配置為管理在不同的虛擬機111之間共享的數據。超管理器113可以包括虛擬電橋114,虛擬電橋114允許在連接的虛擬機111之間的直接通信,而不要求虛擬機111使用電橋元件120或交換層130來向可通信地耦合到超管理器113的其他虛擬機111發送數據。
[0029]在一個實施例中,每一個網絡適配器115可以包括聚合式適配器虛擬電橋(未示出),其通過協調向虛擬機111的訪問促進了在適配器115之間的數據傳送。每個聚合式適配器虛擬電橋可以識別在其域(即,可尋址空間)內流動的數據。可以直接地路由所識別的域地址,而不向特定的聚合式適配器虛擬電橋的域的外部發送數據。
[0030]每一個網絡適配器115可以包括耦合到電橋元件120—在此也被稱為橋接元件——之一的一個或多個乙太網埠。另外,為了促進PCIe通信,伺服器可以具有PCI主橋117。PCI主橋117可以連接到在分布式網絡交換機180上的交換元件上的上遊PCI埠122。數據然後經由交換層130被路由到正確的下遊PCI埠 123,下遊PCI埠 123可以位於與上遊PCI埠 122相同或不同的交換模塊上。該數據然後被轉發到PCIe裝置152。
[0031]分布式網絡交換機180包括多個電橋元件120,該多個電橋元件120可以位於多個雖然互連但是獨立的硬體部件上。在一個實施例中,電橋元件120可以被配置來貫穿分布式網絡交換機180轉發數據幀。電橋元件120向交換層130轉發由網絡適配器115發送的數據幀。電橋元件120可以包括查找表,該查找表存儲用於轉發所接收的數據幀的地址數據。例如,電橋元件120可以將與接收的數據幀相關聯的地址數據與在查找表內存儲的地址數據作比較。因此,網絡適配器115不必知道分布式網絡交換機180的網絡拓撲。從網絡適配器115的視點看,分布式網絡交換機180作為一個單個交換機,即使分布式網絡交換機180可能由物理上位於諸如不同的機座或機架的不同部件上的多個交換機構成。向多個電橋元件120內分布網絡交換機的操作在故障的情況下提供了冗餘。
[0032]電橋元件120的每一個可以連接到一個或多個傳送層模塊125,該多個傳送層模塊125將接收的數據幀轉換為由交換層130使用的協議。例如,傳送層模塊125可以將使用乙太網或PCI通信方法接收的數據轉換為經由交換層130 (即,單元構造)發送的一般數據類型(B卩,單元)。因此,包括分布式網絡交換機180的交換模塊與至少兩個不同的通信協議一一例如,乙太網和PCIe通信標準——兼容。即,至少一個交換模塊具有用於在同一交換層130上傳送不同類型的數據的必要邏輯。
[0033]在一個實施例中,交換層130可以包括:本地機架互連(LRI),其連接位於同一機座和機架內的電橋元件120 ;以及,連接到在其他機座和機架中的電橋元件120的鏈路。
[0034]在路由單元後,交換層130可以與傳送層126進行通信,傳送層126將單元轉換回與它們各自的通信協議對應的數據幀。電橋元件120的一部分可以促進與乙太網155的通信,該乙太網155提供對於LAN或WAN (例如,網際網路)的訪問。而且,可以將PCI數據路由到連接到PCIe裝置152的下遊PCI埠 123。PCIe裝置152可以是作為用於擴充板的擴展卡接口的無源背板互連或可以被連接到分布式網絡交換機180的伺服器的任何一個訪問的公共存儲器。
[0035]輸入/輸出管理控制器(IOMC) 140 (即,專用處理器)耦合到至少一個電橋元件120,該至少一個電橋元件120向10MC140提供對於交換層130的訪問。10MC140的一個功能可以是從管理員接收命令以配置分布式網絡交換機180的不同的硬體元件。在一個實施例中,可以從來自交換層130的分離的交換網絡接收這些命令。雖然示出一個IOMCHOdS是系統100可以包括多個10MC140。在一個實施例中,可以以分層布置10MC140,使得將一個10MC140選擇為主,並且將其他委派為成員。在另一個實施例中,可以在對等布局中布置10MC140,其中,IOMC140協作來監督和管理分布式網絡交換機180的元件。
[0036]在一個實施例中,10MC140可以包括全局轉發資料庫(FDB) 150,其也被稱為轉發信息庫(FIB)或轉發表,其存儲地址數據。轉發資料庫150可以被多個電橋原件120分享。在一個實施例中,轉發資料庫150可以被電橋元件120持續地更新。例如,電橋元件可以響應於學習了更新或新的MAC地址而向10MC140發送更新消息。可以隨後更新在轉發資料庫150中的對應的MAC地址。相反,在轉發資料庫150中的地址數據可以用於更新電橋元件120。例如,每個電橋元件120被配置來向轉發資料庫150發送路由信息查找請求,並且轉發資料庫150被配置來向請求的電橋元件120發送具有地址數據的路由信息查找響應。在一個實施例中,每一個電橋元件120可以高速緩存接收的地址數據以用於未來使用。
[0037]圖2圖示了根據本發明的一個實施例的、具有連接到伺服器的多個電橋元件120的分布式網絡交換機180。如所示,多個伺服器105可以物理地位於同一機座202中,並且另一個伺服器106可以物理地位於不同的機座204中。應當認識到,機座202和204可以包括任何數量的伺服器。如圖2中所示,將多個電橋元件120組織為在不同的機座202、204上物理地定位和分布的多個交換模塊210和子交換機214。在一個實施例中,在此公開的分布式網絡交換機180被配置來經由多個交換模塊210、互連交換模塊210的交換層130、在諸如10MC140的管理控制器上執行的管理固件來提供層2乙太網交換。如此進行可能消除對於單獨乙太網交換機互連在伺服器105、106中的處理元件的需要。如此一來,也可以通過增加諸如交換模塊210和其他處理元件的獨立部件來以粒狀和可擴展的方式來增強使用分布式網絡交換機180聯網的系統。
[0038]在一個實施例中,交換模塊210 (例如,機座互連元件)可以是物理交換單元,其被配置來提供用於分布式網絡交換機180的網絡橋接。在一個實施例中,交換模塊210和子交換機214是硬體部件(例如,PCB板、FPGA板、片上系統等),其提供在網絡適配器115和電橋元件120之間的物理支持和連接。通常,交換模塊210包括連接在所示的系統中的不同機座202、204與伺服器105和106的硬體。雖然在在此所述的實施例中交換模塊210被配置為用於路由數據幀(例如,基於MAC地址)的層2乙太網電橋,但是應當認識到,本發明的實施例可以被應用到其他形式的分組交換。
[0039]在一個實施例中,交換模塊210包括10MC140和一個或多個子交換機214。在一個實施例中,用於給定的交換模塊210的10MC140維護由子交換機214的電橋元件120共享的轉發資料庫(FDB) 220。在一些實施例中,IOMC140可以維護用於在交換模塊210中的每一個子交換機214的轉發資料庫220。在一個實施例中,轉發資料庫220包括通過與電橋元件120—並且在一些情況下為伺服器105和106—的通信和合作而註冊和保存的地址數據(例如,MAC地址)。在一些實施例中,可以與在圖1中所示的轉發資料庫150類似地配置轉發資料庫220,其中,每一個交換模塊210被配置來維護轉發資料庫的同步拷貝,以便以低的延遲和迅速的響應時間來向整個轉發資料庫給出本地電橋元件訪問。
[0040]在一個實施例中,子交換機214可以包括電橋元件120的邏輯或物理分組。每一個電橋元件120可以是分布式虛擬乙太網電橋(dVEB),其被配置為基於在轉發資料庫220中存儲的地址數據來貫穿分布式網絡交換機180轉發數據幀。在一個實施例中,通過在IOMC140上執行的固件來管理電橋元件120。在所示的實施例中,在子交換機214中的至少一個電橋元件120可以連接到10MC140以向交換層130給出IOMC訪問。
[0041]電橋元件120可操作地連接到多個電橋元件120。在一個實施例中,電橋元件120使用交換層130 (例如,經由網格連接模式)彼此連接。如此一來,不論是否使用電橋元件120。可以將數據分組路由到位於任何其他交換模塊210上的另一個電橋元件120。在一些實施例中,可以通過直接地連接每一個電橋元件120來完成這一點,即,每一個電橋元件120具有到每一個其他電橋元件120的專用直接數據路徑。替代地,在一些實施例中,交換層130可以使用幹葉架構,其中,每一個電橋元件120 (即,葉節點)附接到至少一個幹節點。幹節點將從電橋元件120接收的數據分組路由到正確的幹節點,該正確的幹節點然後向正確的電橋元件120轉發該數據分組。在一個實施例中,電橋元件120可以經由交換層130向在同一子交換機214中、在同一交換模塊210的不同子交換機214中或甚至在不同的交換模塊210中的其他電橋元件120轉發數據幀。
[0042]在所示的實施例中,每一個電橋元件120具有至少兩個埠,一個埠連接到交換層130並且另一個埠連接到伺服器105和106 (例如,經由網絡適配器115)。電橋元件120可以向交換層130轉發由網絡適配器115發送的數據幀。在一種實現方式中,可以使用兩個40G比特乙太網連接或一個100G比特乙太網連接來連接網絡適配器115和電橋元件120。在一個示例中,假定交換模塊210包括四個子交換機214,每個子交換機214具有5個電橋元件120,並且每一個電橋元件120具有連接到伺服器和連接到交換層130的兩個埠,則交換模塊210可以具有至少40個埠(例如,2x5x4=40),用於在分布式網絡交換機180內接收和轉發數據幀。
[0043]在運行中,在進入埠處接收到乙太網幀時,電橋元件120訪問轉發資料庫220以確定是否在轉發資料庫中存在源或目的地地址(例如,MAC地址)。例如,每一個電橋元件120向轉發資料庫產生每一個幀的目的地地址查找和源地址查找。每一個電橋元件120然後使用從該查找接收的路由信息來向適當的接口(例如,目的地埠)發送巾貞。對於不成功的查找,電橋元件120可以學習點年的網絡地址,並且向轉發資料庫220內插入新的路由項。在此使用的通過交換模塊的幀的網絡地址的學習可以指的是從在交換模塊中的配置欄位與其上接收幀的物理埠和邏輯埠兩者獲得用於網絡地址的路由信息。例如,電橋元件可以學習其上電橋元件首先看到特定的源地址的接口,並且將那個接口與那個源地址相關聯。當電橋元件120隨後接收到具有在其轉發資料庫中的目的地地址的幀時,電橋元件可以將該幀發送出在轉發資料庫中存儲的接口。
[0044]在一個實施例中,交換模塊210被配置來交換路由信息和共享新的路由項。交換模塊210同步相應的轉發資料庫220的內容使得所有的轉發資料庫220包含類似的路由信息。如此一來,轉發資料庫220和其路由信息對於其中包含的所有交換模塊210和電橋元件120是有效地共同的,雖然每一個交換模塊210可以管理轉發資料庫220的至少一個本地拷貝。
[0045]邏輯交換分區
[0046]在一個實施例中,交換模塊210是可以被邏輯地劃分為多個邏輯交換分區的物理單元。每一個邏輯交換分區——可交換地被稱為邏輯網絡(LN)——可以具有各自的LN標識符,並且可以包括分布式網絡交換機的相應的邏輯指定的網絡部分。邏輯網絡作為獨立的層2域,即使該域可能共存在同一交換模塊210上,並且提供一層流量分離。在一個示例中,交換模塊210可能支持多達4個不同的邏輯交換分區。在一個實施例中,邏輯交換分區可能跨越幾個交換模塊210,甚至跨越在由交換層130互連的不同的機座202和204中的交換模塊。邏輯交換分區使得交換模塊210的硬體資源能夠在邏輯網絡之間靈活地被分配。
[0047]如上所述,交換模塊210實際上使用公共的轉發資料庫220,並且如此一來,轉發資料庫220可以包括用於在所有的邏輯交換分區中的埠的路由項。在一些情況下,被指配到給定的邏輯網絡(例如,邏輯交換分區)的終端站(例如,伺服器105)可以具有通過分布式網絡交換機180的大量的MAC地址或大量的流量。結果,用於邏輯網絡的路由項可能支配或填滿在轉發資料庫220中的可獲得空間,為用於其他網絡的項目留下很少的空間,並且強制在其他邏輯網絡上的終端站充滿網絡。因此,本公開的實施例提供了一種用於在每一個邏輯網絡的基礎上控制轉發資料庫的利用的方法。
[0048]在一些實施例中,可以使用提供路由信息的快速查找的內容可尋址存儲器(CAM)或三元內容可尋址存儲器(TCAM)來實現轉發資料庫220。在這樣的實施例中,可以將TCAM劃分為與每一個邏輯交換分區對應的獨立空間。在TCAM中的每個劃分的空間可以被配置來存儲預定數量的路由項,由此限制給定的邏輯網絡可以在轉發資料庫220中存儲的路由項的數量。
[0049]在其他實施例中,可以使用多個基於散列的轉發表和一組散列函數來實現轉發資料庫220。雖然基於散列的實現方式允許大量的路由項(例如,512,000個項目),但是對於控制在每一個邏輯網絡基礎上的轉發資料庫的利用存在挑戰。例如,基於散列的轉發資料庫可能不被劃分為分離的物理空間(與基於TCAM的轉發資料庫一樣),因為用於給定的邏輯網絡的項目可能因為散列函數的使用而被大大分散或分布。如此一來,本公開的實施例提供了用於使用計數器和閾值來控制在每一個邏輯網絡基礎上的轉發資料庫的利用的方法。在圖3中更詳細地示出基於散列的轉發資料庫220。
[0050]圖3是描述根據本發明的一個實施例的交換模塊的轉發資料庫220的框圖。在一個實施例中,轉發資料庫220可以包括被配置為存儲多個路由項304 (有時被稱為FDB項目)的一個或多個散列表3021-4和多個路由項計數器306。路由項計數器306通過對於每一個邏輯網絡保持在整個轉發資料庫220內存儲的用於那個邏輯網絡的路由項304的數量的獨立計數來跟蹤轉發資料庫220的使用。在一個實施例中,當路由項計數器306超過特定閾值時,可以執行補救行為,包括選擇和清除與給定的邏輯網絡相關聯的特定路由項304或暫停與給定的邏輯網絡相關聯的新的網絡地址的學習,如下更詳細所述。
[0051]在一個實施例中,每一個散列表302卜4可以與被選擇來例如降低路由項的衝突的頻率的散列函數相關聯。在一些實施例中,通過使用與給定的散列表相關聯的散列函數來向給定的散列表302內插入、更新和檢索路由項304,以基於路由項的路由密鑰310來產生散列值。在一個實施例中,當用於給定的邏輯網絡的路由項被插入散列表302卜4之一內時,可以遞增用於該邏輯網絡的路由項計數器306,並且當用於那個邏輯網絡的路由項被無效和從轉發資料庫220被去除時,可以遞減路由項計數器306。
[0052]在一個實施例中,路由密鑰310包括層2路由信息,諸如虛擬區域網(VLAN)標籤、邏輯網絡(LN)標識符和介質訪問控制(MAC)地址。在一個實施例中,例如由管理員或計算機系統設置的10MC140可以產生和指配MAC地址。VLAN標籤可以指示指配的VLAN,其可以用於分離流量並且允許大於一個的上行鏈路。可以在單個上行鏈路上有多個VLAN。在一些實施例中,每一個VLAN僅使用一個上行鏈路埠。換句話說,僅一個物理上行鏈路埠可以在給定的時間用於轉發與給定的VLAN相關聯的數據幀。在其他實施例中,雖然使用邏輯網絡,但是VLAN可以使用多個物理埠來轉發流量,同時也保持流量分離。在一個實施例中,每一個邏輯網絡可以具有各自的邏輯網絡標識符,並且可以提供另一層的流量分離。當如此配置時,邏輯網絡可以允許不同的客戶端使用相同的VLAN標籤,並且每一個客戶端的VLAN可以通過不同的邏輯網絡而保持被分離。
[0053]在一個實施例中,路由項304將網絡地址(例如,目的地MAC地址)與數據幀要被轉發到的網絡接口(例如,埠)相關聯。在一個實施例中,如在圖3的放大視圖中所示,由路由密鑰310識別的每一個路由項304可以包括多個欄位,包括邏輯網絡欄位312、擁有者欄位314、靜態欄位316、有效狀態欄位318、老化欄位320和複製欄位322。
[0054]在一個實施例中,邏輯網絡欄位312使得用於給定網絡地址(例如,源、目的地)的每一個路由項304能夠指定與該給定的網絡地址相關聯的邏輯網絡(LN)標識符。在一些實施例中,邏輯網絡欄位312可以包括用於對應的邏輯網絡的數值標識符(例如,「 1」、「3」)。例如,假定交換模塊210被劃分為被標註為LN0-3的四個邏輯網絡,其中,第一邏輯網絡LNO被映射到網絡地址192.168.0.1至192.168.0.10,則用於網絡地址192.168.0.3的路由項可以指定邏輯網絡「O」。
[0055]在一個實施例中,每一個路由項304具有被指定為相應的路由項的「擁有者」的對應的交換模塊。在此使用的具有給定的網絡地址的路由項的擁有者指的是被配置來學習給定的網絡地址並且向轉發資料庫220內插入用於給定的網絡指定的新的路由項的交換模塊(和對應的轉發資料庫)。在一個實施例中,具有給定的路由密鑰310的路由項的擁有者是具有電橋元件120的交換模塊,該電橋元件120具有與路由密鑰310的VLAN、LN和MAC地址的組合匹配的物理埠。在一個實施例中,路由項的擁有者負責通知其他交換模塊,並且同步在其他交換模塊的轉發資料庫中的對應的路由項。在一種實現方式中,通過在擁有交換模塊的轉發資料庫220中將比特欄位(例如,擁有者欄位314)設置為I (或非O)來表示路由項的擁有者。同時,在其他轉發資料庫中的路由項的同步的拷貝可以將在擁有者欄位314中的比特欄位設置為O以指定對應的交換模塊不是擁有者。
[0056]在一個實施例中,一個或多個路由項304可以是靜態路由項。在此使用的靜態路由項指的是被軟體設置並且不與其他交換模塊和轉發資料庫同步或共享的路由項。在一個實施例中,可以通過將在路由項中的靜態比特(例如,靜態欄位316)設置為I或非O來指定靜態路由項,而可以通過將靜態欄位316設置為O來指定非靜態路由項(稱為動態項目)。
[0057]交換模塊210可以實現老化策略以維護其轉發資料庫220。在一個實施例中,每一個路由項304可以包括老化屬性,其指定相應的路由項被認為已經老化或陳舊的程度。在一些實施例中,通過在路由項中的老化比特(例如,老化欄位320 )來表示老化屬性。在一個實施例中,在運行期間,當後臺定時器期滿時可以將路由項的老化比特設置為I。如果後臺定時器再一次期滿,則將無效將老化比特設置為I的路由項(例如,由有效狀態欄位318指定)。當路由項初始被插入轉發資料庫內時或當在查找期間從轉發資料庫檢索路由項時可以將路由項設置為或復位為O (例如,從電橋元件120的接收路徑出現的源地址查找擊中)。在一個實施例中,當路由項「老化」並且從轉發資料庫被去除時,可以遞減與去除的路由項相關聯的用於邏輯網絡的路由項計數器306。
[0058]在一個實施例中,每一個路由項304可以包括有效狀態欄位318,其指定例如因為轉發資料庫的老化導致何時路由項不再有效,如上所述。在一個實施例中,每一個路由項可以被設置為無效,以便限制在用於給定的邏輯網絡的轉發資料庫220中的路由項的數量。在一些實施例中,可以通過將比特欄位(例如,有效狀態欄位318)設置為I或O來表達路由項的有效狀態。在一些實施例中,交換模塊210可以被配置來向其他模塊發送指示,該指示指定應當通過無效指定的路由項來同步轉發資料庫。
[0059]在一個實施例中,轉發資料庫220可以被配置為將在一個散列表中的一個或多個路由項304複製到另一個散列表302,以增大訪問帶寬和改善性能。例如,轉發資料庫可以獲取從散列表3021的一部分重複地檢索的路由項,有時被稱為「片」,並且將該路由項複製到在另一個散列表302中的不常使用的片。如此一來,每一個路由項可以包括複製欄位322,用於指示路由項304是否被複製或是在共享的轉發資料庫220內的原始路由項。在一些實施例中,原始路由項和複製項可能老化(例如,如老化欄位320所示)並且被無效(例如,經由有效狀態欄位318)。在一些實施例中,轉發資料庫可能不發送指示以將複製的路由項與其他轉發資料庫同步。
[0060]每一個轉發資料庫220保持多個路由項計數器306以跟蹤該多個邏輯交換分區(例如,邏輯網絡)如何使用共享的轉發資料庫。在一個實施例中,路由項計數器306包括與給定的邏輯網絡相關聯的在轉發資料庫220中的路由項304的數量的、用於每一個給定的轉發資料庫的計數,在此被稱為FDB計數。例如,當轉發資料庫220包括可能來自四個邏輯網絡0-3的路由項時,保持四個獨立的FDB計數(用於LNO、LNl、LN2和LN3)。在被配置來複製路由項的交換模塊的實施例中,路由項計數器306可以包括用於每一個轉發資料庫的總的FDB計數,該轉發資料庫包括動態和靜態路由項(例如,如靜態欄位316所示),但是排除複製的路由項(如複製欄位322所示)。
[0061]在一個實施例中,路由項計數器306進一步包括「高水印」計數,其保持由對應的FDB計數達到的最高歷史值。在一些實施例中,可以對於動態路由項、對於靜態路由項和對於包括動態和靜態路由項兩者的總的項目配置獨立的高水印計數。對於被配置來複製路由項的交換模塊,用於斷頭臺路由項、靜態項目和總的動態和靜態路由項的高水印計數可以排除由複製欄位322指定的複製路由項。在一些實施例中,被配置來複製路由項的交換模塊可以包括用於複製路由項的高水印計數。在一些實施例中,高水印計數可以可訪問(例如,經由具有讀取和寫入訪問的構建的寄存器)高層處理(例如,軟體)以允許將高水印計數復位為O以確定新的高水印值。
[0062]圖4是描述根據本發明的一個實施例的、用於邏輯地劃分在分布式網絡交換機中的基於散列的路由表的方法的流程圖。如所示,方法400在步驟402開始,其中,分布式網絡交換機的第一交換模塊接收具有源地址、目的地地址和邏輯網絡標識符的第一數據幀。在一些實施例中,第一交換模塊的電橋元件120 (例如,dVEBO)之一在例如連接到伺服器105的其進入埠之一處接收數據幀。在一些實施例中,源地址和目的地地址是被分配到伺服器(例如,伺服器105、106)的接口的MAC地址。
[0063]在步驟404處,第一交換模塊確定共享的轉發資料庫(例如,轉發資料庫220)不包括用於網絡地址之一的任何路由項。例如,電橋元件dVEBO使用所接收的數據幀的源MAC地址、VLAN標籤和LN標識符來執行共享的轉發資料庫的查找,並且該查找操作返回用於指示在共享的轉發資料庫內不包括源MAC地址的路由項的「丟失」。為了說明,可以在這個示例中假定電橋元件dVEBO在轉發資料庫中執行目的地地址查找,其返回用於目的地地址的路由信息。電橋元件可以使用返回的路由信息來處理和轉發數據幀,例如向交換層130傳送該幀以傳遞。電橋元件dVEBO進行到處理用於源MAC地址的丟失的路由項。
[0064]在步驟406處,第一交換模塊基於所確定的路由信息來產生用於網絡地址的路由項。在一個實施例中,第一交換模塊產生路由項,該路由項包括源地址和對於源地址和轉發資料庫標識符確定的路由信息。在一些實施例中,產生包括基於數據幀的VLAN標籤、LN標識符和MAC地址的路由密鑰(例如,路由密鑰310)的路由項。在一些實施例中,第一交換模塊可以配置所產生的路由項以指定(例如,通過邏輯網絡欄位312)路由項與給定的邏輯網絡相關聯。在一些實施例中,用於源地址的路由項與由接收的數據幀提供的邏輯網絡標識符相關聯。在一個實施例中,第一交換模塊可以基於下面的條件的滿足來配置產生的路由項以指定(例如,通過設置擁有者欄位314)用於該路由項的擁有者是第一交換模塊:第一交換模塊接收第一數據幀中,確定在轉發資料庫中不包括源地址,並且產生給定的路由項。
[0065]在步驟408處,第一交換模塊基於散列函數修改或請求修改共享的轉發資料庫220以包括用於網絡地址的路由項。例如,第一交換模塊的電橋元件dVEBO使用基於諸如VLAN標籤、邏輯網絡標識符和MAC地址的路由信息的路由密鑰來向轉發資料庫內插入路由項。
[0066]在步驟410處,第一交換模塊基於所包括的路由項的邏輯網絡標識符來更新路由項計數器(例如,路由項計數器306)。例如,對於交換模塊當用於給定的邏輯網絡的路由項被插入轉發資料庫220時遞增用於那個邏輯網絡的路由項計數器。在一個實施例中,用於給定的邏輯網絡的路由項計數器可以跟蹤給定的邏輯網絡在轉發資料庫中具有的、包括靜態和動態路由項兩者的項目的數量。在一個實施例中,第一交換模塊可以更新與更新的路由項計數器對應的高水印計數。在一些實施例中,第一交換模塊可以確定更新的路由項計數器是否超過高水印計數的當前值,並且然後更新高水印計數以指定對應的路由項計數器已經達到的新的最高值。
[0067]在一個實施例中,第一交換模塊可以強制在共享的轉發資料庫中的對於用於邏輯網絡的路由項的限制。在步驟412,第一交換模塊確定在用於給定的邏輯網絡的共享的轉發資料庫中的項目的數量是否超過與該給定的轉發資料庫相關聯的閾值。在一個實施例中,第一交換模塊檢索用於第一邏輯網絡(例如,LN0)的路由項計數(例如,路由項計數器306),並且確定用於第一邏輯網絡的路由項計數器是否大於停止學習閾值。在一個實施例中,在此被稱為「減少閾值」的閾值指定在交換模塊啟動補救行為之前特定邏輯網絡可以在共享的轉發資料庫中具有的路由項的最大數量,該補救行為例如是從轉發資料庫選擇性地減少與對應的邏輯網絡相關聯的路由項,如下結合圖5所述。與給定邏輯網絡相關聯的減少閾值可以是能夠編程的,例如在配置寄存器中被設置。在一些實施例中,第一交換模塊包括用於每一個邏輯網絡的獨立的減少閾值,每一個減少閾值與對應的邏輯網絡相關聯。在一個實施例中,可以基於由不同的邏輯交換分區對於共享的轉發資料庫的使用來對於每一個邏輯網絡動態地確定減少閾值。例如,可以分析高水印值的值和用於邏輯網絡的FDB計數以確定更好地適應於特定的使用情況或網絡配置的新的閾值。
[0068]在一些實施例中,第一交換模塊可以被配置來使用可配置的比特開關在減少閾值過大的情況下使能或禁止檢測用於對應的邏輯網絡的FDB計數。例如,支持多達4個邏輯交換分區的交換模塊可以包括四個使能開關比特,用於將用於四個邏輯交換分區的FDB計數限制為減少閾值。如此一來,通過使能用於一些邏輯網絡而不是用於其他邏輯網絡的FDB計數限制,交換模塊可以被配置為允許特定的交換機在轉發資料庫中插入許多路由項,同時限制來自其他邏輯交換分區的路由項的數量。在運行中,第一交換模塊被配置為在進行到如下所述的「減少轉發資料庫」功能之前,基於用於給定的邏輯網絡的對應的可配置比特來確定是否使能FDB計數限制[0069]在步驟414,如果用於轉發資料庫的任何一個的路由項計數超過對應的減少閾值,則第一交換模塊執行減少用於那個邏輯網絡的路由項的數量的處理。在一個實施例中,第一交換模塊執行後臺處理,該後臺處理穿過共享的轉發資料庫,以選擇性地去除用於對應的邏輯網絡的在轉發資料庫中的路由項,如下結合圖5所述。
[0070]雖然在此描述了用於基於從進入幀的源地址的學習來插入新的路由表的本發明的實施例,但是本公開的特定方面可以被應用到從多個來源在共享的轉發資料庫中插入新的路由項。例如,第一交換模塊可以插入用於從在廣播域上泛濫的幀學習的MAC地址的新的路由項。在另一個示例中,較高層處理(例如,軟體)可以向共享的轉發資料庫內直接地插入用於網絡地址的在此被稱為靜態路由項的新的路由項。在另一個示例中,第一交換模塊可以基於由請求第一更新其轉發資料庫的其他交換模塊發送的同步消息來修改共享的轉發資料庫以插入新的路由項。第一交換模塊可以向被其他交換模塊學習的轉發資料庫內插入路由項,並且遞增對應的路由項計數器。
[0071]圖5是用於描述根據本發明的一個實施例的、用於減少用於在由不同的邏輯交換分區共享的轉發資料庫中的邏輯交換分區的路由項的方法的流程圖。在一個實施例中,通過與如上所述的第一交換模塊的轉發和學習操作同時運行的後臺處理來執行方法500。如所示,方法500在步驟502開始,其中,第一交換模塊從共享的轉發資料庫檢索第一路由項。在一些實施例中,第一交換模塊可以從共享的轉發資料庫的散列表檢索順序的路由項。在步驟504處,第一交換模塊基於用於路由表的屬性的一個或多個標準來確定是否可以選擇所檢索的路由項來用於去除,所述路由項的屬性包括路由項的邏輯網絡、老化、有效狀態、靜態狀態、複製狀態和擁有者的至少一個。
[0072]在一些實施例中,如在步驟506中所示,第一交換模塊被配置為如果路由項是與匹配具有過量的路由項計數的第一邏輯網絡的轉發資料庫相關聯的有效路由項,則選擇該路由項來用於去除。例如,第一交換模塊可以選擇去除匹配第一邏輯網絡的邏輯網絡標識符的邏輯網絡欄位312值並且具有被設置為I的有效狀態欄位318的路由項。
[0073]在一些實施例中,在步驟508處,第一交換模塊可以進一步查看如例如由擁有者欄位314指定那樣,第一交換模塊是否擁有路由項。即,每一個交換模塊210可以被配置來從其對應的轉發資料庫220選擇性地去除作為擁有者的路由項的路由項304。
[0074]在一些實施例中,在步驟510處,路由項可以基於用於指示相應的路由項已經或變為陳舊的老化屬性(例如,老化欄位320)來進一步選擇用於去除的路由項。在一些實施例中,可以基於相應的路由項是否是複製的或者再生的路由項(例如,複製欄位322 = O)來進一步選擇用於去除的路由項。在一些實施例中,可以基於相應的路由項是否不是靜態路由項(例如,靜態欄位316 = O)來進一步選擇用於去除的路由項。
[0075]在步驟512處,如果檢索的路由項不滿足用於去除的一個或多個標準,則第一交換模塊將操作返回步驟502,以從轉發資料庫220檢索另一個路由項以用於可能的減少。如果所檢索的路由項滿足用於去除的指定標準,則在步驟514,第一交換模塊將相應的路由項無效,並且基於在該路由項中找到的邏輯網絡標識符來遞減路由項計數器。在一個實施例中,第一交換模塊通過復位有效狀態欄位318來標註用於去除的相應的路由項。第一交換模塊可以通過從FDB計數遞減無效的路由項來更新FDB計數(例如,路由項計數器306)。在一些實施例中,第一交換模塊可以被配置來向其他交換模塊發送同步無效指示,以無效在相應的轉發資料庫中的選擇的路由項,而不管老化策略或其他交換模塊的FDB計數閾值如何。如此進行可以迅速地減少在多個交換模塊上的用於給定邏輯網絡的FDB計數。在其他實施例中,交換模塊可以被配置來允許用於給定的邏輯網絡的過量的路由項被每一個交換模塊獨立地無效。
[0076]在步驟516處,第一交換模塊可以重新檢查用於具有過量的項目的邏輯網絡的FDB計數是否繼續超過減少閾值。如果如此,第一交換模塊返回到步驟502,並且從轉發資料庫檢索另一個路由項用於可能的減少。如果否定,後臺減少處理可以終止,用於對應的邏輯網絡的FDB計數已經減少到低於減少閾值。在一些情況下,在圖5中所示的減少處理可能不能足夠快地從共享的轉發資料庫去除路由項,以將路由項計數降低得低於可接受的水平。在這樣的情況下,本發明的實施例提供了用於使用具有對應的補救行為的第二閾值的機構,如圖6中所示。
[0077]圖6是描述根據本發明的一個實施例的、用於維護由不同的邏輯交換分區共享的轉發資料庫的方法600的流程圖。如所示,方法600在步驟602開始,其中,分布式網絡交換機的第一交換模塊接收具有源地址、目的地地址和邏輯網絡標識符的第一數據幀。在步驟604,第一交換模塊確定共享的轉發資料庫(例如,轉發資料庫220)不包括用於網絡地址之一的任何路由項。
[0078]在步驟606處,第一交換模塊確定是否已經對於與進入幀相關聯的邏輯網絡暫停了新的網絡地址的學習。如下所述,在一些實施例中,第一交換模塊可以確定是否已經進入了「停止學習」邏輯狀態。如果如此,則第一交換模塊拒絕學習用於邏輯網絡的新的網絡地址,並且不在轉發資料庫中插入新的路由項。如果否定,則第一交換模塊可以進行到下面的步驟610。在步驟608處,第一交換模塊可以通過引發錯誤或發送通知來傳達用於給定邏輯網絡的路由項因為「停止學習」邏輯狀態而還沒有被插入轉發資料庫內。在一些實施例中,第一交換模塊可以當用於給定的邏輯網絡的路由項未因為「停止學習」邏輯狀態而未被插入時設置與給定的邏輯網絡相關聯的通知欄位來用於通知其他元件(例如,軟體)。在一些實施例中,第一交換模塊可以具有用於每個對應的邏輯網絡(例如,LN0-3)的獨立的通知欄位。如所示,第一交換模塊可以然後返回步驟602,以等待在進入埠上接收另外的數據幀。
[0079]在步驟610處,第一交換模塊基於確定的路由信息來產生用於網絡地址的路由項。在一個實施例中,第一交換模塊產生路由項,該路由項包括源地址和對於源地址和轉發資料庫標識符確定的路由信息。在步驟612處,第一交換模塊基於散列函數修改或請求修改共享的轉發資料庫220,以包括用於網絡地址的路由項。例如,第一交換模塊的電橋元件dVEBO使用基於諸如VLAN標籤、邏輯網絡標識符和MAC地址的路由信息的路由密鑰來向轉發資料庫內插入路由項。在步驟614,第一交換模塊基於插入的路由項的邏輯網絡標識符來更新路由項計數器(例如,路由表計數器306 )。
[0080]在步驟616處,第一交換模塊確定在用於給定的邏輯網絡的共享轉發資料庫中的項目的數量是否超過與該給定的邏輯網絡相關聯的第二閾值。在此被稱為「停止學習閾值」的這個第二閾值指定在交換模塊啟動停止用於對應的邏輯網絡的新的路由項的插入的補救行為之前特定的邏輯網絡可以在共享的轉發資料庫中具有的路由項的最大數量。在一個實施例中,第一交換模塊檢索用於第一邏輯網絡(例如,LN0)的路由項計數(例如,路由項計數器306),並且確定用於第一邏輯網絡的路由項計數器是否大於停止學習閾值。與給定邏輯網絡相關聯的停止學習閾值可以是能夠編程的,例如在配置寄存器中被設置。在一些實施例中,第一交換模塊包括用於每一個邏輯網絡的獨立的停止學習閾值,每一個停止學習閾值與對應的邏輯網絡相關聯。在一個實施例中,可以基於由不同的邏輯交換分區對於共享的轉發資料庫的使用來對於每一個邏輯網絡動態地確定閾值。例如,可以分析高水印值的值和用於邏輯網絡的FDB計數以確定更好地適應於提過到使用情況或網絡配置的新的停止學習閾值。
[0081]如果路由項計數超過用於給定邏輯網絡的停止學習閾值,在步驟618處,則第一交換模塊暫停用於第一邏輯網絡的新的網絡地址的學習。在一個實施例中,第一交換模塊可以進入「停止學習」邏輯狀態,該狀態指定轉發資料庫應當停止插入用於第一邏輯網絡的新的路由項。在「停止學習」邏輯狀態下的轉發資料庫220被配置來基於通過第一交換模塊的電橋元件在本地進入埠上接收的數據幀來暫停新的網絡地址的學習(例如,源地址學習)。在一些實施例中,轉發資料庫220進一步被配置來暫停經由同步操作來自其他轉發資料庫的新的網絡地址的學習。在一個實施例中,在「停止學習」邏輯狀態下的轉發資料庫220可以甚至通過靜態路由項的較高層處理(例如,軟體)來防止插入。替代地,第一交換模塊可以被配置來雖然在「停止學習」邏輯狀態中但是接受要插入到轉發資料庫內的靜態路由項。
[0082]在一個實施例中,第一交換模塊可以被配置來使用可配置的比特開關使能或禁止用於對應的邏輯網絡的「停止學習」邏輯狀態。例如,支持多達四個邏輯交換分區的交換模塊可以包括用於「停止學習」邏輯狀態的四個使能比特。在運行中,第一交換模塊被配置為在暫停用於給定的邏輯網絡的新的網絡地址的學習之前,基於用於給定的邏輯網絡的對應的可配置比特來確定是否使能「停止學習」邏輯狀態。
[0083]在一個實施例中,可以與減小閾值相結合地使用停止學習閾值。例如,減小閾值可以被設置為小於停止學習閾值的值的值,以實現試圖經由後臺處理(例如,如圖5中所示)來減少用於邏輯網絡的項目的數量的策略,並且如果減少處理不能足夠快地減少路由項,則執行停止學習過程。
[0084]本發明的實施例提供了用於管理用於分布式網絡交換機的轉發資料庫的技術。在一個實施例中,分布式網絡交換機可以被邏輯地劃分為多個邏輯網絡或邏輯交換分區。在一個實施例中,分布式網絡交換機的交換模塊實現計數器,該計數器跟蹤被插入到轉發資料庫的散列表內的每一個邏輯網絡的路由項的數量。當交換模塊檢測到用於給定邏輯網絡的計數器已經超過閾值時,交換模塊可以採取多個補救行為,諸如從轉發資料庫選擇性地去除用於對應的邏輯網絡的路由項,或者暫停用於對應的邏輯網絡的新的路由項向轉發資料庫內的插入。因此,分布式網絡交換機可以有效地管理由不同邏輯網絡共享的轉發資料庫的使用,同時繼續享受轉發資料庫的基於散列表的實現的益處。如此一來,分布式網絡交換機可以至少在一些情況下更有效地運行。
[0085]雖然上面涉及本發明的實施例,但是在不偏離其基本範圍的情況下可以設計本發明的其他和另外的實施例,並且由所附的權利要求確定其範圍。
【權利要求】
1.一種計算機實現的方法,用於在具有多個交換模塊的分布式網絡交換機中的路由表管理,其中,每一個交換模塊包括多個電橋元件和路由表,其中,在相應的交換模塊中的所述多個電橋元件之間共享在每一個交換模塊中的所述路由表,其中,所述多個交換模塊被邏輯地劃分到多個邏輯網絡內,所述方法包括: 所述第一交換模塊接收具有源地址和目的地地址的第一幀,其中,所述第一幀與所述多個邏輯網絡的第一邏輯網絡相關聯; 在確定所述第一交換模塊的所述路由表不包括用於所述源地址的路由項時,修改在所述第一交換模塊中的所述路由表以包括具有對於所述源地址確定的路由信息的第一路由項和所述第一邏輯網絡; 更新在與所述第一邏輯網絡相關聯的所述路由表中的路由項的計數;並且 在確定與所述第一邏輯網絡相關聯的路由項的所述計數超過與所述第一邏輯網絡相關聯的第一閾值時,基於與所述第一邏輯網絡相關聯的所述第二路由項修改所述路由表以使得在所述路由表中的第二路由項無效。
2.根據權利要求1所述的計算機實現的方法,其中,所述修改所述路由表以將所述第二路由項無效基於根據所述路由表的預定老化策略的、所述第二路由項被認為已經老化的程度。
3.根據權利要求1所述的計算機實現的方法,其中,所述修改所述路由表以將所述第二路由項無效進一步包括: 確定所述第二路由項是非靜態路由項; 確定所述第二路由項不是從所述路由表的其他部分複製的;並且· 確定所述第一交換模塊是所述第二路由項的擁有者,其中,網絡地址的路由項的擁有者被表徵為具有學習了所述網絡地址的轉發資料庫的交換模塊。
4.根據權利要求1所述的方法,進一步包括: 基於已經在所述路由表中被無效的、與所述第一邏輯網絡相關聯的路由項的數量來遞減與所述第一邏輯網絡相關聯的在所述路由表中的路由項的計數。
5.根據權利要求1所述的方法,進一步包括: 在確定與所述第一邏輯網絡相關聯的路由項的更新的計數大於用於所述計數的最高歷史值時,將所述最高歷史值更新得等於對應的更新計數。
6.根據權利要求1所述的方法,進一步包括: 在確定與所述第一邏輯網絡相關聯的路由項的所述計數超過與所述第一邏輯網絡相關聯的、大於所述第一閾值的第二閾值時,修改所述路由表以暫停與所述第一邏輯網絡相關聯的新的路由項的插入。
7.根據權利要求6所述的方法,進一步包括: 所述第一交換模塊接收具有源地址和目的地地址的第二幀,其中,所述第二幀與所述第一邏輯網絡相關聯; 在確定所述第一交換模塊的所述路由表不包括用於所述第二幀的所述源地址的路由項時,並且在進一步確定所述路由表已經被修改以暫停與所述第一邏輯網絡相關聯的新的路由項的插入時,發送通知,所述通知指示新的路由項還沒有被插入所述路由表內以超過與所述第一邏輯網絡相關聯的所述第二閾值。
8.根據權利要求1所述的方法,其中,所述修改在所述第一交換模塊中的所述路由表以包括所述第一路由項進一步包括: 基於散列函數來修改在所述第一交換模塊中的所述路由表以包括所述第一路由項,其中,所述第一路由項存儲基於虛擬區域網(VLAN)標籤的路由密鑰、邏輯網絡(LN)標識符和介質訪問控制(MAC )地址。
9.一種系統,用於在具有包括第一交換模塊的多個交換模塊的分布式網絡交換機中的路由表管理,包括: 一個或多個計算機處理器; 存儲器,其包含程序,所述程序當被所述一個或多個計算機處理器執行時被配置為執行操作,所述操作包括: 所述第一交換模塊接收具有源地址和目的地地址的第一幀,其中,每一個交換模塊包括多個電橋元件和一個路由表,其中,在相應的交換模塊中的所述多個電橋元件之間共享在每一個交換模塊中的所述路由表,其中,所述多個交換模塊被邏輯地劃分到多個邏輯網絡內,其中,所述第一幀與所述多個邏輯網絡的第一邏輯網絡相關聯; 在確定所述第一交換模塊的所述路由表不包括用於所述源地址的路由項時,修改在所述第一交換模塊中的所述路由表以包括具有對於所述源地址確定的路由信息的第一路由項和所述第一邏輯網絡; 更新在與所述第一邏輯網絡相關聯的所述路由表中的路由項的計數;並且 在確定與所述第一邏輯網絡相關聯的路由項的所述計數超過與所述第一邏輯網絡相關聯的第一閾值時,基於與所述第一邏輯網絡相關聯的所述第二路由項修改所述路由表以使得在所述路由表 中的第二路由項無效。
10.根據權利要求9所述的系統,其中,所述修改所述路由表以將所述第二路由項無效基於根據所述路由表的預定老化策略的、所述第二路由項被認為已經老化的程度。
11.根據權利要求9所述的系統,其中,所述修改所述路由表以將所述第二路由項無效進一步包括: 確定所述第二路由項是非靜態路由項; 確定所述第二路由項不是從所述路由表的其他部分複製的;並且 確定所述第一交換模塊是所述第二路由項的擁有者,其中,網絡地址的路由項的擁有者被表徵為具有學習了所述網絡地址的轉發資料庫的交換模塊。
12.根據權利要求9所述的系統,其中,所述操作進一步包括: 在確定與所述第一邏輯網絡相關聯的路由項的所述計數超過與所述第一邏輯網絡相關聯的、大於所述第一閾值的第二閾值時,修改所述路由表以暫停與所述第一邏輯網絡相關聯的新的路由項的插入。
13.根據權利要求9所述的系統,其中,所述操作進一步包括: 在確定與所述第一邏輯網絡相關聯的路由項的更新的計數大於用於所述計數的最高歷史值時,將所述最高歷史值更新得等於對應的更新計數。
14.根據權利要求9所述的系統,其中,所述操作進一步包括: 在確定與所述第一邏輯網絡相關聯的路由項的所述計數超過與所述第一邏輯網絡相關聯的、大於所述第一閾值的第二閾值時,修改所述路由表以暫停與所述第一邏輯網絡相關聯的新的路由項的插入。
15.根據權利要求14所述的系統,其中,所述操作進一步包括: 所述第一交換模塊接收具有源地址和目的地地址的第二幀,其中,所述第二幀與所述第一邏輯網絡相關聯; 在確定所述第一交換模塊的所述路由表不包括用於所述第二幀的所述源地址的路由項時,並且在進一步確定所述路由表已經被修改以暫停與所述第一邏輯網絡相關聯的新的路由項的插入時,發送通知,所述通知指示新的路由項還沒有被插入所述路由表內以超過與所述第一邏輯網絡相關聯的所述第二閾值。
16.根據權利要求9所述的系統,其中,所述修改在所述第一交換模塊中的所述路由表以包括所述第一路由項進一步包括: 基於散列函數來修改在所述第一交換模塊中的所述路由表以包括所述第一路由項,其中,所述第一路由項存儲基於虛擬區域網(VLAN)標籤的路由密鑰、邏輯網絡(LN)標識符和介質訪問控制(MAC )地址。`
【文檔編號】H04L12/24GK103856406SQ201310632168
【公開日】2014年6月11日 申請日期:2013年11月29日 優先權日:2012年11月29日
【發明者】D.L.安格斯特, C.巴索, J.科斯, M.Q.利亞庫納, D.A.謝迪維, C.B.維裡爾利 申請人:國際商業機器公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀