Fabric交換機中的動態(tài)服務(wù)插入的制作方法
【專利摘要】本發(fā)明的實施例提供交換機。交換機包括服務(wù)管理模塊和分組處理器。在操作期間,服務(wù)管理模塊識別由經(jīng)由本地端口耦合至交換機的裝置提供的服務(wù)。分組處理器構(gòu)建用于遠(yuǎn)程交換機的通知消息。通知消息包括關(guān)于服務(wù)和裝置的信息。這樣,交換機使得遠(yuǎn)程交換機能夠請求該服務(wù)。
【專利說明】Fabr i c交換機中的動態(tài)服務(wù)插入
【技術(shù)領(lǐng)域】
[0001]本公開內(nèi)容涉及網(wǎng)絡(luò)管理。更具體地,本公開內(nèi)容涉及Fabric交換機中服務(wù)的動態(tài)插入。
【背景技術(shù)】
[0002]因特網(wǎng)的指數(shù)式增長已經(jīng)使得多媒體應(yīng)用諸如視頻點播和電視成為流行的遞送介質(zhì)。這樣的應(yīng)用隨之帶來了對帶寬的增長的需求。因此,設(shè)備銷售商緊追以建立具有諸如服務(wù)插入和供給的通用功能的更大且更快的交換機以使更多業(yè)務(wù)高效地移動。然而,交換機的尺寸不能無限制地增長。其受到物理空間、功耗和設(shè)計復(fù)雜度等因素的限制。此外,具有較高功能的交換機通常更復(fù)雜且昂貴。更重要地,由于過大且過復(fù)雜的系統(tǒng)通常不提供尺寸方面的經(jīng)濟性,所以簡單地增加交換機的大小和能力由于增加的每端口成本而可以證明在經(jīng)濟上不可行。
[0003]—種用于改善交換機的可擴展性的靈活方式在于構(gòu)建Fabric交換機。Fabric交換機是各個成員交換機的集合。這些成員交換機形成可以具有任意數(shù)目的端口和任意的拓?fù)涞膯蝹€邏輯交換機。隨著需求的增長,客戶可以采用“按需付費”方式來按比例放大Fabric交換機的能力。
[0004]同時,層2(例如,以太網(wǎng))交換技術(shù)繼續(xù)演進。更多傳統(tǒng)上作為層3 (例如,因特網(wǎng)協(xié)議或IP)網(wǎng)絡(luò)的特征的路由類功能遷移至層2。注意,多鏈路透明互連(TRILL)協(xié)議的近期發(fā)展使得以太網(wǎng)交換機能夠更像路由設(shè)備一樣起作用。TRILL克服了迫使層2交換機在邏輯生成樹拓?fù)渲旭詈弦员苊庋h(huán)的傳統(tǒng)的生成樹協(xié)議的固有缺陷。TRILL通過在交換機中實現(xiàn)路由功能并且在TRILL頭中包括跳躍計數(shù)而使得路由橋(RBridge)能夠在任意拓?fù)渲旭詈隙鴽]有循環(huán)的風(fēng)險。
[0005]隨著因特網(wǎng)業(yè)務(wù)變得越來越多樣,由于網(wǎng)絡(luò)架構(gòu)師的價值主張,高性能層2網(wǎng)絡(luò)中的基本服務(wù)諸如防火墻、負(fù)載平衡器和入侵檢測的高效且精確的配置正在逐漸變得更重要。期望在靈活性和容易部署的情況下從在分布式位置處的各種物理和虛擬裝置來提供這些服務(wù)。
[0006]雖然Fabric交換機給網(wǎng)絡(luò)帶來了很多希望特征,然而在網(wǎng)絡(luò)中的動態(tài)服務(wù)插入中仍然存在一些未解決的問題。
【發(fā)明內(nèi)容】
[0007]本發(fā)明實施例提供了交換機。交換機包括服務(wù)管理模塊和分組處理器。在操作期間,服務(wù)管理模塊識別由經(jīng)由本地端口耦合至交換機的裝置提供的服務(wù)。分組處理器構(gòu)建用于遠(yuǎn)程交換機的通知消息。通知消息包括關(guān)于服務(wù)和裝置的信息。這樣,交換機使得遠(yuǎn)程交換機能夠請求該服務(wù)。
[0008]在這一實施例的變型中,交換機還包括虛擬化模塊,虛擬化模塊連同分組處理器操作以將裝置表現(xiàn)為通知消息中的虛擬裝置。虛擬裝置可以與提供服務(wù)的一個或多個裝置關(guān)聯(lián)。
[0009]在又一變型中,分組處理器構(gòu)建包括虛擬交換機的虛擬標(biāo)識符的第二通知消息。這一虛擬交換機與交換機關(guān)聯(lián)并且被呈現(xiàn)為耦合至虛擬裝置。虛擬化模塊生成虛擬標(biāo)識符。
[0010]在又一變型中,虛擬交換機還與第二交換機關(guān)聯(lián)。第二交換機本地耦合至第二裝置,第二裝置能夠提供服務(wù)并且與虛擬裝置關(guān)聯(lián)。
[0011]在這一實施例的變型中,在操作期間,分組處理器提取關(guān)于第二服務(wù)和第三裝置的信息,第三裝置能夠提供第二服務(wù)并且耦合至第三交換機。分組處理器向第三交換機轉(zhuǎn)發(fā)要求第二服務(wù)的相應(yīng)的數(shù)據(jù)。
[0012]在又一變型中,交換機還包括序列模塊,序列模塊接收用于服務(wù)和第二服務(wù)的與子網(wǎng)關(guān)聯(lián)的執(zhí)行序列。序列模塊還基于該序列確定是否向裝置或第三裝置轉(zhuǎn)發(fā)屬于子網(wǎng)的數(shù)據(jù)幀。
[0013]在又一變型中,分組處理器將數(shù)據(jù)幀封裝在具有作為分組的外出RBridge標(biāo)識符的虛擬路由橋(RBridge)標(biāo)識符的多鏈路透明互連(TRILL)分組中。這一虛擬RBridge標(biāo)識符與第三交換機對應(yīng)。
[0014]在這一實施例的變型中,服務(wù)管理模塊響應(yīng)于經(jīng)由本地端口接收到數(shù)據(jù)幀而確定用于數(shù)據(jù)幀的服務(wù)完成。
[0015]在這一實施例的變型中,交換機還包括維護Fabric交換機中的成員資格的Fabric交換機管理模塊,這樣的Fabric交換機容納多個交換機并且作為單個邏輯交換機來操作。
【專利附圖】
【附圖說明】
[0016]圖1A圖示根據(jù)本發(fā)明的實施例的具有動態(tài)服務(wù)插入能力的示例性Fabric交換機。
[0017]圖1B連同圖1A中的示例圖示根據(jù)本發(fā)明的實施例的如何將用于現(xiàn)有服務(wù)的新的裝置動態(tài)地添加至Fabric交換機。
[0018]圖1C連同圖1B中的示例圖示根據(jù)本發(fā)明的實施例的如何將用于新的服務(wù)的新的裝置動態(tài)地添加至Fabric交換機。
[0019]圖2圖示根據(jù)本發(fā)明的實施例的具有動態(tài)服務(wù)插入能力的Fabric交換機的示例性配置。
[0020]圖3A呈現(xiàn)圖示根據(jù)本發(fā)明的實施例的向Fabric交換機動態(tài)地添加裝置的Fabric交換機的成員交換機的處理的流程圖。
[0021]圖3B呈現(xiàn)圖示根據(jù)本發(fā)明的實施例的動態(tài)地配置服務(wù)的Fabric交換機的成員交換機的處理的流程圖。
[0022]圖4圖示根據(jù)本發(fā)明的實施例的Fabric交換機中的動態(tài)地插入的服務(wù)之間的示例性執(zhí)行序列。
[0023]圖5A呈現(xiàn)圖示根據(jù)本發(fā)明的實施例的在Fabric交換機中的動態(tài)地插入的服務(wù)之間分配用于子網(wǎng)的執(zhí)行序列的成員交換機的處理的流程圖。
[0024]圖5B呈現(xiàn)圖示根據(jù)本發(fā)明的實施例的在Fabric交換機中的動態(tài)地插入的服務(wù)之間配置用于子網(wǎng)的執(zhí)行序列的成員交換機的處理的流程圖。
[0025]圖6A呈現(xiàn)圖示根據(jù)本發(fā)明的實施例的處理從邊緣端口接收的數(shù)據(jù)幀的Fabric交換機的成員交換機的處理的流程圖。
[0026]圖6B呈現(xiàn)圖示根據(jù)本發(fā)明的實施例的處理從交換機間端口接收的數(shù)據(jù)幀的Fabric交換機的成員交換機的處理的流程圖。
[0027]圖7圖示根據(jù)本發(fā)明的實施例的Fabric交換機中的具有動態(tài)服務(wù)插入能力的示例性成員交換機。
[0028]在附圖中,相似的附圖標(biāo)記指代相同的附圖元件。
【具體實施方式】
[0029]呈現(xiàn)以下描述以使得本領(lǐng)域技術(shù)人員能夠?qū)崿F(xiàn)和使用本發(fā)明,并且以下描述是在具體應(yīng)用及其要求的情境下提供的。本領(lǐng)域技術(shù)人員很容易清楚對所公開的實施例的各種修改,本文中定義的普通原理適用于其他實施例和應(yīng)用而不偏離本發(fā)明的精神和范圍。因此,本發(fā)明不限于所示實施例,而是符合與權(quán)利要求一致的最寬范圍。
[0030]概沭
[0031]在本發(fā)明的實施例中,通過在Fabric交換機的所有成員交換機之間分配與服務(wù)關(guān)聯(lián)的相應(yīng)的應(yīng)用的配置信息,解決了在Fabric交換機中動態(tài)地添加服務(wù)的問題。因此,相應(yīng)的成員交換機可以從耦合至任何成員交換機的任何支持裝置來獲取服務(wù)。耦合至交換機(其可以是Fabric交換機)的裝置向網(wǎng)絡(luò)提供定制服務(wù)。裝置的示例可以包括但不限于防火墻、負(fù)載平衡器、入侵檢測/保護設(shè)備、網(wǎng)絡(luò)分析器、和網(wǎng)絡(luò)虛擬器。裝置可以是物理設(shè)備或者在物理設(shè)備上運行的虛擬機。通常,這樣的裝置可以被優(yōu)化用于執(zhí)行上述具體服務(wù)。在服務(wù)在網(wǎng)絡(luò)中的傳統(tǒng)部署中,在向網(wǎng)絡(luò)添加裝置時,需要將網(wǎng)絡(luò)中的相應(yīng)的交換機配置用于容納由裝置提供的服務(wù)。例如,在添加防火墻時,網(wǎng)絡(luò)中的各個交換機應(yīng)當(dāng)被配置成向防火墻轉(zhuǎn)發(fā)業(yè)務(wù)。這樣的配置可能是冗長的、重復(fù)的且易出錯的。
[0032]此外,上游或下游業(yè)務(wù)(其可以被稱為“南北業(yè)務(wù)”)的數(shù)據(jù)通路中通常部署有相應(yīng)的裝置。例如,可以在聚合路由器處部署裝置。然而,數(shù)據(jù)中心的近期增長已經(jīng)產(chǎn)生了通常在服務(wù)器與存儲設(shè)備之間進行業(yè)務(wù)的新服務(wù)(其可以被稱為“東西業(yè)務(wù)”)的需求。然而,在當(dāng)今網(wǎng)絡(luò)中,要求相應(yīng)的裝置是多用戶的,其中,單個裝置可以服務(wù)屬于不同子網(wǎng)絡(luò)(或子網(wǎng))的業(yè)務(wù)。另一方面,提供服務(wù)的裝置可以被定為在網(wǎng)絡(luò)上的任何位置處,從而分配網(wǎng)絡(luò)的業(yè)務(wù)負(fù)荷。因此,可以由不同的裝置來服務(wù)屬于同一子網(wǎng)的業(yè)務(wù)。配置網(wǎng)絡(luò)以支持同時被分配并且為多用戶的裝置可能是具有挑戰(zhàn)性的。
[0033]為了解決這一問題,在向Fabric交換機的成員交換機(即,連同其他成員交換機形成Fabric交換機的交換機)添加裝置時,交換機共享由裝置提供給其他成員交換機的位置和服務(wù)。這樣,成員交換機與其他成員交換機交換裝置的操作和配置數(shù)據(jù),并且集成裝置與整個Fabric交換機。因此,在連接至Fabric交換機時,裝置動態(tài)地向整個Fabric交換機提供服務(wù)及其關(guān)聯(lián)功能。在一些實施例中,提供服務(wù)的一個或多個裝置被虛擬化為經(jīng)由虛擬成員交換機耦合至Fabric交換機的虛擬裝置。虛擬交換機與耦合至提供服務(wù)的裝置的物理成員交換機關(guān)聯(lián)。因此,各個成員交換機可以向虛擬交換機簡單地轉(zhuǎn)發(fā)屬于要求服務(wù)的子網(wǎng)的數(shù)據(jù)幀。因此,實際上由于虛擬交換機關(guān)聯(lián)的成員交換機中的一個成員交換機來接收數(shù)據(jù)幀。這一成員交換機又將數(shù)據(jù)幀轉(zhuǎn)發(fā)給本地耦合的裝置,本地耦合的裝置向數(shù)據(jù)幀提供服務(wù)。這樣,可以經(jīng)由Fabric交換機的任何成員交換機動態(tài)地插入服務(wù)而沒有配置Fabric交換機中的各個交換機。
[0034]在一些實施例中,F(xiàn)abric交換機為以太網(wǎng)Fabric交換機。在以太網(wǎng)Fabric交換機中,以任意拓?fù)漶詈系娜我鈹?shù)目的交換機可以在邏輯上作為單個交換機來操作。任何新的交換機可以以“即插即用”模式加入或離開Fabric交換機而沒有任何手動配置。Fabric交換機對于端設(shè)備而言呈現(xiàn)為單個邏輯交換機。在又一些實施例中,F(xiàn)abric交換機為多鏈路透明互連(TRILL)網(wǎng)絡(luò),并且Fabric交換機的各個成員交換機為TRILL路由橋(RBridge)。
[0035]雖然基于TRILL協(xié)議使用示例來呈現(xiàn)本公開內(nèi)容,然而本發(fā)明的實施例不限于使用TRILL定義的網(wǎng)絡(luò)或具體的開放式系統(tǒng)互連參考模型(0SI參考模型)層。例如,本發(fā)明的實施例也可以應(yīng)用于多協(xié)議標(biāo)簽切換(MPLS)網(wǎng)絡(luò)。在本公開內(nèi)容中,術(shù)語“Fabric交換機”在一般意義上使用,并且可以指代在任何網(wǎng)絡(luò)層、子層或網(wǎng)絡(luò)層的組合中操作的網(wǎng)絡(luò)。
[0036]在本公開內(nèi)容中,術(shù)語“服務(wù)”在一般意義上使用,并且可以指代向在任何網(wǎng)絡(luò)層中操作的獨立的或Fabric交換機提供具體的功能的操作或操作的組。交換機所要求的任何功能可以稱為“服務(wù)”。能夠向交換機提供服務(wù)的任何物理或虛擬設(shè)備可以稱為“裝置”?!把b置”可以是與交換機分離的設(shè)備、或者在交換機中運行的硬件或軟件模塊。
[0037]術(shù)語“端設(shè)備”可以指代耦合至Fabric交換機的設(shè)備。端設(shè)備可以是主機、傳統(tǒng)的層2交換機、或者任何其他類型的網(wǎng)絡(luò)設(shè)備。此外,端設(shè)備可以耦合至進一步遠(yuǎn)離網(wǎng)絡(luò)的其他交換機或主機。端設(shè)備還可以是用于大量網(wǎng)絡(luò)設(shè)備進入網(wǎng)絡(luò)的聚合點。術(shù)語“設(shè)備”和“機器”被可互換地使用。
[0038]術(shù)語“幀”指代可以通過網(wǎng)絡(luò)一起傳輸?shù)谋忍亟M。“幀”不應(yīng)當(dāng)被理解為將本發(fā)明的實施例限制為層2網(wǎng)絡(luò)?!皫边€可以用涉及比特組的其他術(shù)語諸如“分組”、“單元”或“數(shù)據(jù)報”來代替。
[0039]術(shù)語“交換機”在一般意義上使用,并且其可以指代在任何網(wǎng)絡(luò)層操作的任何獨立的或Fabric交換機。“交換機”不應(yīng)當(dāng)被理解為將本發(fā)明的實施例限制為層2網(wǎng)絡(luò)。可以向端設(shè)備或另一交換機轉(zhuǎn)發(fā)業(yè)務(wù)的任何設(shè)備都可以被稱為“交換機”?!敖粨Q機”的示例包括但不限于層2交換機、層3路由器、TRILL RBridge或者包括多個較小的或異構(gòu)的較小的物理交換機的Fabric交換機。
[0040]術(shù)語“RBridge”指代路由橋,其為實現(xiàn)如在http://tools.1etf.0rg/html/rfc6325可獲得的因特網(wǎng)工程任務(wù)組(IETF)提案請求(RFC) “Routing
Bridges (RBridges):Base Protocol Specificat1n”-其通過參考并入本文中-中所描述的TRILL協(xié)議的橋。本發(fā)明的實施例不限于RBridge橋中的應(yīng)用。也可以使用其他類型的交換機、路由器和轉(zhuǎn)發(fā)器。
[0041]術(shù)語“邊緣端口 ”指代Fabric交換機中與Fabric交換機外部的端設(shè)備交換數(shù)據(jù)中貞的端口。術(shù)語“交換機間端口 ”指代使Fabric交換機的成員交換機與另一成員交換機稱合的端口,并且用于在成員交換機之間交換數(shù)據(jù)幀。
[0042]術(shù)語“交換機標(biāo)識符”指代可以用于識別交換機的比特組。如果交換機為RBridge,則交換機標(biāo)識符可以是“RBridge標(biāo)識符”。TRILL標(biāo)準(zhǔn)使用“RBridge ID”來表示被分配給RBridge的48位中間系統(tǒng)至中間系統(tǒng)(IS-1S) ID,并且使用“RBridge別名”來表示用作用于“RBridge ID”的縮寫的16位值。在本公開內(nèi)容中,“交換機標(biāo)識符”用作一般術(shù)語,不限于任何比特形式,并且可以指代可以識別交換機的任何格式。術(shù)語“RBridge標(biāo)識符”在一般意義上使用,不限于任何比特形式,并且可以指代“RBridge ID”、“RBridge別名”或可以識別RBridge的任何其他格式。
[0043]術(shù)語“以太網(wǎng)Fabric交換機”指代形成單個可擴展邏輯交換機的大量互連的物理交換機。在Fabric交換機中,可以用任意拓?fù)鋪磉B接任何數(shù)目的交換機,并且整個交換機組一起用作一個單個邏輯交換機。這一特征使得能夠使用很多較小的、不昂貴的交換機來構(gòu)造大型Fabric交換機,其在外部可以被視為單個邏輯交換機。
[0044]網(wǎng)絡(luò)架構(gòu)
[0045]圖1A圖示根據(jù)本發(fā)明的實施例的具有動態(tài)服務(wù)插入能力的示例性Fabric交換機。如圖1所示,F(xiàn)abric交換機100包括成員交換機101、102、103、104和105。Fabric交換機中的成員交換機使用邊緣端口來通信至端設(shè)備,并且使用交換機間端口來通信至其他成員交換機。例如,交換機102經(jīng)由邊緣端口耦合至端設(shè)備190,并且經(jīng)由交換機間端口耦合至交換機101、104。端設(shè)備190的示例包括但不限于層2交換機、層3路由器、架頂交換機和物理或虛擬宿主機。在一些實施例中,F(xiàn)abric交換機100為TRILL網(wǎng)絡(luò);交換機101、102、103、104和105為RBridge ;并且經(jīng)由交換機間端口發(fā)送和接收的數(shù)據(jù)幀被封裝在TRILL頭中。
[0046]裝置122和124向Fabric交換機100提供服務(wù)152并且分別耦合至成員交換機101和105。類似地,裝置132和134向Fabric交換機100提供服務(wù)153并且分別耦合至成員交換機101和104。服務(wù)的示例包括但不限于防火墻、負(fù)載平衡、入侵檢測/保護、網(wǎng)絡(luò)分析和網(wǎng)絡(luò)虛擬化。雖然裝置134為物理機,然而裝置132為在物理機131上運行的虛擬機。因此,F(xiàn)abric交換機100可以從物理和虛擬設(shè)備接收相同的服務(wù)(例如,服務(wù)153)。
[0047]在一些實施例中,在裝置諸如裝置122被添加至交換機101時,交換機101創(chuàng)建通知消息,通知消息規(guī)定對應(yīng)的服務(wù)152和裝置122與交換機101的關(guān)聯(lián)關(guān)系。交換機101然后將這一通知消息發(fā)送給Fabric交換機100中的其他交換機。在接收到消息時,相應(yīng)的交換機諸如交換機102使服務(wù)152與交換機101關(guān)聯(lián)。在操作期間,交換機102從端設(shè)備190接收術(shù)語要求服務(wù)152的子網(wǎng)的數(shù)據(jù)幀。交換機102識別交換機101要與服務(wù)152關(guān)聯(lián),并且將數(shù)據(jù)幀轉(zhuǎn)發(fā)給交換機101。因此,在被連接至Fabric交換機100時,裝置122自動向Fabric交換機100的所有成員交換機提供服務(wù)152及其關(guān)聯(lián)功能。這樣,可以將服務(wù)152動態(tài)地插入Fabric交換機100而沒有配置Fabric交換機100中的各個交換機。
[0048]在一些實施例中,可以將向Fabric交換機100提供服務(wù)的裝置虛擬化為單個虛擬裝置。在圖1A中的示例中,當(dāng)裝置122和124耦合至Fabric交換機100時,交換機101和105彼此連同地將裝置122和124虛擬化為經(jīng)由虛擬成員交換機112耦合至Fabric交換機100的虛擬裝置120。與虛擬交換機關(guān)聯(lián)的交換機可以被稱為合作交換機。例如,交換機101和105為與虛擬交換機112關(guān)聯(lián)的合作交換機。交換機101和105向Fabric交換機100中的其他交換機發(fā)送關(guān)于虛擬交換機112和虛擬裝置120的通知消息。一個這樣的消息指出虛擬裝置120與服務(wù)152關(guān)聯(lián)并且耦合至虛擬交換機112。相同的或不同的消息另外指出虛擬交換機112經(jīng)由交換機101和105可獲得。一旦接收到通知消息,其他交換機則變得知道服務(wù)152、關(guān)聯(lián)的虛擬裝置120和虛擬交換機112。類似地,裝置132和134被虛擬化為耦合至虛擬交換機113的虛擬裝置130,虛擬交換機113經(jīng)由交換機101和104可獲得。Fabric交換機中的交換機虛擬化及其關(guān)聯(lián)操作諸如數(shù)據(jù)幀轉(zhuǎn)發(fā)在題為“RedundantHost Connect1n in a Routed Network” 的美國專利申請 N0.2010/0246388 中指出,其全部公開內(nèi)容通過引用合并到本文中。
[0049]在操作期間,交換機102從端設(shè)備190接收屬于要求服務(wù)152的子網(wǎng)的數(shù)據(jù)幀。交換機102識別出虛擬裝置120要與服務(wù)152關(guān)聯(lián)。交換機152還識別出虛擬裝置120耦合至虛擬交換機112。交換機102然后簡單地向虛擬交換機112轉(zhuǎn)發(fā)數(shù)據(jù)幀。在一些實施例中,交換機102將數(shù)據(jù)幀封裝在TRILL分組中。數(shù)據(jù)幀然后被轉(zhuǎn)發(fā)給交換機101或者交換機105。如果交換機101和105中的僅一個交換機被配置用于子網(wǎng),則數(shù)據(jù)幀被轉(zhuǎn)發(fā)給該具體的交換機。假定交換機101接收幀。交換機101又將數(shù)據(jù)幀轉(zhuǎn)發(fā)給本地耦合的裝置122,本地耦合的裝置122向數(shù)據(jù)幀提供服務(wù)152。例如,如果服務(wù)152為防火墻服務(wù),則裝置122檢查數(shù)據(jù)幀是否應(yīng)當(dāng)被轉(zhuǎn)發(fā)給子網(wǎng)。
[0050]在從裝置122接收回數(shù)據(jù)幀時,交換機101檢查數(shù)據(jù)幀是否要求任何其他服務(wù)。如果數(shù)據(jù)幀還要求服務(wù)153,則交換機101將可以提供服務(wù)153的裝置132識別為本地裝置并且將數(shù)據(jù)幀轉(zhuǎn)發(fā)給裝置132。當(dāng)交換機101從裝置132接收回數(shù)據(jù)幀時,交換機101檢查數(shù)據(jù)幀是否要求任何其他服務(wù)。如果沒有,則交換機101朝著其目的地轉(zhuǎn)發(fā)數(shù)據(jù)幀。這樣,F(xiàn)abric交換機100從裝置122、124、132和134接收服務(wù)而沒有配置Fabric交換機100中的各個交換機。
[0051]虛擬交換機112使得交換機102、103和104能夠簡單地向虛擬交換機112轉(zhuǎn)發(fā)屬于要求服務(wù)152的子網(wǎng)的數(shù)據(jù)幀。數(shù)據(jù)幀基于Fabric交換機100的路由策略到達交換機101或交換機105。在一些實施例中,虛擬裝置120可以邏輯上耦合至交換機101和105而非虛擬交換機112。在這樣的場景下,交換機101和105向交換機102、103和104廣告虛擬裝置120為本地耦合的裝置,而非創(chuàng)建虛擬交換機112。因此,交換機102、103和104向交換機101或交換機105發(fā)送屬于要求服務(wù)152的子網(wǎng)的數(shù)據(jù)幀。然而,如果沒有虛擬交換機112,則相應(yīng)的交換機需要明確地選擇交換機101或交換機105為用于發(fā)送數(shù)據(jù)幀的外出RBridge。例如,交換機102可以選擇交換機105,而交換機103可以選擇交換機101用于向虛擬裝置120轉(zhuǎn)發(fā)數(shù)據(jù)幀。
[0052]被添加至Fabric交換機100的新的裝置可以與現(xiàn)有服務(wù)或新的服務(wù)關(guān)聯(lián)。圖1B連同圖1A中的示例圖示根據(jù)本發(fā)明的實施例的如何將用于現(xiàn)有服務(wù)的新的裝置動態(tài)地添加至Fabric交換機。在這一示例中,提供現(xiàn)有服務(wù)153的裝置136被添加至Fabric交換機100。裝置136為在物理機135上運行的虛擬機。因此,添加至Fabric交換機100的新的裝置可以是虛擬機。因為虛擬裝置130和虛擬交換機113已經(jīng)與Fabric交換機100中的交換機153關(guān)聯(lián),所以交換機103知道服務(wù)153、關(guān)聯(lián)的虛擬裝置130和虛擬交換機113。在一些實施例中,交換機103向Fabric交換機100中的其他成員交換機發(fā)送詢問消息以識別與虛擬交換機113關(guān)聯(lián)的交換機(例如,交換機101和104)。
[0053]在檢測到裝置136時,交換機103連同交換機101和104而使裝置136與虛擬裝置130關(guān)聯(lián)。此外,交換機103變?yōu)榕c虛擬交換機113關(guān)聯(lián)的合作交換機。因此,其他成員交換機諸如交換機102和105仍然感覺僅一個裝置(例如,虛擬裝置130)在向Fabric交換機100提供服務(wù)153。在操作期間,交換機120從端設(shè)備190接收屬于要求服務(wù)153的子網(wǎng)的數(shù)據(jù)幀。交換機102識別出虛擬裝置130耦合至虛擬交換機113。交換機102簡單地向虛擬交換機113轉(zhuǎn)發(fā)數(shù)據(jù)幀。因為交換機103現(xiàn)在與虛擬交換機113關(guān)聯(lián),所以可以向交換機101、103和104中的任意交換機轉(zhuǎn)發(fā)數(shù)據(jù)幀。假定交換機103接收數(shù)據(jù)幀。交換機103然后將數(shù)據(jù)幀轉(zhuǎn)發(fā)給本地耦合的裝置136,其向數(shù)據(jù)幀提供服務(wù)153。
[0054]圖1C連同圖1B中的示例圖示根據(jù)本發(fā)明的實施例的如何將用于新的服務(wù)的新的裝置動態(tài)地添加至Fabric交換機。在這一示例中,提供新的服務(wù)154的裝置142被添加至Fabric交換機100。因為服務(wù)154是新的,所以在檢測到裝置142時,交換機103在Fabric交換機100中創(chuàng)建與服務(wù)154關(guān)聯(lián)的虛擬裝置140。交換機130還創(chuàng)建虛擬交換機114,并且向Fabric交換機100中的其他成員交換機發(fā)送通知消息以通知他們虛擬交換機114已經(jīng)加入Fabric交換機100并且經(jīng)由交換機103可獲得。交換機103經(jīng)由相同的或者不同的消息通知其他交換機虛擬裝置140可以向Fabric交換機100提供服務(wù)154并且耦合至虛擬交換機114。
[0055]在接收到消息時,其他交換機檢測到虛擬交換機114為另一成員交換機并且虛擬裝置140為耦合至虛擬交換機114的物理裝置。這些交換機從而更新其相應(yīng)的轉(zhuǎn)發(fā)信息。在操作期間,交換機從端設(shè)備190接收屬于要求服務(wù)154的子網(wǎng)的數(shù)據(jù)幀。交換機102識別出虛擬裝置140耦合至虛擬交換機114。交換機102然后將數(shù)據(jù)幀轉(zhuǎn)發(fā)給虛擬交換機114。因為僅交換機103與虛擬交換機114關(guān)聯(lián),所以數(shù)據(jù)幀被轉(zhuǎn)發(fā)給交換機103。當(dāng)交換機103接收到數(shù)據(jù)幀時,交換機將數(shù)據(jù)幀轉(zhuǎn)發(fā)給本地耦合的裝置142,其向數(shù)據(jù)幀提供服務(wù)154。這樣,可以僅經(jīng)由交換機130將服務(wù)154動態(tài)地插入Fabric交換機100而沒有手動配置交換機 101、102、104 和 105。
[0056]動杰服備插入
[0057]圖2圖示根據(jù)本發(fā)明的實施例的具有動態(tài)服務(wù)插入能力的Fabric交換機的示例性配置。在這一示例中,F(xiàn)abric交換機200包括交換機212、214和216。Fabric交換機200還包括交換機202、204、222和224,交換機202、204、222和224中的每個交換機具有可以耦合至外部設(shè)備的大量邊緣端口。例如,交換機202和204可以經(jīng)由以太網(wǎng)邊緣端口與端設(shè)備262和264耦合。在學(xué)習(xí)到端設(shè)備262和264的介質(zhì)訪問控制(MAC)地址時,交換機202和204與Fabric交換機200中的其余交換機共享所學(xué)習(xí)到的MAC地址。類似地,交換機222和224也經(jīng)由以太網(wǎng)邊緣端口耦合至裝置252和254。裝置252和254向Fabric交換機200提供服務(wù)270。
[0058]在一些實施例中,F(xiàn)abric交換機200中的交換機為TRILLRBridge并且使用TRILL協(xié)議彼此通信。這些RBridge具有用于與Fabric交換機200中的其他TRILL RBridge的連接的基于TRILL的交換機間端口。雖然Fabric交換機200內(nèi)的物理交換機被標(biāo)記為“TRILLRBridge”,然而它們不同于傳統(tǒng)的TRILL RBridge在于它們由RC交換機Fabric控制平面來控制。換言之,交換機地址的分配、鏈路發(fā)現(xiàn)和維護、拓?fù)渚酆?、路由和轉(zhuǎn)發(fā)可以由對應(yīng)的FC協(xié)議來處理。具體地,每個TRILL RBridge的交換機ID或別名被從對應(yīng)的FC交換機域ID來映射,F(xiàn)C交換機域ID可以在交換機加入Fabric交換機200時被自動分配(這在邏輯上類似于FC交換機Fabric)。
[0059]注意,TRILL僅用作Fabric交換機200內(nèi)的交換機之間的傳輸。這是因為TRILL可以很容易地容納本地以太網(wǎng)幀。此外,TRILL標(biāo)準(zhǔn)提供了可以在具有任意拓?fù)涞娜我饴酚删W(wǎng)絡(luò)中使用的即時可用轉(zhuǎn)發(fā)機制(雖然Fabric交換機200中的實際路由是由FC交換機Fabric協(xié)議來進行的)。本發(fā)明的實施例并不應(yīng)當(dāng)限于使用僅TRILL作為傳輸。其他協(xié)議(諸如多協(xié)議標(biāo)記交換(MPLS)或因特網(wǎng)協(xié)議(IP))、或者是公共協(xié)議或者是私有協(xié)議也可以用于傳輸。
[0060]當(dāng)裝置252和254耦合至Fabric交換機200時,交換機222和224相互連同地將裝置252和254虛擬化為經(jīng)由虛擬成員交換機240耦合至Fabric交換機200的虛擬裝置250。在一些實施例中,虛擬交換機240為TRILL RBridge并且被分配以虛擬RBridge標(biāo)識符 245。RBridge 222 和 224 向 RBridge 202、204、212、214 和 216 發(fā)送通知消息。通知消息指出與RBridge標(biāo)識符245關(guān)聯(lián)的虛擬RBridge 240經(jīng)由RBridge 222和224可獲得。RBridge 222和224在相同的消息或者不同的通知消息中指出虛擬裝置250與服務(wù)270關(guān)聯(lián)并且耦合至虛擬交換機240。
[0061]假定端設(shè)備262和264屬于要求服務(wù)270的子網(wǎng)。在操作期間,端設(shè)備262向端設(shè)備264發(fā)送數(shù)據(jù)幀。RBridge 202接收數(shù)據(jù)幀并且檢測服務(wù)270對于數(shù)據(jù)幀的要求?;趶腞Bridge 222和224接收的通知消息,RBridge 202知道虛擬裝置250和虛擬RBridge240。RBridge 202將數(shù)據(jù)幀封裝在具有作為外出RBridge標(biāo)識符的虛擬RBridge標(biāo)識符245的TRILL分組中并且向虛擬RBridge 240轉(zhuǎn)發(fā)分組。
[0062]RBridge 222經(jīng)由中間RBridge 212接收分組,并且認(rèn)識到分組待去往虛擬RBridge 240。因為虛擬RBridge與服務(wù)270關(guān)聯(lián)并且分組包括虛擬RBridge標(biāo)識符245,所以RBridge 222檢測到封裝的數(shù)據(jù)幀要求服務(wù)270。RBridge 222從TRILL分組中提取數(shù)據(jù)幀并且將數(shù)據(jù)幀轉(zhuǎn)發(fā)給本地耦合的裝置252。在從裝置252接收回數(shù)據(jù)幀時,RBridge 222識別端設(shè)備264的目的MAC地址,將數(shù)據(jù)幀封裝在具有作為外出RBridge標(biāo)識符的RBridge204的RBridge標(biāo)識符的TRILL分組中,并且向RBridge 204轉(zhuǎn)發(fā)分組。
[0063]在圖1B和圖1C的示例中,在接收到裝置136時,交換機103識別待與現(xiàn)有服務(wù)153關(guān)聯(lián)的裝置136,并且使裝置136與對應(yīng)虛擬裝置130關(guān)聯(lián)。另一方面,在檢測到裝置142時,交換機130識別待與新的服務(wù)154關(guān)聯(lián)的裝置142,并且創(chuàng)建用于服務(wù)154的虛擬裝置140。因此,相應(yīng)的成員交換機可以在Fabric交換機中動態(tài)地添加用于現(xiàn)有服務(wù)的裝置,或者插入新的服務(wù)和對應(yīng)裝置。圖3A呈現(xiàn)圖示根據(jù)本發(fā)明的實施例的向Fabric交換機動態(tài)地添加裝置的Fabric交換機的成員交換機的處理的流程圖。在檢測到新的裝置時(操作302),交換機標(biāo)記耦合裝置的邊緣端口并且識別與裝置關(guān)聯(lián)的服務(wù)(操作304)。這樣,交換機可以對從邊緣端口接收到的數(shù)據(jù)幀進行適當(dāng)?shù)膭幼?。交換機然后檢查Fabric交換機中(操作306)是否存在服務(wù)。
[0064]如果存在服務(wù),則交換機識別與服務(wù)關(guān)聯(lián)的虛擬裝置(操作320),并且識別邏輯上耦合至虛擬裝置的虛擬交換機(操作322)。交換機識別與虛擬交換機關(guān)聯(lián)的合作交換機(操作324),并且通知合作交換機關(guān)于新耦合的裝置(操作326)。在一些實施例中,交換機發(fā)送包括關(guān)于新的裝置的信息的通知消息以通知識別的合作交換機。交換機連同合作交換機而使本地交換機與虛擬交換機關(guān)聯(lián)(操作328)。通過操作328,交換機變成邏輯上耦合至虛擬交換機,并且其他合作交換機開始將該交換機看作是用于虛擬交換機的新的合作交換機。該交換機通知Fabric交換機中的其他交換機關(guān)于要耦合至本地交換機的虛擬交換機(操作330)。因此,其他交換機可以向該交換機轉(zhuǎn)發(fā)去往虛擬交換機的數(shù)據(jù)幀。
[0065]如果不存在服務(wù),則裝置提供新的服務(wù)。交換機創(chuàng)建與服務(wù)關(guān)聯(lián)的虛擬裝置(操作310)以及創(chuàng)建在邏輯上耦合至虛擬裝置的虛擬交換機(操作312)。交換機然后生成虛擬交換機標(biāo)識符并且將虛擬交換機標(biāo)識符分配給虛擬交換機(操作314)。交換機通知其他成員交換機關(guān)于作為耦合至本地交換機的新的成員交換機的新的虛擬交換機(操作316)。在一些實施例中,交換機發(fā)送包括虛擬交換機標(biāo)識符的通知消息以通知其他成員交換機。交換機通知其他成員交換機關(guān)于提供新的服務(wù)并且耦合至虛擬交換機的新耦合的裝置(操作318)。注意,其他成員交換機可以將虛擬裝置和虛擬交換機看作是物理設(shè)備并且彼此物理率禹合。
[0066]圖3B呈現(xiàn)圖示根據(jù)本發(fā)明的實施例的動態(tài)地配置服務(wù)的Fabric交換機的成員交換機的處理的流程圖。交換機接收關(guān)于新的交換機的通知(操作352),并且接收關(guān)于提供新的服務(wù)并且耦合至新的交換機的新的裝置的通知(操作354)。交換機可以經(jīng)由單個消息或者多個消息接收這兩個通知。雖然新的交換機和新的裝置為彼此邏輯耦合的虛擬設(shè)備,然而交換機可以將裝置和交換機看作是彼此物理耦合的物理設(shè)備。交換機然后變得知道可用于Fabric的服務(wù)。因此,交換機配置本地交換機以識別屬于要求服務(wù)的子網(wǎng)的數(shù)據(jù)幀(操作356),并且配置本地交換機以將識別的數(shù)據(jù)幀轉(zhuǎn)發(fā)給新的交換機(操作358)。
[0067]執(zhí)行序列
[0068]當(dāng)多個服務(wù)與Fabric交換機關(guān)聯(lián)時,服務(wù)可以要求具體的執(zhí)行序列。這樣的序列可以基于服務(wù)的相互依賴性和/或優(yōu)先權(quán)。圖4圖示根據(jù)本發(fā)明的實施例的Fabric交換機中的動態(tài)地插入的服務(wù)之間的示例性執(zhí)行序列。如圖4所示,Fabric交換機400包括成員交換機401、402、403、404和405。端設(shè)備492和494分別經(jīng)由成員交換機402和405耦合至Fabric交換機400。端設(shè)備492和494的示例包括但不限于層2交換機、層3路由器、架頂交換機和物理或虛擬宿主機。在一些實施例中,F(xiàn)abric交換機400為TRILL網(wǎng)絡(luò);交換機401、402、403、404和405為RBridge ;并且經(jīng)由交換機間端口發(fā)送和接收的數(shù)據(jù)幀被封裝在TRILL頭中。
[0069]裝置422和424向Fabric交換機400提供服務(wù)152并且分別耦合至成員交換機401和404。類似地,裝置432和434向Fabric交換機400提供服務(wù)453并且分別耦合至成員交換機403和404 ;裝置442向Fabric交換機400提供服務(wù)454并且耦合至成員交換機403。服務(wù)的示例包括但不限于防火墻、負(fù)載平衡、入侵檢測/保護、網(wǎng)絡(luò)分析和網(wǎng)絡(luò)虛擬化。雖然裝置434為物理機,然而裝置432為在物理機431上運行的虛擬機。交換機401和404彼此連同地將裝置422和424虛擬化為經(jīng)由虛擬成員交換機412耦合至Fabric交換機400的虛擬裝置420。類似地,裝置432和434被虛擬化為耦合至虛擬交換機413的虛擬裝置430 ;裝置442被虛擬化為耦合至虛擬交換機414的虛擬裝置440。
[0070]Fabric交換機400的成員交換機的中的任何成員交換機諸如交換機402可以接收用于子網(wǎng)的服務(wù)配置。在一些實施例中,網(wǎng)絡(luò)管理員向交換機402提供服務(wù)配置(例如,用服務(wù)配置來配置交換機402)。在這一示例中,服務(wù)配置指出屬于子網(wǎng)的數(shù)據(jù)幀要求服務(wù)452、453和454。配置還指出要求的服務(wù)的序列為服務(wù)452、454和453。例如,如果服務(wù)452,453和454與防火墻、負(fù)載平衡和入侵檢測對應(yīng),則服務(wù)的序列指出屬于子網(wǎng)的相應(yīng)的數(shù)據(jù)幀應(yīng)當(dāng)首先被用防火墻過濾,然后檢查侵入,并且最終基于負(fù)載平衡器中的配置的策略被轉(zhuǎn)發(fā)。
[0071]在操作期間,交換機從端設(shè)備492接收屬于子網(wǎng)并且去往端設(shè)備494的數(shù)據(jù)幀。交換機402將被要求用于數(shù)據(jù)幀的初始服務(wù)識別為服務(wù)452,其與虛擬裝置420關(guān)聯(lián)。交換機402還識別出虛擬裝置420耦合至虛擬交換機412。交換機402將數(shù)據(jù)幀轉(zhuǎn)發(fā)給虛擬交換機412。數(shù)據(jù)幀基于Fabric交換機400的內(nèi)部路由策略而被轉(zhuǎn)發(fā)給交換機401。交換機401將所接收的數(shù)據(jù)幀識別為要去往虛擬交換機412,并且認(rèn)識到數(shù)據(jù)幀要求服務(wù)452。交換機401經(jīng)由端口 462將數(shù)據(jù)幀轉(zhuǎn)發(fā)給裝置422,裝置422向數(shù)據(jù)幀提供服務(wù)452。例如,如果服務(wù)452為防火墻服務(wù),則裝置452檢查數(shù)據(jù)幀是否應(yīng)當(dāng)被過濾或轉(zhuǎn)發(fā)給子網(wǎng)。因為裝置422經(jīng)由端口 462耦合至交換機401,所以當(dāng)交換機401經(jīng)由端口 462接收回數(shù)據(jù)幀時,交換機401檢測到裝置422已經(jīng)完成服務(wù)452。
[0072]交換機401檢查用于子網(wǎng)的下一要求的服務(wù)(如果存在),并且識別服務(wù)454為下一服務(wù)。交換機401識別與服務(wù)454關(guān)聯(lián)的虛擬裝置440。交換機401還識別出虛擬裝置440耦合至虛擬交換機414。交換機401將數(shù)據(jù)幀轉(zhuǎn)發(fā)給虛擬交換機414。交換機403接收幀并且檢測到數(shù)據(jù)幀要求服務(wù)454。交換機403經(jīng)由端口 464將數(shù)據(jù)幀轉(zhuǎn)發(fā)給裝置442,裝置442又向數(shù)據(jù)幀提供服務(wù)454。因為裝置442經(jīng)由端口 464耦合至交換機403,所以當(dāng)交換機403經(jīng)由端口 464接收回數(shù)據(jù)幀時,交換機403檢測到裝置442已經(jīng)完成服務(wù)454。
[0073]然后,交換機403檢查用于子網(wǎng)的下一要求的服務(wù)(如果存在),并且識別下一服務(wù)為服務(wù)453,服務(wù)453與耦合至虛擬交換機413的虛擬裝置430關(guān)聯(lián)。因為交換機403為與虛擬交換機413關(guān)聯(lián)的合作交換機,所以交換機403識別本地耦合的裝置432并且經(jīng)由端口 466將數(shù)據(jù)幀轉(zhuǎn)發(fā)給裝置432。當(dāng)交換機403經(jīng)由端口 466接收到數(shù)據(jù)幀時,交換機403認(rèn)識到裝置432已經(jīng)完成服務(wù)453。一旦完成服務(wù),則交換機403基于端設(shè)備494的MAC地址向外出交換機405轉(zhuǎn)發(fā)數(shù)據(jù)幀。
[0074]圖5A呈現(xiàn)圖示根據(jù)本發(fā)明的實施例的在Fabric交換機中的動態(tài)地插入的服務(wù)之間分配用于子網(wǎng)的執(zhí)行序列的成員交換機的處理的流程圖。一旦接收到用于子網(wǎng)的服務(wù)配置(操作502),則交換機識別用于與子網(wǎng)關(guān)聯(lián)的服務(wù)的執(zhí)行序列(操作504)。在一些實施例中,相應(yīng)的成員交換機可以屬于一個或多個子網(wǎng)。交換機可以可選地識別屬于子網(wǎng)的成員交換機(操作506)。交換機創(chuàng)建包括執(zhí)行序列的通知消息(操作508),并且將該消息發(fā)送給各個成員交換機(操作510)。消息可以是專用于Fabric交換機的控制消息。在一些實施例中,交換機將消息僅發(fā)送給屬于子網(wǎng)的成員交換機。
[0075]圖5B呈現(xiàn)圖示根據(jù)本發(fā)明的實施例的在Fabric交換機中的動態(tài)地插入的服務(wù)之間配置用于子網(wǎng)的執(zhí)行序列的成員交換機的處理的流程圖。交換機首先接收用于子網(wǎng)的服務(wù)的執(zhí)行序列(操作552)。交換機可以從來自另一成員交換機的本地配置或通知消息接收執(zhí)行序列,如連同圖5A所描述的。交換機檢查序列中的初始服務(wù)是否為本地可用(操作554)。如果提供服務(wù)的裝置耦合至交換機,則服務(wù)為本地可用。如果服務(wù)不是本地可用,則交換機識別與初始服務(wù)關(guān)聯(lián)的虛擬裝置和對應(yīng)的虛擬交換機(操作556)。注意,交換機可以將虛擬裝置和虛擬交換機看作是物理設(shè)備并且彼此物理耦合。本地交換機配置其自身以將子網(wǎng)的數(shù)據(jù)幀(即,屬于子網(wǎng)的數(shù)據(jù)幀)轉(zhuǎn)發(fā)給所識別的虛擬交換機(操作558)。如果服務(wù)為本地可用,則本地交換機配置其自身以將子網(wǎng)的幀轉(zhuǎn)發(fā)給與初始服務(wù)關(guān)聯(lián)的本地裝置(操作560) ο
[0076]交換機檢查序列是否具有任何其他服務(wù)(操作562)。如果序列具有更多操作,則交換機配置本地交換機以識別子網(wǎng)的從與當(dāng)前服務(wù)關(guān)聯(lián)的虛擬或本地交換機依次接收的幀(操作564)。例如,如果交換機為與虛擬交換機關(guān)聯(lián)的合作交換機,則交換機可以本地識別幀,如連同圖4所描述的。操作564確保交換機維護執(zhí)行序列并且促進對執(zhí)行序列的配置中的可能的錯誤的檢測。
[0077]交換機檢查序列中的下一服務(wù)是否為本地可用(操作566)。如果服務(wù)不是本地可用,則交換機識別與服務(wù)關(guān)聯(lián)的虛擬裝置和對應(yīng)的虛擬交換機(操作568)。注意,交換機可以將虛擬裝置和虛擬交換機看作是物理設(shè)備并且彼此物理耦合。本地交換機配置其自身以將所識別的數(shù)據(jù)幀轉(zhuǎn)發(fā)給所識別的虛擬交換機(操作570)。如果服務(wù)為本地可用,則本地交換機配置其自身以將所識別的幀轉(zhuǎn)發(fā)給與服務(wù)關(guān)聯(lián)的本地裝置(操作572)。交換機檢查序列是否具有任何其他服務(wù)(操作562),并且繼續(xù)配置用于下一服務(wù)的本地交換機(如果存在)。
[0078]數(shù)據(jù)帔處理
[0079]在圖2的示例中,成員交換機202和222經(jīng)由其相應(yīng)的邊緣端口耦合端設(shè)備和裝置。因此,成員交換機需要區(qū)分耦合端設(shè)備和裝置的邊緣端口。圖6A呈現(xiàn)圖示根據(jù)本發(fā)明的實施例的處理從邊緣端口接收的數(shù)據(jù)幀的Fabric交換機的成員交換機的處理的流程圖。一旦經(jīng)由邊緣端口接收到數(shù)據(jù)幀(操作602),則交換機檢查邊緣端口是否耦合裝置(操作604)。在一些實施例中,交換機標(biāo)記耦合裝置的邊緣端口以區(qū)分該端口與其他邊緣端口,如連同圖3A所描述的。
[0080]如果端口沒有耦合裝置,則從端設(shè)備接收數(shù)據(jù)幀。交換機識別數(shù)據(jù)幀屬于其的子網(wǎng)(操作606),并且識別被要求用于數(shù)據(jù)幀的初始服務(wù)(操作608)。對于相應(yīng)的子網(wǎng),交換機可以被配置有所要求的服務(wù)及其對應(yīng)的執(zhí)行序列,如連同圖5B所描述的。交換機檢查服務(wù)是否本地可用(操作610)。如果提供服務(wù)的裝置耦合至本地邊緣端口,則服務(wù)為本地可用。如果服務(wù)不是本地可用,則交換機識別與服務(wù)關(guān)聯(lián)的虛擬裝置(操作612),并且將幀轉(zhuǎn)發(fā)給耦合至虛擬裝置的虛擬交換機(操作614)。
[0081]如果服務(wù)為本地可用,則交換機識別耦合與服務(wù)關(guān)聯(lián)的裝置的本地邊緣端口(操作616),并且將幀發(fā)送給所識別的邊緣端口(操作618)。如果端口耦合裝置(操作604),則幀在服務(wù)完成之后來自本地裝置。當(dāng)交換機從耦合裝置的邊緣端口接收到數(shù)據(jù)幀時,交換機檢測到裝置已經(jīng)完成關(guān)聯(lián)的服務(wù)并且數(shù)據(jù)幀準(zhǔn)備好用于另外的處理。例如,如果裝置為防火墻并且如果數(shù)據(jù)幀不應(yīng)當(dāng)被轉(zhuǎn)發(fā)給子網(wǎng),則數(shù)據(jù)幀在防火墻處被過濾。如果交換機經(jīng)由耦合防火墻的邊緣端口接收回數(shù)據(jù)幀,則交換機感到該幀“可以許可”用于轉(zhuǎn)發(fā)給子網(wǎng)。
[0082]交換機檢查用于子網(wǎng)的執(zhí)行序列是否具有任何其他服務(wù)(操作620)。如果有,則交換機檢查該服務(wù)是否為本地可用(操作610),并且繼續(xù)對幀進行動作。如果用于子網(wǎng)的執(zhí)行序列不具有任何其他服務(wù),則幀準(zhǔn)備好用于轉(zhuǎn)發(fā)給其目的地。交換機檢查幀的目的地是否為本地(操作622)。如果目的地為本地,則交換機基于數(shù)據(jù)幀的目的地MAC地址發(fā)送幀(操作624)。例如,當(dāng)目的地為本地端設(shè)備時,交換機將幀發(fā)送給邊緣端口,從該邊緣端口交換機已經(jīng)了解到端設(shè)備的MAC地址。如果真的目的地不是本地,則交換機識別與目的地關(guān)聯(lián)的組成外出交換機(操作626),并且將數(shù)據(jù)幀轉(zhuǎn)發(fā)給外出交換機(操作628)。因為Fabric交換機中的各個成員交換機與其他成員交換機共享本地了解到的MAC地址,所以各個成員交換機知道耦合至整個Fabric交換機的所有端設(shè)備。在一些實施例中,交換機將數(shù)據(jù)幀封裝在TRILL分組中,將外出交換機的標(biāo)識符設(shè)置為分組的外出RBridge標(biāo)識符,并且將分組轉(zhuǎn)發(fā)給外出RBridge。
[0083]圖6B呈現(xiàn)圖示根據(jù)本發(fā)明的實施例的處理從交換機間端口接收的數(shù)據(jù)幀的Fabric交換機的成員交換機的處理的流程圖。一旦經(jīng)由交換機間端口接收到數(shù)據(jù)幀(操作652),則交換機檢查用于所接收到的數(shù)據(jù)幀的外出交換機是否為本地交換機(操作654)。如果是,則交換機基于數(shù)據(jù)幀的目的地MAC地址發(fā)送數(shù)據(jù)幀(操作672),如連同圖6A所描述的。如果外出交換機為本地交換機,則交換機檢查用于所接收到的數(shù)據(jù)幀的外出交換機是否為虛擬交換機(操作656)。在一些實施例中,所接收到的數(shù)據(jù)幀被封裝在TRILL分組中,并且交換機基于分組的外出RBridge標(biāo)識符確定用于所接收到的幀的外出交換機是否為本地或虛擬交換機。
[0084]如果幀的外出交換機不是本地或虛擬交換機,則數(shù)據(jù)幀去往另一交換機。交換機基于外出交換機標(biāo)識符將數(shù)據(jù)幀轉(zhuǎn)發(fā)給下一跳交換機(操作674)。在一些實施例中,數(shù)據(jù)幀被封裝在TRILL分組中。在這樣的場景下,交換機基于分組的外出RBridge標(biāo)識符來識別下一跳交換機,并且將下一跳交換機的MAC地址設(shè)置為分組的外部MAC地址。如果幀的外出交換機不是本地交換機而是虛擬交換機(操作654和656),則交換機檢查虛擬交換機是否在邏輯上耦合至虛擬裝置(操作658)。如果幀的外出交換機不是本地交換機而是邏輯上耦合至虛擬裝置的虛擬交換機,則交換機識別與在邏輯上耦合至虛擬交換機的虛擬裝置關(guān)聯(lián)的本地裝置(操作662),并且將數(shù)據(jù)幀發(fā)送給耦合所識別的裝置的邊緣端口(操作664)。
[0085]如果幀的外出交換機不是本地交換機而是沒有在邏輯上耦合至虛擬裝置的虛擬交換機(操作654、656和658),則虛擬交換機與該交換機的不同的特征關(guān)聯(lián),諸如,如名稱為“Redundant Host Connect1n in a Routed Network,,的美國專利公開第2010/0246388號中所指出的虛擬鏈路聚合,或者如發(fā)明人Phanidhar Koganti和Suresh Vobbilisetty于2012年 11 月 05 日提交的名稱為“Integrated Fiber Channel Support in an EthernetFabric Switch”的美國專利申請第13/669,357號,代理人案號BRCD-3122.1.US.NP中所指出的存儲網(wǎng)絡(luò)虛擬化,其公開內(nèi)容通過引用合并到本文中。因此,交換機基于與虛擬交換機關(guān)聯(lián)的交換機特征來轉(zhuǎn)發(fā)數(shù)據(jù)幀(操作676)。
[0086]示例件切換
[0087]圖7圖示根據(jù)本發(fā)明的實施例的Fabric交換機中的具有動態(tài)服務(wù)插入能力的示例性成員交換機。在這一示例中,交換機700包括大量通信端口 702、序列模塊720、服務(wù)管理模塊730、分組處理器710和儲存器750。在一些實施例中,交換機700可以維護Fabric交換機中的成員資格,其中交換機700還包括Fabric交換機管理模塊760。Fabric交換機管理模塊760維護儲存器750中的配置數(shù)據(jù)庫,配置數(shù)據(jù)庫維護Fabric交換機內(nèi)的各個交換機的配置狀態(tài)。Fabric交換機管理模塊760維護Fabric交換機的狀態(tài),其用于連結(jié)其他交換機。在這樣的場景下,通信端口 702可以包括用于Fabric交換機內(nèi)的通信的交換機間通信信道。這一交換機間通信信道可以基于任何公開或私有格式經(jīng)由普通通信端口來實現(xiàn)。
[0088]在操作期間,服務(wù)管理模塊730檢測經(jīng)由通信端口 702之一耦合至交換機700的裝置。服務(wù)管理模塊730識別由該裝置提供的服務(wù)。在檢測到裝置時,分組處理器710構(gòu)建包括關(guān)于服務(wù)和用于Fabric交換機中的遠(yuǎn)程交換機的裝置的信息的通知消息。當(dāng)遠(yuǎn)程交換機接收到通知消息時,遠(yuǎn)程交換機動態(tài)地配置本地交換機以向交換機700發(fā)送要求服務(wù)的相應(yīng)的數(shù)據(jù)幀。一旦接收到屬于要求服務(wù)的子網(wǎng)的數(shù)據(jù)幀,則分組處理器710經(jīng)由通信端口將分組轉(zhuǎn)發(fā)給裝置。當(dāng)分組處理器710經(jīng)由同一通信端口接收回數(shù)據(jù)幀時,服務(wù)管理模塊730將該服務(wù)看作是對于數(shù)據(jù)幀待完成,如連同圖2所描述的。
[0089]在一些實施例中,交換機還包括虛擬化模塊732、其將裝置或提供服務(wù)的任何其他裝置虛擬化為一個虛擬裝置,如連同圖3A所描述的。虛擬化模塊732還可以將交換機和Fabric交換機中與服務(wù)關(guān)聯(lián)的任何其他交換機虛擬化為虛擬交換機,如連同圖3A所描述的。在這樣做時,虛擬化模塊732生成用于虛擬交換機的虛擬標(biāo)識符。分組處理器710呈現(xiàn)待耦合至虛擬裝置的虛擬交換機的第二通知消息。
[0090]當(dāng)Fabric交換機中的不同的成員交換機通知交換機700關(guān)于第二服務(wù)時,分組處理器將屬于要求第二服務(wù)的子網(wǎng)的相應(yīng)的數(shù)據(jù)幀轉(zhuǎn)發(fā)給該成員交換機。這一其他成員交換機可以是由虛擬交換機標(biāo)識符識別的虛擬交換機。在一些實施例中,虛擬交換機標(biāo)識符為虛擬RBridge標(biāo)識符。在這樣的場景下,分組處理器710將數(shù)據(jù)幀封裝在具有作為分組的外出RBridge標(biāo)識符的虛擬RBridge標(biāo)識符TRILL分組中,如連同圖2所描述的。序列模塊720 —旦接收到與子網(wǎng)關(guān)聯(lián)的執(zhí)行序列則基于這一序列確定是否將屬于子網(wǎng)的數(shù)據(jù)幀轉(zhuǎn)發(fā)給耦合至虛擬交換機的裝置,如連同圖5B所描述的。
[0091]注意,上述模塊可以用硬件以及軟件來實現(xiàn)。在實施例中,這些模塊可以用存儲在耦合至交換機700中的一個或多個處理器的存儲器中的計算機可執(zhí)行指令來實施。在執(zhí)行時,這些指令使得處理器執(zhí)行上述功能。
[0092]總之,本發(fā)明的實施例提供了一種交換機和一種用于在以太網(wǎng)Fabric交換機中進行動態(tài)服務(wù)插入的方法。在實施例中,交換機包括服務(wù)管理模塊和分組處理器。在操作期間,服務(wù)管理模塊識別由經(jīng)由本地端口耦合至交換機的裝置提供的服務(wù)。分組處理器構(gòu)建用于遠(yuǎn)程交換機的通知消息。通知消息包括關(guān)于服務(wù)和裝置的信息。這樣,交換機使得遠(yuǎn)程交換機能夠請求服務(wù)。
[0093]本文中所描述的方法和處理可以實施為代碼和/或數(shù)據(jù),代碼和/或數(shù)據(jù)可以存儲在計算機可讀非瞬態(tài)存儲介質(zhì)中。在計算機系統(tǒng)讀取并且執(zhí)行存儲在計算機可讀非瞬態(tài)存儲介質(zhì)上的代碼和/或數(shù)據(jù)時,計算機系統(tǒng)執(zhí)行被實施為數(shù)據(jù)結(jié)構(gòu)和代碼并且存儲在介質(zhì)內(nèi)的方法和處理。
[0094]本文中所描述的方法和處理可以由硬件模塊或裝置來執(zhí)行和/或包括在硬件模塊或裝置中。這些模塊或裝置可以包括但不限于專用集成電路(ASIC)芯片、現(xiàn)場可編程門陣列(FPGA)、在特定時間執(zhí)行特定軟件模塊或一段代碼的專用或共享處理器、和/或現(xiàn)在已知或稍后開發(fā)的其他可編程邏輯器件。當(dāng)硬件模塊或裝置被激活時,它們執(zhí)行這些方法和其中所包括的處理。
[0095]已經(jīng)僅出于說明和描述的目的呈現(xiàn)了對本發(fā)明的實施例的以上描述。它們并非意在盡述或限制本公開內(nèi)容。因此,對于本領(lǐng)域技術(shù)人員而言,很多修改和變化都是清楚的。本發(fā)明的范圍由所附權(quán)利要求來定義。
【權(quán)利要求】
1.一種交換機,包括: 服務(wù)管理模塊,被配置成識別由經(jīng)由本地端口耦合至所述交換機的裝置提供的服務(wù);以及 分組處理器,耦合至所述服務(wù)管理模塊并且可配置成構(gòu)造用于遠(yuǎn)程交換機的通知消息,其中所述通知消息包括關(guān)于所述服務(wù)和所述裝置的信息,從而使得所述遠(yuǎn)程交換機能夠請求所述服務(wù)。
2.根據(jù)權(quán)利要求1所述的交換機,還包括虛擬化模塊,所述虛擬化模塊可配置成連同所述分組處理器來操作以在所述通知消息中將所述裝置表示為虛擬裝置,其中所述虛擬裝置與提供所述服務(wù)的一個或多個裝置關(guān)聯(lián)。
3.根據(jù)權(quán)利要求2所述的交換機,其中所述分組處理器還可配置成構(gòu)造包括虛擬交換機的虛擬標(biāo)識符的第二通知消息; 其中所述虛擬交換機與所述交換機關(guān)聯(lián)并且被呈現(xiàn)為耦合至所述虛擬裝置;以及 其中所述虛擬化模塊還可配置成生成所述虛擬標(biāo)識符。
4.根據(jù)權(quán)利要求3所述的交換機,其中所述虛擬交換機還與第二交換機關(guān)聯(lián);以及 其中所述第二交換機本地耦合至能夠提供所述服務(wù)并且與所述虛擬裝置關(guān)聯(lián)的第二>j-U ρ?α裝直。
5.根據(jù)權(quán)利要求1所述的交換機,其中所述分組處理器還可配置成: 提取關(guān)于第二服務(wù)和第三裝置的信息,其中所述第三裝置能夠提供所述第二服務(wù)并且耦合至第三交換機;以及 向所述第三交換機轉(zhuǎn)發(fā)要求所述第二服務(wù)的相應(yīng)的數(shù)據(jù)幀。
6.根據(jù)權(quán)利要求5所述的交換機,還包括序列模塊,所述序列模塊可配置成: 接收用于所述服務(wù)和所述第二服務(wù)的執(zhí)行序列,其中所述序列與子網(wǎng)關(guān)聯(lián);以及 基于所述序列確定是否向所述裝置或所述第三裝置轉(zhuǎn)發(fā)屬于所述子網(wǎng)的數(shù)據(jù)幀。
7.根據(jù)權(quán)利要求5所述的交換機,其中所述分組處理器還可配置成將所述數(shù)據(jù)幀封裝在具有作為所述分組的外出路由橋(RBridge)標(biāo)識符的虛擬RBridge標(biāo)識符的多鏈路透明互連(TRILL)分組中;以及 其中所述虛擬RBridge標(biāo)識符對應(yīng)于所述第三交換機。
8.根據(jù)權(quán)利要求1所述的交換機,其中所述服務(wù)管理模塊還可配置成響應(yīng)于經(jīng)由所述本地端口接收到所述數(shù)據(jù)幀而確定用于所述數(shù)據(jù)幀的所述服務(wù)完成。
9.根據(jù)權(quán)利要求1所述的交換機,還包括可配置成維護Fabric交換機中的成員資格的Fabric交換機管理模塊,其中所述Fabric交換機被配置成容納多個交換機并且作為單個邏輯交換機來操作。
10.一種方法,包括: 識別由經(jīng)由本地端口耦合至交換機的裝置提供的服務(wù);以及 構(gòu)建用于遠(yuǎn)程交換機的通知消息,其中所述通知消息包括關(guān)于所述服務(wù)和所述裝置的信息,從而使得所述遠(yuǎn)程交換機能夠請求所述服務(wù)。
11.根據(jù)權(quán)利要求10所述的方法,還包括:在所述通知消息中將所述裝置表示為虛擬裝置,其中所述虛擬裝置與提供所述服務(wù)的一個或多個裝置關(guān)聯(lián)。
12.根據(jù)權(quán)利要求11所述的方法,還包括: 生成與虛擬交換機關(guān)聯(lián)的虛擬標(biāo)識符;以及 構(gòu)建包括所述虛擬標(biāo)識符的第二通知消息; 其中所述虛擬交換機與所述交換機關(guān)聯(lián)并且被呈現(xiàn)為耦合至所述虛擬裝置。
13.根據(jù)權(quán)利要求12所述的方法,其中所述虛擬交換機還與第二交換機關(guān)聯(lián);以及 其中所述第二交換機本地耦合至能夠提供所述服務(wù)并且與所述虛擬裝置關(guān)聯(lián)的第二>j-U ρ?α裝直。
14.根據(jù)權(quán)利要求10所述的方法,還包括: 提取關(guān)于第二服務(wù)和第三裝置的信息,其中所述第三裝置能夠提供所述第二服務(wù)并且耦合至第三交換機;以及 向所述第三交換機轉(zhuǎn)發(fā)要求所述第二服務(wù)的相應(yīng)的數(shù)據(jù)幀。
15.根據(jù)權(quán)利要求14所述的方法,還包括: 接收用于所述服務(wù)和所述第二服務(wù)的執(zhí)行序列,其中所述序列與子網(wǎng)關(guān)聯(lián);以及 基于所述序列確定是否向所述裝置或所述第三裝置轉(zhuǎn)發(fā)屬于子網(wǎng)的數(shù)據(jù)幀。
16.根據(jù)權(quán)利要求14所述的方法,還包括: 將所述數(shù)據(jù)幀封裝在具有作為所述分組的外出路由橋(RBridge)標(biāo)識符的虛擬RBridge標(biāo)識符的多鏈路透明互連(TRILL)分組中;以及其中所述虛擬RBridge標(biāo)識符對應(yīng)于所述第三交換機。
17.根據(jù)權(quán)利要求10所述的方法,還包括:響應(yīng)于經(jīng)由所述本地端口接收到所述數(shù)據(jù)幀而確定用于所述數(shù)據(jù)幀的所述服務(wù)完成。
18.根據(jù)權(quán)利要求10所述的方法,還包括:維護Fabric交換機中的成員資格,其中所述Fabric交換機被配置成容納多個交換機并且作為單個邏輯交換機來操作。
19.一種存儲指令的非瞬態(tài)計算機可讀存儲介質(zhì),所述指令在由計算機執(zhí)行時使所述計算機執(zhí)行用于保護數(shù)據(jù)庫配置免于不期望的修改的方法,所述方法包括: 識別由經(jīng)由本地端口耦合至交換機的裝置提供的服務(wù);以及 構(gòu)建用于遠(yuǎn)程交換機的通知消息,其中所述通知消息包括關(guān)于所述服務(wù)和所述裝置的信息,從而使得所述遠(yuǎn)程交換機能夠請求所述服務(wù)。
20.根據(jù)權(quán)利要求19所述的計算機可讀存儲介質(zhì),其中所述方法還包括: 在所述通知消息中將所述裝置表示為虛擬裝置,其中所述虛擬裝置與提供所述服務(wù)的一個或多個裝置關(guān)聯(lián);以及 構(gòu)建包括與虛擬交換機關(guān)聯(lián)的虛擬標(biāo)識符的第二通知消息; 其中所述虛擬交換機與所述交換機關(guān)聯(lián)并且被呈現(xiàn)為耦合至所述虛擬裝置。
【文檔編號】H04L12/931GK104272684SQ201380016989
【公開日】2015年1月7日 申請日期:2013年2月26日 優(yōu)先權(quán)日:2012年2月27日
【發(fā)明者】P·科甘蒂, S·沃比利塞蒂 申請人:博科通訊系統(tǒng)有限公司