專利名稱:虛擬網(wǎng)絡(luò)設(shè)備集群的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò),尤其涉及虛擬網(wǎng)絡(luò)設(shè)備。
背景技術(shù):
為了提供更高的網(wǎng)絡(luò)可靠性,網(wǎng)絡(luò)中通常包括冗余交換機(jī)和鏈路。如果交換機(jī)或 鏈路發(fā)生故障,則可以快速地使能已經(jīng)位于網(wǎng)絡(luò)中的冗余交換機(jī)或鏈路以替換故障交換機(jī) 或鏈路。由于使能冗余交換機(jī)或鏈路作為替換通??梢员忍鎿Q或修復(fù)故障組件更快,因此 具有冗余的鏈路和/或交換機(jī)提供了更可靠的網(wǎng)絡(luò)。 當(dāng)在網(wǎng)絡(luò)中包括冗余組件時(shí),常常希望能夠在相應(yīng)組件發(fā)生故障之前,在正常網(wǎng) 絡(luò)操作期間使用冗余組件。例如,如果在一對(duì)交換機(jī)之間實(shí)現(xiàn)兩條鏈路,則希望使用這兩條 鏈路(而非讓一條鏈路空閑)來(lái)提供更高的帶寬。然而,如果多條冗余鏈路同時(shí)活動(dòng),則對(duì) 這些鏈路的管理可能復(fù)雜(例如由于避免橋接循環(huán)的需求),這是不希望的。這一復(fù)雜性延 伸到了在正常操作期間使用多個(gè)冗余組件的其他情況。例如,如果在一個(gè)網(wǎng)絡(luò)中同時(shí)使用 多個(gè)冗余路由器,則對(duì)該網(wǎng)絡(luò)的管理可能由于對(duì)每個(gè)網(wǎng)絡(luò)設(shè)備具有不同的管理點(diǎn)的需求而 變得更加復(fù)雜。這些示例表明,希望能夠降低在網(wǎng)絡(luò)內(nèi)使用多個(gè)冗余組件時(shí)產(chǎn)生的復(fù)雜性。
發(fā)明內(nèi)容
公開了各種用于實(shí)現(xiàn)虛擬網(wǎng)絡(luò)設(shè)備集群的方法和系統(tǒng)的實(shí)施例。虛擬網(wǎng)絡(luò)設(shè)備集 群包括若干個(gè)不同的虛擬網(wǎng)絡(luò)設(shè)備子單元,這些虛擬網(wǎng)絡(luò)設(shè)備子單元集體作為一個(gè)邏輯網(wǎng) 絡(luò)設(shè)備進(jìn)行操作。虛擬網(wǎng)絡(luò)設(shè)備集群標(biāo)識(shí)出給定的分組進(jìn)入該虛擬網(wǎng)絡(luò)設(shè)備集群所經(jīng)由的 虛擬網(wǎng)絡(luò)設(shè)備子單元?;跒榉纸M標(biāo)識(shí)了哪個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元,來(lái)通過虛擬網(wǎng)絡(luò)設(shè)備 集群轉(zhuǎn)發(fā)分組。 在一些實(shí)施例中,一種方法涉及將若干個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元作為一個(gè)虛擬網(wǎng)絡(luò) 設(shè)備來(lái)操作,并且如果這些虛擬網(wǎng)絡(luò)設(shè)備子單元之一已經(jīng)接收過分組,則防止該分組被發(fā) 送到該虛擬網(wǎng)絡(luò)設(shè)備子單元。將虛擬網(wǎng)絡(luò)設(shè)備子單元作為一個(gè)虛擬網(wǎng)絡(luò)設(shè)備操作涉及經(jīng)由 一條或多條虛擬網(wǎng)絡(luò)設(shè)備鏈路,將控制信息從一個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元傳送到一個(gè)或多個(gè) 其他虛擬網(wǎng)絡(luò)設(shè)備子單元。 根據(jù)本發(fā)明的一個(gè)方面,提供了一種方法,該方法包括訪問與分組和第一網(wǎng)絡(luò) 設(shè)備相關(guān)聯(lián)的信息,其中該信息指示分組是由第一網(wǎng)絡(luò)設(shè)備接收進(jìn)入網(wǎng)絡(luò)的;通過網(wǎng)絡(luò)發(fā) 送分組,其中如果第一網(wǎng)絡(luò)設(shè)備是網(wǎng)絡(luò)的第一進(jìn)入點(diǎn),則發(fā)送與第一生成樹一致,其中如果 第一網(wǎng)絡(luò)設(shè)備是網(wǎng)絡(luò)的第二進(jìn)入點(diǎn),則發(fā)送與第二生成樹一致,其中發(fā)送包括訪問外出過 濾器,該外出過濾器包括基于第一生成樹的第一設(shè)定和基于第二生成樹的第二設(shè)定,并且 其中發(fā)送由第二網(wǎng)絡(luò)設(shè)備執(zhí)行,該第二網(wǎng)絡(luò)設(shè)備通過至少一條鏈路而被耦合到第一網(wǎng)絡(luò)設(shè)備。 根據(jù)本發(fā)明的另一個(gè)方面,提供了一種方法,該方法包括將分組轉(zhuǎn)發(fā)到第一接 口 ;訪問與分組和第一網(wǎng)絡(luò)設(shè)備相關(guān)聯(lián)的信息,其中該信息指示分組是由第一網(wǎng)絡(luò)設(shè)備接 收進(jìn)入網(wǎng)絡(luò)的;如果第一網(wǎng)絡(luò)設(shè)備是網(wǎng)絡(luò)的第一進(jìn)入點(diǎn),則從第一接口輸出分組;以及如 果第一網(wǎng)絡(luò)設(shè)備是網(wǎng)絡(luò)的第二進(jìn)入點(diǎn),則將分組從要經(jīng)由第一接口輸出的分組流中濾去, 其中濾去包括訪問外出過濾器,其中外出過濾器包括基于第一生成樹的第一設(shè)定和基于第 二生成樹的第二設(shè)定,其中第一生成樹與第一進(jìn)入點(diǎn)相關(guān)聯(lián),其中第二生成樹與第二進(jìn)入 點(diǎn)相關(guān)聯(lián),并且其中輸出和濾去由第二網(wǎng)絡(luò)設(shè)備執(zhí)行,該第二網(wǎng)絡(luò)設(shè)備通過至少一條鏈路 而被耦合到第一網(wǎng)絡(luò)設(shè)備。 根據(jù)本發(fā)明的另一個(gè)方面,提供了一種系統(tǒng),該系統(tǒng)包括多個(gè)網(wǎng)絡(luò)設(shè)備,所述多
個(gè)網(wǎng)絡(luò)設(shè)備包括第一網(wǎng)絡(luò)設(shè)備;以及第二網(wǎng)絡(luò)設(shè)備,其中第一網(wǎng)絡(luò)設(shè)備是進(jìn)入網(wǎng)絡(luò)的第
一進(jìn)入點(diǎn)并且與第一生成樹相關(guān)聯(lián),其中第二網(wǎng)絡(luò)設(shè)備是進(jìn)入網(wǎng)絡(luò)的第二進(jìn)入點(diǎn)并且與第
二生成樹相關(guān)聯(lián),其中網(wǎng)絡(luò)設(shè)備被配置為訪問與分組和進(jìn)入網(wǎng)絡(luò)設(shè)備相關(guān)聯(lián)的信息,其中
該信息指示分組是由進(jìn)入網(wǎng)絡(luò)設(shè)備接收進(jìn)入網(wǎng)絡(luò)的,其中網(wǎng)絡(luò)設(shè)備被配置為如果進(jìn)入網(wǎng)絡(luò)
設(shè)備是第一網(wǎng)絡(luò)設(shè)備,則根據(jù)第一生成樹發(fā)送分組,其中網(wǎng)絡(luò)設(shè)備被配置為如果進(jìn)入網(wǎng)絡(luò)
設(shè)備是第二網(wǎng)絡(luò)設(shè)備,則根據(jù)第二生成樹發(fā)送分組,其中網(wǎng)絡(luò)設(shè)備通過至少一條鏈路而被
彼此耦合,并且其中每個(gè)網(wǎng)絡(luò)設(shè)備被配置為訪問多個(gè)外出過濾器中相應(yīng)的一個(gè),其中多個(gè)
外出過濾器中的每一個(gè)包括基于第一生成樹的第一設(shè)定和基于第二生成樹的第二設(shè)定。 根據(jù)本發(fā)明的另一個(gè)方面,提供了一種網(wǎng)絡(luò)設(shè)備,該網(wǎng)絡(luò)設(shè)備包括接口,該接口
包括過濾單元,其中過濾單元被配置為訪問與分組和第一網(wǎng)絡(luò)設(shè)備相關(guān)聯(lián)的信息,其中該
信息指示分組是由第一網(wǎng)絡(luò)設(shè)備接收進(jìn)入網(wǎng)絡(luò)的,并且其中接口通過至少一條鏈路而被耦
合到第一網(wǎng)絡(luò)設(shè)備;以及外出過濾器值存儲(chǔ)裝置,該外出過濾器值存儲(chǔ)裝置被耦合到過濾
單元,其中外出過濾器值存儲(chǔ)裝置包括多個(gè)外出過濾器值,其中第一外出過濾器值基于第
一生成樹并且第二外出過濾器值基于第二生成樹,其中第一生成樹與第一進(jìn)入點(diǎn)相關(guān)聯(lián),
其中第二生成樹與第二進(jìn)入點(diǎn)相關(guān)聯(lián),其中如果第一網(wǎng)絡(luò)設(shè)備是第一進(jìn)入點(diǎn),則外出過濾
器值標(biāo)識(shí)出接口不被阻塞,并且其中如果第一網(wǎng)絡(luò)設(shè)備是第二進(jìn)入點(diǎn),則外出過濾器值標(biāo)
識(shí)出接口被阻塞。 根據(jù)本發(fā)明的另一個(gè)方面,提供了一種系統(tǒng),該系統(tǒng)包括用于將分組轉(zhuǎn)發(fā)到第一 接口的裝置;用于訪問與分組和第一網(wǎng)絡(luò)設(shè)備相關(guān)聯(lián)的標(biāo)識(shí)符的裝置,其中信息指示分組 是由第一網(wǎng)絡(luò)設(shè)備接收進(jìn)入網(wǎng)絡(luò)的;用于如果第一網(wǎng)絡(luò)設(shè)備是網(wǎng)絡(luò)的第一進(jìn)入點(diǎn),則從第 一接口輸出分組的裝置;以及用于如果第一網(wǎng)絡(luò)設(shè)備是網(wǎng)絡(luò)的第二進(jìn)入點(diǎn),則將分組從要 經(jīng)由第一接口輸出的分組流中濾去的裝置,其中濾去包括訪問外出過濾器,其中外出過濾 器包括基于第一生成樹的第一設(shè)定和基于第二生成樹的第二設(shè)定,其中第一生成樹與第一 進(jìn)入點(diǎn)相關(guān)聯(lián),其中第二生成樹與第二進(jìn)入點(diǎn)相關(guān)聯(lián),并且其中第一接口通過至少一條鏈 路而被耦合到第一網(wǎng)絡(luò)設(shè)備。 根據(jù)本發(fā)明的另一個(gè)方面,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ) 介質(zhì)存儲(chǔ)程序指令,其中程序指令是計(jì)算機(jī)可執(zhí)行的以用于將分組轉(zhuǎn)發(fā)到第一接口 ;訪 問與分組和第一網(wǎng)絡(luò)設(shè)備相關(guān)聯(lián)的信息,其中該信息指示分組是由第一網(wǎng)絡(luò)設(shè)備接收進(jìn)入 網(wǎng)絡(luò)的;如果第一網(wǎng)絡(luò)設(shè)備是網(wǎng)絡(luò)的第一進(jìn)入點(diǎn),則使第二網(wǎng)絡(luò)設(shè)備從第一接口輸出分組;以及如果第一網(wǎng)絡(luò)設(shè)備是網(wǎng)絡(luò)的第二進(jìn)入點(diǎn),則使第二網(wǎng)絡(luò)設(shè)備將分組從要經(jīng)由第一接口輸出的分組流中濾去,其中濾去包括訪問外出過濾器,其中外出過濾器包括基于第一生成樹的第一設(shè)定和基于第二生成樹的第二設(shè)定,其中第一生成樹與第一進(jìn)入點(diǎn)相關(guān)聯(lián),其中第二生成樹與第二進(jìn)入點(diǎn)相關(guān)聯(lián),并且其中第二網(wǎng)絡(luò)設(shè)備通過至少一條鏈路而被耦合到第一網(wǎng)絡(luò)設(shè)備。 以上是發(fā)明內(nèi)容,因此其根據(jù)需要而包含了簡(jiǎn)化、歸納和對(duì)細(xì)節(jié)的省略;因此,本領(lǐng)域技術(shù)人員將會(huì)意識(shí)到,該發(fā)明內(nèi)容僅是說(shuō)明性的,而非要以任何方式進(jìn)行限制。這里公開的操作可以以多種方式實(shí)現(xiàn),并且這種變化和修改可以在不脫離本發(fā)明及其更廣的技術(shù)方案的情況下進(jìn)行。在下面進(jìn)行的非限制性詳細(xì)描述中,本發(fā)明的其他技術(shù)方案將變得清楚,這些技術(shù)方案僅由權(quán)利要求書來(lái)限定。
通過參照以下描述和附圖,可以獲得對(duì)本發(fā)明更透徹的理解,在附圖中相似的標(biāo)號(hào)指示相似的特征。
圖1是本發(fā)明一個(gè)實(shí)施例的網(wǎng)絡(luò)的框圖。 圖2A和圖2B示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例,同一網(wǎng)絡(luò)層中的兩個(gè)網(wǎng)絡(luò)設(shè)備如何集體作為一個(gè)虛擬網(wǎng)絡(luò)設(shè)備進(jìn)行操作。 圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例,虛擬網(wǎng)絡(luò)設(shè)備中所包括的每個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元內(nèi)的更多細(xì)節(jié)。 圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例,包括4個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元的虛擬網(wǎng)絡(luò)設(shè)備集群的示例。 圖5A-5C示出了本發(fā)明的可替換實(shí)施例的其他虛擬網(wǎng)絡(luò)設(shè)備集群配置。
圖6A示出了本發(fā)明一個(gè)實(shí)施例的虛擬網(wǎng)絡(luò)設(shè)備集群的示例。 圖6B示出了用于圖6A的虛擬網(wǎng)絡(luò)設(shè)備集群的每個(gè)接口的進(jìn)入ID設(shè)定和外出過濾器值的示例。 圖6C示出了本發(fā)明一個(gè)實(shí)施例的虛擬網(wǎng)絡(luò)設(shè)備子單元的接口。 圖7是根據(jù)本發(fā)明一個(gè)實(shí)施例,示出在虛擬網(wǎng)絡(luò)設(shè)備集群內(nèi)轉(zhuǎn)發(fā)分組的方式的流程圖。 圖8A-8D示出了根據(jù)本發(fā)明一個(gè)實(shí)施例,如何為同一虛擬網(wǎng)絡(luò)設(shè)備集群內(nèi)的每個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元計(jì)算不同的生成樹。 圖9A-9C示出了如何通過圖8A-8D的虛擬網(wǎng)絡(luò)設(shè)備集群來(lái)轉(zhuǎn)發(fā)分組。 圖10A-10D示出了根據(jù)本發(fā)明一個(gè)實(shí)施例,為每個(gè)進(jìn)入點(diǎn)計(jì)算不同的生成樹的網(wǎng)絡(luò)。 圖IIA示出了根據(jù)本發(fā)明一個(gè)實(shí)施例,為每個(gè)進(jìn)入點(diǎn)計(jì)算生成樹的方法。 圖11B示出了根據(jù)本發(fā)明一個(gè)實(shí)施例,根據(jù)與特定進(jìn)入點(diǎn)相關(guān)聯(lián)的生成樹來(lái)轉(zhuǎn)發(fā)
分組的方式。 雖然本發(fā)明容許各種修改和可替換形式,但在附圖和詳細(xì)描述中提供了具體的實(shí)施例作為示例。應(yīng)當(dāng)理解的是,附圖和詳細(xì)描述并非要將本發(fā)明限制為所公開的特定形式。相反,希望覆蓋落入所附權(quán)利要求書所限定的本發(fā)明精神和范圍之內(nèi)的所有修改、等同物和替換物。
具體實(shí)施例方式
從兩個(gè)或更多個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元形成虛擬網(wǎng)絡(luò)設(shè)備集群,所述的虛擬網(wǎng)絡(luò)設(shè)備子單元集體作為一個(gè)邏輯設(shè)備而進(jìn)行操作。圖l-圖3提供了可以包括一個(gè)或多個(gè)虛擬網(wǎng)絡(luò)設(shè)備的環(huán)境的示例。圖4-圖7提供了虛擬網(wǎng)絡(luò)設(shè)備集群和虛擬網(wǎng)絡(luò)設(shè)備集群的操作的示例。圖8A-圖9C示出了可以如何用若干個(gè)進(jìn)入專用生成樹(ingress-specific spanningtree)來(lái)控制如何通過虛擬網(wǎng)絡(luò)設(shè)備集群轉(zhuǎn)發(fā)分組。圖IOA到圖IIB示出了在其他類型的網(wǎng)絡(luò)中還可以如何用多個(gè)進(jìn)入專用生成樹來(lái)控制如何轉(zhuǎn)發(fā)分組。 圖1是包括若干虛擬網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)的框圖。在圖l中,若干個(gè)客戶端102(1)-102(n)經(jīng)由網(wǎng)絡(luò)彼此通信及與若干個(gè)服務(wù)器104(l)-104(n)通信。客戶端102(1)-102(n)包括各種可以訪問聯(lián)網(wǎng)服務(wù)的不同設(shè)備。例如,客戶端102(1)可以是蜂窩電話,客戶端102(2)可以是個(gè)人計(jì)算機(jī),客戶端102 (n)可以是個(gè)人數(shù)字助手(PDA)。服務(wù)器104 (1) -104 (n)提供各種服務(wù),例如各種基于軟件的服務(wù)和/或?qū)Ψ謸?dān)存儲(chǔ)設(shè)備的訪問。
利用若干網(wǎng)絡(luò)層來(lái)描述網(wǎng)絡(luò)耦合客戶端102(1)-102(n)和服務(wù)器104(1)-104(n)。最接近客戶端102(1)-102(n)的層是接入層(access layer)110。接入層IIO包括若干網(wǎng)絡(luò)設(shè)備120(1)-120 (n)。在此示例中,接入層IIO是分組從客戶端102(1)-102 (n)進(jìn)入網(wǎng)絡(luò)的基本層。 分布層(distribution layer) 112將經(jīng)由接入層110接收到的流匯聚起來(lái),并將這些匯聚流提供給核心層(core layer)114。在此示例中,分布層112包括網(wǎng)絡(luò)設(shè)備122(1)-122 (n)。核心層114是網(wǎng)絡(luò)的邏輯集中化部分,各個(gè)匯聚流經(jīng)過該層。核心層114包括網(wǎng)絡(luò)設(shè)備124(1)-124(n)。 在此示例中,數(shù)據(jù)中心116包括兩組網(wǎng)絡(luò)設(shè)備網(wǎng)絡(luò)設(shè)備126(1)-126 (n)和網(wǎng)絡(luò)設(shè)備128(1)-128 (n)。網(wǎng)絡(luò)設(shè)備128(1)-128 (n)向各個(gè)服務(wù)器104 (1)-104 (n)提供對(duì)網(wǎng)絡(luò)的接入。網(wǎng)絡(luò)設(shè)備126(1)-126 (n)將來(lái)自網(wǎng)絡(luò)設(shè)備128(1)-128 (n)的流匯聚起來(lái),并將匯聚流提供到核心層114。 注意在一些實(shí)施例中,網(wǎng)絡(luò)將不包括圖1中所示的網(wǎng)絡(luò)層(例如,一些曾可以被合并和/或去除,也可以在圖1所示的層之外另外包括和/或代替地包括其他層)。另外,客戶端和服務(wù)器可以與圖l所示的方式不同地耦合到網(wǎng)絡(luò)(例如,一些客戶端和/或服務(wù)器可被耦合到核心和/或分布層中的各個(gè)網(wǎng)絡(luò)設(shè)備)。另外,設(shè)備相對(duì)于彼此的物理位置可以與圖l所示的邏輯位置不同。例如,同一網(wǎng)絡(luò)層中的兩個(gè)設(shè)備可以物理上位于不同的樓層,不同的建筑物,或者不同的場(chǎng)所中。相反,不同網(wǎng)絡(luò)層中的兩個(gè)設(shè)備可以位于同一房間中。
在一些實(shí)施例中,位于網(wǎng)絡(luò)外緣的網(wǎng)絡(luò)設(shè)備120(1)-120 (n)和128 (1)-128 (n)與位于網(wǎng)絡(luò)內(nèi)層的網(wǎng)絡(luò)設(shè)備122 (1) -122 (n) 、 124 (1) -124 (n)和126 (1) -126 (n)不同地進(jìn)行操作。例如,在一個(gè)實(shí)施例中,網(wǎng)絡(luò)設(shè)備120(l)-120(n)是受控于或以其他方式從屬于網(wǎng)絡(luò)內(nèi)層(例如分布層和核心層)中的網(wǎng)絡(luò)設(shè)備的附屬網(wǎng)絡(luò)設(shè)備。在這種實(shí)施例中,非附屬網(wǎng)絡(luò)設(shè)備提供L2 (第2層)和L3 (第3層)轉(zhuǎn)發(fā)和路由,而附屬網(wǎng)絡(luò)設(shè)備僅具有較有限的轉(zhuǎn)發(fā)和/或路由能力。在其他實(shí)施例中,附屬網(wǎng)絡(luò)設(shè)備不執(zhí)行任何L2轉(zhuǎn)發(fā)或L3路由。相反,附屬網(wǎng)絡(luò)設(shè)備僅僅將所有分組轉(zhuǎn)發(fā)到非附屬網(wǎng)絡(luò)設(shè)備以進(jìn)行L2轉(zhuǎn)發(fā)和L3路由。在一些實(shí)施例中,耦合到附屬網(wǎng)絡(luò)設(shè)備的非附屬網(wǎng)絡(luò)設(shè)備控制附屬網(wǎng)絡(luò)設(shè)備的操作。在一些實(shí)施例中,將附屬網(wǎng)絡(luò)設(shè)備作為附屬網(wǎng)絡(luò)設(shè)備所從屬于的網(wǎng)絡(luò)設(shè)備的遠(yuǎn)程線路卡來(lái)看待。還要注意在可替換的實(shí)施例中,在接入層和數(shù)據(jù)中心中使用非附屬網(wǎng)絡(luò)設(shè)備而不是附屬網(wǎng)絡(luò)設(shè)備。
網(wǎng)絡(luò)設(shè)備120 (1)-120 (n) 、122(1)-122 (n) 、124(1)-124 (n) 、126(1)-126 (n)和128 (1) -128 (n)可以包括各種路由器、交換機(jī)、網(wǎng)關(guān)和其他網(wǎng)絡(luò)設(shè)備。在許多實(shí)施例中,可能每層僅需要一個(gè)網(wǎng)絡(luò)設(shè)備就可以讓網(wǎng)絡(luò)工作。然而,如圖l所示,每層可以包括多個(gè)網(wǎng)絡(luò)設(shè)備,以提供冗余。 將會(huì)注意到,這里描述的附圖中的若干示例中使用了可變標(biāo)識(shí)符"n",以更簡(jiǎn)單地指定一系列相關(guān)或類似的元件當(dāng)中最后的元件。這種可變標(biāo)識(shí)符的重復(fù)使用并不一定想要暗示這種元件系列之間的相關(guān)性,雖然這種相關(guān)性可能存在。這種可變標(biāo)識(shí)符的使用并不需要每一系列的元件與由相同的可變標(biāo)識(shí)符界定的另一系列具有相同數(shù)量的元件(例如,每個(gè)網(wǎng)絡(luò)層中的網(wǎng)絡(luò)設(shè)備的數(shù)量可能不同)。確切地說(shuō),在每個(gè)使用的示例中,由"n"(或其他任何這種標(biāo)識(shí)符)標(biāo)識(shí)的變量可能與同一變量標(biāo)識(shí)符的其他示例具有相同的值或不同的值。 在不同網(wǎng)絡(luò)層中的設(shè)備之間實(shí)現(xiàn)多條鏈路,以提供另外的冗余度。例如,如圖1所示,接入層110中的每個(gè)網(wǎng)絡(luò)設(shè)備120(1)-120(n)被通過兩條(或更多條)不同的鏈路耦合到分布層112。類似地,分布層112中的每個(gè)網(wǎng)絡(luò)設(shè)備122(l)-122(n)被通過兩條(或更多條)不同的鏈路耦合到核心層114。在一個(gè)實(shí)施例中,每條鏈路是以太網(wǎng)鏈路。
在每個(gè)網(wǎng)絡(luò)層內(nèi),多個(gè)冗余網(wǎng)絡(luò)設(shè)備被配置為集體作為一個(gè)虛擬網(wǎng)絡(luò)設(shè)備進(jìn)行操作。例如,如圖1所示,分布層112中的兩個(gè)或更多個(gè)網(wǎng)絡(luò)設(shè)備作為虛擬網(wǎng)絡(luò)設(shè)備202進(jìn)行操作。類似地,兩個(gè)或更多個(gè)網(wǎng)絡(luò)設(shè)備124(1)-124(n)作為一個(gè)虛擬網(wǎng)絡(luò)設(shè)備204進(jìn)行操作,并且兩個(gè)或更多個(gè)網(wǎng)絡(luò)設(shè)備126(1)-126 (n)作為一個(gè)虛擬網(wǎng)絡(luò)設(shè)備206進(jìn)行操作。關(guān)于兩個(gè)分布層網(wǎng)絡(luò)設(shè)備如何集體作為分布層虛擬網(wǎng)絡(luò)設(shè)備202進(jìn)行操作的更多細(xì)節(jié)在圖2A、圖2B和圖3中示出。如下所述,虛擬網(wǎng)絡(luò)設(shè)備可以被耦合到其他虛擬網(wǎng)絡(luò)設(shè)備,耦合到網(wǎng)絡(luò)設(shè)備,和/或通過虛擬鏈路束耦合到客戶端和/或服務(wù)器。 一般而言,任何多端口設(shè)備(無(wú)論是諸如網(wǎng)絡(luò)設(shè)備、客戶端或服務(wù)器之類的物理設(shè)備,還是虛擬網(wǎng)絡(luò)設(shè)備)都可以通過包括若干條鏈路在內(nèi)的虛擬鏈路束而被耦合到虛擬網(wǎng)絡(luò)設(shè)備,所述若干條鏈路中的一些鏈路終止于虛擬網(wǎng)絡(luò)設(shè)備內(nèi)的不同子單元。 圖2A示出了在接入層110中有兩個(gè)網(wǎng)絡(luò)設(shè)備120(1)和120(2)的網(wǎng)絡(luò)示例。在分布層112中也有兩個(gè)網(wǎng)絡(luò)設(shè)備122(1)和122(2)。在此示例中,這兩個(gè)網(wǎng)絡(luò)設(shè)備122(1)和122(2)作為一個(gè)虛擬網(wǎng)絡(luò)設(shè)備202進(jìn)行操作。每個(gè)網(wǎng)絡(luò)設(shè)備120(1)-120(2)通過兩條鏈路耦合到分布層112。在此示例中,這兩條鏈路中的每一條耦合到網(wǎng)絡(luò)設(shè)備122(1)和122(2)中不同的一個(gè)。這提供了冗余度,使得即使網(wǎng)絡(luò)設(shè)備122(1)或122(2)中的一個(gè)發(fā)生故障或者給定的接入層網(wǎng)絡(luò)設(shè)備與給定的分布層網(wǎng)絡(luò)設(shè)備之間的鏈路中的一條發(fā)生故障,網(wǎng)絡(luò)設(shè)備120(1)和120(2)也可以繼續(xù)與分布層112通信。 將網(wǎng)絡(luò)設(shè)備120(1)和120(2)中的每一個(gè)耦合到虛擬網(wǎng)絡(luò)設(shè)備202的冗余鏈路
可以作為一條邏輯鏈路而被操作,這里將所述的單一邏輯鏈路稱為虛擬鏈路束。網(wǎng)絡(luò)設(shè)備120(1)將把網(wǎng)絡(luò)設(shè)備120(1)耦合到虛擬網(wǎng)絡(luò)設(shè)備202的兩條鏈路作為虛擬鏈路束250(1)而操作。在這種實(shí)施例中,網(wǎng)絡(luò)設(shè)備120(1)中耦合到其中一條鏈路的每個(gè)接口都被包括在一個(gè)接口束中,所述接口束對(duì)應(yīng)于虛擬鏈路束250(1)。網(wǎng)絡(luò)設(shè)備120(2)類似地將把網(wǎng)絡(luò)設(shè)備120(2)耦合到虛擬網(wǎng)絡(luò)設(shè)備202的兩條鏈路作為虛擬鏈路束250(2)而操作。在一些實(shí)施例中,虛擬鏈路束250(1)和250(2)中每個(gè)都被作為EtherChannel(TM)或作為匯聚(aggregated)鏈路(如IEEE 802. 3所述)而操作。 如圖2A所示,虛擬鏈路束250(1)和250(2)中每個(gè)都包括終止于分布層112中的不同網(wǎng)絡(luò)設(shè)備的鏈路。例如,虛擬鏈路束250(1)將網(wǎng)絡(luò)設(shè)備120(1)耦合到網(wǎng)絡(luò)設(shè)備122(1)和網(wǎng)絡(luò)設(shè)備122(2)兩者。這不同于邏輯鏈路僅在一對(duì)網(wǎng)絡(luò)設(shè)備之間被允許的傳統(tǒng)實(shí)現(xiàn)方式。 在一些實(shí)施例中,網(wǎng)絡(luò)設(shè)備120(1)和120(2)知道(例如,通過在每個(gè)網(wǎng)絡(luò)設(shè)備內(nèi)維護(hù)的各種狀態(tài)信息)虛擬鏈路束250(1)和250(2)中每個(gè)都包括終止于分布層112中的不同網(wǎng)絡(luò)設(shè)備的鏈路。在這種實(shí)施例中,網(wǎng)絡(luò)設(shè)備120(1)和120(2)可以基于此知識(shí),在特定的虛擬鏈路束內(nèi)選擇一條發(fā)送分組的鏈路。然而,在可替換實(shí)施例中,網(wǎng)絡(luò)設(shè)備120(1)和120(2)不知道特定的虛擬鏈路束是否包括終止于分布層中不同網(wǎng)絡(luò)設(shè)備的鏈路。
如圖2A所示,網(wǎng)絡(luò)設(shè)備122(1)和122(2)作為一個(gè)虛擬網(wǎng)絡(luò)設(shè)備202進(jìn)行操作。圖2B示出了從接入層110的角度來(lái)看,網(wǎng)絡(luò)設(shè)備120(1)如何通過一對(duì)冗余鏈路耦合到分布層112中的單個(gè)網(wǎng)絡(luò)設(shè)備,虛擬網(wǎng)絡(luò)設(shè)備202。網(wǎng)絡(luò)設(shè)備120(2)具有對(duì)虛擬網(wǎng)絡(luò)202的類似視角。 在諸如圖2B所示的實(shí)施例中,網(wǎng)絡(luò)設(shè)備120(1)和120(2)將它們自身看成是連接到單個(gè)網(wǎng)絡(luò)設(shè)備,其中對(duì)虛擬鏈路束的使用被簡(jiǎn)化了。例如,如果網(wǎng)絡(luò)設(shè)備120(1)知道虛擬鏈路束250(1)終止于兩個(gè)不同的網(wǎng)絡(luò)設(shè)備,則網(wǎng)絡(luò)設(shè)備120(1)基于生成樹協(xié)議(Spanning Tree Protocol)選擇發(fā)送特定分組的鏈路。與網(wǎng)絡(luò)設(shè)備120(1)僅僅將虛擬網(wǎng)絡(luò)設(shè)備202看作單個(gè)實(shí)體的情況相比,對(duì)生成樹協(xié)議的使用可能涉及更多的開銷和/或在哪些鏈路可被用來(lái)發(fā)送給定的分組方面更受約束(例如,生成樹協(xié)議可能阻塞除了其中一條鏈路之外的全部鏈路,防止利用除了一條非阻塞鏈路之外的全部鏈路)。例如,當(dāng)將虛擬網(wǎng)絡(luò)設(shè)備202看作單個(gè)實(shí)體時(shí),網(wǎng)絡(luò)設(shè)備120(1)僅僅基于負(fù)載分擔(dān)約束條件來(lái)選擇發(fā)送分組的鏈路。類似地,如果虛擬鏈路束250(1)內(nèi)的鏈路發(fā)生故障,則不需要網(wǎng)絡(luò)設(shè)備120(1)改變生成樹協(xié)議的應(yīng)用方式。相反,網(wǎng)絡(luò)設(shè)備120(1)僅僅是繼續(xù)使用虛擬鏈路束250(1)內(nèi)的非故障鏈路。 包括在虛擬網(wǎng)絡(luò)設(shè)備202中的諸如網(wǎng)絡(luò)設(shè)備122(1)和122(2)之類的各個(gè)網(wǎng)絡(luò)設(shè)備中的每一個(gè)在這里被稱為"虛擬網(wǎng)絡(luò)設(shè)備子單元"。在一些實(shí)施例中,虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)和122(2)中的每一個(gè)被實(shí)現(xiàn)在單獨(dú)的機(jī)殼(chassis)中(即每個(gè)機(jī)殼容納一個(gè)虛擬網(wǎng)絡(luò)子單元)。例如,在圖2A中,網(wǎng)絡(luò)設(shè)備122(1)和122(2)中的每一個(gè)可以實(shí)現(xiàn)在單獨(dú)的機(jī)殼中。即使虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)和122(2)共用機(jī)殼,也可以使每個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元作為獨(dú)立的網(wǎng)絡(luò)設(shè)備進(jìn)行操作,使得如果虛擬網(wǎng)絡(luò)設(shè)備中的一個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元發(fā)生故障,則其他虛擬網(wǎng)絡(luò)設(shè)備于單元繼續(xù)進(jìn)行操作。例如,虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)和虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)可以位于同一機(jī)殼中,但每個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元可以具有獨(dú)立的硬件、端口 、上行鏈路接口和電源,并且每個(gè)都可獨(dú)立地被從機(jī)殼中去除。如果虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)發(fā)生故障(例如由于電源故障或軟件錯(cuò)誤),則虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)可以繼續(xù)運(yùn)行。在這種實(shí)施例中,虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)可被去除以進(jìn)行修復(fù)或替換,而不會(huì)打斷虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)的操作。 在一些實(shí)施例中,將網(wǎng)絡(luò)設(shè)備耦合到附屬網(wǎng)絡(luò)設(shè)備的虛擬鏈路束中的鏈路是被用
來(lái)將附屬網(wǎng)絡(luò)設(shè)備耦合到虛擬網(wǎng)絡(luò)設(shè)備的專門化的鏈路,這些鏈路在這里被稱為上行鏈
路。每個(gè)上行鏈路可以傳送在網(wǎng)絡(luò)設(shè)備之一中生成的分組和額外信息這兩者。例如,在一
個(gè)實(shí)施例中,如果要在從接入層附屬網(wǎng)絡(luò)設(shè)備到分布層網(wǎng)絡(luò)設(shè)備的上行鏈路上傳送分組,
則在該上行鏈路上與所述分組一起傳送的額外信息包括標(biāo)識(shí)出附屬網(wǎng)絡(luò)設(shè)備的端口當(dāng)中
的哪個(gè)端口接收所述分組的信息。額外信息還包括指示出是否已由發(fā)送設(shè)備對(duì)所述分組進(jìn)
行了任何轉(zhuǎn)發(fā)或路由的信息。在一些實(shí)施例中,上行鏈路的使用使得虛擬網(wǎng)絡(luò)設(shè)備可以控
制被耦合到該虛擬網(wǎng)絡(luò)設(shè)備的附屬網(wǎng)絡(luò)設(shè)備。上行鏈路的使用還有助于使虛擬網(wǎng)絡(luò)設(shè)備能
夠?yàn)閺膶俚母綄倬W(wǎng)絡(luò)設(shè)備執(zhí)行路由和/或轉(zhuǎn)發(fā)。這里將網(wǎng)絡(luò)設(shè)備或附屬網(wǎng)絡(luò)設(shè)備中耦合到
上行鏈路的接口稱為上行鏈路接口 。 圖3示出了包括在虛擬網(wǎng)絡(luò)設(shè)備中的每個(gè)網(wǎng)絡(luò)設(shè)備中的更多細(xì)節(jié)。這里,虛擬網(wǎng)絡(luò)設(shè)備202包括兩個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)和122(2)。注意在其他實(shí)施例中,虛擬網(wǎng)絡(luò)設(shè)備202包括多于兩個(gè)組件網(wǎng)絡(luò)設(shè)備。在此示例中,虛擬網(wǎng)絡(luò)設(shè)備202位于網(wǎng)絡(luò)的分布層。然而,類似的虛擬網(wǎng)絡(luò)設(shè)備可以被實(shí)現(xiàn)在其他網(wǎng)絡(luò)層中(例如,在數(shù)據(jù)中心和/或核心層中)。 虛擬網(wǎng)絡(luò)設(shè)備202被耦合到若干個(gè)接入層網(wǎng)絡(luò)設(shè)備120(1)-120 (3)。網(wǎng)絡(luò)設(shè)備120(2)和120(3)中的每一個(gè)都通過兩條上行鏈路耦合到虛擬網(wǎng)絡(luò)設(shè)備202,其中每條上行鏈路通往一個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)和122(2)。網(wǎng)絡(luò)設(shè)備120(2)通過虛擬鏈路束250(2)耦合到虛擬網(wǎng)絡(luò)設(shè)備,網(wǎng)絡(luò)設(shè)備120(3)通過虛擬鏈路束250(3)耦合到虛擬網(wǎng)絡(luò)設(shè)備。因此,即使這些上行鏈路中的一條和/或虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)和122(2)中的一個(gè)發(fā)生故障,網(wǎng)絡(luò)設(shè)備120(2)和120(3)也繼續(xù)與分布層通信。網(wǎng)絡(luò)設(shè)備120(1)通過三條上行鏈路耦合到虛擬網(wǎng)絡(luò)設(shè)備202 :兩條到虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)的上行鏈路和一條到虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)的上行鏈路。這三條上行鏈路集體形成了虛擬鏈路束250(1)。即使這三條上行鏈路中的兩條和/或虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)和122(2)中的一個(gè)發(fā)生故障,網(wǎng)絡(luò)設(shè)備120(1)也繼續(xù)與分布層通信。網(wǎng)絡(luò)設(shè)備120(1)-120(3)中的每一個(gè)都將通往虛擬網(wǎng)絡(luò)設(shè)備202的多條上行鏈路作為一條邏輯上行鏈路來(lái)操作。另外,在一些實(shí)施例中,網(wǎng)絡(luò)設(shè)備120(1)-120(3)中的每一個(gè)都以與該網(wǎng)絡(luò)設(shè)備如果被耦合到單個(gè)分布層設(shè)備時(shí)相同的方式進(jìn)行操作(而非以該網(wǎng)絡(luò)設(shè)備如果被耦合到兩個(gè)獨(dú)立的分布層設(shè)備時(shí)的方式進(jìn)行操作)。 分布層虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)還通過一條鏈路耦合到服務(wù)器104(3)。在此示例中,如果網(wǎng)絡(luò)設(shè)備122(1)或?qū)⒎?wù)器104(3)耦合到網(wǎng)絡(luò)設(shè)備122(1)的鏈路發(fā)生故障,則服務(wù)器104(3)將無(wú)法與分布層通信。注意在其他實(shí)施例中,諸如服務(wù)器104(3)之類的但具有多個(gè)端口的服務(wù)器可能通過虛擬鏈路束耦合到多個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元,并且這種服務(wù)器可能與虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)和122(2)進(jìn)行交互,就好像這些子單元是單個(gè)虛擬網(wǎng)絡(luò)設(shè)備202 —樣。 虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)包括若干個(gè)卡(card),包括控制卡302(1)和線路卡304(1)和304(3)。類似地,虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)包括控制卡302(2)和線路卡304 (2)和304 (4)??刂瓶?02 (1)包括控制單元310 (1)、轉(zhuǎn)發(fā)引擎312 (1),以及接口 320 (1)
13和320 (3)。控制卡302 (2)類似地包括控制單元310 (2)、轉(zhuǎn)發(fā)引擎312 (2),以及接口 320 (2)和320 (4)。 在虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)中,線路卡304(1)包括轉(zhuǎn)發(fā)引擎314(1)以及接口320 (5) 、320 (7)和320 (9)。接口 320(7)耦合到網(wǎng)絡(luò)設(shè)備120 (3)。接口 320(9)耦合到網(wǎng)絡(luò)設(shè)備120(1)。接口 320(5)在此示例中未被使用。線路卡304(3)包括轉(zhuǎn)發(fā)引擎314(3)以及接口 320 (11) 、320 (13)和320 (15)。接口 320(11)和320 (13)分別耦合到網(wǎng)絡(luò)設(shè)備120(2)和120(1)。接口 320(15)耦合到服務(wù)器104(3)。在網(wǎng)絡(luò)設(shè)備120 (1)-120 (3)是由虛擬網(wǎng)絡(luò)設(shè)備202控制的附屬網(wǎng)絡(luò)設(shè)備的實(shí)施例中,接口 320 (7) 、320 (9) 、320 (11)和320(13)被作為上行鏈路接口而操作,而未被耦合到附屬網(wǎng)絡(luò)設(shè)備的接口 320(15)被作為常規(guī)接口而操作。 在虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)中,線路卡304(2)包括轉(zhuǎn)發(fā)引擎314(2)以及接口320 (6) 、320 (8)和320(10)。接口 320(8)耦合到附屬網(wǎng)絡(luò)設(shè)備120(2),并且接口 320(6)和320(10)未被連接。線路卡304(4)包括轉(zhuǎn)發(fā)引擎314(4)以及接口 320 (12) 、320 (14)和320 (16)。接口 320(12)和320(16)分別耦合到附屬網(wǎng)絡(luò)設(shè)備120 (3)和120(1)。接口320(14)未被使用。在網(wǎng)絡(luò)設(shè)備120(1)-120(3)是由虛擬網(wǎng)絡(luò)設(shè)備202控制的附屬網(wǎng)絡(luò)設(shè)備的實(shí)施例中,接口 320 (8) 、320 (12)和320(16)被作為上行鏈路接口而操作。
注意,雖然將圖3中的接口描述為進(jìn)入和外出接口,但也可以使用充當(dāng)只進(jìn)入接口或只外出接口的接口。例如,圖3所示的每個(gè)接口的功能可以使用一個(gè)只進(jìn)入接口和一個(gè)只外出接口來(lái)實(shí)現(xiàn)。類似地,虛擬鏈路束250(1)-250(3)中的每一個(gè)都可以包括僅將分組從各個(gè)網(wǎng)絡(luò)設(shè)備120(1)-120 (3)傳送到虛擬網(wǎng)絡(luò)設(shè)備202的若干條鏈路和僅將分組從虛擬網(wǎng)絡(luò)設(shè)備202傳送到網(wǎng)絡(luò)設(shè)備120(1)-120(3)的若干條鏈路。 在所示出的實(shí)施例中,虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)中的控制卡302(1)經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360耦合到虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)中的控制卡302(2)。在此示例中,虛擬網(wǎng)絡(luò)設(shè)備鏈路360包括兩條鏈路(兩條鏈路被用來(lái)提供更高的故障容許度和/或帶寬;然而,在其他實(shí)施例中可以使用一條鏈路)。在此示例中這些鏈路是一種上行鏈路,除了分組之外還承載信息(例如與在線路卡之間發(fā)送的頭部相類似的頭部)。虛擬網(wǎng)絡(luò)設(shè)備鏈路360中的上行鏈路被用來(lái)在虛擬網(wǎng)絡(luò)設(shè)備子單元122 (1)和122 (2)之間交換信息和分組,所述信息控制虛擬網(wǎng)絡(luò)設(shè)備202的操作。通過經(jīng)由這些上行鏈路進(jìn)行通信,虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)和122(2)協(xié)調(diào)其行為,以使得虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)和122(2)對(duì)于網(wǎng)絡(luò)設(shè)備120(1)-120 (3)看起來(lái)是單個(gè)虛擬網(wǎng)絡(luò)設(shè)備。 從而,在虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)和122(2)之間提供互連,這使得虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)和122(2)可以作為單個(gè)虛擬網(wǎng)絡(luò)設(shè)備202進(jìn)行操作。網(wǎng)絡(luò)設(shè)備120(1)-120(3)以與網(wǎng)絡(luò)設(shè)備120(1)-120(3)和單個(gè)物理設(shè)備進(jìn)行通信時(shí)一樣的方式與虛擬網(wǎng)絡(luò)設(shè)備202進(jìn)行通信。例如,如果網(wǎng)絡(luò)設(shè)備120(2)正在處理去往服務(wù)器104(3)的分組,則網(wǎng)絡(luò)設(shè)備120(2)在網(wǎng)絡(luò)設(shè)備束250(2)的兩條鏈路中選擇一條來(lái)發(fā)送分組。在一些實(shí)施例中,此選擇是基于負(fù)載分擔(dān)準(zhǔn)則的。在這種情況下,由于虛擬網(wǎng)絡(luò)設(shè)備202看起來(lái)是單個(gè)網(wǎng)絡(luò)設(shè)備,因此網(wǎng)絡(luò)設(shè)備120(2)選擇通往虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)的上行鏈路的可能性與選擇通往虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)的上行鏈路的可能性相同,而不考慮僅虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)具有到服務(wù)器104(3)的直接連接這一事實(shí)。如果該分組被發(fā)送到虛擬網(wǎng)絡(luò)設(shè)備子單元122(2),則網(wǎng)絡(luò)設(shè)備120(2)使用包括在虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)和122(2)之間的虛擬網(wǎng)絡(luò)設(shè)備鏈路360中的上行鏈路之一來(lái)將該分組發(fā)送到虛擬網(wǎng)絡(luò)設(shè)備子單元122 (1),虛擬網(wǎng)絡(luò)設(shè)備子單元122 (1)可以再將該分組提供到該分組的目的地服務(wù)器104(3)。 在其他實(shí)施例中,網(wǎng)絡(luò)設(shè)備120(1)-120 (3)知道虛擬鏈路束250(1)和250(3)實(shí)際上終止于兩個(gè)不同的網(wǎng)絡(luò)設(shè)備。網(wǎng)絡(luò)設(shè)備120(1)-120(3)基于此信息控制分組傳輸。例如,在此情況下,網(wǎng)絡(luò)設(shè)備120(2)通過基于網(wǎng)絡(luò)設(shè)備120(2)認(rèn)識(shí)到邏輯鏈路內(nèi)通往兩個(gè)不同網(wǎng)絡(luò)設(shè)備的單獨(dú)連接這一事實(shí),選擇耦合到虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)的上行鏈路而非耦合到虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)的上行鏈路,從而處理去往服務(wù)器104(3)的分組。
接口 320 (13) 、320 (9)和320 (16)中的每一個(gè)都通過虛擬鏈路束250 (1)耦合到網(wǎng)絡(luò)設(shè)備120(1),這些接口形成了一個(gè)接口束(例如EtherChannel(TM)端口束)。類似地,接口 320(11)和320(8)形成了通過虛擬鏈路束250(2)耦合到網(wǎng)絡(luò)設(shè)備120(2)的另一接口束。接口 320(7)和320(12)形成了通過虛擬鏈路束250 (3)耦合到網(wǎng)絡(luò)設(shè)備120 (3)的第三接口束。在虛擬網(wǎng)絡(luò)設(shè)備202內(nèi),同一接口束中的每個(gè)接口被指定了相同的邏輯標(biāo)識(shí)符。例如,接口 320(13)、320(9)和320(16)中的每一個(gè)都被指定了相同的邏輯標(biāo)識(shí)符。在一些實(shí)施例中,用該邏輯標(biāo)識(shí)符給經(jīng)由這些接口中的一個(gè)接口接收到的分組加上標(biāo)簽,或者以其他方式使所述分組與所述邏輯標(biāo)識(shí)符相關(guān)聯(lián),以指示這些分組是經(jīng)由將虛擬網(wǎng)絡(luò)設(shè)備202耦合到網(wǎng)絡(luò)設(shè)備120(1)的虛擬鏈路束接收到的。注意,在網(wǎng)絡(luò)設(shè)備120(1)-120(3)中的每一個(gè)內(nèi)實(shí)現(xiàn)類似的接口束,并且包括在這種束中的接口也被每個(gè)網(wǎng)絡(luò)設(shè)備(或者,在虛擬網(wǎng)絡(luò)設(shè)備202控制網(wǎng)絡(luò)設(shè)備120(1)-120 (3)的配置的實(shí)施例中,由虛擬網(wǎng)絡(luò)設(shè)備202)指定了相同的邏輯標(biāo)識(shí)符。例如,網(wǎng)絡(luò)設(shè)備120(1)可以將相同的標(biāo)識(shí)符指定給被耦合到虛擬鏈路束250(1)的每個(gè)接口。 分組與特定的邏輯標(biāo)識(shí)符之間的關(guān)聯(lián)被虛擬網(wǎng)絡(luò)設(shè)備202內(nèi)的轉(zhuǎn)發(fā)引擎用來(lái)將分組路由和轉(zhuǎn)發(fā)到網(wǎng)絡(luò)設(shè)備120 (1) -120 (3),以及從網(wǎng)絡(luò)設(shè)備120 (1) -120 (3)路由和轉(zhuǎn)發(fā)分組。例如,當(dāng)經(jīng)由上行鏈路接口 320(13)接收到來(lái)自發(fā)送設(shè)備(例如,耦合到網(wǎng)絡(luò)設(shè)備120(1)的客戶端)的分組時(shí),虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)通過將發(fā)送設(shè)備的MAC(媒體訪問控制)地址與上行鏈路接口 320(13)的邏輯標(biāo)識(shí)符相關(guān)聯(lián),得知該MAC地址位于上行鏈路接口 320(13)的"背后"。虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)將此關(guān)聯(lián)通知給虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)中的每個(gè)轉(zhuǎn)發(fā)引擎以及虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)中的每個(gè)轉(zhuǎn)發(fā)引擎?;谠撽P(guān)聯(lián),去往該MAC地址的分組將被從具有相關(guān)聯(lián)標(biāo)識(shí)符的上行鏈路端口發(fā)送。由于在此情況下,上行鏈路接口 320(9)(在虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)中)和320(16)(在虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)中)也具有與上行鏈路接口 320(13)相同的邏輯標(biāo)識(shí)符,因此去往該MAC地址的分組可能經(jīng)由上行鏈路接口 320 (9) 、320 (13)和320(16)中的任意接口被轉(zhuǎn)發(fā)。
相同的邏輯標(biāo)識(shí)符被虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)和122(2)中的每一個(gè)用來(lái)標(biāo)識(shí)上行鏈路接口束,并且這些虛擬網(wǎng)絡(luò)設(shè)備子單元協(xié)調(diào)工作以將相同的邏輯標(biāo)識(shí)符指定給同一上行鏈路接口束中的每個(gè)上行鏈路接口 。當(dāng)經(jīng)由一個(gè)特定邏輯標(biāo)識(shí)符所標(biāo)識(shí)的上行鏈路接口轉(zhuǎn)發(fā)分組時(shí),虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)和122(2)中的每一個(gè)都生成哈希值,以在該上行鏈路接口束的上行鏈路接口中選擇一條發(fā)送分組的鏈路。每個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元使用這些哈希值來(lái)標(biāo)識(shí)該虛擬網(wǎng)絡(luò)中的本地上行鏈路接口。從而,每個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元將僅選擇該虛擬網(wǎng)絡(luò)設(shè)備子單元本地的上行鏈路接口。例如,如果虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)將經(jīng)由包括接口 320(9) 、320(13)和320 (16)在內(nèi)的上行鏈路接口束轉(zhuǎn)發(fā)分組,則虛擬網(wǎng)絡(luò)設(shè)備子單元所生成的哈希值將標(biāo)識(shí)接口 320(9)和320(13)中的一個(gè)。
在以上示例中,通過將每個(gè)哈希值與上行鏈路接口束中的本地上行鏈路接口相關(guān)聯(lián),減少了虛擬交換鏈路360的使用。基本上,虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)傾向于特定上行鏈路接口束中的本地上行鏈路接口 ,而非同一上行鏈路接口束中位于虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)上的遠(yuǎn)程上行鏈路接口。類似地,虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)傾向于特定上行鏈路接口束中的本地上行鏈路接口,而非包括在虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)中的上行鏈路接口。例如,如果虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)需要經(jīng)由上行鏈路接口轉(zhuǎn)發(fā)分組,則虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)將經(jīng)由上行鏈路接口 320(12)來(lái)發(fā)送該分組,而非將該分組通過虛擬網(wǎng)絡(luò)設(shè)備鏈路360轉(zhuǎn)發(fā)以經(jīng)由上行鏈路接口 320(7)來(lái)發(fā)送。通過傾向于本地接口,降低了通過虛擬網(wǎng)絡(luò)設(shè)備鏈路360發(fā)送的流量,這是因?yàn)樘摂M網(wǎng)絡(luò)設(shè)備子單元122 (1)和122 (2)中的每一個(gè)都將從本地接口轉(zhuǎn)發(fā)在本地接收到的分組(即經(jīng)由除了耦合到虛擬網(wǎng)絡(luò)設(shè)備鏈路360的接口以外的接口接收到的分組)。 在一些實(shí)施例中,對(duì)于一個(gè)給定的虛擬鏈路束,在一個(gè)中心位置管理(例如對(duì)于諸如L2協(xié)議之類的控制協(xié)議)該虛擬鏈路束。例如,所有對(duì)虛擬鏈路束250(1)的控制協(xié)議處理可以在虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)的控制單元310(1)中進(jìn)行。然后將此控制協(xié)議處理的結(jié)果傳送到虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)的控制單元310(2)和/或傳送到網(wǎng)絡(luò)設(shè)備120(1)中的控制器。然后,控制單元310(2)在對(duì)如何處理從上行鏈路接口 320(16)(其位于耦合到虛擬鏈路束250(1)的上行鏈路接口束中)發(fā)送的分組以及經(jīng)由上行鏈路接口320(16)接收到的分組進(jìn)行控制時(shí),使用(但不修改)此信息。例如,控制單元310(2)使用此信息在線路卡304(2)和/或304(4)上建立或修改查找表。這樣,實(shí)際的控制協(xié)議處理被集中到控制單元310(1)中,而非被分布在虛擬網(wǎng)絡(luò)設(shè)備202中的若干控制單元當(dāng)中。
控制協(xié)議處理的中心點(diǎn)在虛擬鏈路束之間可能不同。例如,雖然對(duì)虛擬鏈路束250(1)的控制協(xié)議處理由控制單元310(1)管理,但對(duì)虛擬鏈路束250(2)的控制協(xié)議處理可以由控制單元310(2)管理。換言之,控制單元310(2)可以執(zhí)行對(duì)虛擬鏈路束250(2)的所有控制處理,并且由控制單元310(2)生成的信息可以隨后被傳送到控制單元310(1)以在虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)中使用(但不修改)。 在虛擬網(wǎng)絡(luò)設(shè)備202內(nèi)為每個(gè)虛擬鏈路束的控制協(xié)議處理實(shí)現(xiàn)了管理中心點(diǎn)的實(shí)施例中,可以跨越虛擬鏈路束運(yùn)行L2協(xié)議和/或可以用接口束作為路由L3接口。如果虛擬網(wǎng)絡(luò)設(shè)備202中的虛擬網(wǎng)絡(luò)設(shè)備子單元彼此獨(dú)立地執(zhí)行對(duì)本地接口的控制協(xié)議處理,則無(wú)法獲得這些能力。另外,在實(shí)現(xiàn)了控制協(xié)議處理中心點(diǎn)的實(shí)施例中,用戶可以通過訪問單個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元來(lái)修改虛擬鏈路束的控制協(xié)議行為。在以上示例中,當(dāng)更新虛擬鏈路束250(1)的控制協(xié)議行為時(shí),用戶可以僅僅訪問虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)(而非訪問虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)和122(2)兩者)。然后,虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)將用戶對(duì)控制協(xié)議進(jìn)行的任何修改自動(dòng)傳播到網(wǎng)絡(luò)設(shè)備122(2)。此外,由于虛擬鏈路束的使用使得可以將若干上行鏈路作為一條邏輯上行鏈路來(lái)管理,因此比不使用虛擬鏈路束時(shí)的需求相比,需要配置的上行鏈路接口更少。例如,如果每個(gè)虛擬鏈路束包括兩條上行鏈路,則虛擬網(wǎng)絡(luò)設(shè)備202中需要由用戶配置的上行鏈路接口的數(shù)量減半。
虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)和122(2)實(shí)現(xiàn)某些行為,以充當(dāng)從網(wǎng)絡(luò)設(shè)備 120(1)-120 (3)的角度看起來(lái)是單個(gè)邏輯網(wǎng)絡(luò)設(shè)備的虛擬網(wǎng)絡(luò)設(shè)備202。例如,只要虛擬網(wǎng) 絡(luò)設(shè)備子單元122(2)接收到來(lái)自本地網(wǎng)絡(luò)設(shè)備、客戶端或服務(wù)器的分組,并且該分組的目 的地邏輯標(biāo)識(shí)符標(biāo)識(shí)出一個(gè)上行鏈路接口束,虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)就從所標(biāo)識(shí)的 上行接口束中的本地上行鏈路接口發(fā)送該分組。虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)也可以將該 分組提供給虛擬網(wǎng)絡(luò)設(shè)備子單元122(1),但虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)不應(yīng)在虛擬鏈路 束上輸出該分組。這樣,目的地設(shè)備僅從虛擬網(wǎng)絡(luò)設(shè)備202接收到一份該分組(而非從虛 擬網(wǎng)絡(luò)設(shè)備子單元122 (1)和122 (2)各接收到一份),保持了虛擬網(wǎng)絡(luò)設(shè)備202作為單個(gè)實(shí) 體的外觀。 為了以這種方式進(jìn)行操作,耦合到虛擬鏈路束中的鏈路的每個(gè)進(jìn)入上行鏈路接口 被配置為將經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360接收到的流量過濾掉。例如,經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈 路360在虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)處接收到一個(gè)分組。接收到該分組的接口 320(1)或 320(3)更新與該分組相關(guān)聯(lián)的信息(例如在頭部中),以指示該分組是經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備 鏈路360接收到的(在可替換實(shí)施例中,虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)中的發(fā)送接口可以更 新此信息)。當(dāng)虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)在查找表中查找該分組的目的地地址時(shí),查找 表返回標(biāo)識(shí)出邏輯上行鏈路接口 320(9)和320 (13)的邏輯標(biāo)識(shí)符。然后將該分組轉(zhuǎn)發(fā)到上 行鏈路接口 320(13)(例如是基于負(fù)載分擔(dān)考慮而選擇的)。當(dāng)上行鏈路接口 320(13)接收 到該分組時(shí),上行鏈路320(13)將僅在該分組不是經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360接收到的情 況下才輸出該分組,這是因?yàn)槿绻摲纸M是經(jīng)由虛擬交換鏈路接收到的,那么另一虛擬網(wǎng) 絡(luò)設(shè)備子單元122(2)將已經(jīng)經(jīng)由虛擬鏈路束發(fā)送了該分組。從而,上行鏈路接口 320(13) 可以基于被附加在該分組上的指示該分組是經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360接收到的信息,將 該分組從將要經(jīng)由上行鏈路接口 320(13)發(fā)送的分組流中濾去。 在一些實(shí)施例中,MAC通知幀被用來(lái)使虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)中的L2表的 內(nèi)容與虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)中L2表的內(nèi)容保持同步,反之亦然。只要在虛擬網(wǎng)絡(luò) 設(shè)備子單元中生成了涉及虛擬鏈路束背后的端口或包括在上行鏈路接口束中的上行鏈路 接口的MAC通知(例如,這種通知可以由一個(gè)線路卡生成以更新另一線路卡上的L2表),就 將一份該MAC通知經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360發(fā)送。類似地,如果一個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單 元確定一個(gè)分組應(yīng)被洪泛擴(kuò)散(flood),則該虛擬網(wǎng)絡(luò)設(shè)備子單元將經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈 路360發(fā)送一份該分組,確保虛擬網(wǎng)絡(luò)設(shè)備子單元將接收到一份由對(duì)等方虛擬網(wǎng)絡(luò)設(shè)備子 單元中的轉(zhuǎn)發(fā)引擎生成的任何MAC通知響應(yīng)。 作為示例,假設(shè)因?yàn)榘ㄔ谔摂M網(wǎng)絡(luò)設(shè)備子單元122(1)中的轉(zhuǎn)發(fā)引擎不知道哪 個(gè)端口或上行鏈路接口與一個(gè)分組的目的地地址相關(guān)聯(lián),所以虛擬網(wǎng)絡(luò)設(shè)備子單元122 (1) 對(duì)該分組進(jìn)行洪泛擴(kuò)散。作為洪泛擴(kuò)散該分組的一部分,虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)經(jīng)由 虛擬交換鏈路360將一份該分組發(fā)送到虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)。如果虛擬網(wǎng)絡(luò)設(shè)備 子單元122(2)中的轉(zhuǎn)發(fā)引擎已經(jīng)知道該目的地地址位于一個(gè)特定的上行鏈路接口或端口 背后(例如,如果轉(zhuǎn)發(fā)表已經(jīng)包括將該目的地地址與網(wǎng)絡(luò)設(shè)備120之一的一個(gè)端口相關(guān)聯(lián) 的條目),則該轉(zhuǎn)發(fā)引擎生成標(biāo)識(shí)出該關(guān)聯(lián)的MAC通知,該通知被分發(fā)到虛擬網(wǎng)絡(luò)設(shè)備子單 元122(2)內(nèi)的其他任何轉(zhuǎn)發(fā)引擎。由于所述分組最初是經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360接收 到的,因此虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)還經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360將一份MAC通知發(fā)送
17回去。然后,在虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)中所包括的轉(zhuǎn)發(fā)引擎當(dāng)中分發(fā)此MAC通知。在 基于MAC通知而被更新之后,虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)中的轉(zhuǎn)發(fā)引擎現(xiàn)在知道目的地址 所標(biāo)識(shí)出的設(shè)備的位置了。因此,隨后接收到的去往該設(shè)備的分組不被洪泛擴(kuò)散。
當(dāng)一個(gè)虛擬鏈路束中連接到一個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元的所有物理鏈路都發(fā)生故 障時(shí),該虛擬鏈路束轉(zhuǎn)變?yōu)楸获詈系絾蝹€(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元的正常鏈路束。此時(shí),修改每 個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元相對(duì)于該網(wǎng)絡(luò)設(shè)備束的行為。例如,假設(shè)虛擬鏈路束250(1)中被耦 合到虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)的所有上行鏈路發(fā)生故障。此時(shí),虛擬網(wǎng)絡(luò)設(shè)備子單元 122(2)不再具有任何能經(jīng)由虛擬鏈路束250(1)發(fā)送分組的邏輯上行鏈路接口。因此,虛擬 網(wǎng)絡(luò)設(shè)備子單元122(2)重新引導(dǎo)需要經(jīng)由虛擬鏈路束250(1)發(fā)送的所有流量,使之通過 虛擬網(wǎng)絡(luò)設(shè)備鏈路360。另外,由于網(wǎng)絡(luò)設(shè)備122(2)無(wú)法再經(jīng)由虛擬鏈路束250(1)發(fā)送分 組,因此虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)將停止濾去經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360接收到的要經(jīng) 由虛擬鏈路束250(1)發(fā)送的流量。如果虛擬鏈路束250(1)中被耦合到虛擬網(wǎng)絡(luò)設(shè)備子單 元122(2)的上行鏈路中的至少一條被恢復(fù),則虛擬鏈路束250(1)將轉(zhuǎn)變回正常操作模式, 在所述正常操作模式中,虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)將經(jīng)由虛擬鏈路束250(1)發(fā)送在本 地接收到的分組,并且虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)將濾去經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360接收 到的要經(jīng)由虛擬鏈路束250(1)發(fā)送的分組。
斷睡各H難 圖4示出了包括四個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元的虛擬網(wǎng)絡(luò)設(shè)備集群。虛擬網(wǎng)絡(luò)設(shè) 備集群是包括兩個(gè)或更多個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元的虛擬網(wǎng)絡(luò)設(shè)備。在此示例中,虛擬網(wǎng) 絡(luò)設(shè)備集群402是虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)-122(4)的集群。虛擬網(wǎng)絡(luò)設(shè)備子單元 122(1)-122(4)中的每一個(gè)都可以類似于圖3的虛擬網(wǎng)絡(luò)設(shè)備子單元。
虛擬網(wǎng)絡(luò)設(shè)備集群中的每個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元都通過虛擬網(wǎng)絡(luò)設(shè)備鏈路耦合 到同一虛擬網(wǎng)絡(luò)設(shè)備集群中的至少一個(gè)其他虛擬網(wǎng)絡(luò)設(shè)備子單元。在圖4的示例中,虛 擬網(wǎng)絡(luò)設(shè)備子單元122(1)通過虛擬網(wǎng)絡(luò)設(shè)備鏈路360(A)耦合到虛擬網(wǎng)絡(luò)設(shè)備子單元 122 (2),并通過虛擬網(wǎng)絡(luò)設(shè)備鏈路360(D)耦合到虛擬網(wǎng)絡(luò)設(shè)備子單元122(3)。虛擬網(wǎng)絡(luò) 設(shè)備子單元122(1)并不直接耦合到虛擬網(wǎng)絡(luò)設(shè)備子單元122(4)。虛擬網(wǎng)絡(luò)設(shè)備子單元 122(2)經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360(A)耦合到虛擬網(wǎng)絡(luò)設(shè)備子單元122(1),并經(jīng)由虛擬網(wǎng) 絡(luò)設(shè)備鏈路360(B)耦合到虛擬網(wǎng)絡(luò)設(shè)備子單元122(4)。虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)并 不直接耦合到虛擬網(wǎng)絡(luò)設(shè)備子單元122(3)。虛擬網(wǎng)絡(luò)設(shè)備子單元122(3)經(jīng)由虛擬網(wǎng)絡(luò)設(shè) 備鏈路360(D)耦合到虛擬網(wǎng)絡(luò)設(shè)備子單元122 (l),并經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360(C)耦合 到虛擬網(wǎng)絡(luò)設(shè)備子單元122(4)。虛擬網(wǎng)絡(luò)設(shè)備子單元122(3)并不直接耦合到虛擬網(wǎng)絡(luò)設(shè) 備子單元122(2)。虛擬網(wǎng)絡(luò)設(shè)備子單元122(4)經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360(B)耦合到虛 擬網(wǎng)絡(luò)設(shè)備子單元122 (2),并經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360(C)耦合到虛擬網(wǎng)絡(luò)設(shè)備子單元 122(3)。虛擬網(wǎng)絡(luò)設(shè)備子單元122(4)并不直接耦合到虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)。
—對(duì)虛擬網(wǎng)絡(luò)設(shè)備子單元之間的每條虛擬網(wǎng)絡(luò)設(shè)備鏈路包括一條或多條鏈路。在 此示例中,虛擬網(wǎng)絡(luò)設(shè)備鏈路360(A)-360(D)中的每一個(gè)都包括兩條鏈路。包括多條鏈路 的虛擬網(wǎng)絡(luò)設(shè)備鏈路360 (A) -360 (D)中的每一個(gè)都作為諸如EtherChannel (TM)之類的邏 輯鏈路束而被操作。還要注意,虛擬網(wǎng)絡(luò)設(shè)備鏈路也可被實(shí)現(xiàn)為將一個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單 元耦合到若干個(gè)其他的虛擬網(wǎng)絡(luò)設(shè)備子單元的虛擬鏈路束(例如,如圖5B所示)。
在虛擬網(wǎng)絡(luò)設(shè)備集群中提供多于兩個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元,這在某些情況下提供 了額外的冗余度。例如,如果一個(gè)虛擬鏈路束包括通往圖4中所示的四個(gè)虛擬網(wǎng)絡(luò)設(shè)備子 單元122(1)-122 (4)中每一個(gè)的至少一條鏈路,則即使被耦合到其中三個(gè)虛擬網(wǎng)絡(luò)設(shè)備子 單元的鏈路發(fā)生故障,虛擬鏈路束也可繼續(xù)進(jìn)行操作。類似地,這種虛擬鏈路束即使四個(gè)虛 擬網(wǎng)絡(luò)設(shè)備子單元中的三個(gè)發(fā)生故障也可繼續(xù)進(jìn)行操作。 虛擬網(wǎng)絡(luò)設(shè)備集群還使得可以增加虛擬網(wǎng)絡(luò)設(shè)備中的接口數(shù)量。在某些情況下, 希望增加使用虛擬網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn)的特定網(wǎng)絡(luò)層處接口的數(shù)量。由于每個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單 元的物理特性,可以包括在給定的虛擬網(wǎng)絡(luò)設(shè)備子單元中的接口數(shù)量可能是有限的。在這 種情況下,如果該網(wǎng)絡(luò)層是從被限制為包括最多兩個(gè)子單元的虛擬網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn)的,則將 需要另一虛擬網(wǎng)絡(luò)設(shè)備,以在網(wǎng)絡(luò)層中提供所需數(shù)量的接口。這給用戶帶來(lái)了顯著的成本 增加,尤其是在僅需要少量額外接口 (相對(duì)于每個(gè)虛擬網(wǎng)絡(luò)設(shè)備中的總數(shù))的情況下。另 外,額外虛擬網(wǎng)絡(luò)設(shè)備的使用會(huì)向網(wǎng)絡(luò)層引入額外的管理點(diǎn)。此額外虛擬網(wǎng)絡(luò)設(shè)備的使用 還可能使試圖防止整個(gè)網(wǎng)絡(luò)中循環(huán)的路由算法(例如生成樹算法)復(fù)雜化,這是因?yàn)檫@種 路由算法將把每個(gè)虛擬網(wǎng)絡(luò)設(shè)備作為單獨(dú)的網(wǎng)絡(luò)設(shè)備來(lái)處理。 通過使一個(gè)虛擬網(wǎng)絡(luò)設(shè)備可以包括多于兩個(gè)的虛擬網(wǎng)絡(luò)設(shè)備子單元,減少或避免
了以上問題。可以向虛擬網(wǎng)絡(luò)設(shè)備集群添加虛擬網(wǎng)絡(luò)設(shè)備子單元,以在特定網(wǎng)絡(luò)層處提供
額外的接口。然而,同時(shí),額外的虛擬網(wǎng)絡(luò)設(shè)備子單元將仍作為與原來(lái)的虛擬網(wǎng)絡(luò)設(shè)備子單
元相同的邏輯網(wǎng)絡(luò)設(shè)備的一部分而工作。因此,不會(huì)影響網(wǎng)絡(luò)中的管理點(diǎn)的數(shù)量。另外,在
整個(gè)網(wǎng)絡(luò)上運(yùn)行的路由算法的行為將好像虛擬交換集群是單個(gè)邏輯網(wǎng)絡(luò)設(shè)備一樣。 在某些情況下,將虛擬網(wǎng)絡(luò)設(shè)備擴(kuò)展為多于兩個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元提供了比等
同的一組多個(gè)協(xié)同定位的(co-located)虛擬網(wǎng)絡(luò)設(shè)備所能提供的更有效的轉(zhuǎn)發(fā)吞吐量,
所述協(xié)同定位的虛擬網(wǎng)絡(luò)設(shè)備中的每一個(gè)都僅包括兩個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元。另外,如果
虛擬網(wǎng)絡(luò)設(shè)備集群在每個(gè)接口束中使用每個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元中的至少一個(gè)接口,則虛
擬網(wǎng)絡(luò)設(shè)備集群的最大轉(zhuǎn)發(fā)容量與該虛擬網(wǎng)絡(luò)設(shè)備集群中可以包括的虛擬網(wǎng)絡(luò)設(shè)備子單
元的最大數(shù)量成比例。 在一些實(shí)現(xiàn)了虛擬鏈路束的實(shí)施例中,附接于虛擬網(wǎng)絡(luò)設(shè)備集群的每個(gè)虛擬鏈路
束都被允許延伸到該虛擬網(wǎng)絡(luò)設(shè)備集群中的多于兩個(gè)不同的虛擬網(wǎng)絡(luò)設(shè)備子單元。然而,
一些虛擬鏈路束附接于虛擬網(wǎng)絡(luò)設(shè)備中少于全部的虛擬網(wǎng)絡(luò)設(shè)備子單元。 圖5A-圖5C示出了本發(fā)明可替換實(shí)施例的若干種其他虛擬交換集群配置。這些
配置是作為示例而提供的。注意,在其他實(shí)施例中可以實(shí)現(xiàn)虛擬網(wǎng)絡(luò)設(shè)備集群的多種其他配置。 如圖5A所示,虛擬網(wǎng)絡(luò)設(shè)備集群402包括N個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元 122(1)-122 (N)。位于虛擬網(wǎng)絡(luò)設(shè)備集群402的兩"端"的虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)和 122 (N)中的每一個(gè)都耦合到一個(gè)其他的虛擬網(wǎng)絡(luò)設(shè)備子單元。虛擬網(wǎng)絡(luò)設(shè)備集群402中其 余的虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)-122(N-1)(未示出)中的每一個(gè)都耦合到兩個(gè)其他的虛 擬網(wǎng)絡(luò)設(shè)備子單元。虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)-122 (N)被設(shè)置為彼此"串聯(lián)",以使得從 虛擬網(wǎng)絡(luò)設(shè)備的一"端"的設(shè)備發(fā)送到另一"端"的分組將經(jīng)由該虛擬網(wǎng)絡(luò)設(shè)備中的每個(gè)居 間子單元而被傳送。群402。在此示例中,兩個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元122(3)和122(4)通過虛擬網(wǎng)絡(luò)設(shè)備鏈路 360(C)彼此耦合。虛擬網(wǎng)絡(luò)設(shè)備子單元122(1) 、122(2) 、122(5)和122(6)中的每一個(gè)都 通過虛擬網(wǎng)絡(luò)設(shè)備鏈路360 (A) 、360 (B) 、360 (D)和360 (E)中相應(yīng)的一條耦合到虛擬網(wǎng)絡(luò)設(shè) 備子單元122(3)和122(4)兩者。如此示例所示,同一虛擬網(wǎng)絡(luò)設(shè)備鏈路中的鏈路可以終 止于不同的虛擬網(wǎng)絡(luò)設(shè)備子單元。在一個(gè)實(shí)施例中,虛擬網(wǎng)絡(luò)設(shè)備子單元122(1) 、122(2)、 122(5)和122(6)與虛擬網(wǎng)絡(luò)設(shè)備子單元122(3)和122(4)進(jìn)行交互,就好像虛擬網(wǎng)絡(luò)設(shè)備 子單元122(3)和122(4)是單個(gè)邏輯子單元一樣。從而,虛擬網(wǎng)絡(luò)設(shè)備集群可以被配置為 具有若干個(gè)虛擬化級(jí)別。 在圖5C中,示出了虛擬網(wǎng)絡(luò)設(shè)備集群的另一示例。這里,虛擬網(wǎng)絡(luò)設(shè)備集群402 包括三個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元122 (1) -122 (3)。在此示例中,虛擬網(wǎng)絡(luò)設(shè)備集群402中的每 個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元都彼此耦合。虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)通過虛擬網(wǎng)絡(luò)設(shè)備鏈路 360(A)耦合到虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)。虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)通過虛擬網(wǎng)絡(luò)設(shè) 備鏈路360(B)耦合到虛擬網(wǎng)絡(luò)設(shè)備子單元122(3)。虛擬網(wǎng)絡(luò)設(shè)備子單元122(3)通過虛擬 網(wǎng)絡(luò)設(shè)備鏈路360(C)耦合到虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)。 每個(gè)虛擬網(wǎng)絡(luò)設(shè)備集群402都作為單個(gè)邏輯網(wǎng)絡(luò)設(shè)備而進(jìn)行操作,而不管該虛擬 網(wǎng)絡(luò)設(shè)備集群內(nèi)的虛擬網(wǎng)絡(luò)設(shè)備子單元的內(nèi)部配置如何。從而,像圖3的虛擬網(wǎng)絡(luò)設(shè)備一 樣,每個(gè)虛擬網(wǎng)絡(luò)設(shè)備集群進(jìn)行操作以確保多個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元不會(huì)每個(gè)都向同一目 的地設(shè)備發(fā)送一份相同的分組。另外,虛擬網(wǎng)絡(luò)設(shè)備集群進(jìn)行操作以防止分組在虛擬網(wǎng)絡(luò) 設(shè)備集群中"循環(huán)"。當(dāng)虛擬網(wǎng)絡(luò)設(shè)備子單元接收到一份已被該虛擬網(wǎng)絡(luò)設(shè)備子單元轉(zhuǎn)發(fā)過 了的分組時(shí),分組就"循環(huán)"了 。 圖6A示出了用虛擬網(wǎng)絡(luò)子單元標(biāo)識(shí)符來(lái)防止循環(huán)并確保虛擬網(wǎng)絡(luò)設(shè)備集群不向 同一目的地發(fā)送多份相同分組的虛擬網(wǎng)絡(luò)設(shè)備集群的示例。具有諸如圖4和圖5A-圖5C 的不同配置的虛擬網(wǎng)絡(luò)設(shè)備集群也可用虛擬網(wǎng)絡(luò)子單元標(biāo)識(shí)符來(lái)防止循環(huán)并確保虛擬網(wǎng) 絡(luò)設(shè)備集群不向同一 目的地發(fā)送多份相同分組。 圖6A的虛擬網(wǎng)絡(luò)設(shè)備集群402包括多個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)-122(3)。在 此示例中,虛擬網(wǎng)絡(luò)設(shè)備集群402是耦合到若干個(gè)接入層網(wǎng)絡(luò)設(shè)備120(1)-120(4)的分布 層設(shè)備。虛擬網(wǎng)絡(luò)設(shè)備鏈路360(A)將虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)耦合到虛擬網(wǎng)絡(luò)設(shè)備子 單元122 (2)。虛擬網(wǎng)絡(luò)設(shè)備鏈路360(B)將虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)耦合到虛擬網(wǎng)絡(luò)設(shè) 備子單元122(3)。 虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)具有若干個(gè)接口,包括被耦合到網(wǎng)絡(luò)設(shè)備120(1)的 端口P1和作為接口束IB1—部分的接口。虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)還包括被耦合到虛 擬網(wǎng)絡(luò)設(shè)備鏈路360(A)的接口V1。 虛擬網(wǎng)絡(luò)設(shè)備子單元122 (2)包括被耦合到虛擬網(wǎng)絡(luò)設(shè)備鏈路360 (A)的接口 V2, 以及被耦合到虛擬網(wǎng)絡(luò)設(shè)備鏈路360(B)的接口 V3。虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)還包括作 為接口束IB1 —部分的本地接口,以及被耦合到網(wǎng)絡(luò)設(shè)備120(3)的接口 P2。
虛擬網(wǎng)絡(luò)設(shè)備子單元122 (3)包括被耦合到虛擬網(wǎng)絡(luò)設(shè)備鏈路360 (B)的接口 V4。 虛擬網(wǎng)絡(luò)設(shè)備子單元122(3)還包括被耦合到網(wǎng)絡(luò)設(shè)備120(4)的接口P3。如圖所示,虛擬 網(wǎng)絡(luò)設(shè)備子單元122(3)不包括接口束IB1中的本地接口 (即,接口束IB1延伸到虛擬網(wǎng)絡(luò) 設(shè)備集群402中少于全部的虛擬網(wǎng)絡(luò)設(shè)備子單元)。
注意,每個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)_122(3)中的每個(gè)接口都可以包括若干個(gè) 物理接口,并且耦合到虛擬網(wǎng)絡(luò)設(shè)備子單元的每條鏈路都可以包括若干條物理鏈路。例如, 虛擬網(wǎng)絡(luò)設(shè)備鏈路360(A)可以是匯聚鏈路,從而接口 VI可以包括若干個(gè)物理接口。
在圖6A中,虛擬網(wǎng)絡(luò)設(shè)備集群中的每個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元被指定了唯一的虛 擬網(wǎng)絡(luò)設(shè)備子單元標(biāo)識(shí)符。這里,向虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)指定了標(biāo)識(shí)符"01",向虛 擬網(wǎng)絡(luò)設(shè)備子單元122(2)指定了標(biāo)識(shí)符"02",向虛擬網(wǎng)絡(luò)設(shè)備子單元122(3)指定了標(biāo)識(shí) 符"03"。這些標(biāo)識(shí)符被用來(lái)跟蹤虛擬網(wǎng)絡(luò)設(shè)備集群中的哪些虛擬網(wǎng)絡(luò)設(shè)備子單元已經(jīng)處理 了給定的分組。注意在可替換實(shí)施例中,向每個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元指定若干個(gè)唯一標(biāo)識(shí) 符。例如,在一個(gè)實(shí)施例中,向每個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元指定了每個(gè)本地接口一個(gè)標(biāo)識(shí)符。 在這種實(shí)施例中,這些唯一標(biāo)識(shí)符可以既標(biāo)識(shí)虛擬網(wǎng)絡(luò)設(shè)備子單元又標(biāo)識(shí)該虛擬網(wǎng)絡(luò)設(shè)備 子單元內(nèi)的接口。 虛擬網(wǎng)絡(luò)設(shè)備集群402所處理的每個(gè)分組都與所述標(biāo)識(shí)符中的一個(gè)相關(guān)聯(lián)。在一 個(gè)實(shí)施例中,此關(guān)聯(lián)是通過向虛擬網(wǎng)絡(luò)設(shè)備集群402接收到的每個(gè)分組附加包含所示標(biāo)識(shí) 符中的一個(gè)的頭部。包括在給定分組的頭部中的特定標(biāo)識(shí)符標(biāo)識(shí)出虛擬網(wǎng)絡(luò)設(shè)備集群402 中第一個(gè)接收到該分組的虛擬網(wǎng)絡(luò)設(shè)備子單元。例如,如果網(wǎng)絡(luò)設(shè)備120(1)將一個(gè)分組發(fā) 送到虛擬網(wǎng)絡(luò)設(shè)備集群402的接口 Pl,則包括標(biāo)識(shí)符"01"的頭部將被附加到該分組上。
可以在分組進(jìn)入和/或分組外出時(shí),使標(biāo)識(shí)符與虛擬網(wǎng)絡(luò)設(shè)備子單元所接收到的 分組相關(guān)聯(lián)。例如,在一個(gè)實(shí)施例中,虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)中的每個(gè)接口 (V1、P1 和IB1中的本地接口 )被配置為向經(jīng)由該接口接收到的分組附加一個(gè)頭部,以使得在進(jìn)入 虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)時(shí)將頭部附加到分組上。在其他實(shí)施例中,虛擬網(wǎng)絡(luò)設(shè)備子單 元122(1)中的每個(gè)接口在分組被從該接口發(fā)送時(shí)向這些分組附加頭部。所述頭部除了虛 擬網(wǎng)絡(luò)設(shè)備子單元標(biāo)識(shí)符之外,還可以包括其他信息。例如,頭部還可以包括標(biāo)識(shí)出最初接 收到分組的接口的信息和/或標(biāo)識(shí)出對(duì)該分組執(zhí)行的查找結(jié)果的信息。注意在一個(gè)實(shí)施例 中,如果還未在分組和標(biāo)識(shí)符之間創(chuàng)建關(guān)聯(lián),則諸如接口 VI之類的通往虛擬網(wǎng)絡(luò)設(shè)備鏈路 的接口將接收到的分組與標(biāo)識(shí)符相關(guān)聯(lián)(通過向該分組附加頭部或者通過更新已有的頭 部)。 在一個(gè)實(shí)施例中,某些接口不向分組附加頭部。在這種實(shí)施例中,另一接口向經(jīng)由 接口中無(wú)法向分組附加頭部的一個(gè)接口接收到的分組附加適當(dāng)?shù)念^部,即使該分組經(jīng)由不 同的虛擬網(wǎng)絡(luò)設(shè)備子單元進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群402時(shí)也是如此。例如,如果接口P1無(wú)法 向從網(wǎng)絡(luò)設(shè)備120(1)接收到的分組附加頭部,并且如果該分組被轉(zhuǎn)發(fā)到虛擬網(wǎng)絡(luò)設(shè)備子 單元122(2),則接口 V2響應(yīng)于對(duì)該分組的接收而向該分組附加頭部。該頭部包括標(biāo)識(shí)符 "01",以指示該分組是經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群402的???替換地,如果虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)的接口 VI可以向離開接口 VI的分組附加頭部, 則接口 VI在該分組要被向虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)發(fā)送時(shí)向該分組附加頭部。
在通過虛擬網(wǎng)絡(luò)設(shè)備集群402轉(zhuǎn)發(fā)分組時(shí),保持標(biāo)識(shí)符和分組之間的關(guān)聯(lián)。從而, 如果一個(gè)分組被經(jīng)由端口 Pl接收然后轉(zhuǎn)發(fā)到虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)和122(3),則包 括標(biāo)識(shí)符"01"的頭部也會(huì)在整個(gè)虛擬網(wǎng)絡(luò)設(shè)備集群402中與該分組一起被轉(zhuǎn)發(fā)。當(dāng)分組 離開虛擬網(wǎng)絡(luò)設(shè)備集群402時(shí),頭部被去除。 每個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元使用標(biāo)識(shí)符來(lái)確定是否可經(jīng)由特定接口來(lái)發(fā)送分組。例如,諸如接口 Vl-V4之類的被耦合到虛擬網(wǎng)絡(luò)設(shè)備鏈路的接口使用標(biāo)識(shí)符來(lái)確定是否允許 將特定分組經(jīng)由該接口發(fā)送。如果與標(biāo)識(shí)符"01"相關(guān)聯(lián)的分組要經(jīng)由接口 V2而被發(fā)送, 則接口 V2使用該頭部來(lái)檢測(cè)到該分組已被虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)轉(zhuǎn)發(fā)過。因此,接 口 V2可以通過將該分組從要經(jīng)由接口 V2發(fā)送的分組流中濾去,來(lái)防止將該分組循環(huán)回虛 擬網(wǎng)絡(luò)設(shè)備子單元122(1)。 圖6B示出了圖6A的虛擬網(wǎng)絡(luò)設(shè)備集群402中的每個(gè)接口可以使用的進(jìn)入標(biāo)識(shí)符 (ID)設(shè)定和外出過濾器。在此示例中,假設(shè)在分組進(jìn)入時(shí)向分組附加了頭部,所述頭部中 的每一個(gè)都包含適當(dāng)?shù)奶摂M網(wǎng)絡(luò)設(shè)備子單元標(biāo)識(shí)符。另外,如果接口無(wú)法在分組中包括標(biāo) 識(shí)符,則被附加到該分組上的頭部將具有指示出仍需將具體標(biāo)識(shí)符值與該分組相關(guān)聯(lián)的值 (在此示例中是"00")。 在圖6B的實(shí)施例中,接口將從要經(jīng)由該接口發(fā)送的輸出流中濾去分組,除非與該 分組相關(guān)聯(lián)的標(biāo)識(shí)符處于"允許"標(biāo)識(shí)符的列表上。注意在可替換的實(shí)施例中,接口可以使 用"不允許"標(biāo)識(shí)符的列表來(lái)將分組從要經(jīng)由該接口發(fā)送的輸出流中濾去。
表中的"進(jìn)入ID設(shè)定"列示出了將與經(jīng)由特定接口接收到的分組相關(guān)聯(lián)的虛擬網(wǎng) 絡(luò)設(shè)備子單元標(biāo)識(shí)符的值。如上所述,可以通過向分組添加包括標(biāo)識(shí)符的頭部,將該標(biāo)識(shí)符 與該分組相關(guān)聯(lián)。如圖所示,標(biāo)識(shí)符"01"將與經(jīng)由接口P1接收到的分組相關(guān)聯(lián)。標(biāo)識(shí)符 "02"將與經(jīng)由接口 P2接收到的分組相關(guān)聯(lián)。標(biāo)識(shí)符"03"將與經(jīng)由接口 P3接收到的分組 相關(guān)聯(lián)。如果接收接口不能生成適當(dāng)?shù)念^部,則由特定接口P1-P3在該接口接收到分組時(shí), 或者由諸如接口 Vl-V4之一的另一組件(例如,如下所述),來(lái)創(chuàng)建關(guān)聯(lián)。
經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)的作為接口束IB1 —部分的接口接收到的分組 將與標(biāo)識(shí)符"01"相關(guān)聯(lián)。類似地,經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)的作為接口束IB1 — 部分的接口接收到的分組將與標(biāo)識(shí)符"02 "相關(guān)聯(lián)。 如果具體標(biāo)識(shí)符值還未與經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路接收到的分組相關(guān)聯(lián),則將這些 分組與標(biāo)識(shí)符相關(guān)聯(lián)。在此示例中,如果標(biāo)識(shí)符值"00"與一個(gè)分組相關(guān)聯(lián),所述值"00"指 示出需要將具體的標(biāo)識(shí)符值(即實(shí)際上標(biāo)識(shí)出虛擬網(wǎng)絡(luò)設(shè)備子單元的值)與該分組相關(guān) 聯(lián)。值"00"是非具體的(在此示例中),這是因?yàn)橹?OO"未標(biāo)識(shí)出虛擬網(wǎng)絡(luò)設(shè)備子單元 122(1)-122 (3)中特定的一個(gè)。 例如,如果標(biāo)識(shí)符與分組的關(guān)聯(lián)由進(jìn)入接口執(zhí)行,并且如果某些進(jìn)入接口無(wú)法 (例如由于這些進(jìn)入接口缺少某些功能)將具體標(biāo)識(shí)符值與分組相關(guān)聯(lián),則非具體值可能 與分組相關(guān)聯(lián)。例如,如果接口 Pl-P3無(wú)法生成具體標(biāo)識(shí)符值,則非具體標(biāo)識(shí)符值"00"將 與經(jīng)由接口 Pl-P3接收到的分組相關(guān)聯(lián)。如果經(jīng)由接口 Pl-P3接收到的分組被轉(zhuǎn)發(fā)到另一 虛擬網(wǎng)絡(luò)設(shè)備子單元,則當(dāng)該分組經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路被接收到時(shí),將具體標(biāo)識(shí)符值與 該分組相關(guān)聯(lián)。注意,與具體標(biāo)識(shí)符值"01"、"02"和"03"不同,非具體標(biāo)識(shí)符值"00"在每 個(gè)不同的虛擬網(wǎng)絡(luò)設(shè)備子單元中具有不同的含義。另外,非具體標(biāo)識(shí)符值"OO"僅被用來(lái)標(biāo) 識(shí)給定的虛擬網(wǎng)絡(luò)設(shè)備子單元內(nèi)的本地接口。當(dāng)在機(jī)殼間轉(zhuǎn)移時(shí),非具體標(biāo)識(shí)符值"OO"的 含義(即由非具體標(biāo)識(shí)符值"OO"標(biāo)識(shí)的接口 )被重新指定。 從而,如果一個(gè)分組與"00"相關(guān)聯(lián),則該標(biāo)識(shí)符的含義根據(jù)哪個(gè)虛擬網(wǎng)絡(luò)設(shè)備子 單元當(dāng)前正在處理該分組而變化。例如,虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)內(nèi)僅有的與非具體標(biāo) 識(shí)符值"00"相關(guān)聯(lián)的分組(除了任何經(jīng)由接口 Vl進(jìn)入的這種分組以外,因?yàn)檫@些分組將
22被接口 VI與具體標(biāo)識(shí)符相關(guān)聯(lián))是經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集 群402的分組。類似地,虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)內(nèi)僅有的與非具體標(biāo)識(shí)符值"OO"相 關(guān)聯(lián)的分組(同樣,除了任何經(jīng)由接口 V2或V3之一進(jìn)入的這種分組以外,因?yàn)檫@些分組將 被接口 V2和V3與具體標(biāo)識(shí)符相關(guān)聯(lián))是經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)進(jìn)入虛擬網(wǎng)絡(luò) 設(shè)備集群402的分組。最后,虛擬網(wǎng)絡(luò)設(shè)備子單元122(3)內(nèi)僅有的與非具體標(biāo)識(shí)符值"OO" 相關(guān)聯(lián)的分組(除了任何經(jīng)由接口 V4進(jìn)入的這種分組以外,因?yàn)檫@些分組將被接口 V4與 具體標(biāo)識(shí)符相關(guān)聯(lián))是經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(3)進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群402的分 組。 如圖6B所示,如果接口 VI接收到與標(biāo)識(shí)符值"OO"相關(guān)聯(lián)的分組,則接口 VI將 該分組與標(biāo)識(shí)符"02"相關(guān)聯(lián),以指示出該分組是經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)進(jìn)入虛 擬網(wǎng)絡(luò)設(shè)備集群402的。類似地,如果接口 V2接收到與標(biāo)識(shí)符值"00"相關(guān)聯(lián)的分組,則 接口 V2將該分組與標(biāo)識(shí)符"01"相關(guān)聯(lián),以指示出該分組最初是經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元 122(2)進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群402的。如果接口 V3接收到與標(biāo)識(shí)符值"00"相關(guān)聯(lián)的分 組,則接口 V3將該分組與標(biāo)識(shí)符"02"相關(guān)聯(lián)。如果接口 V4接收到與標(biāo)識(shí)符值"00"相關(guān) 聯(lián)的分組,則接口 V4將該分組與標(biāo)識(shí)符"03"相關(guān)聯(lián)。當(dāng)接口 Vl-V3接收到以與具體標(biāo)識(shí) 符值相關(guān)聯(lián)的分組時(shí),接口 Vl-V3將不更新這些具體標(biāo)識(shí)符值。 表中的"外出過濾器"列示出了允許哪些分組經(jīng)由特定接口被發(fā)送。不允許經(jīng)由特 定接口發(fā)送的分組將被從要經(jīng)由該接口發(fā)送的輸出流中濾去。在一些實(shí)施例中,虛擬網(wǎng)絡(luò) 設(shè)備子單元122(1)-122(3)中的每一個(gè)內(nèi)的每個(gè)接口都使用寄存器來(lái)存儲(chǔ)此外出過濾器 信息。寄存器存儲(chǔ)位圖(bitmap),在該位圖中,每個(gè)位與虛擬網(wǎng)絡(luò)設(shè)備子單元標(biāo)識(shí)符的一個(gè) 可能的值相關(guān)聯(lián)。當(dāng)要從一個(gè)接口輸出分組時(shí),該接口將使用與該分組相關(guān)聯(lián)的標(biāo)識(shí)符來(lái) 選擇寄存器中的位。例如,如果該分組與標(biāo)識(shí)符值"02"相關(guān)聯(lián),則接口將選擇與標(biāo)識(shí)符值 "02"相關(guān)聯(lián)的位。接口將基于所選位的值,從要經(jīng)由該接口發(fā)送的輸出流中過濾分組。例 如,接口將把分組從輸出流中濾去,除非與標(biāo)識(shí)符值"02"相關(guān)聯(lián)的位被設(shè)置為特定值(例 如在圖6B的表中是1)。 在此示例中,與標(biāo)識(shí)符"00 "、" 01 "、" 02 "和"03 "相關(guān)聯(lián)的分組被允許經(jīng)由接口 Pl-P3輸出。這表明,允許分組從這些接口輸出,無(wú)論這些分組是從何處進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備 集群402的。這是合適的,因?yàn)榻涌?Pl-P3中的每一個(gè)是僅有的將虛擬網(wǎng)絡(luò)設(shè)備集群402耦 合到特定網(wǎng)絡(luò)設(shè)備的接口。因此,不存在另一虛擬網(wǎng)絡(luò)設(shè)備子單元中的另一接口已經(jīng)將分 組發(fā)送到被耦合到接口 Pl-P3的網(wǎng)絡(luò)設(shè)備之一的風(fēng)險(xiǎn)。例如,由于接口 P3是僅有的將虛擬 網(wǎng)絡(luò)設(shè)備集群402耦合到網(wǎng)絡(luò)設(shè)備120 (4)的接口 ,因此不存在虛擬網(wǎng)絡(luò)設(shè)備子單元122 (1) 和122(2)將分組發(fā)送到網(wǎng)絡(luò)設(shè)備120(4)的通路。因此,接口 P3不需要將經(jīng)由虛擬網(wǎng)絡(luò)設(shè) 備子單元122(1)和122(2)接收到的分組從要經(jīng)由接口 P3發(fā)送的輸出流中濾去。
接口束IB1中包括有兩個(gè)接口。這些接口中的每一個(gè)都具有包括該接口的虛擬網(wǎng) 絡(luò)設(shè)備子單元所專用的不同的外出過濾器設(shè)定。例如,包括在虛擬網(wǎng)絡(luò)設(shè)備子單元122(1) 中的本地接口將允許發(fā)送與標(biāo)識(shí)符值"00"和"01"相關(guān)聯(lián)的分組,但將濾去與標(biāo)識(shí)符值 "02"和"03"相關(guān)聯(lián)的分組。這表明,虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)中的本地接口將僅發(fā)送 經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群402的分組。類似地,虛擬網(wǎng)絡(luò)設(shè) 備子單元122(2)中的本地接口將僅發(fā)送經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)和122(3)進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群402的分組。通過向允許從接口束IB1的每個(gè)接口發(fā)送的分組施加這些 約束,不存在從兩個(gè)接口發(fā)送一份相同分組的機(jī)會(huì)。 接口 VI允許經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360(A)發(fā)送與標(biāo)識(shí)符"00"和"01"相關(guān)聯(lián) 的分組。這表明,如果分組是經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群402 的,則接口 VI將把這些分組發(fā)送到虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)。然而,如果任何分組已被 虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)轉(zhuǎn)發(fā)過,則接口 VI將不會(huì)允許這些分組被發(fā)送回虛擬網(wǎng)絡(luò)設(shè) 備子單元122(2)。如圖6A所示,經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)或122(3)進(jìn)入虛擬網(wǎng)絡(luò) 設(shè)備集群402的分組到達(dá)虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)的唯一通路是經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈 路360(A)。因此,接口 VI將與標(biāo)識(shí)符"02"和"03"相關(guān)聯(lián)的分組從輸出流中濾去,以防止 這些分組"循環(huán)"回虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)。由于類似的原因,接口 V4濾去與標(biāo)識(shí)符 "02"和"01"相關(guān)聯(lián)的分組而不經(jīng)由接口 V4發(fā)送。 接口 V2濾去與標(biāo)識(shí)符"01"相關(guān)聯(lián)的分組,并允許其他分組(與標(biāo)識(shí)符"00"、"02" 和"03"相關(guān)聯(lián)的分組)經(jīng)由接口V2被發(fā)送到虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)。從而,接口 V2將防止經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群402的分組循環(huán)回虛擬 網(wǎng)絡(luò)設(shè)備子單元122(1),但將允許經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)和122(3)進(jìn)入虛擬網(wǎng) 絡(luò)設(shè)備集群的分組被發(fā)送到虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)。類似地,接口 V3允許與標(biāo)識(shí)符 "00"、"01"和"02"相關(guān)聯(lián)的分組經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360(B)被發(fā)送到虛擬網(wǎng)絡(luò)設(shè)備子 單元122(3),但防止與標(biāo)識(shí)符"03"相關(guān)聯(lián)的分組循環(huán)回虛擬網(wǎng)絡(luò)設(shè)備子單元122(3)。
雖然以上示例集中于虛擬網(wǎng)絡(luò)設(shè)備集群402如何處理數(shù)據(jù)分組,但也可使用相同 的技術(shù)來(lái)處理在虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)-122(3)之間發(fā)送的控制分組。例如,虛擬網(wǎng) 絡(luò)設(shè)備子單元122(1)-122(3)中的每一個(gè)都可以執(zhí)行以太網(wǎng)轉(zhuǎn)發(fā)。虛擬網(wǎng)絡(luò)設(shè)備子單元 122(1)-122(3)向彼此發(fā)送MAC通知消息以保持在每個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元中維護(hù)的轉(zhuǎn)發(fā) 表之間的一致性。當(dāng)虛擬網(wǎng)絡(luò)設(shè)備子單元最初生成MAC通知消息時(shí),該MAC通知消息被與 非具體標(biāo)識(shí)符值(例如在以上示例中是"OO")相關(guān)聯(lián)。如果該MAC通知消息被發(fā)送到另一 虛擬網(wǎng)絡(luò)設(shè)備子單元,則虛擬網(wǎng)絡(luò)設(shè)備子單元隨后以與使具體標(biāo)識(shí)符與數(shù)據(jù)分組相關(guān)聯(lián)相 同的方式,使具體標(biāo)識(shí)符值與MAC通知相關(guān)聯(lián)。如果虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)經(jīng)由虛擬 網(wǎng)絡(luò)設(shè)備鏈路360(A)接收到由虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)生成的與非具體標(biāo)識(shí)符值相關(guān) 聯(lián)的MAC通知,則虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)將該MAC通知與標(biāo)識(shí)符"01"相關(guān)聯(lián)。如果 虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)隨后將該MAC通知發(fā)送到虛擬網(wǎng)絡(luò)設(shè)備子單元122(3),則保持 與標(biāo)識(shí)符"01"的關(guān)聯(lián)。從而,與MAC通知相關(guān)聯(lián)的標(biāo)識(shí)符值被設(shè)置為標(biāo)識(shí)出生成該MAC通 知的虛擬網(wǎng)絡(luò)設(shè)備子單元的具體值。此標(biāo)識(shí)符值被用來(lái)過濾來(lái)自某些接口的MAC通知,以 防止虛擬網(wǎng)絡(luò)設(shè)備集群內(nèi)的循環(huán)。 在一個(gè)實(shí)施例中,虛擬網(wǎng)絡(luò)設(shè)備集群402中每個(gè)接口的進(jìn)入ID設(shè)定和外出過濾器 值是由集中式控制器生成的。例如,虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)可以被指定為虛擬網(wǎng)絡(luò)設(shè) 備集群402中的"基本"虛擬網(wǎng)絡(luò)設(shè)備子單元。基本虛擬網(wǎng)絡(luò)設(shè)備子單元所執(zhí)行的任務(wù)之 一是為虛擬網(wǎng)絡(luò)設(shè)備集群402中的每個(gè)接口生成進(jìn)入ID設(shè)定和外出過濾器值。如果基本 虛擬網(wǎng)絡(luò)設(shè)備子單元發(fā)生故障,則其他虛擬網(wǎng)絡(luò)設(shè)備子單元之一將擔(dān)任基本虛擬網(wǎng)絡(luò)設(shè)備 子單元的角色。 圖6C示出了虛擬網(wǎng)絡(luò)設(shè)備子單元的接口 600(其表示端口、上行鏈路接口或通往虛擬網(wǎng)絡(luò)設(shè)備鏈路的接口 )的示例。接口 600使用外出過濾器值來(lái)過濾要經(jīng)由接口 600從 虛擬網(wǎng)絡(luò)設(shè)備子單元發(fā)送的分組。如圖所示,接口 600包括過濾單元610和外出過濾器值 存儲(chǔ)裝置620。外出過濾器值存儲(chǔ)裝置620存儲(chǔ)外出過濾器值,例如在圖6B的"外出過濾 器"列中所示的值(例如是由基本虛擬網(wǎng)絡(luò)設(shè)備子單元生成并提供給接口 600的)。外出 過濾器值存儲(chǔ)裝置620可以是寄存器、存儲(chǔ)單元,或其他用于存儲(chǔ)適當(dāng)?shù)耐獬鲞^濾器值的 存儲(chǔ)區(qū)域。過濾單元610將與每個(gè)分組相關(guān)聯(lián)的信息和存儲(chǔ)在外出過濾器值存儲(chǔ)裝置620 中的外出過濾器值結(jié)合起來(lái)使用,以確定每個(gè)分組是否應(yīng)被允許經(jīng)由接口輸出。過濾單元 610接收外出分組流650。外出分組流650由與接口 600位于同一虛擬網(wǎng)絡(luò)設(shè)備子單元內(nèi) 的轉(zhuǎn)發(fā)引擎發(fā)送到接口 600。如果給定的分組被允許從接口 600輸出,則過濾單元610允許 該分組被從接口 600輸出到鏈路上,作為經(jīng)過濾的外出分組流660的一部分。如果基于與 給定的分組相關(guān)聯(lián)的信息和存儲(chǔ)在外出過濾器值存儲(chǔ)裝置620中的信息,確定該分組不被 允許從接口 600輸出,則過濾單元610禁止該分組經(jīng)由接口 600被作為經(jīng)過濾的外出分組 流660的一部分輸出(例如,通過丟棄該份分組)。 接口 600還包括進(jìn)入標(biāo)識(shí)符(ID)值存儲(chǔ)裝置630 (例如寄存器或其他存儲(chǔ)區(qū)域), 以及標(biāo)識(shí)符單元640。如果具體的標(biāo)識(shí)符值還未與輸入的分組相關(guān)聯(lián),則在該分組進(jìn)入虛 擬網(wǎng)絡(luò)設(shè)備子單元時(shí),進(jìn)入標(biāo)識(shí)符值存儲(chǔ)裝置630存儲(chǔ)應(yīng)與該輸入的分組相關(guān)聯(lián)的標(biāo)識(shí)符 值。標(biāo)識(shí)符單元640使進(jìn)入標(biāo)識(shí)符值存儲(chǔ)裝置630中的值與進(jìn)入分組流670中還未與具體 進(jìn)入標(biāo)識(shí)符相關(guān)聯(lián)的每個(gè)分組相關(guān)聯(lián)。因此,進(jìn)入分組流680中的每個(gè)分組都已與具體的 標(biāo)識(shí)符相關(guān)聯(lián)。 圖7是示出了在虛擬交換集群中轉(zhuǎn)發(fā)分組的方式的流程圖。在710,虛擬網(wǎng)絡(luò)設(shè)備 集群接收分組。如上所述,虛擬網(wǎng)絡(luò)設(shè)備集群包括集體充當(dāng)單個(gè)邏輯設(shè)備的若干個(gè)虛擬網(wǎng) 絡(luò)設(shè)備子單元。只要包括在該虛擬網(wǎng)絡(luò)設(shè)備集群中的虛擬網(wǎng)絡(luò)設(shè)備子單元接收到來(lái)自不是 該虛擬網(wǎng)絡(luò)設(shè)備集群一部分的設(shè)備的分組,該虛擬網(wǎng)絡(luò)設(shè)備集群就接收到分組。
在720,使分組與第一個(gè)接收到該分組的虛擬網(wǎng)絡(luò)設(shè)備子單元的標(biāo)識(shí)符相關(guān)聯(lián)。換 言之,使該分組與標(biāo)識(shí)出虛擬網(wǎng)絡(luò)設(shè)備子單元之一的值相關(guān)聯(lián)。所標(biāo)識(shí)的虛擬網(wǎng)絡(luò)設(shè)備子 單元是該分組進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群的子單元。標(biāo)識(shí)符可由第一個(gè)接收到分組的接口生 成。可替換地,標(biāo)識(shí)符可以由將分組輸出到同一虛擬網(wǎng)絡(luò)設(shè)備集群內(nèi)另一虛擬網(wǎng)絡(luò)設(shè)備子 單元的接口來(lái)生成。作為另一種替換,標(biāo)識(shí)符可以由另一虛擬網(wǎng)絡(luò)設(shè)備子單元內(nèi)的接口生 成,所述的另一虛擬網(wǎng)絡(luò)設(shè)備子單元從所標(biāo)識(shí)的虛擬網(wǎng)絡(luò)設(shè)備子單元接收到所述分組。
將分組與第一個(gè)接收到該分組的虛擬網(wǎng)絡(luò)設(shè)備子單元相關(guān)聯(lián)可能涉及向分組附 加頭部。該頭部包括適當(dāng)?shù)奶摂M網(wǎng)絡(luò)設(shè)備子單元的標(biāo)識(shí)符。 在730,基于相關(guān)聯(lián)的標(biāo)識(shí)符,從要經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備集群的接口發(fā)送的分組流中
過濾分組。根據(jù)相關(guān)聯(lián)的標(biāo)識(shí)符標(biāo)識(shí)出哪個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元來(lái)從分組流中過濾分組。
例如,發(fā)送分組所經(jīng)由的接口可以是接口束的一部分,所述接口束包括多于一個(gè)虛擬網(wǎng)絡(luò)
設(shè)備中的接口。接口將經(jīng)由除了包括該接口的虛擬網(wǎng)絡(luò)設(shè)備子單元之外的任何虛擬網(wǎng)絡(luò)設(shè)
備子單元進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群的分組濾去,以防止經(jīng)由接口束發(fā)送多份該分組。 在一個(gè)實(shí)施例中,從分組流中過濾分組涉及訪問與接口相關(guān)聯(lián)的一組外出過濾器
設(shè)定。例如,接口的外出過濾器設(shè)定可以被存儲(chǔ)在寄存器中,所述寄存器對(duì)可與分組相關(guān)聯(lián)
的每個(gè)可能的標(biāo)識(shí)符值包括一個(gè)位。該位的值指示出與特定標(biāo)識(shí)符值相關(guān)聯(lián)的分組是否可從接口中輸出。例如,如果分組的標(biāo)識(shí)符具有值"01 ",并且如果與標(biāo)識(shí)符值"01"相關(guān)聯(lián)的 位被設(shè)置為值"l",則允許該分組從接口中輸出。而如果該位被清除(即如果該位的值為 零),則無(wú)法將該分組從接口中輸出。因此,從要從接口輸出的分組流中濾去該分組。
如上所述,計(jì)算各種外出過濾器設(shè)定(用于確定是否可經(jīng)由特定接口發(fā)送分組), 以防止分組在虛擬網(wǎng)絡(luò)設(shè)備集群內(nèi)循環(huán)??梢匀绱松蛇@些外出過濾器設(shè)定,以使得每個(gè) 分組遵循虛擬網(wǎng)絡(luò)設(shè)備集群內(nèi)的生成樹。在一個(gè)實(shí)施例中,每個(gè)虛擬網(wǎng)絡(luò)設(shè)備集群計(jì)算一 個(gè)生成樹。在其他實(shí)施例中,如下所述,每個(gè)虛擬網(wǎng)絡(luò)設(shè)備集群計(jì)算若干個(gè)生成樹。
齡斷睡各i殳錢齢付成j對(duì) 在虛擬網(wǎng)絡(luò)設(shè)備集群中,每個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元都提供進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群 的可能的進(jìn)入點(diǎn)。每個(gè)生成樹都與一個(gè)不同于其他生成樹的進(jìn)入點(diǎn)(或一組不同的進(jìn)入 點(diǎn))相關(guān)聯(lián)。當(dāng)分組經(jīng)由特定的進(jìn)入點(diǎn)進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群時(shí),標(biāo)識(shí)出該進(jìn)入點(diǎn)的信息 與該分組相關(guān)聯(lián)。例如,如上所述,虛擬網(wǎng)絡(luò)設(shè)備子單元標(biāo)識(shí)符可以與該分組相關(guān)聯(lián)。然后, 以和與分組進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群的進(jìn)入點(diǎn)相關(guān)聯(lián)的生成樹一致的方式,通過虛擬網(wǎng)絡(luò)設(shè) 備集群轉(zhuǎn)發(fā)分組。根據(jù)生成樹來(lái)轉(zhuǎn)發(fā)分組,這防止了分組在虛擬網(wǎng)絡(luò)設(shè)備集群內(nèi)"循環(huán)",這 是因?yàn)樯蓸渥枞粚?duì)給定的虛擬網(wǎng)絡(luò)設(shè)備子單元之間除了一條路徑之外的所有路徑。
圖SA-圖8D每個(gè)都示出了被用來(lái)通過圖4的虛擬網(wǎng)絡(luò)設(shè)備集群傳送分組的 不同的生成樹。在圖8A-圖8D中,虛擬網(wǎng)絡(luò)設(shè)備集群402包括虛擬網(wǎng)絡(luò)設(shè)備子單元 122(1)-122 (4)。虛擬網(wǎng)絡(luò)設(shè)備鏈路360(A)耦合虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)和122(2)。 虛擬網(wǎng)絡(luò)設(shè)備鏈路360(B)耦合虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)和122(4)。虛擬網(wǎng)絡(luò)設(shè)備鏈路 360(C)耦合虛擬網(wǎng)絡(luò)設(shè)備子單元122(3)和122(4)。虛擬網(wǎng)絡(luò)設(shè)備鏈路360 (D)耦合虛擬 網(wǎng)絡(luò)設(shè)備子單元122(3)和122(1)。 圖8A示出了生成樹800A。虛擬網(wǎng)絡(luò)設(shè)備子單元122 (1)是生成樹800A的根 (root)。在此示例中,生成樹800A被用來(lái)傳送經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)進(jìn)入虛擬 網(wǎng)絡(luò)設(shè)備集群402的分組。用來(lái)傳送經(jīng)由特定進(jìn)入點(diǎn)進(jìn)入的分組的生成樹被描述為與該進(jìn) 入點(diǎn)相關(guān)聯(lián)。從而,生成樹800A與虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)相關(guān)聯(lián)。
使用生成樹800A涉及基于特定接口是否被生成樹阻塞,來(lái)確定是否可以經(jīng)由該 接口傳送分組。用來(lái)表示生成樹800A的箭頭示出了可以經(jīng)由非阻塞接口傳送分組(其是 經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群402的)的路徑。當(dāng)虛擬網(wǎng)絡(luò)設(shè) 備子單元對(duì)給定的分組進(jìn)行轉(zhuǎn)發(fā)和/或路由時(shí),該分組將被基于轉(zhuǎn)發(fā)或路由的出口而發(fā)送 到該虛擬網(wǎng)絡(luò)設(shè)備子單元內(nèi)的一個(gè)或多個(gè)接口 。然后,生成樹800A被用來(lái)確定該分組是否 將從該分組所被發(fā)送到的每個(gè)接口中輸出。在一個(gè)實(shí)施例中,耦合到虛擬網(wǎng)絡(luò)設(shè)備鏈路的 每個(gè)接口被編程,以從該接口的輸出流中過濾分組(其是經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(1) 進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群402的),以使得分組將僅被沿生成樹800A而傳送。例如,經(jīng)由虛 擬網(wǎng)絡(luò)設(shè)備鏈路360(B)發(fā)送分組是與生成樹800A不一致的。因此,虛擬網(wǎng)絡(luò)設(shè)備子單元 122(2)中耦合到虛擬網(wǎng)絡(luò)設(shè)備鏈路360(B)的接口會(huì)將經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)進(jìn) 入的所有分組從該接口的輸出流中濾去。 如圖所示,經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)進(jìn)入的分組經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路 360(A)被轉(zhuǎn)發(fā)到虛擬網(wǎng)絡(luò)設(shè)備子單元122(2),經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360(D)被轉(zhuǎn)發(fā)到虛 擬網(wǎng)絡(luò)設(shè)備子單元122 (3),并經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360(D)和360(C)被轉(zhuǎn)發(fā)到虛擬網(wǎng)絡(luò)
26設(shè)備子單元122(4)。然而,經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群402的 分組不被經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360(B)傳送。另外,經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)進(jìn) 入的分組僅可被沿圖8A中的箭頭所示的方向傳送。從而,經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(1) 進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群402的分組不能被另一虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)-122(3)發(fā)送回 虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)。通過阻塞虛擬網(wǎng)絡(luò)設(shè)備鏈路360(B)的使用并防止分組經(jīng)由 其他虛擬網(wǎng)絡(luò)設(shè)備鏈路360(A) 、360(C)和360(D)被發(fā)送回虛擬網(wǎng)絡(luò)設(shè)備子單元122(1), 防止了循環(huán)(至少對(duì)于經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群402的分 組)。注意,不用生成樹800A來(lái)確定是否可經(jīng)由除了耦合到虛擬網(wǎng)絡(luò)設(shè)備鏈路的那些接口 之外的接口傳送分組。 圖8B示出了生成樹800B,該生成樹被用來(lái)傳送經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(2) 進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群402的分組。虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)是生成樹800B的根。如 圖所示,經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)進(jìn)入的分組可經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360(A)被 轉(zhuǎn)發(fā)到虛擬網(wǎng)絡(luò)設(shè)備子單元122(1),經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360(B)被轉(zhuǎn)發(fā)到虛擬網(wǎng)絡(luò)設(shè) 備子單元122 (4),并經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360(B)和360(C)被轉(zhuǎn)發(fā)到虛擬網(wǎng)絡(luò)設(shè)備子單 元122(3)。然而,經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群402的分組不 被經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360(D)傳送。以與生成樹800A防止經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元 122(1)進(jìn)入的分組在虛擬網(wǎng)絡(luò)設(shè)備集群402內(nèi)循環(huán)相同的方式,生成樹800B防止經(jīng)由虛擬 網(wǎng)絡(luò)設(shè)備子單元122(2)進(jìn)入的分組循環(huán)。 圖8C示出了生成樹800C。生成樹800C被用來(lái)傳送經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元 122(3)進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群402的分組。虛擬網(wǎng)絡(luò)設(shè)備子單元122(3)是生成樹800B 的根。如圖所示,經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(3)進(jìn)入的分組可經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路 360(D)被轉(zhuǎn)發(fā)到虛擬網(wǎng)絡(luò)設(shè)備子單元122(1),經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360(C)被轉(zhuǎn)發(fā)到虛 擬網(wǎng)絡(luò)設(shè)備子單元122 (4),并經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360(D)和360(A)被轉(zhuǎn)發(fā)到虛擬網(wǎng)絡(luò) 設(shè)備子單元122(2)。然而,經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(3)進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群402 的分組不被經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360(B)傳送。生成樹800C防止經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單 元122(3)進(jìn)入的分組循環(huán)。注意,雖然生成樹800A和800C在某些方面類似(二者都防止 經(jīng)由各自的進(jìn)入點(diǎn)進(jìn)入的分組經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360(B)被發(fā)送,并且都允許在其他 虛擬網(wǎng)絡(luò)設(shè)備鏈路上傳送分組),但是生成樹800A和800C具有由于每個(gè)生成樹中使用不 同的根而引起的若干區(qū)別。例如,根據(jù)生成樹800C傳送的分組可以從虛擬網(wǎng)絡(luò)設(shè)備子單元 122(3)經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360(D)而被傳送到虛擬網(wǎng)絡(luò)設(shè)備子單元122(1),但根據(jù)生 成樹800D傳送的分組無(wú)法沿該路徑被傳送。 圖8D示出了生成樹800D,該生成樹被用來(lái)傳送經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(4) 進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群402的分組。虛擬網(wǎng)絡(luò)設(shè)備子單元122(4)是生成樹800B的根。如 圖所示,經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(4)進(jìn)入的分組可經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360(C)被 轉(zhuǎn)發(fā)到虛擬網(wǎng)絡(luò)設(shè)備子單元122(3),經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360(B)被轉(zhuǎn)發(fā)到虛擬網(wǎng)絡(luò)設(shè) 備子單元122 (2),并經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360(B)和360(A)被轉(zhuǎn)發(fā)到虛擬網(wǎng)絡(luò)設(shè)備子單 元122(D。然而,經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(4)進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群402的分組不被 經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360(D)傳送。生成樹800D防止經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(4) 進(jìn)入的分組循環(huán)。
生成樹800A-800D中的每一個(gè)都是該生成樹與之相關(guān)聯(lián)的進(jìn)入點(diǎn)的最小生成 樹。最小生成樹是使用最短可能路徑將分組從進(jìn)入點(diǎn)發(fā)送到每個(gè)可能的外出點(diǎn)的生成 樹。在此示例中,可能的外出點(diǎn)包括虛擬網(wǎng)絡(luò)設(shè)備集群402內(nèi)的虛擬網(wǎng)絡(luò)設(shè)備子單元 122(1)-122(4)中的任何一個(gè)。通過為每個(gè)進(jìn)入點(diǎn)使用不同的生成樹,經(jīng)由任意進(jìn)入點(diǎn)進(jìn) 入的分組將被經(jīng)由最小生成樹轉(zhuǎn)發(fā)。這與用一個(gè)生成樹來(lái)轉(zhuǎn)發(fā)進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備子單元 122(1)的所有分組時(shí)可能的情況相比,提供了更高的效率。例如,如果用生成樹800A來(lái)轉(zhuǎn) 發(fā)進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群402的所有分組,則經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(4)進(jìn)入并要被 轉(zhuǎn)發(fā)到虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)的分組將不得不被轉(zhuǎn)發(fā)到生成樹800A的根,即虛擬網(wǎng) 絡(luò)設(shè)備子單元122(1),然后經(jīng)由生成樹800A(即,經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360(A))轉(zhuǎn)發(fā)到 虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)。這將導(dǎo)致在進(jìn)入點(diǎn)和外出點(diǎn)之間的最短距離為一個(gè)跳(hop) 時(shí),分組被經(jīng)由三個(gè)跳(虛擬網(wǎng)絡(luò)設(shè)備鏈路360(C) 、360 (D)和360(A))發(fā)送。相反,如果用 生成樹800D來(lái)傳送經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(4)接收到的分組,則上述分組將沿最短 路徑被發(fā)送。 如上所述,在一些實(shí)施例中,被稱為基本虛擬網(wǎng)絡(luò)設(shè)備子單元的一個(gè)虛擬網(wǎng)絡(luò)設(shè) 備子單元計(jì)算要在虛擬網(wǎng)絡(luò)設(shè)備集群402中使用的所有生成樹。使用諸如Prim、 Kruskal 或Dijkstra的算法之類的生成樹算法來(lái)計(jì)算生成樹(注意,可以執(zhí)行生成樹計(jì)算而無(wú)需實(shí) 現(xiàn)生成樹協(xié)議)。在一些實(shí)施例中,向虛擬網(wǎng)絡(luò)設(shè)備集群中的每個(gè)虛擬網(wǎng)絡(luò)設(shè)備鏈路指定了 權(quán)重。被指定給虛擬網(wǎng)絡(luò)設(shè)備鏈路的權(quán)重是基于該虛擬網(wǎng)絡(luò)設(shè)備鏈路的帶寬的?;咎摂M 網(wǎng)絡(luò)設(shè)備子單元在生成樹計(jì)算中使用所指定的權(quán)重。在一個(gè)實(shí)施例中,基本虛擬網(wǎng)絡(luò)設(shè)備 子單元在計(jì)算每個(gè)生成樹之前調(diào)整權(quán)重,以確保虛擬網(wǎng)絡(luò)設(shè)備鏈路之間適當(dāng)?shù)呢?fù)載分布。
在其他實(shí)施例中,不是讓一個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元計(jì)算所有生成樹,而是每個(gè)虛 擬網(wǎng)絡(luò)設(shè)備子單元計(jì)算用于該虛擬網(wǎng)絡(luò)設(shè)備子單元的生成樹。例如,虛擬網(wǎng)絡(luò)設(shè)備子單元 122(1)計(jì)算生成樹800A,虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)計(jì)算生成樹800B,等等。每個(gè)虛擬網(wǎng) 絡(luò)設(shè)備子單元可以通過以該虛擬網(wǎng)絡(luò)設(shè)備子單元作為根運(yùn)行生成樹協(xié)議,來(lái)計(jì)算用于該虛 擬網(wǎng)絡(luò)設(shè)備子單元的單獨(dú)的生成樹。例如,虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)通過以虛擬網(wǎng)絡(luò)設(shè) 備子單元122(1)作為根來(lái)運(yùn)行生成樹協(xié)議,從而計(jì)算生成樹800A。 一旦計(jì)算出了生成樹, 每個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元隨后就計(jì)算用于該生成樹的適當(dāng)?shù)耐獬鲞^濾器設(shè)定,并將這些外 出過濾器設(shè)定分發(fā)到虛擬網(wǎng)絡(luò)設(shè)備內(nèi)的其他虛擬網(wǎng)絡(luò)設(shè)備子單元。 在一些實(shí)施例中,通過使用諸如圖6B所示的外出過濾器設(shè)定的用于被耦合到虛 擬網(wǎng)絡(luò)設(shè)備鏈路的每個(gè)接口的外出過濾器設(shè)定,根據(jù)不同的生成樹來(lái)傳送分組。在為每 個(gè)進(jìn)入點(diǎn)計(jì)算了生成樹之后,計(jì)算用于虛擬網(wǎng)絡(luò)設(shè)備集群402內(nèi)每個(gè)接口的外出過濾器設(shè) 定,以使得經(jīng)由給定的進(jìn)入點(diǎn)進(jìn)入的分組以與該進(jìn)入點(diǎn)所關(guān)聯(lián)的生成樹一致的方式被傳 送。用于給定的接口的外出過濾器設(shè)定包括指示出經(jīng)由特定進(jìn)入點(diǎn)進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群 的分組是否可從該接口輸出的信息。例如,如果與該特定進(jìn)入點(diǎn)相關(guān)聯(lián)的生成樹阻塞了該 接口,則用于該接口的外出過濾器設(shè)定將指示出,經(jīng)由該特定進(jìn)入點(diǎn)進(jìn)入的分組不能從該 接口輸出。 使用上述技術(shù)中的一種,使每個(gè)分組與標(biāo)識(shí)符值相關(guān)聯(lián),該標(biāo)識(shí)符值標(biāo)識(shí)出分組 的進(jìn)入點(diǎn)。然后,使用這些標(biāo)識(shí)符值和外出過濾器設(shè)定來(lái)確定是否可從給定的接口轉(zhuǎn)發(fā)特 定分組。如果一個(gè)分組被發(fā)送到一個(gè)接口,則如果該接口的外出過濾器設(shè)定指示出具有該分組的進(jìn)入點(diǎn)(其由與分組相關(guān)聯(lián)的標(biāo)識(shí)符值標(biāo)識(shí)出來(lái))的分組被允許從該接口輸出,則 該分組將輸出該分組。注意,至少在每個(gè)生成樹與單個(gè)進(jìn)入點(diǎn)相關(guān)聯(lián)的實(shí)施例中,用于標(biāo) 識(shí)分組進(jìn)入點(diǎn)的唯一標(biāo)識(shí)符還標(biāo)識(shí)出特定的生成樹(即與所標(biāo)識(shí)的進(jìn)入點(diǎn)相關(guān)聯(lián)的生成 樹)。 作為可以如何用外出過濾器設(shè)定來(lái)根據(jù)特定生成樹轉(zhuǎn)發(fā)分組的示例,虛擬網(wǎng)絡(luò)設(shè) 備子單元122(3)內(nèi)的轉(zhuǎn)發(fā)引擎將分組發(fā)送到被耦合到虛擬網(wǎng)絡(luò)設(shè)備鏈路360(C)的接口。 該接口訪問與該分組相關(guān)聯(lián)的標(biāo)識(shí)符值,以確定該分組進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群402的進(jìn)入 點(diǎn)。如果該分組的進(jìn)入點(diǎn)是虛擬網(wǎng)絡(luò)設(shè)備子單元122(2),則根據(jù)生成樹800B發(fā)送該分組。 因此,該接口的外出設(shè)定將指示出不應(yīng)經(jīng)由該接口發(fā)送該分組,并且該接口將作為響應(yīng)而 將該分組從要經(jīng)由該接口發(fā)送的分組流中濾去。而如果所述分組的進(jìn)入點(diǎn)是虛擬網(wǎng)絡(luò)設(shè)備 子單元122 (1)(從而要以與生成樹800A —致的方式發(fā)送該分組),則該分組將不會(huì)被從要 經(jīng)由該接口發(fā)送的分組流中濾去。相反,允許該分組被從該接口中輸出,這是因?yàn)榻?jīng)由虛擬 網(wǎng)絡(luò)設(shè)備鏈路360 (C)發(fā)送該分組是與生成樹800A —致的。 在一個(gè)實(shí)施例中,當(dāng)特定的虛擬網(wǎng)絡(luò)設(shè)備子單元轉(zhuǎn)發(fā)分組時(shí),該分組被發(fā)送到遍 歷該特定虛擬網(wǎng)絡(luò)設(shè)備子單元的各個(gè)生成樹的所有可能的路徑中的接口。然后,給定分組 進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群所經(jīng)由的進(jìn)入點(diǎn),使用外出過濾器設(shè)定來(lái)防止經(jīng)由除了用于該分組 的適當(dāng)?shù)纳蓸渲械慕涌谝酝獾慕涌诎l(fā)送該分組。 在一些實(shí)施例中,當(dāng)任意虛擬網(wǎng)絡(luò)設(shè)備鏈路發(fā)生故障時(shí),被耦合到發(fā)生故障的虛 擬網(wǎng)絡(luò)設(shè)備鏈路的每個(gè)非基本虛擬網(wǎng)絡(luò)設(shè)備子單元(即每個(gè)不負(fù)責(zé)生成樹計(jì)算的虛擬網(wǎng) 絡(luò)設(shè)備子單元)將故障鏈路報(bào)告給基本虛擬網(wǎng)絡(luò)設(shè)備子單元(或者報(bào)告給其他所有可以到 達(dá)的虛擬網(wǎng)絡(luò)設(shè)備子單元)。雖然在故障后,一些被耦合到故障鏈路的虛擬網(wǎng)絡(luò)設(shè)備子單 元可能無(wú)法與基本虛擬網(wǎng)絡(luò)設(shè)備子單元通信,但虛擬交換集群被理想地配置以使得在故障 后,被耦合到故障鏈路的虛擬網(wǎng)絡(luò)設(shè)備子單元中的至少一個(gè)將仍能與基本虛擬網(wǎng)絡(luò)設(shè)備子 單元通信。 在接收到故障通知時(shí),基本虛擬網(wǎng)絡(luò)設(shè)備子單元重新計(jì)算所有受到影響的生成 樹。然后,基本虛擬網(wǎng)絡(luò)設(shè)備子單元更新虛擬網(wǎng)絡(luò)設(shè)備集群中的外出過濾器設(shè)定(如果需 要的話),以使得外出過濾器設(shè)定與重新計(jì)算的生成樹一致。為了避免在更新外出過濾器設(shè) 定期間導(dǎo)致任何虛擬網(wǎng)絡(luò)設(shè)備子單元無(wú)法與基本虛擬網(wǎng)絡(luò)設(shè)備子單元通信,基本虛擬網(wǎng)絡(luò) 設(shè)備子單元在更新較遠(yuǎn)的虛擬網(wǎng)絡(luò)設(shè)備子單元的外出過濾器設(shè)定之前更新最近的(例如 就虛擬網(wǎng)絡(luò)設(shè)備鏈路的數(shù)量而言)虛擬網(wǎng)絡(luò)設(shè)備子單元的外出過濾器設(shè)定。例如,假設(shè)在 鏈路故障后計(jì)算圖8A的生成樹,并且虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)是基本虛擬網(wǎng)絡(luò)設(shè)備子 單元。虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)首先更新虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)中的外出過濾器 設(shè)定。然后,虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)更新虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)和122(3)中的 外出過濾器設(shè)定,根據(jù)生成樹800A,虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)和122(3)中的每一個(gè)都可 以由基本虛擬網(wǎng)絡(luò)設(shè)備子單元經(jīng)由一條虛擬網(wǎng)絡(luò)設(shè)備鏈路而到達(dá)。最后,虛擬網(wǎng)絡(luò)設(shè)備子 單元122(1)更新虛擬網(wǎng)絡(luò)設(shè)備子單元122(4)中的外出過濾器設(shè)定,虛擬網(wǎng)絡(luò)設(shè)備子單元 122(4)可以由基本虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)經(jīng)由兩條虛擬網(wǎng)絡(luò)設(shè)備鏈路而到達(dá)?;?虛擬網(wǎng)絡(luò)設(shè)備子單元并行地更新處于生成樹800A的相同"深度"的設(shè)備(例如,虛擬網(wǎng)絡(luò) 設(shè)備子單元122(2)和122(3)可以被并行地更新,虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)和122(3)中的每一個(gè)在生成樹800A中距虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)都是一個(gè)虛擬網(wǎng)絡(luò)設(shè)備鏈路的 距離)。應(yīng)當(dāng)注意,在一個(gè)實(shí)施例中,基本虛擬網(wǎng)絡(luò)設(shè)備子單元僅對(duì)需要修改以與重新計(jì)算 的生成樹一致的外出過濾器設(shè)定進(jìn)行修改。還要注意,類似的功能可以由多于一個(gè)虛擬網(wǎng) 絡(luò)設(shè)備子單元響應(yīng)于故障而執(zhí)行(例如,如果生成樹計(jì)算是分布在虛擬網(wǎng)絡(luò)設(shè)備子單元當(dāng) 中而非由一個(gè)基本虛擬網(wǎng)絡(luò)設(shè)備子單元執(zhí)行)。 在一些實(shí)施例中,虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)_122(4)執(zhí)行以太網(wǎng)轉(zhuǎn)發(fā)。作為執(zhí) 行以太網(wǎng)轉(zhuǎn)發(fā)的一部分,虛擬網(wǎng)絡(luò)設(shè)備子單元通過將媒體訪問控制(MAC)地址與標(biāo)識(shí)出一 個(gè)或多個(gè)接口的信息相關(guān)聯(lián),從而"得知'MC地址。例如,以太網(wǎng)網(wǎng)絡(luò)設(shè)備通過在轉(zhuǎn)發(fā)表中 向該MAC地址分配條目來(lái)得知MAC地址。所述條目包括標(biāo)識(shí)出與MAC地址相關(guān)聯(lián)的一個(gè)或 多個(gè)接口。如果虛擬網(wǎng)絡(luò)設(shè)備子單元得知了特定的MAC地址,則該虛擬網(wǎng)絡(luò)設(shè)備子單元將 把去往該MAC地址的分組轉(zhuǎn)發(fā)到相關(guān)聯(lián)的一個(gè)或多個(gè)接口 。否則,如果還未得知MAC地址, 則虛擬網(wǎng)絡(luò)設(shè)備子單元將把分組洪泛擴(kuò)散到該分組要被傳送的VLAN中的所有接口 (除了 接收該分組所經(jīng)由的接口以外)。 虛擬網(wǎng)絡(luò)設(shè)備子單元響應(yīng)于接收到具有作為源地址的該MAC地址的分組,將MAC 地址與接口相關(guān)聯(lián)。通常,以太網(wǎng)設(shè)備會(huì)將一個(gè)分組的源地址與接收該分組所經(jīng)由的接口 相關(guān)聯(lián)。然而,在實(shí)現(xiàn)了若干不同的生成樹的虛擬網(wǎng)絡(luò)設(shè)備集群中,每個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單 元以不同的方式得知經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路接收到的分組的源地址。虛擬網(wǎng)絡(luò)設(shè)備子單元 不是將分組的源地址與通往虛擬網(wǎng)絡(luò)設(shè)備鏈路的接口相關(guān)聯(lián),而是會(huì)將分組與該分組最初 進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群所經(jīng)由的接口相關(guān)聯(lián)。標(biāo)識(shí)此接口的信息可以被承載在附加到該分 組上的頭部中。 圖9A-圖9C示出了如何通過圖8A-圖8D的虛擬網(wǎng)絡(luò)設(shè)備集群402發(fā)送分組。如 圖9A所示,分組經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)的接口 11進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群402。 接口 11(或虛擬網(wǎng)絡(luò)設(shè)備集群402的另一組件)向分組附加頭部。該頭部包括將接口Il 標(biāo)識(shí)為接收到該分組的接口的信息。所述頭部還包括將虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)標(biāo)識(shí) 為該分組進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)所經(jīng)由的進(jìn)入點(diǎn)的信息。在此示例中,標(biāo)識(shí)虛擬 網(wǎng)絡(luò)設(shè)備子單元122(1)的信息被接口 Il包括在頭部中。在其他實(shí)施例中,可以由虛擬網(wǎng) 絡(luò)設(shè)備集群402中的另一組件(例如虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)和122(3)中所包括的通 往虛擬網(wǎng)絡(luò)設(shè)備鏈路360A和360D的接口 )將所述信息包括在頭部中。
在此示例中,所述分組將被洪泛擴(kuò)散,并且洪泛擴(kuò)散分組被發(fā)送到虛擬網(wǎng)絡(luò)設(shè)備 集群402內(nèi)的每個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元。由于所述分組是經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122(1) 進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群402的,因此該分組根據(jù)生成樹800A(如圖8A所示)被轉(zhuǎn)發(fā)。如圖 9B所示,虛擬網(wǎng)絡(luò)設(shè)備子單元內(nèi)的轉(zhuǎn)發(fā)引擎將分組和所附加的頭部發(fā)送到被耦合到虛擬網(wǎng) 絡(luò)設(shè)備鏈路360(A)和360(D)的接口。給定分組的進(jìn)入點(diǎn)是虛擬網(wǎng)絡(luò)設(shè)備子單元122 (1), 每個(gè)接口的外出過濾器設(shè)定都指示出該分組可以被從該接口中輸出。因此,該分組與生成 樹800A —致地分別經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360(A)和360(D)被輸出到虛擬網(wǎng)絡(luò)設(shè)備子單 元122(2)和122(3)。 在圖9C中,虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)已經(jīng)從被附加到分組上的頭部中抽取了 標(biāo)識(shí)接口 II的信息,并已將分組的源地址(SA)與接口 Il相關(guān)聯(lián)(而非將源地址與被耦合 到虛擬網(wǎng)絡(luò)設(shè)備鏈路360(A)的接口相關(guān)聯(lián))。類似地,虛擬網(wǎng)絡(luò)設(shè)備子單元122(3)已將分
30組的源地址(SA)與接口 Il相關(guān)聯(lián)(而非將源地址與被耦合到虛擬網(wǎng)絡(luò)設(shè)備鏈路360(D) 的接口相關(guān)聯(lián))。如果11是一個(gè)接口束的一部分,所述接口束還包括虛擬網(wǎng)絡(luò)設(shè)備子單元 122(2)和122(3)各自的至少一個(gè)接口,則虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)和122(3)將基于 SA和Il之間的關(guān)聯(lián),將去往SA的后續(xù)分組經(jīng)由該接口束內(nèi)的本地接口轉(zhuǎn)發(fā)(而非將這種 分組轉(zhuǎn)發(fā)到虛擬網(wǎng)絡(luò)設(shè)備子單元122(1))。 如圖9C所示,虛擬網(wǎng)絡(luò)設(shè)備子單元122(3)內(nèi)的轉(zhuǎn)發(fā)引擎將分組發(fā)送到被耦合到 虛擬網(wǎng)絡(luò)設(shè)備鏈路360(C)的接口。此接口的外出過濾器設(shè)定指示出,允許經(jīng)由虛擬網(wǎng)絡(luò)設(shè) 備子單元122(1)進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群402的分組從該接口中輸出。因此,與生成樹800A 一致地經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路360(C)將分組和所附加的頭部發(fā)送到虛擬網(wǎng)絡(luò)設(shè)備子單元 122(4)。 虛擬網(wǎng)絡(luò)設(shè)備子單元122(2)內(nèi)的轉(zhuǎn)發(fā)引擎將分組發(fā)送到被耦合到虛擬網(wǎng)絡(luò)設(shè)備 鏈路360 (B)的接口 。然而,該接口響應(yīng)于指示出該分組是經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備子單元122 (1) 進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群402的信息(位于被附加到分組的頭部中),將所述分組從要經(jīng)由虛 擬網(wǎng)絡(luò)設(shè)備鏈路360(B)發(fā)送的分組流中濾去。因此,與生成樹800A—致,阻塞該分組而不 從虛擬網(wǎng)絡(luò)設(shè)備鏈路360(B)發(fā)送。 在以上示例中,對(duì)每個(gè)進(jìn)入虛擬網(wǎng)絡(luò)設(shè)備集群402的進(jìn)入點(diǎn)僅計(jì)算一個(gè)生成樹。 然而,在其他實(shí)施例中,對(duì)每個(gè)進(jìn)入點(diǎn)計(jì)算多個(gè)生成樹(例如,可以在虛擬網(wǎng)絡(luò)設(shè)備集群 402中計(jì)算并使用若干個(gè)都以虛擬網(wǎng)絡(luò)設(shè)備子單元122(1)作為根的生成樹)。如果對(duì)每個(gè) 進(jìn)入點(diǎn)計(jì)算N個(gè)生成樹,則在每個(gè)接口維護(hù)N組外出過濾器設(shè)定。算法(例如基于哈希散 列的算法)為每個(gè)分組選擇N值。在一個(gè)實(shí)施例中,算法的使用對(duì)不同生成樹所定義的路 徑之間的流量進(jìn)行負(fù)載平衡。 還要注意在一些實(shí)施例中,不為每個(gè)進(jìn)入點(diǎn)計(jì)算不同的生成樹。例如,在一個(gè)實(shí)施 例中,虛擬網(wǎng)絡(luò)設(shè)備集群包括8個(gè)進(jìn)入點(diǎn)進(jìn)入點(diǎn)l-8(每個(gè)進(jìn)入點(diǎn)是不同的虛擬網(wǎng)絡(luò)設(shè)備 子單元)。為該虛擬網(wǎng)絡(luò)設(shè)備集群計(jì)算4個(gè)不同的生成樹A-D。這4個(gè)生成樹中的每一個(gè) 都與進(jìn)入點(diǎn)中的2個(gè)相關(guān)聯(lián)。例如,生成樹A與進(jìn)入點(diǎn)1和2相關(guān)聯(lián),生成樹B與進(jìn)入點(diǎn)3 和4相關(guān)聯(lián),生成樹C與進(jìn)入點(diǎn)5和6相關(guān)聯(lián),生成樹D與進(jìn)入點(diǎn)7和8相關(guān)聯(lián)。然后,以 與相關(guān)聯(lián)的生成樹一致的方式,將經(jīng)由特定的進(jìn)入點(diǎn)接收到的分組通過虛擬網(wǎng)絡(luò)設(shè)備集群 進(jìn)行轉(zhuǎn)發(fā)。例如,經(jīng)由進(jìn)入點(diǎn)7接收到的分組將根據(jù)生成樹D而被轉(zhuǎn)發(fā)。類似地,經(jīng)由進(jìn)入 點(diǎn)8接收到的分組也將以與生成樹D —致的方式被轉(zhuǎn)發(fā)。經(jīng)由進(jìn)入點(diǎn)5和6接收到的分組 根據(jù)生成樹C而被轉(zhuǎn)發(fā)。經(jīng)由進(jìn)入點(diǎn)3或進(jìn)入點(diǎn)4接收到的分組將類似地以與生成樹B — 致的方式被轉(zhuǎn)發(fā)。經(jīng)由進(jìn)入點(diǎn)1和2接收到的分組以與生成樹A—致的方式被轉(zhuǎn)發(fā)。
每個(gè)虛擬網(wǎng)絡(luò)設(shè)備子單元可以包括一個(gè)或多個(gè)類似于圖6C的接口 600的接口 。例 如,在一個(gè)實(shí)施例中,每個(gè)接口包括過濾單元和被耦合到過濾單元的外出過濾器值存儲(chǔ)裝 置。外出過濾器值存儲(chǔ)裝置存儲(chǔ)若干個(gè)外出過濾器值,其中每個(gè)值都標(biāo)識(shí)出各自的一個(gè)生 成樹是否阻塞該接口。例如,外出過濾器值存儲(chǔ)裝置中的外出過濾器值可以標(biāo)識(shí)出該接口 是否被第一生成樹阻塞,以及該接口是否被第二生成樹阻塞,所述第一生成樹與第一進(jìn)入 點(diǎn)相關(guān)聯(lián),所述第二生成樹與第二進(jìn)入點(diǎn)相關(guān)聯(lián)。
每個(gè)網(wǎng)絡(luò)多個(gè)生成樹 除了虛擬網(wǎng)絡(luò)設(shè)備集群以外的環(huán)境可以以與虛擬網(wǎng)絡(luò)設(shè)備集群使用多個(gè)生成樹相同的方式使用多個(gè)生成樹。圖10A-圖IOD示出了為進(jìn)入網(wǎng)絡(luò)的每個(gè)進(jìn)入點(diǎn)計(jì)算一個(gè)不 同的生成樹的網(wǎng)絡(luò)。在圖10A-圖10D中,網(wǎng)絡(luò)1000包括4個(gè)網(wǎng)絡(luò)設(shè)備1022(1)-1022 (4) (注意,其他實(shí)施例可以包括與這里示出的不同數(shù)量的網(wǎng)絡(luò)設(shè)備)。鏈路1060(A)將網(wǎng)絡(luò)設(shè) 備1022(1)耦合到網(wǎng)絡(luò)設(shè)備1022(2)。鏈路1060(B)將網(wǎng)絡(luò)設(shè)備1022(2)耦合到網(wǎng)絡(luò)設(shè)備 1022(4)。鏈路1060(C)將網(wǎng)絡(luò)設(shè)備1022(4)耦合到網(wǎng)絡(luò)設(shè)備1022(3)。鏈路1060(D)將網(wǎng) 絡(luò)設(shè)備1022(3)耦合到網(wǎng)絡(luò)設(shè)備1022(1)。注意,虛擬網(wǎng)絡(luò)設(shè)備集群可被認(rèn)為是為進(jìn)入網(wǎng)絡(luò) 的每個(gè)進(jìn)入點(diǎn)計(jì)算一個(gè)不同的生成樹的網(wǎng)絡(luò)的一個(gè)示例。上述關(guān)于虛擬網(wǎng)絡(luò)設(shè)備集群的技 術(shù)適用于實(shí)現(xiàn)多個(gè)生成樹的其他網(wǎng)絡(luò)。 圖10A示出了生成樹1010A。網(wǎng)絡(luò)設(shè)備1022(1)是生成樹1010A的根。在此示例 中,生成樹1010A被用來(lái)傳送經(jīng)由網(wǎng)絡(luò)設(shè)備1022(1)進(jìn)入網(wǎng)絡(luò)1000的分組。在整個(gè)此討論 中,將用于傳送經(jīng)由特定進(jìn)入點(diǎn)進(jìn)入網(wǎng)絡(luò)1000的分組的生成樹描述為與該進(jìn)入點(diǎn)相關(guān)聯(lián)。 從而,生成樹1010A與網(wǎng)絡(luò)設(shè)備1022(1)相關(guān)聯(lián)。 使用生成樹1010A涉及基于網(wǎng)絡(luò)100內(nèi)的網(wǎng)絡(luò)設(shè)備之一的特定接口是否被生成 樹所阻塞,來(lái)確定是否允許經(jīng)由該接口傳送分組。用來(lái)表示生成樹1010A的箭頭示出了可 以經(jīng)由非阻塞接口傳送分組的路徑。當(dāng)網(wǎng)絡(luò)設(shè)備對(duì)給定的分組進(jìn)行轉(zhuǎn)發(fā)和/或路由時(shí),該 分組將被基于該轉(zhuǎn)發(fā)或路由的出口而發(fā)送到該網(wǎng)絡(luò)設(shè)備內(nèi)的一個(gè)或多個(gè)接口。然后,使用 生成樹1010A來(lái)確定是否將從該分組被發(fā)送到的每個(gè)接口輸出該分組。在一個(gè)實(shí)施例中, 每個(gè)接口被編程為從該接口的輸出流中過濾分組,以使得經(jīng)由網(wǎng)絡(luò)設(shè)備1022(1)進(jìn)入網(wǎng)絡(luò) 1000的分組將僅被沿生成樹1010A傳送。 如圖所示,經(jīng)由網(wǎng)絡(luò)設(shè)備1022(1)進(jìn)入的分組可經(jīng)由鏈路1060(A)被轉(zhuǎn)發(fā)到網(wǎng)絡(luò) 設(shè)備1022(2),經(jīng)由鏈路1060(D)被轉(zhuǎn)發(fā)到網(wǎng)絡(luò)設(shè)備1022(3),并經(jīng)由1060(D)和1060(C) 被轉(zhuǎn)發(fā)到網(wǎng)絡(luò)設(shè)備1022(4)。然而,經(jīng)由網(wǎng)絡(luò)設(shè)備1022(1)進(jìn)入網(wǎng)絡(luò)1000的分組不被經(jīng) 由鏈路1060(B)傳送。另外,經(jīng)由網(wǎng)絡(luò)設(shè)備1022(1)進(jìn)入的分組僅可被沿圖10A的箭頭所 示的方向傳送。從而,經(jīng)由網(wǎng)絡(luò)設(shè)備1022(1)進(jìn)入網(wǎng)絡(luò)1000的分組不能被另一網(wǎng)絡(luò)設(shè)備 1022 (2)-1022 (3)發(fā)送回網(wǎng)絡(luò)設(shè)備1022 (1)。通過阻塞鏈路1060 (B)的使用并防止分組經(jīng) 由其他鏈路1060 (A)、 1060(C)和1060(D)被發(fā)送回網(wǎng)絡(luò)設(shè)備1022 (1),防止了循環(huán)(至少 對(duì)于經(jīng)由網(wǎng)絡(luò)設(shè)備1022(1)進(jìn)入網(wǎng)絡(luò)1000的分組)。注意,不用生成樹1010A來(lái)確定是否 可經(jīng)由除了耦合到將網(wǎng)絡(luò)設(shè)備1022(1)-1022 (4)彼此相連的鏈路的那些接口之外的接口 傳送分組。另外,不用生成樹1010A來(lái)確定是否可以從特定接口中輸出具有除了網(wǎng)絡(luò)設(shè)備 1022(1)以外的進(jìn)入點(diǎn)的分組。 圖10B示出了生成樹1010B,該生成樹被用來(lái)傳送經(jīng)由網(wǎng)絡(luò)設(shè)備1022(2)進(jìn)入網(wǎng)絡(luò) 1000的分組。網(wǎng)絡(luò)設(shè)備1022(2)是生成樹1010B的根。如圖所示,經(jīng)由網(wǎng)絡(luò)設(shè)備1022 (2) 進(jìn)入的分組被允許經(jīng)由鏈路1060(A)被轉(zhuǎn)發(fā)到網(wǎng)絡(luò)設(shè)備1022 (l),經(jīng)由鏈路1060(B)被轉(zhuǎn)發(fā) 到網(wǎng)絡(luò)設(shè)備1022(4),并經(jīng)由1060(B)和1060(C)被轉(zhuǎn)發(fā)到網(wǎng)絡(luò)設(shè)備1022(3)。然而,經(jīng)由 網(wǎng)絡(luò)設(shè)備1022(2)進(jìn)入網(wǎng)絡(luò)1000的分組不被經(jīng)由鏈路1060(D)傳送。以與生成樹1010A 防止經(jīng)由網(wǎng)絡(luò)設(shè)備1022(1)進(jìn)入的分組在網(wǎng)絡(luò)IOOO內(nèi)循環(huán)相同的方式,生成樹1010B防止 經(jīng)由網(wǎng)絡(luò)設(shè)備1022(2)進(jìn)入的分組在網(wǎng)絡(luò)1000內(nèi)循環(huán)。 圖IOC示出了生成樹IOIOC。生成樹IOIOC被用來(lái)傳送經(jīng)由網(wǎng)絡(luò)設(shè)備1022(3)進(jìn) 入網(wǎng)絡(luò)1000的分組。網(wǎng)絡(luò)設(shè)備1022(3)是生成樹1010C的根。經(jīng)由網(wǎng)絡(luò)設(shè)備1022(3)進(jìn)入的分組被允許經(jīng)由鏈路1060(D)被轉(zhuǎn)發(fā)到網(wǎng)絡(luò)設(shè)備1022 (l),經(jīng)由鏈路1060(C)被轉(zhuǎn)發(fā)到 網(wǎng)絡(luò)設(shè)備1022(4),并經(jīng)由1060(C)和1060(B)被轉(zhuǎn)發(fā)到網(wǎng)絡(luò)設(shè)備1022(2)。然而,經(jīng)由網(wǎng) 絡(luò)設(shè)備1022(3)進(jìn)入網(wǎng)絡(luò)1000的分組不被經(jīng)由鏈路1060(A)傳送。生成樹1010C防止經(jīng) 由網(wǎng)絡(luò)設(shè)備1022(3)進(jìn)入的分組循環(huán)。 圖IOD示出了生成樹IOIOD,該生成樹被用來(lái)傳送經(jīng)由網(wǎng)絡(luò)設(shè)備1022(4)進(jìn)入網(wǎng) 絡(luò)1000的分組。網(wǎng)絡(luò)設(shè)備1022(4)是生成樹1010D的根。經(jīng)由網(wǎng)絡(luò)設(shè)備1022(4)進(jìn)入的 分組被允許經(jīng)由鏈路1060(C)被轉(zhuǎn)發(fā)到網(wǎng)絡(luò)設(shè)備1022 (3),經(jīng)由鏈路1060(B)被轉(zhuǎn)發(fā)到網(wǎng)絡(luò) 設(shè)備1022(2),并經(jīng)由1060(C)和1060(D)被轉(zhuǎn)發(fā)到網(wǎng)絡(luò)設(shè)備1022(1)。然而,經(jīng)由網(wǎng)絡(luò)設(shè) 備1022(4)進(jìn)入網(wǎng)絡(luò)1000的分組不被經(jīng)由鏈路1060(A)傳送。生成樹1010D防止經(jīng)由網(wǎng) 絡(luò)設(shè)備1022(4)進(jìn)入的分組在網(wǎng)絡(luò)1000內(nèi)循環(huán)。 在實(shí)現(xiàn)多個(gè)生成樹的網(wǎng)絡(luò)中,計(jì)算生成樹的實(shí)體(或多個(gè)實(shí)體)知道網(wǎng)絡(luò)的拓?fù)?結(jié)構(gòu)。例如,可以為了計(jì)算生成樹而將網(wǎng)絡(luò)設(shè)備1022(1)-1022(4)之一指定為"基本"網(wǎng)絡(luò) 設(shè)備?;揪W(wǎng)絡(luò)設(shè)備維護(hù)標(biāo)識(shí)網(wǎng)絡(luò)1000內(nèi)的鏈路和網(wǎng)絡(luò)設(shè)備的信息,以及標(biāo)識(shí)所述鏈路和 網(wǎng)絡(luò)設(shè)備是如何互連的信息。此信息向基本網(wǎng)絡(luò)設(shè)備提供了關(guān)于網(wǎng)絡(luò)1000的拓?fù)浣Y(jié)構(gòu)的 知識(shí)。在一個(gè)實(shí)施例中,將此信息提供給基本網(wǎng)絡(luò)設(shè)備,作為基本網(wǎng)絡(luò)設(shè)備對(duì)協(xié)議的參與的 一部分,所述協(xié)議規(guī)定了對(duì)網(wǎng)絡(luò)中所包括的每個(gè)網(wǎng)絡(luò)設(shè)備的驗(yàn)證。 基本網(wǎng)絡(luò)設(shè)備基于該基本網(wǎng)絡(luò)設(shè)備對(duì)網(wǎng)絡(luò)IOOO拓?fù)浣Y(jié)構(gòu)的知識(shí),計(jì)算用于進(jìn)入 網(wǎng)絡(luò)1000的不同進(jìn)入點(diǎn)的生成樹。然后,基本網(wǎng)絡(luò)設(shè)備將與計(jì)算出的生成樹一致的信息 (例如外出過濾器設(shè)定)提供給其他每個(gè)網(wǎng)絡(luò)設(shè)備。其他網(wǎng)絡(luò)設(shè)備使用該信息,以與生成樹 一致的方式轉(zhuǎn)發(fā)分組。 注意在其他實(shí)施例中,生成樹計(jì)算分布在若干網(wǎng)絡(luò)設(shè)備當(dāng)中,而非由一個(gè)基本網(wǎng) 絡(luò)設(shè)備執(zhí)行。例如,每個(gè)提供進(jìn)入網(wǎng)絡(luò)的進(jìn)入點(diǎn)的網(wǎng)絡(luò)設(shè)備都可以計(jì)算用于網(wǎng)絡(luò)的生成樹 之一 (例如,通過以該網(wǎng)絡(luò)設(shè)備作為根來(lái)運(yùn)行生成樹協(xié)議)。在這種實(shí)施例中,也可以將對(duì) 外出過濾器設(shè)定的計(jì)算分布在網(wǎng)絡(luò)設(shè)備當(dāng)中。 另夕卜,網(wǎng)絡(luò)1000內(nèi)每個(gè)提供進(jìn)入網(wǎng)絡(luò)1000的進(jìn)入點(diǎn)的網(wǎng)絡(luò)設(shè)備都被指定了唯一 標(biāo)識(shí)符(或若干個(gè)唯一標(biāo)識(shí)符)。將經(jīng)由特定進(jìn)入點(diǎn)接收到的分組與該特定進(jìn)入點(diǎn)的唯一 標(biāo)識(shí)符(或多個(gè)唯一標(biāo)識(shí)符之一)相關(guān)聯(lián)。例如,如上所述,可以向每個(gè)進(jìn)入網(wǎng)絡(luò)1000的 分組附加頭部??商鎿Q地,可以通過將唯一標(biāo)識(shí)符插入到被附加到分組上的L2頭部中的特 定Ethertype(以太網(wǎng)類型)字段中,將唯一標(biāo)識(shí)符插入到被附加到分組上的多協(xié)議標(biāo)簽交 換(MPLS)標(biāo)簽中,或者使用另一類似的機(jī)制,來(lái)將唯一標(biāo)識(shí)符與分組相關(guān)聯(lián)。
頭部包含標(biāo)識(shí)分組進(jìn)入點(diǎn)的信息。另外,只要經(jīng)由鏈路1060 (A)-1060(D)之一接 收到分組,網(wǎng)絡(luò)設(shè)備1022(1)-1022 (4)就將該分組的源地址與進(jìn)入點(diǎn)(或與進(jìn)入點(diǎn)內(nèi)的接 口 )相關(guān)聯(lián),而非將源地址與被耦合到接收該分組所經(jīng)由的鏈路的接口相關(guān)聯(lián)。例如,網(wǎng)絡(luò) 設(shè)備1022(2)經(jīng)由鏈路1060(A)接收到分組。被附加到分組的頭部指示出,該分組是經(jīng)由 網(wǎng)絡(luò)設(shè)備1022(1)的接口 1進(jìn)入網(wǎng)絡(luò)1000的。因此,網(wǎng)絡(luò)設(shè)備1022(2)將分組的源地址 與網(wǎng)絡(luò)設(shè)備1022(1)(或與接口 1)相關(guān)聯(lián),而非將分組與網(wǎng)絡(luò)設(shè)備1022(2)內(nèi)耦合到鏈路 1060(A)的接口相關(guān)聯(lián)。如果網(wǎng)絡(luò)設(shè)備1022(2)隨后接收到去往該地址的分組,則網(wǎng)絡(luò)設(shè)備 1022(2)將基于該關(guān)聯(lián)來(lái)轉(zhuǎn)發(fā)該隨后接收到的分組。 圖IIA示出了計(jì)算用于網(wǎng)絡(luò)內(nèi)的每個(gè)進(jìn)入點(diǎn)的生成樹,以及使用計(jì)算出的生成樹來(lái)處理如何通過網(wǎng)絡(luò)轉(zhuǎn)發(fā)分組的方法。所述網(wǎng)絡(luò)可以是互連的網(wǎng)絡(luò)設(shè)備的任意關(guān)聯(lián)。在一 個(gè)實(shí)施例中,所述網(wǎng)絡(luò)是第2層以太網(wǎng)網(wǎng)絡(luò)。在另一實(shí)施例中,所述網(wǎng)絡(luò)是虛擬網(wǎng)絡(luò)設(shè)備集 群。 在圖11A的示例中,對(duì)網(wǎng)絡(luò)內(nèi)的每個(gè)進(jìn)入點(diǎn)計(jì)算一個(gè)生成樹。進(jìn)入點(diǎn)是分組進(jìn)入 網(wǎng)絡(luò)所經(jīng)由的網(wǎng)絡(luò)設(shè)備(即對(duì)于給定的分組,該分組的進(jìn)入點(diǎn)是網(wǎng)絡(luò)內(nèi)第一個(gè)接收到該分 組的網(wǎng)絡(luò)設(shè)備)。在1110,選擇還未對(duì)其計(jì)算生成樹的進(jìn)入點(diǎn)。然后,如1120所示,為所選 擇的進(jìn)入點(diǎn)計(jì)算生成樹。該生成樹的根是所選擇的進(jìn)入點(diǎn)。如果在1130確定還未對(duì)網(wǎng)絡(luò) 中的每個(gè)進(jìn)入點(diǎn)計(jì)算生成樹,則選擇另一進(jìn)入點(diǎn),并為新的進(jìn)入點(diǎn)重復(fù)功能1110和1120。
在1140,基于在1120計(jì)算出的生成樹,控制通過網(wǎng)絡(luò)轉(zhuǎn)發(fā)分組的方式?;谏?樹控制如何通過網(wǎng)絡(luò)轉(zhuǎn)發(fā)分組可以涉及為網(wǎng)絡(luò)內(nèi)的每個(gè)接口生成一組外出過濾器值。每組 外出過濾器值被提供給適當(dāng)?shù)慕涌?,并且每個(gè)接口使用所提供的這組外出過濾器值,從要 經(jīng)由該接口發(fā)送的分組流中過濾分組。 一組外出過濾器值指示出允許經(jīng)由特定接口發(fā)送哪 些分組。具體而言,外出過濾器值指示出經(jīng)由特定進(jìn)入點(diǎn)進(jìn)入網(wǎng)絡(luò)的分組是否被允許經(jīng)由 特定接口發(fā)送。如果一特定接口的外出過濾器值指示出具有某個(gè)進(jìn)入點(diǎn)的分組不應(yīng)被從該 接口輸出,則該接口將從要經(jīng)由該接口輸出的分組流中濾去經(jīng)由該進(jìn)入點(diǎn)接收到的分組。
圖11B示出了根據(jù)與特定進(jìn)入點(diǎn)相關(guān)聯(lián)的生成樹來(lái)轉(zhuǎn)發(fā)分組的方式。在1150,接 收到分組。將該分組與標(biāo)識(shí)特定進(jìn)入點(diǎn)的信息相關(guān)聯(lián)。例如,在一些實(shí)施例中,向分組添加 頭部,該頭部包括標(biāo)識(shí)出該分組進(jìn)入網(wǎng)絡(luò)所經(jīng)由的進(jìn)入點(diǎn)的信息。如1160所示,所關(guān)聯(lián)的 信息被用來(lái)標(biāo)識(shí)該分組進(jìn)入網(wǎng)絡(luò)所經(jīng)由的進(jìn)入點(diǎn)。 在1170,根據(jù)與在1160標(biāo)識(shí)的進(jìn)入點(diǎn)相關(guān)聯(lián)的生成樹,通過網(wǎng)絡(luò)發(fā)送分組。根據(jù) 特定的生成樹發(fā)送分組可以涉及禁止將該分組從某些接口輸出,而允許將該分組從其他接 口輸出,以使得僅在與生成樹一致的路徑上發(fā)送該分組。在一些實(shí)施例中,如上所述,使用 外出過濾器值,通過將分組從要經(jīng)由特定接口發(fā)送的輸出流中濾去,來(lái)禁止將這些分組從 該特定接口輸出。 實(shí)現(xiàn)了多個(gè)生成樹的網(wǎng)絡(luò)中的每個(gè)網(wǎng)絡(luò)設(shè)備都可以包括一個(gè)和多個(gè)類似于圖6C 的接口 600的接口。例如,在一個(gè)實(shí)施例中,每個(gè)接口包括過濾單元和耦合到過濾單元的外 出過濾器值存儲(chǔ)裝置。外出過濾器值存儲(chǔ)裝置存儲(chǔ)若干個(gè)外出過濾器值,其中每個(gè)值都標(biāo) 識(shí)出各自的一個(gè)生成樹是否阻塞該接口。例如,外出過濾器值存儲(chǔ)裝置中的外出過濾器值 可以標(biāo)識(shí)出該接口是否被第一生成樹阻塞,以及該接口是否被第二生成樹阻塞,所述第一 生成樹與第一進(jìn)入點(diǎn)相關(guān)聯(lián),所述第二生成樹與第二進(jìn)入點(diǎn)相關(guān)聯(lián)。 注意在一些實(shí)施例中,將虛擬網(wǎng)絡(luò)設(shè)備子單元作為虛擬網(wǎng)絡(luò)設(shè)備集群的一部分進(jìn) 行操作所需的功能被實(shí)現(xiàn)在該虛擬網(wǎng)絡(luò)設(shè)備子單元上所執(zhí)行的軟件中。例如,每個(gè)虛擬網(wǎng) 絡(luò)設(shè)備子單元、網(wǎng)絡(luò)設(shè)備,和/或附屬網(wǎng)絡(luò)設(shè)備可以包括計(jì)算機(jī)可讀介質(zhì),在該介質(zhì)上存儲(chǔ) 了可用于控制和/或使用虛擬鏈路束的程序指令和/或數(shù)據(jù)。類似地,將網(wǎng)絡(luò)設(shè)備(或虛 擬網(wǎng)絡(luò)設(shè)備子單元)作為實(shí)現(xiàn)了多個(gè)生成樹的網(wǎng)絡(luò)(或虛擬網(wǎng)絡(luò)設(shè)備集群)的一部分進(jìn)行 操作所需的功能可以被實(shí)現(xiàn)在每個(gè)網(wǎng)絡(luò)設(shè)備上所執(zhí)行的軟件中。例如,網(wǎng)絡(luò)中的基本網(wǎng)絡(luò) 設(shè)備可以包括計(jì)算機(jī)可讀介質(zhì),在該介質(zhì)上存儲(chǔ)了可用于計(jì)算多個(gè)生成樹和與多個(gè)生成樹 相對(duì)應(yīng)的外出過濾器值的程序指令。典型的計(jì)算機(jī)可讀介質(zhì)包括CD(緊致盤)、DVD(數(shù)字 多功能盤)、硬盤、光盤、磁帶設(shè)備、軟盤,以及存儲(chǔ)器(例如各種RAM(隨機(jī)存取存儲(chǔ)器)、R0M(只讀存儲(chǔ)器)、閃速存儲(chǔ)器、MEMS(微機(jī)電系統(tǒng))存儲(chǔ)器等等)。這種網(wǎng)絡(luò)設(shè)備可包括 被配置為執(zhí)行存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的程序指令的一個(gè)或多個(gè)處理器(例如微處理器、 PLD(可編程邏輯器件)或ASIC(專用集成電路))。程序指令可包括用來(lái)執(zhí)行對(duì)虛擬鏈路 束的控制協(xié)議處理的程序指令,以及用來(lái)經(jīng)由虛擬鏈路束中所包括的鏈路選擇性地轉(zhuǎn)發(fā)分 組(例如,基于分組是否是經(jīng)由虛擬網(wǎng)絡(luò)設(shè)備鏈路接收到的)的程序指令??梢越?jīng)由諸如 因特網(wǎng)之類的網(wǎng)絡(luò)或在承載介質(zhì)上將程序指令和/或數(shù)據(jù)轉(zhuǎn)移到虛擬網(wǎng)絡(luò)設(shè)備子單元、網(wǎng) 絡(luò)設(shè)備,和/或附屬網(wǎng)絡(luò)設(shè)備上。在一些實(shí)施例中,計(jì)算機(jī)可讀介質(zhì)是諸如網(wǎng)絡(luò)和/或無(wú)線 鏈路之類的在其上傳送諸如電、電磁或數(shù)字信號(hào)之類的信號(hào)的承載介質(zhì),在所述信號(hào)上編 碼了數(shù)據(jù)和指令。 公開了用于為網(wǎng)絡(luò)計(jì)算若干不同的生成樹的技術(shù)。所述網(wǎng)絡(luò)具有分組可以經(jīng)由來(lái) 進(jìn)入網(wǎng)絡(luò)的若干不同的進(jìn)入點(diǎn)。每個(gè)生成樹與(至少) 一個(gè)進(jìn)入點(diǎn)相關(guān)聯(lián),以使得不同的 生成樹與不同的進(jìn)入點(diǎn)相關(guān)聯(lián)。根據(jù)與特定進(jìn)入點(diǎn)相關(guān)聯(lián)的生成樹,將經(jīng)由該特定進(jìn)入點(diǎn) 進(jìn)入網(wǎng)絡(luò)的分組通過網(wǎng)絡(luò)轉(zhuǎn)發(fā)。 在一個(gè)實(shí)施例中,一種方法涉及通過網(wǎng)絡(luò)發(fā)送第一分組。如果第一分組是經(jīng)由第 一進(jìn)入點(diǎn)進(jìn)入網(wǎng)絡(luò)的,則以與第一生成樹一致的方式通過網(wǎng)絡(luò)發(fā)送第一分組。而如果第一 分組是經(jīng)由第二進(jìn)入點(diǎn)進(jìn)入網(wǎng)絡(luò)的,則以與第二生成樹一致的方式通過網(wǎng)絡(luò)發(fā)送該分組。 若干個(gè)生成樹中的每一個(gè)都與若干個(gè)進(jìn)入點(diǎn)中各自的一個(gè)相關(guān)聯(lián),因此根據(jù)不同的生成樹 來(lái)通過網(wǎng)絡(luò)發(fā)送經(jīng)由不同進(jìn)入點(diǎn)接收到的分組。 網(wǎng)絡(luò)中的基本網(wǎng)絡(luò)設(shè)備可以計(jì)算在該網(wǎng)絡(luò)中使用的不同的生成樹。基本網(wǎng)絡(luò)設(shè)備 維護(hù)標(biāo)識(shí)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的信息,并在計(jì)算生成樹時(shí)訪問此信息?;揪W(wǎng)絡(luò)設(shè)備將與生成樹 一致的信息(例如外出過濾器值)提供給網(wǎng)絡(luò)中所包括的若干個(gè)輔助網(wǎng)絡(luò)設(shè)備。
當(dāng)分組進(jìn)入網(wǎng)絡(luò)時(shí),將該分組與標(biāo)識(shí)符相關(guān)聯(lián)(例如,通過向分組附加包括標(biāo)識(shí) 符的頭部)。該標(biāo)識(shí)符標(biāo)識(shí)出分組進(jìn)入網(wǎng)絡(luò)所經(jīng)由的進(jìn)入點(diǎn)。在通過網(wǎng)絡(luò)發(fā)送分組時(shí),所述 標(biāo)識(shí)符被用來(lái)標(biāo)識(shí)該分組的進(jìn)入點(diǎn)。 在另一實(shí)施例中,一種方法涉及將分組轉(zhuǎn)發(fā)到第一接口 ;如果該分組是經(jīng)由第一 進(jìn)入點(diǎn)進(jìn)入網(wǎng)絡(luò)的,則將該分組從第一接口輸出;如果該分組是經(jīng)由第二進(jìn)入點(diǎn)進(jìn)入網(wǎng)絡(luò) 的,則將該分組從要經(jīng)由第一接口輸出的分組流中濾去。第一接口未被第一生成樹阻塞,但 被第二生成樹阻塞。第一生成樹與第一進(jìn)入點(diǎn)相關(guān)聯(lián),第二生成樹與第二進(jìn)入點(diǎn)相關(guān)聯(lián)。
在一些實(shí)施例中,一種系統(tǒng)包括若干個(gè)網(wǎng)絡(luò)設(shè)備,包括第一網(wǎng)絡(luò)設(shè)備和第二網(wǎng)絡(luò) 設(shè)備。第一網(wǎng)絡(luò)設(shè)備是進(jìn)入網(wǎng)絡(luò)的第一進(jìn)入點(diǎn),第二網(wǎng)絡(luò)設(shè)備是進(jìn)入網(wǎng)絡(luò)的第二進(jìn)入點(diǎn)。第 一網(wǎng)絡(luò)設(shè)備與第一生成樹相關(guān)聯(lián),第二網(wǎng)絡(luò)設(shè)備與第二生成樹相關(guān)聯(lián)。網(wǎng)絡(luò)設(shè)備被配置為 根據(jù)第一生成樹發(fā)送經(jīng)由第一進(jìn)入點(diǎn)進(jìn)入網(wǎng)絡(luò)的分組,并根據(jù)第二生成樹發(fā)送經(jīng)由第二進(jìn) 入點(diǎn)進(jìn)入網(wǎng)絡(luò)的分組。 在一個(gè)實(shí)施例中,一種網(wǎng)絡(luò)設(shè)備的接口包括過濾單元和外出過濾器值存儲(chǔ)裝置。 外出過濾器值存儲(chǔ)裝置包括若干個(gè)外出過濾器值。每個(gè)外出過濾器值標(biāo)識(shí)出若干個(gè)生成樹 中各自的一個(gè)是否阻塞接口 。過濾單元被配置為訪問與分組相關(guān)聯(lián)的標(biāo)識(shí)符以確定該分組 是否是經(jīng)由特定進(jìn)入點(diǎn)進(jìn)入網(wǎng)絡(luò)的。外出過濾器值標(biāo)識(shí)出接口是否被與該特定進(jìn)入點(diǎn)相關(guān) 聯(lián)的生成樹阻塞。 所述接口還包括標(biāo)識(shí)符單元和標(biāo)識(shí)符值存儲(chǔ)裝置。標(biāo)識(shí)符值存儲(chǔ)裝置存儲(chǔ)標(biāo)識(shí)第
35一網(wǎng)絡(luò)設(shè)備的值,所述第一網(wǎng)絡(luò)設(shè)備提供進(jìn)入網(wǎng)絡(luò)的進(jìn)入點(diǎn)。標(biāo)識(shí)符單元被配置為響應(yīng)于接口對(duì)分組的接收,將該值包括在被附加到分組上的頭部中。 雖然針對(duì)本發(fā)明的具體實(shí)施例描述了本發(fā)明,但本領(lǐng)域技術(shù)人員可以想到各種變化和修改。這種變化和修改應(yīng)落入所附權(quán)利要求書的范圍之內(nèi)。
糊'性 本發(fā)明的實(shí)施例可以用在網(wǎng)絡(luò)領(lǐng)域。
權(quán)利要求
一種方法,包括訪問與分組和第一網(wǎng)絡(luò)設(shè)備相關(guān)聯(lián)的信息,其中所述信息指示所述分組是由所述第一網(wǎng)絡(luò)設(shè)備接收進(jìn)入網(wǎng)絡(luò)的;通過所述網(wǎng)絡(luò)發(fā)送所述分組,其中如果所述第一網(wǎng)絡(luò)設(shè)備是所述網(wǎng)絡(luò)的第一進(jìn)入點(diǎn),則所述發(fā)送與第一生成樹一致,其中如果所述第一網(wǎng)絡(luò)設(shè)備是所述網(wǎng)絡(luò)的第二進(jìn)入點(diǎn),則所述發(fā)送與第二生成樹一致,其中所述發(fā)送包括訪問外出過濾器,所述外出過濾器包括基于所述第一生成樹的第一設(shè)定和基于所述第二生成樹的第二設(shè)定,并且其中所述發(fā)送由第二網(wǎng)絡(luò)設(shè)備執(zhí)行,所述第二網(wǎng)絡(luò)設(shè)備通過至少一條鏈路而被耦合到所述第一網(wǎng)絡(luò)設(shè)備。
2. 如權(quán)利要求1所述的方法,其中多個(gè)生成樹中的每一個(gè)與多個(gè)進(jìn)入點(diǎn)中相應(yīng)的一個(gè)相關(guān)聯(lián),并且其中經(jīng)由不同的進(jìn)入點(diǎn)接收到的分組根據(jù)不同的生成樹通過所述網(wǎng)絡(luò)而被發(fā)送。
3. 如權(quán)利要求2所述的方法,其中每個(gè)進(jìn)入點(diǎn)是虛擬網(wǎng)絡(luò)設(shè)備子單元,并且其中所述網(wǎng)絡(luò)是虛擬網(wǎng)絡(luò)設(shè)備集群。
4. 如權(quán)利要求2所述的方法,還包括計(jì)算所述多個(gè)生成樹。
5. 如權(quán)利要求4所述的方法,其中每個(gè)進(jìn)入點(diǎn)計(jì)算所述多個(gè)生成樹中相應(yīng)的一個(gè)。
6. 如權(quán)利要求4所述的方法,其中所述計(jì)算由基本網(wǎng)絡(luò)設(shè)備來(lái)執(zhí)行。
7. 如權(quán)利要求6所述的方法,還包括維護(hù)標(biāo)識(shí)所述網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)的信息,其中所述計(jì)算所述多個(gè)生成樹包括訪問標(biāo)識(shí)所述網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)的信息。
8. 如權(quán)利要求6所述的方法,還包括將與所述多個(gè)生成樹一致的信息提供給多個(gè)輔助網(wǎng)絡(luò)設(shè)備。
9. 如權(quán)利要求8所述的方法,其中所述信息包括用于每個(gè)輔助網(wǎng)絡(luò)設(shè)備的每個(gè)接口的外出過濾器設(shè)定。
10. 如權(quán)利要求2所述的方法,還包括將所述分組與所述信息相關(guān)聯(lián),其中所述信息包括所述第一網(wǎng)絡(luò)設(shè)備的標(biāo)識(shí)符。
11. 如權(quán)利要求10所述的方法,還包括從所述第二網(wǎng)絡(luò)設(shè)備向第三網(wǎng)絡(luò)設(shè)備發(fā)送所述分組和所述標(biāo)識(shí)符,其中所述網(wǎng)絡(luò)包括所述第二網(wǎng)絡(luò)設(shè)備和所述第三網(wǎng)絡(luò)設(shè)備。
12. 如權(quán)利要求10所述的方法,其中將所述分組與所述標(biāo)識(shí)符相關(guān)聯(lián)包括在被附加到所述分組上的頭部中包括所述標(biāo)識(shí)符。
13. 如權(quán)利要求10所述的方法,還包括將所述分組的源地址與由所述標(biāo)識(shí)符標(biāo)識(shí)的進(jìn)入點(diǎn)相關(guān)聯(lián)。
14. 一種方法,包括將分組轉(zhuǎn)發(fā)到第一接口;訪問與所述分組和第一網(wǎng)絡(luò)設(shè)備相關(guān)聯(lián)的信息, 射所述信息指示所述分組是由所述第一網(wǎng)絡(luò)設(shè)備接收進(jìn)入網(wǎng)絡(luò)的;如果所述第一網(wǎng)絡(luò)設(shè)備是所述網(wǎng)絡(luò)的第一進(jìn)入點(diǎn),則從所述第一接口輸出所述分組;以及如果所述第一網(wǎng)絡(luò)設(shè)備是所述網(wǎng)絡(luò)的第二進(jìn)入點(diǎn),則將所述分組從要經(jīng)由所述第一接 口輸出的分組流中濾去,其中所述濾去包括訪問外出過濾器,其中所述外出過濾器包括基于第一生成樹的第一設(shè)定和基于第二生成樹的第二設(shè)定, 其中所述第一生成樹與所述第一進(jìn)入點(diǎn)相關(guān)聯(lián), 其中所述第二生成樹與所述第二進(jìn)入點(diǎn)相關(guān)聯(lián),并且其中所述輸出和所述濾去由第二網(wǎng)絡(luò)設(shè)備執(zhí)行,所述第二網(wǎng)絡(luò)設(shè)備通過至少一條鏈路 而被耦合到所述第一網(wǎng)絡(luò)設(shè)備。
15. 如權(quán)利要求14所述的方法, 其中所述第一接口未被所述第一生成樹阻塞,并且 其中所述第一接口被所述第二生成樹阻塞。
16. 如權(quán)利要求15所述的方法,其中 所述信息包括所述第一網(wǎng)絡(luò)設(shè)備的標(biāo)識(shí)符。
17. 如權(quán)利要求16所述的方法, 其中頭部被附加到所述分組上,并且 其中所述頭部包括所述標(biāo)識(shí)符。
18. 如權(quán)利要求17所述的方法,還包括 將所述分組的源地址與由所述標(biāo)識(shí)符標(biāo)識(shí)的進(jìn)入點(diǎn)相關(guān)聯(lián)。
19. 如權(quán)利要求16所述的方法,其中所述外出過濾器指示與所述標(biāo)識(shí)符相關(guān)聯(lián)的分組是否能夠經(jīng)由接口來(lái)輸出。
20. —種系統(tǒng),包括多個(gè)網(wǎng)絡(luò)設(shè)備,所述多個(gè)網(wǎng)絡(luò)設(shè)備包括第一網(wǎng)絡(luò)設(shè)備;以及第二網(wǎng)絡(luò)設(shè)備,其中所述第一網(wǎng)絡(luò)設(shè)備是進(jìn)入網(wǎng)絡(luò)的第一進(jìn)入點(diǎn)并且與第一生成樹相關(guān)聯(lián), 其中所述第二網(wǎng)絡(luò)設(shè)備是進(jìn)入所述網(wǎng)絡(luò)的第二進(jìn)入點(diǎn)并且與第二生成樹相關(guān)聯(lián), 其中網(wǎng)絡(luò)設(shè)備被配置為訪問與分組和進(jìn)入網(wǎng)絡(luò)設(shè)備相關(guān)聯(lián)的信息, 其中所述信息指示所述分組是由所述進(jìn)入網(wǎng)絡(luò)設(shè)備接收進(jìn)入所述網(wǎng)絡(luò)的, 其中網(wǎng)絡(luò)設(shè)備被配置為如果所述進(jìn)入網(wǎng)絡(luò)設(shè)備是所述第一網(wǎng)絡(luò)設(shè)備,則根據(jù)所述第一 生成樹發(fā)送分組,其中網(wǎng)絡(luò)設(shè)備被配置為如果所述進(jìn)入網(wǎng)絡(luò)設(shè)備是所述第二網(wǎng)絡(luò)設(shè)備,則根據(jù)所述第二 生成樹發(fā)送分組,其中網(wǎng)絡(luò)設(shè)備通過至少一條鏈路而被彼此耦合,并且其中每個(gè)網(wǎng)絡(luò)設(shè)備被配置為訪問多個(gè)外出過濾器中相應(yīng)的一個(gè),其中所述多個(gè)外出過 濾器中的每一個(gè)包括基于所述第一生成樹的第一設(shè)定和基于所述第二生成樹的第二設(shè)定。
21. 如權(quán)利要求20所述的系統(tǒng),其中所述多個(gè)網(wǎng)絡(luò)設(shè)備中的一個(gè)網(wǎng)絡(luò)設(shè)備被配置為響應(yīng)于第一分組由所述第一網(wǎng)絡(luò) 設(shè)備接收進(jìn)入所述網(wǎng)絡(luò),將所述第一分組與所述第一網(wǎng)絡(luò)設(shè)備相關(guān)聯(lián)。
22. 如權(quán)利要求21所述的系統(tǒng), 其中所述的一個(gè)網(wǎng)絡(luò)設(shè)備是所述第一網(wǎng)絡(luò)設(shè)備。
23. 如權(quán)利要求21所述的系統(tǒng),其中所述的一個(gè)網(wǎng)絡(luò)設(shè)備被配置為通過將標(biāo)識(shí)所述第一網(wǎng)絡(luò)設(shè)備的值包括在被附加 到所述第一分組上的頭部中,來(lái)將所述第一分組與所述第一網(wǎng)絡(luò)設(shè)備相關(guān)聯(lián)。
24. 如權(quán)利要求23所述的系統(tǒng),其中所述多個(gè)網(wǎng)絡(luò)設(shè)備中的第二網(wǎng)絡(luò)設(shè)備被配置為響應(yīng)于接收到分組和被附加到分 組上的頭部,將所述第一分組的源地址與所述第一網(wǎng)絡(luò)設(shè)備相關(guān)聯(lián)。
25. 如權(quán)利要求21所述的系統(tǒng), 其中所述第一網(wǎng)絡(luò)設(shè)備是所述第一生成樹的根,并且 其中所述第二網(wǎng)絡(luò)設(shè)備是所述第二生成樹的根。
26. 如權(quán)利要求21所述的系統(tǒng),其中所述第一網(wǎng)絡(luò)設(shè)備被配置為計(jì)算多個(gè)生成樹,所述多個(gè)生成樹包括所述第一生成 樹和所述第二生成樹,并且其中所述第一網(wǎng)絡(luò)設(shè)備被配置為將對(duì)應(yīng)于所述多個(gè)生成樹的信息發(fā)送到所述多個(gè)網(wǎng) 絡(luò)設(shè)備中的其他每個(gè)網(wǎng)絡(luò)設(shè)備。
27. 如權(quán)利要求26所述的系統(tǒng),其中對(duì)應(yīng)于所述多個(gè)生成樹的信息包括外出過濾器值。
28. —種網(wǎng)絡(luò)設(shè)備,包括 接口,所述接口包括 過濾單元,其中所述過濾單元被配置為訪問與分組和第一網(wǎng)絡(luò)設(shè)備相關(guān)聯(lián)的信息,其中所述信息指示所述分組是由所述第一網(wǎng)絡(luò)設(shè)備接收進(jìn)入網(wǎng)絡(luò)的,并且其中所述接口通過至少一條鏈路而被耦合到所述第一網(wǎng)絡(luò)設(shè)備;以及外出過濾器值存儲(chǔ)裝置,所述外出過濾器值存儲(chǔ)裝置被耦合到所述過濾單元,其中所述外出過濾器值存儲(chǔ)裝置包括多個(gè)外出過濾器值,其中第一外出過濾器值基于第一生成樹并且第二外出過濾器值基于第二生成樹,其中所述第一生成樹與第一進(jìn)入點(diǎn)相關(guān)聯(lián),其中所述第二生成樹與第二進(jìn)入點(diǎn)相關(guān)聯(lián),其中如果所述第一網(wǎng)絡(luò)設(shè)備是所述第一進(jìn)入點(diǎn),則外出過濾器值標(biāo)識(shí)出所述接口不被 阻塞,并且其中如果所述第一網(wǎng)絡(luò)設(shè)備是所述第二進(jìn)入點(diǎn),則外出過濾器值標(biāo)識(shí)出所述接口被阻塞。
29. 如權(quán)利要求28所述的網(wǎng)絡(luò)設(shè)備,其中所述接口未被所述第一生成樹阻塞, 所述接口被所述第二生成樹阻塞。
30. 如權(quán)利要求29所述的網(wǎng)絡(luò)設(shè)備, 其中所述信息包括所述第一網(wǎng)絡(luò)設(shè)備的標(biāo)識(shí)符。
31. 如權(quán)利要求30所述的網(wǎng)絡(luò)設(shè)備, 其中所述標(biāo)識(shí)符被包括在被附加到所述分組上的頭部中。
32. 如權(quán)利要求28所述的網(wǎng)絡(luò)設(shè)備,還包括標(biāo)識(shí)符單元;以及標(biāo)識(shí)符值存儲(chǔ)裝置,所述標(biāo)識(shí)符值存儲(chǔ)裝置被耦合到所述標(biāo)識(shí)符單元。
33. 如權(quán)利要求32所述的網(wǎng)絡(luò)設(shè)備,其中所述標(biāo)識(shí)符值存儲(chǔ)裝置存儲(chǔ)標(biāo)識(shí)所述第一網(wǎng)絡(luò)設(shè)備的值,并且 其中所述標(biāo)識(shí)符單元被配置為響應(yīng)于所述接口對(duì)所述分組的接收,將所述值包括在被 附加到所述分組上的頭部中。
34. —種系統(tǒng),包括 用于將分組轉(zhuǎn)發(fā)到第一接口的裝置;用于訪問與所述分組和第一網(wǎng)絡(luò)設(shè)備相關(guān)聯(lián)的標(biāo)識(shí)符的裝置, 其中所述信息指示所述分組是由所述第一網(wǎng)絡(luò)設(shè)備接收進(jìn)入網(wǎng)絡(luò)的; 用于如果所述第一網(wǎng)絡(luò)設(shè)備是所述網(wǎng)絡(luò)的第一進(jìn)入點(diǎn),則從所述第一接口輸出所述分 組的裝置;以及用于如果所述第一網(wǎng)絡(luò)設(shè)備是所述網(wǎng)絡(luò)的第二進(jìn)入點(diǎn),則將所述分組從要經(jīng)由所述第 一接口輸出的分組流中濾去的裝置, 其中濾去包括訪問外出過濾器,其中所述外出過濾器包括基于第一生成樹的第一設(shè)定和基于第二生成樹的第二設(shè)定, 其中所述第一生成樹與所述第一進(jìn)入點(diǎn)相關(guān)聯(lián), 其中所述第二生成樹與所述第二進(jìn)入點(diǎn)相關(guān)聯(lián),并且 其中所述第一接口通過至少一條鏈路而被耦合到所述第一網(wǎng)絡(luò)設(shè)備。
35. 如權(quán)利要求34所述的系統(tǒng), 其中所述第一接口未被所述第一生成樹阻塞,并且 其中所述第一接口被所述第二生成樹阻塞。
36. 如權(quán)利要求35所述的系統(tǒng), 其中所述信息包括所述第一網(wǎng)絡(luò)設(shè)備的標(biāo)識(shí)符。
37. 如權(quán)利要求36所述的系統(tǒng), 其中頭部被附加到所述分組上,并且 其中所述頭部包括所述標(biāo)識(shí)符。
38. 如權(quán)利要求37所述的系統(tǒng),還包括用于將所述分組的源地址與由所述標(biāo)識(shí)符標(biāo)識(shí)的進(jìn)入點(diǎn)相關(guān)聯(lián)的裝置。
39. 如權(quán)利要求36所述的系統(tǒng),其中所述外出過濾器指示與所述標(biāo)識(shí)符相關(guān)聯(lián)的分組是否能夠經(jīng)由接口來(lái)輸出。
40. —種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)程序指令,其中所述程序指令是計(jì)算機(jī)可執(zhí)行的以用于 將分組轉(zhuǎn)發(fā)到第一接口;訪問與所述分組和第一網(wǎng)絡(luò)設(shè)備相關(guān)聯(lián)的信息,其中所述信息指示所述分組是由所述第一網(wǎng)絡(luò)設(shè)備接收進(jìn)入網(wǎng)絡(luò)的; 如果所述第一網(wǎng)絡(luò)設(shè)備是所述網(wǎng)絡(luò)的第一進(jìn)入點(diǎn),則使第二網(wǎng)絡(luò)設(shè)備從所述第一接口 輸出所述分組;以及如果所述第一網(wǎng)絡(luò)設(shè)備是所述網(wǎng)絡(luò)的第二進(jìn)入點(diǎn),則使所述第二網(wǎng)絡(luò)設(shè)備將所述分組 從要經(jīng)由所述第一接口輸出的分組流中濾去, 其中所述濾去包括訪問外出過濾器,其中所述外出過濾器包括基于第一生成樹的第一設(shè)定和基于第二生成樹的第二設(shè)定, 其中所述第一生成樹與所述第一進(jìn)入點(diǎn)相關(guān)聯(lián), 其中所述第二生成樹與所述第二進(jìn)入點(diǎn)相關(guān)聯(lián),并且其中所述第二網(wǎng)絡(luò)設(shè)備通過至少一條鏈路而被耦合到所述第一網(wǎng)絡(luò)設(shè)備。
41. 如權(quán)利要求40所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中 所述第一接口未被所述第一生成樹阻塞, 所述第一接口被所述第二生成樹阻塞。
42. 如權(quán)利要求41所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì), 其中所述信息包括所述第一網(wǎng)絡(luò)設(shè)備的標(biāo)識(shí)符。
43. 如權(quán)利要求42所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中 頭部被附加到所述分組上,并且 所述頭部包括所述標(biāo)識(shí)符。
44. 如權(quán)利要求43所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述程序指令還可執(zhí)行用于 將所述分組的源地址與由所述標(biāo)識(shí)符標(biāo)識(shí)的進(jìn)入點(diǎn)相關(guān)聯(lián)。
45. 如權(quán)利要求42所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述外出過濾器指示與所述標(biāo)識(shí)符相關(guān)聯(lián)的分組是否能夠經(jīng)由接口來(lái)輸出。
全文摘要
本發(fā)明公開了虛擬網(wǎng)絡(luò)設(shè)備集群。根據(jù)本發(fā)明的一個(gè)方面,提供了一種方法,該方法包括訪問與分組和第一網(wǎng)絡(luò)設(shè)備相關(guān)聯(lián)的信息,其中該信息指示分組是由第一網(wǎng)絡(luò)設(shè)備接收進(jìn)入網(wǎng)絡(luò)的;通過網(wǎng)絡(luò)發(fā)送分組,其中如果第一網(wǎng)絡(luò)設(shè)備是網(wǎng)絡(luò)的第一進(jìn)入點(diǎn),則發(fā)送與第一生成樹一致,其中如果第一網(wǎng)絡(luò)設(shè)備是網(wǎng)絡(luò)的第二進(jìn)入點(diǎn),則發(fā)送與第二生成樹一致,其中發(fā)送包括訪問外出過濾器,該外出過濾器包括基于第一生成樹的第一設(shè)定和基于第二生成樹的第二設(shè)定,并且其中發(fā)送由第二網(wǎng)絡(luò)設(shè)備執(zhí)行,該第二網(wǎng)絡(luò)設(shè)備通過至少一條鏈路而被耦合到第一網(wǎng)絡(luò)設(shè)備。
文檔編號(hào)H04L12/66GK101789907SQ20101011390
公開日2010年7月28日 申請(qǐng)日期2005年4月29日 優(yōu)先權(quán)日2004年5月19日
發(fā)明者斯塔拉姆·東圖, 穆薩·琺塞, 邁克爾·R·史密斯 申請(qǐng)人:思科技術(shù)公司