100中的連接和網(wǎng)絡(luò)節(jié)點(diǎn)110的狀態(tài)或狀況。網(wǎng)絡(luò)節(jié)點(diǎn)110的當(dāng)前狀態(tài)保 持在拓?fù)鋽?shù)據(jù)庫中。虛擬機(jī)箱系統(tǒng)100中的網(wǎng)絡(luò)節(jié)點(diǎn)110檢測的狀態(tài)改變可W發(fā)起路由的 變化、主節(jié)點(diǎn)的變化等。通過拓?fù)渚W(wǎng)絡(luò)自發(fā)現(xiàn)和節(jié)點(diǎn)110的監(jiān)視,虛擬機(jī)箱系統(tǒng)100可操作 用于W最小預(yù)配置和干預(yù)來支持多個(gè)不同類型的網(wǎng)絡(luò)拓?fù)洹?br>[0043] 圖3示出在選擇主網(wǎng)絡(luò)節(jié)點(diǎn)110之后,虛擬機(jī)箱系統(tǒng)100中的網(wǎng)絡(luò)節(jié)點(diǎn)110的拓 撲結(jié)構(gòu)數(shù)據(jù)庫144的例子。在該個(gè)例子中,網(wǎng)絡(luò)節(jié)點(diǎn)110a被采用作為主網(wǎng)絡(luò)節(jié)點(diǎn),網(wǎng)絡(luò)節(jié) 點(diǎn)11化和110c是從節(jié)點(diǎn)。網(wǎng)絡(luò)節(jié)點(diǎn)110a的本地MAC地址(例如,主MAC地址=A)被網(wǎng) 絡(luò)節(jié)點(diǎn)llOa-c采用作為虛擬機(jī)箱MAC地址。另外,主MAC地址(MAC=A)被采納為用于管 理應(yīng)用的應(yīng)用MAC地址。
[0044] 虛擬機(jī)箱系統(tǒng)100也可操作用于包括具有一個(gè)或多個(gè)不同類型的節(jié)點(diǎn)結(jié)構(gòu)的網(wǎng) 絡(luò)節(jié)點(diǎn)110,例如單個(gè)模塊、可堆疊、或基于多插槽機(jī)箱的架構(gòu)。圖4示出了在具有不同類 型的節(jié)點(diǎn)結(jié)構(gòu)的虛擬機(jī)箱系統(tǒng)100中的網(wǎng)絡(luò)節(jié)點(diǎn)110實(shí)施例的示意性框圖。在該個(gè)例子 中,網(wǎng)絡(luò)節(jié)點(diǎn)110a具有基于多插槽機(jī)箱的結(jié)構(gòu),該結(jié)構(gòu)有多個(gè)網(wǎng)絡(luò)接口模塊152a-n。通常, 基于多插槽機(jī)箱的結(jié)構(gòu)共有一個(gè)外殼、控制管理模塊(CMM) 150a-b和公共電源,所述公共 電源具有例如線路卡或端口模塊的一個(gè)或多個(gè)網(wǎng)絡(luò)接口模塊(NIM)152a-n。網(wǎng)絡(luò)接口模塊 15化包括排隊(duì)模塊212和交換模塊210并且該些模塊通過集成到該機(jī)箱的底板的光纖交換 機(jī)214連接。
[0045] 本例中的網(wǎng)絡(luò)節(jié)點(diǎn)11化具有可堆疊節(jié)點(diǎn)結(jié)構(gòu)并包括通過底板連接142禪合的多 個(gè)網(wǎng)絡(luò)元件140a-n。每個(gè)網(wǎng)絡(luò)元件140a-n可操作為獨(dú)立節(jié)點(diǎn),并且包含它自己的外殼、控 制管理模塊(CMM) 150、交換模塊210、排隊(duì)模塊212和電源。在一些堆疊結(jié)構(gòu)中,一種網(wǎng)絡(luò) 元件(在該例中的網(wǎng)絡(luò)元件140a)被指定為堆找的主要或主單元W用于管理目的。
[0046] 網(wǎng)絡(luò)節(jié)點(diǎn)110c具有單個(gè)模塊節(jié)點(diǎn)結(jié)構(gòu),例如單獨(dú)的可堆疊單元140或者可選地, 具有單個(gè)網(wǎng)絡(luò)接口模塊152的基于多插槽機(jī)箱的結(jié)構(gòu)。
[0047] 網(wǎng)絡(luò)節(jié)點(diǎn)llOa-c對應(yīng)于圖la-c的虛擬機(jī)箱系統(tǒng)100中的一個(gè)或多個(gè)網(wǎng)絡(luò)元件 110。例如,虛擬機(jī)箱系統(tǒng)100可W包括僅僅具有基于多插槽機(jī)箱的節(jié)點(diǎn)結(jié)構(gòu)的網(wǎng)絡(luò)節(jié)點(diǎn) 110或包括僅僅具有可堆疊節(jié)點(diǎn)結(jié)構(gòu)的網(wǎng)絡(luò)節(jié)點(diǎn)110或包括兩種或多種類型的節(jié)點(diǎn)結(jié)構(gòu)的 網(wǎng)絡(luò)節(jié)點(diǎn)110的組合,該里的兩種或多種類型例如基于多插槽機(jī)箱結(jié)構(gòu)、可堆疊節(jié)點(diǎn)結(jié)構(gòu) 和單個(gè)模塊節(jié)點(diǎn)結(jié)構(gòu)。雖然未示出,虛擬機(jī)箱系統(tǒng)100還可W包括由其他類型的節(jié)點(diǎn)結(jié)構(gòu) 和配置構(gòu)成的網(wǎng)絡(luò)節(jié)點(diǎn)110。
[004引網(wǎng)絡(luò)節(jié)點(diǎn)110a和網(wǎng)絡(luò)節(jié)點(diǎn)11化通過VFL120a可操作地禪合。網(wǎng)絡(luò)節(jié)點(diǎn)110a和 110bW內(nèi)部V化的標(biāo)識符(VFID)指定VFL120a,例如對于網(wǎng)絡(luò)節(jié)點(diǎn)110a,VFID= 3,W及對 于網(wǎng)絡(luò)節(jié)點(diǎn)110b,VFID= 0,如圖3所示。網(wǎng)絡(luò)節(jié)點(diǎn)110a和網(wǎng)絡(luò)節(jié)點(diǎn)110c通過VFL12化 可操作地禪合。網(wǎng)絡(luò)節(jié)點(diǎn)110a和110cW內(nèi)部V化標(biāo)識符(VFID)指定VFL120b,例如對 于網(wǎng)絡(luò)節(jié)點(diǎn)ll0a,VFID= 2W及對于網(wǎng)絡(luò)節(jié)點(diǎn)ll0c,VFID= 1,如圖3所示。此外,網(wǎng)絡(luò)節(jié) 點(diǎn)llOa-c還通過附加VFL120可操作地禪合到一個(gè)或多個(gè)其他網(wǎng)絡(luò)節(jié)點(diǎn)110,如圖la-c所 示。網(wǎng)絡(luò)節(jié)點(diǎn)110a和11化之間的VFL120a被描述為虛擬機(jī)箱系統(tǒng)100中的不同網(wǎng)絡(luò)節(jié) 點(diǎn)110之間的VFL120的操作和配置的概括。
[0049] 網(wǎng)絡(luò)節(jié)點(diǎn)110a和網(wǎng)絡(luò)節(jié)點(diǎn)11化之間的VFL 120a可操作地禪合到一個(gè)或多個(gè)交 換模塊210中的一個(gè)或多個(gè)成員端口。為了在一個(gè)或多個(gè)端口、鏈路或模塊發(fā)生故障 情況下的冗余,VFL 120a可操作地包括多個(gè)聚合鏈路,所述聚合鏈路使用網(wǎng)絡(luò)節(jié)點(diǎn)110a和 11化的不同交換模塊210之間的LACP或類似聚合協(xié)議生成。例如在圖4中,VFL 120a包 括網(wǎng)絡(luò)節(jié)點(diǎn)110a的NIM 152a和網(wǎng)絡(luò)節(jié)點(diǎn)11化的堆疊式網(wǎng)絡(luò)元件140a之間的物理鏈路的 第一子集A W及網(wǎng)絡(luò)節(jié)點(diǎn)110a的NIM 15化和網(wǎng)絡(luò)節(jié)點(diǎn)11化的堆疊式網(wǎng)絡(luò)元件14化之間 的物理鏈路的第二子集B。
[0050] 網(wǎng)絡(luò)節(jié)點(diǎn)110在虛擬機(jī)箱系統(tǒng)100中被分配唯一的機(jī)箱標(biāo)識符。用于每個(gè)網(wǎng)絡(luò)節(jié) 點(diǎn)110的機(jī)箱ID是唯一和全局的,并且通過拓?fù)浒l(fā)現(xiàn),網(wǎng)絡(luò)節(jié)點(diǎn)110可W意識到虛擬機(jī)箱 系統(tǒng)100中其對等網(wǎng)絡(luò)節(jié)點(diǎn)110的機(jī)箱ID的。另外,諸如網(wǎng)絡(luò)節(jié)點(diǎn)110中的交換模塊210 和端口接口的各種組件的唯一硬件設(shè)備標(biāo)識符或模塊標(biāo)識符(MID)的生成允許用于本地 和遠(yuǎn)程管理的目的。在一個(gè)實(shí)施例中,交換模塊210的硬件設(shè)備標(biāo)識符MID在虛擬機(jī)箱系 統(tǒng)內(nèi)具有全局意義,而例如排隊(duì)模塊212的其他組件的MID可W只具有本地意義。例如,分 配給該交換模塊210的硬件設(shè)備標(biāo)識符可W被其他網(wǎng)絡(luò)節(jié)點(diǎn)110所知,而其他設(shè)備的硬件 設(shè)備標(biāo)識符被限制到本地網(wǎng)絡(luò)節(jié)點(diǎn)110并且對于其他網(wǎng)絡(luò)節(jié)點(diǎn)110沒有什么意義。例如, 交換模塊21的端口接口被分配全球唯一硬件設(shè)備標(biāo)識符,該標(biāo)識符包括機(jī)箱ID、交換模塊 ID和端口接口ID。在一個(gè)實(shí)施例中,虛擬機(jī)箱系統(tǒng)中的網(wǎng)絡(luò)節(jié)點(diǎn)110在預(yù)置報(bào)頭模式工作 來通過VFL120交換數(shù)據(jù)和控制分組。
[0051] 圖5更詳細(xì)地示出了在預(yù)置報(bào)頭模式中操作的網(wǎng)絡(luò)接口模塊(NIM) 152示意性的 實(shí)施例的框圖。盡管示出了網(wǎng)絡(luò)接口模塊152,堆疊式網(wǎng)絡(luò)元件140或單模塊網(wǎng)絡(luò)元件可 操作用于執(zhí)行類似功能W在預(yù)置報(bào)頭模式中操作。交換模塊210包括從虛擬機(jī)箱系統(tǒng)100 連接到外部節(jié)點(diǎn)的112多個(gè)外部端口 240。一個(gè)或多個(gè)外部端口 240可W包括用于VC-LAG 114、LAG116、單一中繼線或其他中繼線群、固定鏈路等的成員端口。外部端口 240可具有 相同的物理接口類型,例如銅端口(CAT-祀/CAT-6)、多模光纖端口(S幻或單模光纖端口 (L幻。在另一個(gè)實(shí)施例中,外部端口 240可W具有一個(gè)或多個(gè)不同的物理接口類型。
[0052] 外部端口 240被分配有例如設(shè)備端口值的外部端口接口標(biāo)識符(端口ID),所述 標(biāo)識符例如與交換模塊210相關(guān)聯(lián)的gpod和化OTt值。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)節(jié)點(diǎn)110 的機(jī)箱ID、交換模塊210的MID、W及外部端口接口標(biāo)識符(端口ID)被用作虛擬機(jī)箱系統(tǒng) 100的網(wǎng)絡(luò)節(jié)點(diǎn)110中的物理外部端口接口 240的全球唯一標(biāo)識符。在另一個(gè)實(shí)施例中,全 球唯一模塊標(biāo)識符(MID)基于機(jī)箱標(biāo)識符被分配給虛擬機(jī)箱系統(tǒng)的網(wǎng)絡(luò)節(jié)點(diǎn)的各交換模 塊210。例如,交換MID0-31被分配給機(jī)箱ID= 1,交換MID32-63被分配到機(jī)箱ID= 2 等。在該種情況下,全球唯一交換MID和外部端口標(biāo)識符(端口ID)被用作虛擬機(jī)箱系統(tǒng) 100的網(wǎng)絡(luò)節(jié)點(diǎn)110中的物理外部端口接口 240的全球唯一標(biāo)識符。
[0053] 當(dāng)外部端口 240上接收到分組時(shí),交換模塊210將該分組傳送給預(yù)置報(bào)頭接口 (PPHD246,該接口添加預(yù)置報(bào)頭(或W其他方式修改分組報(bào)頭)W包括與所述分組相關(guān)的 源和/或目的MC地址相關(guān)聯(lián)的硬件設(shè)備信息(皿I)。在一個(gè)實(shí)施例中,預(yù)置報(bào)頭可W包括 例如分組優(yōu)先級和負(fù)載均衡標(biāo)識符的其他信息。為了獲得與分組的MAC地址相關(guān)聯(lián)的皿I 信息,PPHI在MAC/皿I轉(zhuǎn)發(fā)表250中執(zhí)行查找過程。存儲在地址列表存儲器248中的MAC/ 皿I轉(zhuǎn)發(fā)表250包括MAC地址的列表和相關(guān)聯(lián)的硬件設(shè)備信息。硬件設(shè)備信息唯一地標(biāo)識 網(wǎng)絡(luò)節(jié)點(diǎn)110、交換模塊210和/或用于路由分組的端口接口 240。硬件設(shè)備信息包括例 如交換模塊210的機(jī)箱ID、MID和/或與目的MAC地址相關(guān)聯(lián)的端口 240的端口接口ID。 MAC/皿I轉(zhuǎn)發(fā)表250可W包括一個(gè)或多個(gè)表,如源中繼映射、中繼位圖表、中繼群表、VLAN映 射表等。在一個(gè)實(shí)施例中,MAC/皿I轉(zhuǎn)發(fā)表250或其部分可W位于NIM的排隊(duì)模塊152或 其他模塊。
[0054] 基于拓?fù)鋽?shù)據(jù)庫144,V化路由配置表254在網(wǎng)絡(luò)節(jié)點(diǎn)110生成W確定單播流量的 路由。V化路由配置表254包括機(jī)箱ID和相關(guān)聯(lián)的VFLID(VFID)。與機(jī)箱ID相關(guān)的VFID 標(biāo)識虛擬機(jī)箱系統(tǒng)100中的VFL120用于向目的機(jī)箱ID標(biāo)識的網(wǎng)絡(luò)節(jié)點(diǎn)110路由分組。 在另一個(gè)實(shí)施例中,當(dāng)全球唯一模塊標(biāo)識符(MID)分配給虛擬機(jī)箱系統(tǒng)100中的網(wǎng)絡(luò)節(jié)點(diǎn) 110的交換模塊210時(shí),V化路由配置表254包括全球唯一MID和相關(guān)的VFLID(VFID)。在 一個(gè)實(shí)施例中,Vf^L路由配置表254是使用最短路徑算法、基于流量的算法或其他類型的路 由算法而生成的。如圖la所示的虛擬機(jī)箱系統(tǒng)100的V!^L路由配置表254的例子在如下 的表3中示出。
[00巧]
[0056]
[0057]
[0058] 表 3
[0059] 盡管MAC/皿I轉(zhuǎn)發(fā)表250和V化路由表254示出為地址列表存儲器248中的獨(dú)立 表格,該些表可W被組合或來自表格之一的數(shù)據(jù)可W包括到另一個(gè)表格或者該些表可W被 分成一個(gè)或更多個(gè)其他表格。
[0060] 在一個(gè)實(shí)施例中,分組的預(yù)置報(bào)頭的硬件設(shè)備信息皿I中包括與目的機(jī)箱ID相 關(guān)的VFL端口 252輸出VFID,如表3所示。該預(yù)置報(bào)頭還包括與接收分組的源端口相關(guān)的 硬件設(shè)備信息皿I,如端口接口ID、交換模塊210的MID和機(jī)箱ID。在一個(gè)實(shí)施例中,諸如 VLANID、分組類型(多播、單播、廣播)、分組優(yōu)先級和負(fù)載均衡標(biāo)識符的附加信息也被添 加到預(yù)置報(bào)頭中。
[0061] 然后,帶有預(yù)置報(bào)頭的分組被發(fā)送到排隊(duì)模塊212,用于經(jīng)由光纖交換機(jī)214進(jìn)行 路由?;诼酚膳渲帽?54,排隊(duì)模塊212將帶有預(yù)置報(bào)頭的分組路由到連接到輸出 VFL120的交換模塊210。
[0062] 排隊(duì)模塊212包括分組緩沖器260、用于提供流量和緩沖器管理的隊(duì)列管理262W 及全局皿I地址列表264。全局皿I地址列表264將輸出VFLID映射到一個(gè)或多個(gè)其他 NIM15的排隊(duì)模塊212中的適當(dāng)隊(duì)列。例如,排隊(duì)模塊212將分組交換到一個(gè)或多個(gè)V!^L的 端口接口 252的適當(dāng)出口隊(duì)列,用于經(jīng)由輸出VFL120傳輸。在一個(gè)實(shí)施例中,確定對應(yīng)于 特定Vf^L端口接口的外出隊(duì)列可操作地基于預(yù)置報(bào)頭中的負(fù)載均衡標(biāo)識符。
[0063] 盡管交換模塊210和排隊(duì)模塊212被示為單獨(dú)的集成電路或模塊,該些模塊的一 個(gè)或多個(gè)功能或組件可包括在其他模塊或組合成可選模塊或被實(shí)現(xiàn)于一個(gè)或多個(gè)集成電 路中。
[0064] 圖6示出虛擬機(jī)箱系統(tǒng)100中的分組的預(yù)置報(bào)頭實(shí)施例的的示意性框圖。預(yù)置 報(bào)頭300包括源皿I302、目的皿I304、VLANID306、分組類型308、源MAC地址310和目 的MAC地址312的字段。在一個(gè)實(shí)施例中,預(yù)置報(bào)頭還可W包括負(fù)載均衡標(biāo)識符314和分 組優(yōu)先權(quán)316。目的皿I304包括例如端口標(biāo)識符(設(shè)備端口(化ort)和/或全局端口值 佑PV))、交換模塊210的MID和/或與目的MAC地址相關(guān)的目的網(wǎng)絡(luò)節(jié)點(diǎn)110的機(jī)箱ID。 源皿I302包括例如端口標(biāo)識符(設(shè)備端口(化ort)和/或全局端口值佑PV))、交換模塊 210的MID和/或與源MAC地址相關(guān)的源網(wǎng)絡(luò)節(jié)點(diǎn)的機(jī)箱ID。負(fù)載均衡標(biāo)識符314由排隊(duì) 模塊212使用來確定VFL成員端口用于經(jīng)由輸出VFL120傳輸分組。分組優(yōu)先級316由排 隊(duì)模塊212使用來確定特定優(yōu)先級隊(duì)列。
[0065] 圖7示出在虛擬機(jī)箱系統(tǒng)100中通過網(wǎng)絡(luò)節(jié)點(diǎn)110a至另一網(wǎng)絡(luò)節(jié)點(diǎn)1化的分組 流的示意性實(shí)施例框圖。在該一例子中,來自具有源MAC地址"MAC1"的虛擬機(jī)箱系統(tǒng)100 的外部設(shè)備300發(fā)送具有目的MAC地址"MC2"的分組。在該示例中,具有機(jī)箱ID= 1的 網(wǎng)絡(luò)節(jié)點(diǎn)110a在例如具有MID= 31的交換模塊21化上的外部端口接口 240接收分組,所 述交換模塊210n,所述外部端口接口 240例如具有端口ID= 2。交換模塊21化提取目的MAC地址MC2并且在MAC/皿I轉(zhuǎn)發(fā)表250中執(zhí)行地址列表查找來確定與目的MAC地址MC2 相關(guān)的硬件設(shè)備信息(皿I)。目的皿I可W包括,例如目的機(jī)箱ID和與目的MAC地址相關(guān) 的設(shè)備模塊標(biāo)識符(MID)和端口標(biāo)識符。目的皿I還可W包括到與目的MAC地址相關(guān)聯(lián)的 目的設(shè)備的路徑中的一個(gè)或多個(gè)其他網(wǎng)絡(luò)節(jié)點(diǎn)或硬件模塊的標(biāo)識符。當(dāng)目的MAC地址與另 一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)相關(guān)時(shí),例如目的機(jī)箱ID不是本地機(jī)箱ID,則交換模塊210確定與目的機(jī)箱 ID相關(guān)的外出VFLID。該外出VFLID可W被添加到預(yù)置報(bào)頭的目的皿I中。對于圖5所 示的例子,路由表254指示目的機(jī)箱ID= 2與具有VFID= 3的VFL120相關(guān)聯(lián)。
[0066] 交換模塊21化還在預(yù)置報(bào)頭中包括與例如端口ID= 2的始發(fā)外部端口接口 (皿I)相關(guān)的源硬件設(shè)備信息。源皿I可W包括一個(gè)或多個(gè)硬件設(shè)備標(biāo)識符,例如始發(fā)交換 模塊210的MID、源NIM152的源端口標(biāo)識符、源機(jī)箱MID等。此外,在一個(gè)實(shí)施例中,預(yù)置 報(bào)頭包括基于從原始分組(源MAC地址、目的MAC地址、源IP地址、目的IP地址)檢索出 的參數(shù)確定的分組優(yōu)先級和負(fù)載均衡標(biāo)識符。
[0067] 具有預(yù)置報(bào)頭的分組被發(fā)送給排隊(duì)模塊212n,排隊(duì)模塊21化然后確定網(wǎng)絡(luò)節(jié)點(diǎn) 110上的NIM152W基于目的皿I發(fā)送分組。當(dāng)目的皿I指示網(wǎng)絡(luò)節(jié)點(diǎn)上的本地外部端口 接口(例如基于預(yù)置報(bào)頭中包含的目的MID),排隊(duì)模塊將分組放置到出口隊(duì)列W發(fā)送給本 地外部端口接口的對應(yīng)NIM152。在圖5所示的