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

用于在分布式網(wǎng)絡(luò)交換機(jī)中的路由表管理的系統(tǒng)和方法

文檔序號:7778539閱讀:309來源:國知局
用于在分布式網(wǎng)絡(luò)交換機(jī)中的路由表管理的系統(tǒng)和方法
【專利摘要】提供了用于管理在分布式網(wǎng)絡(luò)交換機(jī)中的路由表的技術(shù)。該分布式網(wǎng)絡(luò)交換機(jī)被劃分為可以共享路由表的邏輯交換分區(qū)或邏輯網(wǎng)絡(luò)。共享的路由表被配置計(jì)數(shù)器和閾值以在每一個邏輯網(wǎng)絡(luò)的基礎(chǔ)上控制路由表的利用。當(dāng)計(jì)數(shù)器超過特定閾值時,修改路由表以減少在路由表內(nèi)的路由項(xiàng)或者暫停新的路由項(xiàng)的插入。
【專利說明】用于在分布式網(wǎng)絡(luò)交換機(jī)中的路由表管理的系統(tǒng)和方法
[0001]
【技術(shù)領(lǐng)域】
[0002]本發(fā)明的實(shí)施例總體上涉及計(jì)算機(jī)網(wǎng)絡(luò)的領(lǐng)域。
【背景技術(shù)】
[0003]計(jì)算機(jī)系統(tǒng)經(jīng)常使用在公共的機(jī)座中耦合在一起的多個計(jì)算機(jī)。該計(jì)算機(jī)可以是通過在機(jī)座內(nèi)的公共主干(Backbone)耦合的獨(dú)立服務(wù)器。每個服務(wù)器是可插入板,其包括至少一個處理器、板上存儲器和輸入/輸出(I/O)接口。而且,服務(wù)器可以連接到交換機(jī)以擴(kuò)展服務(wù)器的能力。例如,交換機(jī)可以允許服務(wù)器訪問另外的以太網(wǎng)網(wǎng)絡(luò)或外圍部件互連快速(PCIe)插槽,并且允許在相同或不同機(jī)座中的服務(wù)器之間的通信。另外,也可以組合多個交換機(jī)以建立分布式網(wǎng)絡(luò)交換機(jī)。

【發(fā)明內(nèi)容】

[0004]本發(fā)明的實(shí)施例提供了用于執(zhí)行用于在具有多個交換模塊的分布式網(wǎng)絡(luò)交換機(jī)中的路由表管理的操作的方法、產(chǎn)品和系統(tǒng),其中,所述交換機(jī)模塊至少包括第一交換模塊。所述交換模塊 包括多個電橋元件和路由表。在相應(yīng)的交換模塊中的所述多個電橋元件之間共享在每一個交換模塊中的所述路由表。所述多個交換模塊被邏輯地劃分到多個邏輯網(wǎng)絡(luò)內(nèi)。所述操作包括:所述第一交換模塊接收具有源地址和目的地地址的第一幀。所述第一幀與所述多個邏輯網(wǎng)絡(luò)的第一邏輯網(wǎng)絡(luò)相關(guān)聯(lián)。所述操作進(jìn)一步包括:在確定所述第一交換模塊的所述路由表不包括用于所述源地址的路由項(xiàng)時,修改在所述第一交換模塊中的所述路由表以包括具有對于所述源地址確定的路由信息的第一路由項(xiàng)和所述第一邏輯網(wǎng)絡(luò)。所述操作包括:更新在與所述第一邏輯網(wǎng)絡(luò)相關(guān)聯(lián)的所述路由表中的路由項(xiàng)的計(jì)數(shù)。所述操作進(jìn)一步包括:在確定與所述第一邏輯網(wǎng)絡(luò)相關(guān)聯(lián)的路由項(xiàng)的所述計(jì)數(shù)超過與所述第一邏輯網(wǎng)絡(luò)相關(guān)聯(lián)的第一閾值時,基于與所述第一邏輯網(wǎng)絡(luò)相關(guān)聯(lián)的所述第二路由項(xiàng)修改所述路由表以使得在所述路由項(xiàng)中的第二路由項(xiàng)無效。
【專利附圖】

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