本申請要求2015年1月27日遞交的發(fā)明名稱為“網(wǎng)絡(luò)基礎(chǔ)設(shè)施的網(wǎng)絡(luò)虛擬化”的第14/606,329號美國非臨時專利申請案的在先申請優(yōu)先權(quán),該在先申請的內(nèi)容以引用的方式并入本文本中。
本申請涉及網(wǎng)絡(luò)管理技術(shù),尤其涉及邏輯網(wǎng)絡(luò)的配置。
背景技術(shù):
數(shù)據(jù)中心提供物理網(wǎng)絡(luò)基礎(chǔ)設(shè)施給多個客戶或租戶。由于在多個租戶之間共享數(shù)據(jù)中心的物理基礎(chǔ)設(shè)施,所以租戶之間的資源以及業(yè)務(wù)隔離是對數(shù)據(jù)中心的要求。所要求的隔離可以通過網(wǎng)絡(luò)虛擬化來實現(xiàn),網(wǎng)絡(luò)虛擬化配置物理基礎(chǔ)設(shè)施來提供單獨的隔離的虛擬網(wǎng)絡(luò)。
網(wǎng)絡(luò)虛擬化可以通過各種方法和技術(shù)來實現(xiàn),例如openflow、overlay,或者如ciscoaci等其它專有技術(shù)。然而,這些方法極大地依賴于底層技術(shù)支持,而且可能依賴于使用專用硬件。因此,為了支持網(wǎng)絡(luò)虛擬化,可能需要升級網(wǎng)絡(luò)裝備,這會增加運營成本和資本支出。
技術(shù)實現(xiàn)要素:
根據(jù)本發(fā)明,提供了一種用于多租戶網(wǎng)絡(luò)環(huán)境中的網(wǎng)絡(luò)配置的方法,所述方法包括:接收業(yè)務(wù)檔案,其為所述網(wǎng)絡(luò)環(huán)境中的租戶定義網(wǎng)絡(luò)應(yīng)用需求,將所述接收到的業(yè)務(wù)檔案映射到關(guān)聯(lián)多個邏輯路由器、邏輯交換機和邏輯裝置的邏輯網(wǎng)絡(luò)實現(xiàn),將所述邏輯網(wǎng)絡(luò)實現(xiàn)映射到所述網(wǎng)絡(luò)環(huán)境中的可用網(wǎng)絡(luò)硬件上的物理網(wǎng)絡(luò)實現(xiàn),生成組件配置信息以配置所述可用網(wǎng)絡(luò)硬件來提供定義所述網(wǎng)絡(luò)應(yīng)用需求的所述業(yè)務(wù)檔案的所述物理網(wǎng)絡(luò)實現(xiàn),以及向所述可用網(wǎng)絡(luò)硬件發(fā)送所述生成的組件配置信息以實施所述物理網(wǎng)絡(luò)實現(xiàn)。
根據(jù)本發(fā)明,還提供了一種提供多租戶網(wǎng)絡(luò)環(huán)境中的網(wǎng)絡(luò)配置的計算設(shè)備,所述計算設(shè)備包括:網(wǎng)絡(luò)接口,用于與所述多租戶網(wǎng)絡(luò)環(huán)境中的計算設(shè)備通信;存儲器,用于存儲指令;以及處理器,用于執(zhí)行所述指令。所述指令在由所述處理器執(zhí)行時使所述處理器配置所述計算設(shè)備執(zhí)行以下操作:接收業(yè)務(wù)檔案,其為所述網(wǎng)絡(luò)環(huán)境中的租戶定義網(wǎng)絡(luò)應(yīng)用需求;將所述接收到的業(yè)務(wù)檔案映射到關(guān)聯(lián)多個邏輯路由器、邏輯交換機和邏輯裝置的邏輯網(wǎng)絡(luò)實現(xiàn),將所述邏輯網(wǎng)絡(luò)實現(xiàn)映射到所述網(wǎng)絡(luò)環(huán)境中的可用網(wǎng)絡(luò)硬件上的物理網(wǎng)絡(luò)實現(xiàn),生成組件配置信息以配置所述可用網(wǎng)絡(luò)硬件來提供定義所述網(wǎng)絡(luò)應(yīng)用需求的所述業(yè)務(wù)檔案的所述物理網(wǎng)絡(luò)實現(xiàn),以及向所述可用網(wǎng)絡(luò)硬件發(fā)送所述生成的組件配置信息以實施所述物理網(wǎng)絡(luò)實現(xiàn)。
附圖說明
本文參照附圖描述各實施例,在附圖中:
圖1描繪了網(wǎng)絡(luò)環(huán)境中的物理網(wǎng)絡(luò)組件;
圖2描繪了可以通過物理網(wǎng)絡(luò)組件實施的多個虛擬網(wǎng)絡(luò)的視圖;
圖3描繪了物理網(wǎng)絡(luò)組件的抽象視圖,可以用于管理圖1的物理網(wǎng)絡(luò)組件以實施圖2描繪的虛擬網(wǎng)絡(luò);
圖4描繪了網(wǎng)絡(luò)應(yīng)用的業(yè)務(wù)檔案的表示;
圖5描繪了用于管理多租戶網(wǎng)絡(luò)環(huán)境中的網(wǎng)絡(luò)配置的計算設(shè)備;
圖6描繪了用于將業(yè)務(wù)檔案映射到邏輯網(wǎng)絡(luò)定義的方法;
圖7至圖10描繪了圖6的步驟的示意表示;
圖11描繪了用于配置物理網(wǎng)絡(luò)內(nèi)的邏輯網(wǎng)絡(luò)的方法。
具體實施方式
越來越多的計算機業(yè)務(wù)或產(chǎn)品被虛擬化。通過虛擬化,單個物理計算設(shè)備,例如單個物理服務(wù)器,可以用來提供共享物理資源的多個虛擬服務(wù)器。通過虛擬化,可以更有效地使用硬件資源。除了如服務(wù)器等計算設(shè)備的虛擬化,虛擬化還可應(yīng)用于網(wǎng)絡(luò)組件,例如通過虛擬局域網(wǎng)(virtuallocalareanetwork,vlan)或虛擬擴展局域網(wǎng)(virtualextensiblelocalareanetwork,vxlan)應(yīng)用于交換機以及通過虛擬路由轉(zhuǎn)發(fā)(virtualroutingandforwarding,vrf)應(yīng)用于路由器。從最大限度使用現(xiàn)有硬件的角度來看,支持網(wǎng)絡(luò)組件的虛擬化可能是有利的;然而,這可能引入另一層配置和管理需求,目的是配置可用硬件來提供需要的虛擬網(wǎng)絡(luò)組件。
如下文進(jìn)一步描述,網(wǎng)絡(luò)虛擬化可以受益于以下能力:將租戶的網(wǎng)絡(luò)需求的基于組的策略(groupbasedpolicy,gbp)模型描述映射到中介邏輯網(wǎng)絡(luò)層。該邏輯網(wǎng)絡(luò)層提供邏輯網(wǎng)絡(luò)的網(wǎng)絡(luò)表示并且可以直接映射到可用的物理網(wǎng)絡(luò)基礎(chǔ)設(shè)施,即使在可用網(wǎng)絡(luò)基礎(chǔ)設(shè)施不支持虛擬化技術(shù)的情況下,虛擬化技術(shù)包括openflow、overlay,或者如ciscoaci等其它專有技術(shù)。網(wǎng)絡(luò)虛擬化技術(shù)支持gbp模型描述通過邏輯網(wǎng)絡(luò)層映射到物理實現(xiàn),提供這種技術(shù)的能力可以簡化虛擬網(wǎng)絡(luò)的管理,而可能不需要對支持諸如openflow、overlay或aci等特定網(wǎng)絡(luò)虛擬化技術(shù)的新網(wǎng)絡(luò)硬件進(jìn)行大量投資。
圖1描繪了網(wǎng)絡(luò)環(huán)境中的物理網(wǎng)絡(luò)組件。網(wǎng)絡(luò)環(huán)境100可以包括多租戶網(wǎng)絡(luò)設(shè)施102,其包括多個互連的物理網(wǎng)絡(luò)組件。網(wǎng)絡(luò)設(shè)施102可以連接到一個或多個網(wǎng)絡(luò)104。網(wǎng)絡(luò)設(shè)施102可以包括數(shù)據(jù)中心、互聯(lián)網(wǎng)服務(wù)提供商(internetserviceprovider,isp)網(wǎng)絡(luò)、合作網(wǎng)絡(luò)或在其中統(tǒng)一管理多個物理網(wǎng)絡(luò)組件以便向稱為租戶的多個實體提供分離網(wǎng)絡(luò)功能的任意其它網(wǎng)絡(luò)設(shè)施。術(shù)語“租戶”并不意味著各個租戶是不相關(guān)的或者不同的實體,而是指各個租戶的網(wǎng)絡(luò)需求與其它租戶的網(wǎng)絡(luò)需求獨立。不考慮租戶,多租戶網(wǎng)絡(luò)設(shè)施提供租戶之間的資源以及業(yè)務(wù)隔離,這可以通過網(wǎng)絡(luò)虛擬化來實現(xiàn)。如下文進(jìn)一步描述,在業(yè)務(wù)描述與抽象/物理硬件層之間插入邏輯網(wǎng)絡(luò)層,以在即使使用了傳統(tǒng)網(wǎng)絡(luò)組件的情況下,盡可能地簡化網(wǎng)絡(luò)虛擬化的管理,其中,業(yè)務(wù)描述包括例如租戶的簡單資源規(guī)格。
網(wǎng)絡(luò)設(shè)施102包括多個網(wǎng)絡(luò)組件,可以虛擬化多個網(wǎng)絡(luò)組件的功能以便服務(wù)多個租戶的網(wǎng)絡(luò)需求而無需公開租戶的虛擬網(wǎng)絡(luò)之間的資源、數(shù)據(jù)、業(yè)務(wù)等。多個網(wǎng)絡(luò)組件可以包括,例如多個物理路由器106a、106b、106c(統(tǒng)稱為物理路由器106)。物理路由器106包括虛擬路由轉(zhuǎn)發(fā)(virtualroutingforwarding,vrf)功能,vrf功能支持單個物理路由器同時利用多個路由表,這使得單個物理路由器能夠通過配置vrf路由器具有合適的配置信息來充當(dāng)多個單獨、獨立的路由器。
網(wǎng)絡(luò)設(shè)施102還可包括多個物理網(wǎng)絡(luò)交換機108a、108b、108c(統(tǒng)稱為物理網(wǎng)絡(luò)交換機108)。物理網(wǎng)絡(luò)交換機108提供物理連接的設(shè)備之間的切換。可以配置物理網(wǎng)絡(luò)交換機108提供的連接。此外,交換機可以用于提供虛擬局域網(wǎng)(virtuallocalareanetwork,vlan)或虛擬擴展lan(virtualextensiblelan,vxlans),這些vlan或vxlan支持物理網(wǎng)絡(luò)交換機108提供多個不同的、隔離的廣播域。vlan和vxlan支持單個虛擬網(wǎng)絡(luò)跨越多個不同的物理網(wǎng)絡(luò)交換機108,同時保持與其它vlan/vxlan業(yè)務(wù)分離。
網(wǎng)絡(luò)設(shè)施102還可包括連接到一個或多個物理網(wǎng)絡(luò)交換機108的多個物理網(wǎng)絡(luò)裝置110a、110b(統(tǒng)稱為物理網(wǎng)絡(luò)裝置110)和端點112a、112b、112c(統(tǒng)稱為端點112)。每個物理網(wǎng)絡(luò)裝置110和端點112可以通過專用計算設(shè)備或通過物理服務(wù)器來提供。一般而言,網(wǎng)絡(luò)裝置110可以包括專用計算設(shè)備和物理服務(wù)器以提供常用的網(wǎng)絡(luò)功能,例如防火墻功能、負(fù)載均衡功能、網(wǎng)絡(luò)地址轉(zhuǎn)換(networkaddresstranslation,nat)功能、入侵檢測系統(tǒng)(intrusiondetectionsystem,ids)功能以及入侵防御系統(tǒng)(intrusionpreventionsystem,ips)功能。端點112通常認(rèn)為是用來提供租戶的應(yīng)用所需要的功能。例如,端點可以包括多個物理服務(wù)器,這些服務(wù)器可以用于提供多個虛擬服務(wù)器,例如提供web服務(wù)器、應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器等,每個虛擬服務(wù)器可以由一個客戶端基于特定需求來配置。網(wǎng)絡(luò)裝置以及端點的功能可以通過虛擬機監(jiān)視器或虛擬機監(jiān)控器來虛擬化。
圖2描繪了可以通過物理網(wǎng)絡(luò)組件實施的多個虛擬網(wǎng)絡(luò)的視圖。各個租戶的兩個虛擬網(wǎng)絡(luò)202、204在圖2中描繪。兩個虛擬網(wǎng)絡(luò)202、204可以在上文參照圖1描述的網(wǎng)絡(luò)設(shè)施102的物理硬件組件上實施。雖然兩個虛擬網(wǎng)絡(luò)202、204在同一網(wǎng)絡(luò)硬件上實施,但是網(wǎng)絡(luò)虛擬化技術(shù)使每個虛擬網(wǎng)絡(luò)202、204看起來像是各個租戶,就好像它們是通過獨立的物理網(wǎng)絡(luò)組件實施的獨立物理網(wǎng)絡(luò)。
租戶1的虛擬網(wǎng)絡(luò)202可以包括多個網(wǎng)絡(luò)裝置和端點,它們組合在一起,提供租戶需要的或想要的功能。如圖所描繪,虛擬網(wǎng)絡(luò)202可以包括防火墻裝置206,其提供外網(wǎng)104與虛擬網(wǎng)絡(luò)202的內(nèi)網(wǎng)之間的防火墻。虛擬裝置還可以包括位于防火墻裝置206之后的負(fù)載均衡器208。負(fù)載均衡器208可以接收請求并且選擇兩個web服務(wù)器210、212之一以服務(wù)所接收到的請求。負(fù)載均衡器208支持在提供相同功能的多個web服務(wù)器210、212之間透明地拆分處理負(fù)載。web服務(wù)器210、212可以提供如web接口等給使用一個或多個應(yīng)用的用戶。這些應(yīng)用可以由應(yīng)用服務(wù)器216提供,應(yīng)用服務(wù)器216與web服務(wù)器210、212之間的通信可以經(jīng)過第二防火墻裝置214。應(yīng)用服務(wù)器216可以將應(yīng)用和/或業(yè)務(wù)提供給web服務(wù)器210、212。應(yīng)用服務(wù)器216可以利用數(shù)據(jù)庫服務(wù)器218來提供應(yīng)用和/或業(yè)務(wù)。應(yīng)用服務(wù)器216和數(shù)據(jù)庫服務(wù)器218可以在圖1描繪的一個或多個物理端點112上實施。
如上所述,虛擬網(wǎng)絡(luò)202將端點的通用功能組合成組,每組端點共享公共業(yè)務(wù)流策略。如圖描繪,可以認(rèn)為有3個不同層或組,即web服務(wù)器210、212提供的web層、應(yīng)用服務(wù)器216提供的應(yīng)用層和數(shù)據(jù)庫服務(wù)器218提供的數(shù)據(jù)庫層。每個層可以通過一個或多個網(wǎng)絡(luò)裝置,例如防火墻、負(fù)載均衡器和ips/ids,可通信地相互耦合。盡管擬網(wǎng)絡(luò)中的每個組件被描繪為直接連接到另一組件,但是將了解到,直接連接是虛擬的,而且負(fù)責(zé)實施虛擬組件的物理組件之間的實際物理連接可能不是直接的。因此,雖然可以將從應(yīng)用服務(wù)器216到數(shù)據(jù)庫服務(wù)器的流量作為直接虛擬連接來提供,但是物理連接可能需要相關(guān)數(shù)據(jù)在一個或多個物理交換機和路由器上傳輸。
虛擬網(wǎng)絡(luò)202描繪了web應(yīng)用的通用3層架構(gòu)。然而,可以預(yù)期到,基于租戶的需求或期望,虛擬網(wǎng)絡(luò)的其它配置也是可能的。例如,虛擬網(wǎng)絡(luò)204被描述為包括數(shù)據(jù)庫服務(wù)器222與外網(wǎng)104之間的單個防火墻裝置220。將了解到,虛擬網(wǎng)絡(luò)的許多其它配置可以通過連接經(jīng)過一個或多個網(wǎng)絡(luò)裝置的端點組來提供。
圖3描繪了物理網(wǎng)絡(luò)組件的抽象視圖,可以用于管理圖1的物理網(wǎng)絡(luò)組件以實施圖2描繪的虛擬網(wǎng)絡(luò)。如圖3所描繪,物理網(wǎng)絡(luò)組件可以抽象為類似組件的集合。具體而言,物理路由器106可以抽象為集體路由池302,其可以用于提供用于實施物理網(wǎng)絡(luò)中的虛擬網(wǎng)絡(luò)的所需路由功能。物理交換機108可以抽象為交換網(wǎng)304??梢耘渲媒粨Q網(wǎng)304來提供用于實施物理網(wǎng)絡(luò)內(nèi)的虛擬網(wǎng)絡(luò)的所需切換功能。多個物理網(wǎng)絡(luò)裝置110可以抽象為一個應(yīng)用池,可以配置該應(yīng)用池來提供虛擬網(wǎng)絡(luò)所需的網(wǎng)絡(luò)裝置。類似地,物理端點112可以抽象為端點池308,可以配置該端點池來提供虛擬網(wǎng)絡(luò)所需的端點。雖然將虛擬網(wǎng)絡(luò)的虛擬網(wǎng)絡(luò)裝置和虛擬端點描繪成被抽象為單獨的裝置池306和端點池308,但是這些虛擬網(wǎng)絡(luò)裝置和虛擬端點可以在類型相似的物理裝置上實施,因此裝置池306和端點池308可以通過單個裝置池來提供,該單個裝置池能夠配置來提供虛擬網(wǎng)絡(luò)的虛擬裝置和虛擬端點。
如上所述,網(wǎng)絡(luò)設(shè)施102的物理網(wǎng)絡(luò)資源可以抽象化在各種池中??梢耘渲妹總€池來通過每個池中的物理網(wǎng)絡(luò)資源提供需要的處理和網(wǎng)絡(luò)功能。如圖所描繪,可以使用管理和/或配置計算設(shè)備310來配置抽象的網(wǎng)絡(luò)資源池,從而配置物理資源來提供一個或多個虛擬網(wǎng)絡(luò)。雖然配置可以手動進(jìn)行,但這樣做可能要求應(yīng)用開發(fā)人員了解真實的物理網(wǎng)絡(luò)實現(xiàn)詳情,另外或者可選地,可能要求基礎(chǔ)設(shè)施操作員了解應(yīng)用詳情。網(wǎng)絡(luò)虛擬化技術(shù)能夠基于以網(wǎng)絡(luò)為中心的應(yīng)用來配置物理網(wǎng)絡(luò)資源,其中以網(wǎng)絡(luò)為中心的應(yīng)用通過基本自動執(zhí)行的業(yè)務(wù)檔案來描述。業(yè)務(wù)檔案允許應(yīng)用能夠根據(jù)應(yīng)用的以網(wǎng)絡(luò)為中心的視角來定義,無需具體了解物理網(wǎng)絡(luò)資源和它們的配置能力。業(yè)務(wù)描述到邏輯網(wǎng)絡(luò)實現(xiàn)的映射允許在配置物理網(wǎng)絡(luò)組件時使用業(yè)務(wù)描述。
圖4描繪了網(wǎng)絡(luò)應(yīng)用的業(yè)務(wù)檔案的表示。業(yè)務(wù)檔案400可以以應(yīng)用的基于群組的策略(groupbasedpolicy,gbp)模型為基礎(chǔ)。基于群組的策略模型支持應(yīng)用的網(wǎng)絡(luò)資源需求與物理網(wǎng)絡(luò)的實現(xiàn)詳情獨立定義。租戶的網(wǎng)絡(luò)需求可以定義為一個或多個業(yè)務(wù)檔案400。如下文進(jìn)一步描述,業(yè)務(wù)檔案400可以轉(zhuǎn)換為邏輯網(wǎng)絡(luò)基礎(chǔ)設(shè)施,該邏輯網(wǎng)絡(luò)基礎(chǔ)設(shè)施又可以轉(zhuǎn)換為物理網(wǎng)絡(luò)中的一個實現(xiàn)方式。
每個業(yè)務(wù)檔案400定義了一個租戶的網(wǎng)絡(luò)需求,或者該租戶的一部分獨立網(wǎng)絡(luò)需求。業(yè)務(wù)檔案400可以包括多個端點組(endpointgroup,epg)和epg之間的合約。如圖所描繪,應(yīng)用網(wǎng)絡(luò)描述402可以認(rèn)為是用來指定多個epg:epg404a、404b、404c、404d(統(tǒng)稱為epg404)和每個epg分別提供和使用的合約。如圖4所描繪,第一epg,標(biāo)識為“epg1”提供標(biāo)識為“合約1”的合約并使用標(biāo)識為“合約2”的合約。類似地,“epg2”提供“合約2”并使用“合約3”和“合約4”?!癳pg3”提供“合約3”,“epg4”提供“合約4”。
業(yè)務(wù)檔案400還可以包括epg定義406,其定義包含在應(yīng)用網(wǎng)絡(luò)描述402內(nèi)的每個egp408。每個定義的epg408定義epg內(nèi)的端點410a、410b、410c、410d(統(tǒng)稱為端點410)。可以認(rèn)為每個端點是層2或?qū)?可尋址實體。例如,每個端點410可以指定為一個網(wǎng)卡(networkinterfacecard,nic)標(biāo)識符、虛擬網(wǎng)卡(virtualnetworkinterfacecard,vnic)標(biāo)識符、ip地址或域名系統(tǒng)(domainnamesystem,dns)名稱標(biāo)識符。
除了應(yīng)用網(wǎng)絡(luò)描述402和epg406,業(yè)務(wù)檔案400還可以包括描述業(yè)務(wù)描述400中指定的各個合約414a、414b、414c、414d(統(tǒng)稱為合約414)的合約定義412。業(yè)務(wù)描述400還可以包括在一個或多個合約414中描述的一個或多個業(yè)務(wù)鏈定義416。如下文進(jìn)一步描述,每個業(yè)務(wù)鏈可以指定一個或多個裝置處理業(yè)務(wù)流的順序。業(yè)務(wù)鏈裝置418的描述可以包含在業(yè)務(wù)描述400內(nèi)。
圖4中描繪的業(yè)務(wù)檔案400旨在說明各個組件,包括業(yè)務(wù)檔案中的epg和相關(guān)合約。將了解到,業(yè)務(wù)檔案可以通過各種方式提供。例如,各個組件可以通過標(biāo)準(zhǔn)化格式或者協(xié)定格式表示。此外,業(yè)務(wù)檔案的各個組件可以使用現(xiàn)有組件。例如,合約可以在多個業(yè)務(wù)檔案中重用。此外,盡管業(yè)務(wù)檔案示意性地描繪為單個實體,但是每個組件可以單獨提供。
合約可以包括定義兩個epg之間的業(yè)務(wù)約束的策略規(guī)則列表,例如訪問控制列表(accesscontrollist,acl)和服務(wù)質(zhì)量(qualityofservice,qos),可能還有其它約束,例如一個或多個網(wǎng)絡(luò)裝置需要的處理。每個策略規(guī)則包括一個或多個分類器和相關(guān)動作。分類器包括根據(jù)策略規(guī)則分類業(yè)務(wù)時使用的協(xié)議、端口和方向。協(xié)議可以包括tcp、udp和http等。端口可以逐個定義,或者多個一起定義,或者定義一個端口范圍。inbound方向可以是入方向、出方向或雙向。一種動作可以包括一個類型和一個值,其中動作類型可以是允許、丟棄、重定向、鏡像和記錄。相關(guān)值根據(jù)相關(guān)動作類型可以是可選的。如果動作類型是重定向,那么該值可以包括參照業(yè)務(wù)鏈定義的業(yè)務(wù)鏈id。
以下偽碼列表提供了一種說明性合約,該合約定義了名稱為“xxx”的將在9000至90002范圍中的一個端口處接收到的任意入口tcp流量進(jìn)行重定向以及將入口業(yè)務(wù)重定向到id為“99”的業(yè)務(wù)鏈的單個策略規(guī)則。
以下偽碼列表提供了一種說明性的業(yè)務(wù)鏈定義,該定義提供了在上文說明的合約中標(biāo)識的業(yè)務(wù)鏈。如上描述,id為“99”的業(yè)務(wù)鏈定義了兩個裝置,即裝置“aaa”和裝置“bbb”處理的的有序鏈。
業(yè)務(wù)鏈中指定的每個裝置還可進(jìn)一步定義。以下偽碼列表定義了兩個裝置,即上文業(yè)務(wù)鏈中的分別作為防火墻和負(fù)載均衡器的“aaa”和“bbb”。
裝置類型可以根據(jù)在網(wǎng)絡(luò)設(shè)施處可用的預(yù)定義選擇而定義。例如,裝置類型可以是防火墻、負(fù)載均衡器、ips和ids及nat裝置之一。如上文的偽碼所述,裝置可以表示為共享裝置。共享裝置可以在共享設(shè)備上創(chuàng)建,而非共享裝置應(yīng)在專用設(shè)備上創(chuàng)建。表示裝置是否共享的能力使租戶更好地控制網(wǎng)絡(luò)的實現(xiàn)。對于某些裝置,租戶可能需要硬件的物理隔離,而不僅是虛擬隔離,以便解決特定的安全問題。
上文說明性合約以及相關(guān)業(yè)務(wù)鏈和裝置描述了端口9000至9002上的入口tcp流量首先由名為fw1的防火墻處理,然后由名為lb1的負(fù)載均衡器處理。
上文描述的可以通過各種格式提供的業(yè)務(wù)檔案400可以轉(zhuǎn)換為包括邏輯交換機、邏輯路由器、裝置以及邏輯業(yè)務(wù)鏈表和服務(wù)質(zhì)量(qualityofservice,qos)策略的邏輯網(wǎng)絡(luò)實現(xiàn)。邏輯網(wǎng)絡(luò)實現(xiàn)所需的邏輯交換機、邏輯路由器、裝置以及邏輯業(yè)務(wù)鏈表和服務(wù)質(zhì)量(qualityofservice,qos)策略可以從業(yè)務(wù)檔案400中得到。一旦生成邏輯網(wǎng)絡(luò)實現(xiàn),其就可以通過由路由池、交換網(wǎng)、裝置池和端點池抽象的可用物理資源來映射到物理實現(xiàn)。另外,或者可選地,租戶可以使用邏輯網(wǎng)絡(luò)實現(xiàn)來促進(jìn)虛擬網(wǎng)絡(luò)的運行、管理和維護(hù)。例如,可以向租戶呈現(xiàn)邏輯網(wǎng)絡(luò)實現(xiàn)的視覺表示。
圖5描繪了用于管理多租戶網(wǎng)絡(luò)設(shè)施中的網(wǎng)絡(luò)虛擬化的計算設(shè)備。下文參照圖5描述的計算設(shè)備500可以用作上文參照圖3描述的管理和配置計算設(shè)備310。如上所述,管理和配置計算設(shè)備310可以負(fù)責(zé)配置物理網(wǎng)絡(luò)組件,例如由路由池、交換網(wǎng)、裝置池和端點池抽象的那些組件。計算設(shè)備500可以類似地用于配置可用物理網(wǎng)絡(luò)資源。然而,計算設(shè)備500被配置來接收業(yè)務(wù)檔案524,物理資源被配置來提供業(yè)務(wù)檔案524中定義的網(wǎng)絡(luò)資源。
計算設(shè)備500描繪為包括中央處理單元502、存儲器單元504和輸入/輸出(input/output,i/o)單元506的單個物理服務(wù)器。i/o單元506可以使一個或多個網(wǎng)絡(luò)接口連接到計算設(shè)備500。應(yīng)了解,描繪的單個物理服務(wù)器500事實上可以作為虛擬服務(wù)器提供。不管是在虛擬服務(wù)器中還是在物理服務(wù)器中實施,計算設(shè)備500,或者準(zhǔn)確地說處理單元502,執(zhí)行存儲在存儲器504中的指令和數(shù)據(jù),以便提供管理多租戶網(wǎng)絡(luò)環(huán)境中的網(wǎng)絡(luò)配置的功能508。
功能508描繪為包括用于抽象物理網(wǎng)絡(luò)組件(510)的功能。抽象可以將可用物理資源組合到多個池中,計算設(shè)備500可以從這些池中獲得物理資源以便提供從業(yè)務(wù)檔案524轉(zhuǎn)換而來的邏輯網(wǎng)絡(luò)需求。抽象只需要最初針對網(wǎng)絡(luò)環(huán)境完成,以便將所有路由設(shè)備組合到路由池中,將所有交換機組合到交換網(wǎng)中,以及將所有裝置和端點組合到裝置池和端點池中。初始抽象之后,物理計算資源可以添加到各個池中,也可能從各個池中移除,從而便于更新可用計算和網(wǎng)絡(luò)資源以將虛擬網(wǎng)絡(luò)提供給租戶。抽象信息526可以認(rèn)為是可用物理路由、切換和處理能力列表,該列表可以使用可用網(wǎng)絡(luò)硬件來配置。
計算設(shè)備500用于接收業(yè)務(wù)檔案(512)。接收到的業(yè)務(wù)檔案524可以通過各種方式來接收。例如,租戶可以將業(yè)務(wù)檔案提交給計算設(shè)備以供后續(xù)網(wǎng)絡(luò)資源配置。此外,計算設(shè)備500或未示出的其它計算設(shè)備可以提供用戶界面功能以允許租戶指定業(yè)務(wù)檔案。用戶界面可以包括圖形組件,例如特定放置的拖放組件,以及文本組件,例如命名或重命名組件。不管業(yè)務(wù)檔案524如何接收,計算設(shè)備500都用于將業(yè)務(wù)檔案轉(zhuǎn)換為與業(yè)務(wù)檔案524提供的網(wǎng)絡(luò)需求對應(yīng)的邏輯網(wǎng)絡(luò)實現(xiàn)(514)。轉(zhuǎn)換后的邏輯網(wǎng)絡(luò)基礎(chǔ)設(shè)施可以包括一個或多個邏輯交換機、一個或多個邏輯路由器、一個或多個邏輯裝置以及定義裝置與其它端點之間的業(yè)務(wù)流的邏輯業(yè)務(wù)鏈表。
一旦計算設(shè)備500生成邏輯網(wǎng)絡(luò)實現(xiàn),計算設(shè)備500就可以用于將邏輯網(wǎng)絡(luò)實現(xiàn)映射到物理網(wǎng)絡(luò)實現(xiàn)(516)。邏輯到物理網(wǎng)絡(luò)實現(xiàn)的映射可以利用抽象的網(wǎng)絡(luò)信息526,以便確定用于來實施從業(yè)務(wù)描述轉(zhuǎn)換而來的邏輯網(wǎng)絡(luò)實現(xiàn)的可用物理網(wǎng)絡(luò)資源。一旦邏輯網(wǎng)絡(luò)實現(xiàn)映射到物理網(wǎng)絡(luò)實現(xiàn),就可以配置計算設(shè)備500來配置物理網(wǎng)絡(luò)資源以提供物理網(wǎng)絡(luò)實現(xiàn)(518)。配置物理網(wǎng)絡(luò)資源可以包括生成組件配置信息(518a)和向各個網(wǎng)絡(luò)組件發(fā)送所生成的組件配置信息(518b),以便配置這些組件來提供需要的或預(yù)期的功能。
如上文所描述,定義一個應(yīng)用的業(yè)務(wù)檔案可以轉(zhuǎn)換為邏輯網(wǎng)絡(luò)實現(xiàn)。然后,邏輯網(wǎng)絡(luò)實現(xiàn)可映射到可用物理網(wǎng)絡(luò)資源,以便在物理網(wǎng)絡(luò)資源中實施邏輯網(wǎng)絡(luò)。邏輯網(wǎng)絡(luò)實現(xiàn)除了或者替代地映射到物理網(wǎng)絡(luò)實現(xiàn),還可用于其它目的。例如,計算設(shè)備500可以用于生成邏輯網(wǎng)絡(luò)實現(xiàn)的視覺表示(520)并向與租戶有關(guān)聯(lián)的網(wǎng)絡(luò)或應(yīng)用管理員等用戶顯示該視覺表示(522)。
圖6描繪了用于將業(yè)務(wù)檔案轉(zhuǎn)換為邏輯網(wǎng)絡(luò)定義的方法。如圖描繪,該方法可用于將業(yè)務(wù)檔案轉(zhuǎn)換為計算設(shè)備500提供的邏輯網(wǎng)絡(luò)實現(xiàn)(514)。接收業(yè)務(wù)檔案(512)并將其轉(zhuǎn)換為邏輯網(wǎng)絡(luò)實現(xiàn)(514)。該轉(zhuǎn)換可以通過以下方式來執(zhí)行:將接收到的業(yè)務(wù)檔案中的每個epg和合約映射到對應(yīng)的邏輯網(wǎng)絡(luò)組件并且基于策略描述將邏輯網(wǎng)絡(luò)組件連接在一起。業(yè)務(wù)檔案中定義的合約的策略規(guī)則可以映射到邏輯業(yè)務(wù)鏈表,該表包括對在源、目的地以及可能一個或多個中介檢查點之間流動的業(yè)務(wù)的多個流約束。在邏輯網(wǎng)絡(luò)實現(xiàn)中,可以通過網(wǎng)關(guān)和邏輯路由器上的基于策略的路由來引導(dǎo)業(yè)務(wù)流,qos策略可以在轉(zhuǎn)發(fā)設(shè)備以及檢查點上實施。邏輯網(wǎng)絡(luò)實現(xiàn)中的轉(zhuǎn)發(fā)設(shè)備可以包括邏輯路由器,邏輯路由器可以包括邏輯網(wǎng)關(guān)以及邏輯交換機。檢查點可以認(rèn)為是能夠檢查業(yè)務(wù)和調(diào)整流的邏輯網(wǎng)絡(luò)組件并且可以包括,例如路由器、網(wǎng)關(guān)、防火墻、nat、ips/id和負(fù)載均衡器。
將業(yè)務(wù)策略轉(zhuǎn)換為邏輯網(wǎng)絡(luò)視角包括將業(yè)務(wù)策略的每個epg映射到具有共享網(wǎng)關(guān)的一個或多個子網(wǎng)(602)。各個epg可以映射到的子網(wǎng)的數(shù)量可以基于與組中的各個端點相關(guān)聯(lián)的不同子網(wǎng)。從各個epg映射來的一個或多個子網(wǎng)連接到通用共享網(wǎng)關(guān)以將一個或多個子網(wǎng)連接在一起。每個子網(wǎng)還可以與一個邏輯交換機相關(guān)聯(lián)。
業(yè)務(wù)檔案到邏輯網(wǎng)絡(luò)視角的轉(zhuǎn)換還包括將合約映射到與0個或多個虛擬裝置連接的路由器(604)。要與路由器連接的虛擬裝置可以從合約中定義的任意業(yè)務(wù)鏈中指定的裝置中確定。從合約映射來的路由器基于業(yè)務(wù)策略連接于從epg映射來的網(wǎng)關(guān)之間(606)。通常至少一個路由器將連接于單個epg網(wǎng)關(guān)與外網(wǎng)連接之間,這是顯而易見的。邏輯業(yè)務(wù)鏈表可以根據(jù)合約策略規(guī)則生成(608)。邏輯業(yè)務(wù)鏈表提供邏輯網(wǎng)絡(luò)組件之間的流約束。
上文描述的方法可用于將提供應(yīng)用的網(wǎng)絡(luò)資源視角的業(yè)務(wù)策略轉(zhuǎn)換為邏輯網(wǎng)絡(luò)實現(xiàn)。邏輯網(wǎng)絡(luò)實現(xiàn)包括多個連接在一起的邏輯交換機、路由器、裝置和端點。邏輯網(wǎng)絡(luò)實現(xiàn)還可包括邏輯業(yè)務(wù)鏈表,該邏輯業(yè)務(wù)鏈表提供相連的邏輯組件之間的業(yè)務(wù)流的業(yè)務(wù)約束和qos需求。
圖7至圖10描繪了圖6中的步驟的示意表示。圖7描繪了接收到的業(yè)務(wù)檔案的示意表示700。如圖所描繪,接收到的業(yè)務(wù)檔案包括第一合約702,其定義了對在外網(wǎng)104與第一epg704之間流動的業(yè)務(wù)實施的策略。第二合約706定義了對在第一epg704與第二epg708之間流動的業(yè)務(wù)實施的策略。第三合約710定義了對在第二epg708與第三epg712之間流動的業(yè)務(wù)實施的策略。最后,第四合約714定義了對在第二epg708與第四epg716之間流動的業(yè)務(wù)實施的策略。
圖8描繪了將epg映射到與網(wǎng)關(guān)連接的對應(yīng)子網(wǎng)的結(jié)果的示意表示,每個子網(wǎng)與一個邏輯交換機相關(guān)聯(lián)。如圖所描繪,第一epg704映射到與兩個邏輯交換機804b、804c連接的第一網(wǎng)關(guān)804a,這兩個交換機與從第一epg704映射而來的兩個子網(wǎng)相關(guān)聯(lián)。邏輯交換機804b、804c均連接到相應(yīng)子網(wǎng)中的端點。具體而言,邏輯交換機804b連接到端點804b、804e,邏輯交換機804c連接到端點804f。第二epg708映射到單個子網(wǎng),邏輯交換機808b連接到網(wǎng)關(guān)808a。邏輯交換機808d連接到epg708的端點,即端點808c、808d。第三epg712映射到單個子網(wǎng),邏輯交換機812b連接到網(wǎng)關(guān)812a。單個端點812c被描繪為連接到邏輯交換機812b。最后,第四epg映射到單個子網(wǎng),邏輯交換機816b連接到網(wǎng)關(guān)816a。三個端點816c、816d、816e被描繪為連接到邏輯交換機816b。
圖9描繪了將合約映射到路由器和虛擬設(shè)備并且將路由器連接于網(wǎng)關(guān)之間的結(jié)果的示意表示。在圖9中,為了使圖清晰,來自epg的邏輯網(wǎng)絡(luò)組件不再進(jìn)行編號。如圖所描繪,第一合約702映射到一個路由器,該路由器連接到在合約的業(yè)務(wù)鏈內(nèi)指定的多個邏輯裝置。具體而言,合約702映射到邏輯路由器902a,邏輯路由器902a連接到邏輯裝置902b、902c、902d。如圖所描繪,邏輯裝置902b是第一防火墻裝置,邏輯裝置902c是一個網(wǎng)絡(luò)地址轉(zhuǎn)換(networkaddresstranslation,nat)裝置,邏輯裝置902d是一個入侵防御系統(tǒng)(intrusionpreventionsystem,ips)裝置。第二合約706映射到與邏輯裝置906b連接的邏輯路由器906a。邏輯裝置906b被描繪為第二防火墻。第三合約710和第四合約714均映射到相應(yīng)的路由器910a、914a,但是第三和第四合約沒有指定重定向業(yè)務(wù)鏈中的任何裝置,因此不與任何虛擬裝置連接。然而,合約可以指定對在相連的epg網(wǎng)關(guān)之間流動的業(yè)務(wù)實施的策略,這些策略可以作為由邏輯路由器實施的acl和/或qos來提供。因此,如圖所描繪,從第三合約710映射而來的邏輯路由器910a可以與第一acl910b相關(guān)聯(lián),從第三合約714映射來的邏輯路由器914a可以與第二acl914b相關(guān)聯(lián)。
此外,如圖所描繪,邏輯路由器902a、906a、910a、914a均連接于合適的epg網(wǎng)關(guān)之間。具體而言,邏輯路由器902a連接于外網(wǎng)104與第一epg網(wǎng)關(guān)804a之間。邏輯路由器906a連接于第一epg網(wǎng)關(guān)804a與第二epg網(wǎng)關(guān)808a之間。邏輯路由器910a連接于第二epg網(wǎng)關(guān)808a與第三epg網(wǎng)關(guān)812a之間。邏輯路由器914a連接于第二epg網(wǎng)關(guān)808a與第四epg網(wǎng)關(guān)816a之間。
圖10描繪了生成邏輯業(yè)務(wù)鏈表的結(jié)果的示意表示。在圖10中,為了使圖清晰,先前從epg和合約映射而來的邏輯組件不再進(jìn)行標(biāo)號。此外,與每個epg映射相關(guān)聯(lián)的邏輯交換機和端點統(tǒng)一表示為虛線長方形內(nèi)的層。如圖10所描繪,邏輯業(yè)務(wù)鏈表定義了組件之間的業(yè)務(wù)流并且可以以各個合約內(nèi)指定的策略規(guī)則為基礎(chǔ)。邏輯業(yè)務(wù)鏈表1010可以用來指定虛擬裝置之間的處理順序并且可以與acl和qos信息相關(guān)聯(lián),但是acl信息以圖形方式描繪為與相應(yīng)的邏輯路由器910a、914a相關(guān)聯(lián)。
合約可以指定提供虛擬裝置處理的有序鏈的業(yè)務(wù)鏈。雖然邏輯連接可以通過圖9描繪的先前映射來提供,但是沒有提供所需的有序處理。邏輯業(yè)務(wù)鏈表1010可以用于指定合約所需要進(jìn)行處理的順序。例如,表1010中的示意性地對應(yīng)于線條1001的鏈1指定來自互聯(lián)網(wǎng)的業(yè)務(wù)首先經(jīng)過第一防火線裝置,然后經(jīng)過nat裝置。表1010中的示意性地表示為線條1002的鏈2指定業(yè)務(wù)應(yīng)該從nat裝置流到ips裝置,然后流到層1上,或者,更確切地說從子網(wǎng)流到從epg1匹配到的邏輯交換機。鏈3表示為線條1003,指定業(yè)務(wù)應(yīng)該從層1流到第二防火墻裝置,然后流到層2,或者,更確切地說從子網(wǎng)流到從epg2匹配到的邏輯交換機。鏈4表示為線條1004,指定業(yè)務(wù)應(yīng)該從層2流到層3,或者,更確切地說從子網(wǎng)流到從epg3匹配到的邏輯交換機。雖然通過圖像表示來描繪,但是與邏輯路由器910a相關(guān)聯(lián)的acl信息可以包含在與鏈4相關(guān)聯(lián)的邏輯業(yè)務(wù)鏈表中。鏈5表示為線條1005,指定業(yè)務(wù)應(yīng)該從層2流向?qū)?,或者,更確切地說從子網(wǎng)流到從epg5匹配到的邏輯交換機。雖然通過圖像表示來描繪,但是與邏輯路由器914a相關(guān)聯(lián)的acl信息可以包含在與鏈5相關(guān)聯(lián)的邏輯業(yè)務(wù)鏈表中。
雖然上文提到映射到網(wǎng)關(guān)或共享網(wǎng)關(guān),但是可以預(yù)期,網(wǎng)關(guān)或共享網(wǎng)關(guān)可以通過邏輯路由器提供。因此,上文描述的尤其是參照圖7至圖10的網(wǎng)關(guān)或共享網(wǎng)關(guān)可以用邏輯路由器替換。
圖11描繪了配置物理網(wǎng)絡(luò)內(nèi)的邏輯網(wǎng)絡(luò)實現(xiàn)的方法。方法1100由計算設(shè)備執(zhí)行,該計算設(shè)備可以提供配置功能,允許多租戶網(wǎng)絡(luò)設(shè)施中的租戶通過gbp模型配置網(wǎng)絡(luò),該模型可以通過業(yè)務(wù)描述等來提供。一旦邏輯網(wǎng)絡(luò)實現(xiàn)從業(yè)務(wù)檔案轉(zhuǎn)換而來,其就可以通過自動將邏輯網(wǎng)絡(luò)實現(xiàn)映射到物理實現(xiàn)來在物理網(wǎng)絡(luò)內(nèi)配置。配置邏輯網(wǎng)絡(luò)實現(xiàn)的方法1100使用抽象的網(wǎng)絡(luò)資源,以便擁有能夠?qū)嵤┻壿嬀W(wǎng)絡(luò)的資源池。實施邏輯網(wǎng)絡(luò)組件的真實物理組件可以通過各種技術(shù)從相應(yīng)池中選擇以優(yōu)化選擇。例如,雖然邏輯網(wǎng)絡(luò)中的直接連接可以通過跨多個物理路由器和交換機的虛擬連接來實施,但是期望選擇組件使得實施物理世界中的邏輯網(wǎng)絡(luò)時所需的物理組件的數(shù)量最小。其它優(yōu)化或至少考慮因素可以應(yīng)用于從可用池中選擇物理組件。
方法1100包括配置交換網(wǎng)內(nèi)的邏輯交換機(1102)。通過使用vlan和/或vxlan配置交換網(wǎng)內(nèi)的所選物理交換機來提供邏輯交換機可以實現(xiàn)這一點。方法1100將每個路由器和/或網(wǎng)關(guān)(如果存在)映射到vrf并且配置路由池內(nèi)的vrf(1104)。配置裝置池中的網(wǎng)絡(luò)裝置節(jié)點,確定基于策略的路由用于將配置的裝置節(jié)點插入合適的流路徑內(nèi)(1106)。將基于策略的路由配置給路由池內(nèi)的vrf轉(zhuǎn)發(fā)單元(1108)。然后可將acl策略則配置給應(yīng)用節(jié)點和轉(zhuǎn)發(fā)節(jié)點(1110)。
如上所述,有可能使用網(wǎng)絡(luò)虛擬化技術(shù),以便基于業(yè)務(wù)檔案配置物理網(wǎng)絡(luò)組件。業(yè)務(wù)檔案可以是基于gbp的業(yè)務(wù)描述。該技術(shù)不需要任何專用硬件或網(wǎng)絡(luò)組件,因此使用傳統(tǒng)網(wǎng)絡(luò)設(shè)備提供網(wǎng)絡(luò)虛擬化,這降低了與數(shù)據(jù)中心或多租戶網(wǎng)絡(luò)設(shè)施相關(guān)的運營開支和資本支出。邏輯網(wǎng)絡(luò)基礎(chǔ)設(shè)施層插入在業(yè)務(wù)描述與網(wǎng)絡(luò)抽象/物理層之間。邏輯網(wǎng)絡(luò)層支持將業(yè)務(wù)描述映射到邏輯層,然后映射到物理層。
雖然已經(jīng)描述了一定組件和步驟,但是可以預(yù)期,單獨描述的組件以及步驟可以組合到少量組件或步驟中,或者這些步驟可以按序、無序或并行執(zhí)行。類似地,各個組件或步驟可以由多個組件或步驟提供。注意到當(dāng)前教示的本領(lǐng)域普通技術(shù)人員將了解網(wǎng)絡(luò)虛擬化可以通過軟件、固件和/或硬件的各種組合來提供,除了本文中作為說明性示例描述的具體實施方式。
上文描述的網(wǎng)絡(luò)虛擬化技術(shù)可以通過使用合適的軟件、硬件、固件和/或其組合來實施。上文描述的網(wǎng)絡(luò)虛擬化技術(shù)可以提供為計算機可讀介質(zhì)中或上存儲的指令以供處理器執(zhí)行。所執(zhí)行的指令可以配置計算設(shè)備來提供上文描述的網(wǎng)絡(luò)虛擬化技術(shù)。指令可以存儲在非易失性或非瞬時性介質(zhì)中,該介質(zhì)可以是只讀光盤(compactdiskread-onlymemory,cd-rom)、usb閃盤或可移除硬盤或其它類型的非易失性存儲器。
盡管已經(jīng)詳細(xì)描述了各種具體實施例,但是在不脫離說明的教示的情況下可以對本文描述的具體實施例進(jìn)行各種改變、替換和更改,這對于本領(lǐng)域普通技術(shù)人員來說是顯而易見的。說明書和附圖僅被視為所附權(quán)利要求書所定義的主題的說明并且考慮落于本說明書描述的范圍和附圖內(nèi)的任何和所有修改、變體、組合或均等物。