注意的是在某些實(shí)施例中并且根據(jù)本發(fā)明的各方面,可以使用現(xiàn)有的交換機(jī)和路由器而無(wú)需通過(guò)使用隧道來(lái)調(diào)節(jié)流表。
[0040]邏輯轉(zhuǎn)發(fā)部件的能力可以超過(guò)單個(gè)物理轉(zhuǎn)發(fā)部件的能力。因此,物理交換機(jī)/轉(zhuǎn)發(fā)部件應(yīng)該優(yōu)選地提供通信量分流動(dòng)作(例如ECMP或散列法)和鏈路聚合,以在多條物理路徑/鏈路上分配通信量。最后,為了有效地監(jiān)測(cè)鏈路和隧道,物理交換機(jī)應(yīng)該提供基于硬件的鏈路和隧道監(jiān)測(cè)協(xié)議的實(shí)施方式(例如BFD)。本領(lǐng)域技術(shù)人員應(yīng)該可以設(shè)想出如何基于這些示例以及根據(jù)本文中的總體說(shuō)明來(lái)實(shí)現(xiàn)物理交換機(jī)和物理網(wǎng)絡(luò)104內(nèi)的其他部件。
[0041]在實(shí)施例中,網(wǎng)絡(luò)管理程序102的實(shí)施方式從物理轉(zhuǎn)發(fā)部件解耦,以使管理程序的實(shí)施方式對(duì)網(wǎng)絡(luò)狀態(tài)擁有全局性的視角。因此,無(wú)論何時(shí)在其任意一側(cè)的狀態(tài)發(fā)生了改變,通過(guò)相應(yīng)地調(diào)節(jié)用于網(wǎng)絡(luò)104內(nèi)受到影響的所有交換機(jī)的映射和/或流表,都不必涉及網(wǎng)絡(luò)管理程序102。換句話說(shuō),在物理網(wǎng)絡(luò)上有網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)事件時(shí)或者在控制實(shí)施方式改變了邏輯轉(zhuǎn)發(fā)層的狀態(tài)時(shí),需要涉及網(wǎng)絡(luò)管理程序102。另外,管理程序?qū)⒁云涔逃械臅r(shí)間間隔執(zhí)行資源管理任務(wù)以保持物理網(wǎng)絡(luò)資源的利用最優(yōu)。
[0042]現(xiàn)在根據(jù)本發(fā)明的實(shí)施例介紹用于將邏輯接口 106內(nèi)的抽象映射至物理網(wǎng)絡(luò)104的管理程序102的示例性機(jī)構(gòu)。例如,假設(shè)有單獨(dú)的機(jī)構(gòu)用于建立、定義和管理邏輯接口內(nèi)應(yīng)該有的內(nèi)容一也就是例如接口應(yīng)該面向多少個(gè)邏輯轉(zhuǎn)發(fā)部件以及它們的互連是怎樣的等。
[0043]如果假定使用的物理交換機(jī)全都提供了上述的所有要素,那么管理程序102在將邏輯接口抽象映射至物理硬件時(shí)就會(huì)遇到兩個(gè)挑戰(zhàn):
[0044]潛在地限制個(gè)體物理轉(zhuǎn)發(fā)部件的交換容量以及端口的有限數(shù)量和容量。
[0045]?潛在地限制個(gè)體物理轉(zhuǎn)發(fā)部件中的TCAM表的容量。
[0046]在數(shù)據(jù)中心的環(huán)境中,網(wǎng)絡(luò)管理程序的任務(wù)由于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)很可能是粗樹(shù)(fat-tree)而得以簡(jiǎn)化;因此,通過(guò)離線負(fù)載平衡(例如ECMP)或在線方式(例如TeXCP)實(shí)現(xiàn)的多路徑將在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的任意位置之間提供統(tǒng)一的容量。因此,即使是對(duì)極高容量的邏輯交換機(jī),網(wǎng)絡(luò)管理程序102也能夠?qū)崿F(xiàn)所需的容量,而無(wú)需使物理轉(zhuǎn)發(fā)部件具有匹配的容量。
[0047]設(shè)置問(wèn)題:如果與物理轉(zhuǎn)發(fā)部件相關(guān)的TCAM表容量(對(duì)于特定的控制層實(shí)施方式來(lái)說(shuō))不成問(wèn)題,那么網(wǎng)絡(luò)管理程序的任務(wù)就由于它能在每一個(gè)物理轉(zhuǎn)發(fā)部件中具有全部邏輯轉(zhuǎn)發(fā)狀態(tài)而得以簡(jiǎn)化。但是,如果可用的物理TCAM資源比較缺乏,那么管理程序102在物理網(wǎng)絡(luò)內(nèi)設(shè)置邏輯轉(zhuǎn)發(fā)決策時(shí)就必須更加智能。在物理網(wǎng)絡(luò)部件(TCAM規(guī)模方面)并不相等并且其中一部分具有足夠的容量用于邏輯轉(zhuǎn)發(fā)表的配置中,網(wǎng)絡(luò)管理程序102可以先用這部分部件用于邏輯轉(zhuǎn)發(fā)決策,并隨后僅使用其余的部分用于在它們之間轉(zhuǎn)發(fā)包。本領(lǐng)域技術(shù)人員應(yīng)該意識(shí)到高容量物理轉(zhuǎn)發(fā)部件準(zhǔn)確的拓?fù)湮恢每赡軙?huì)遺留成為特定于配置的問(wèn)題,但是要么將其保留在邊緣作為第一跳的部件,要么就將其保留在(它們被共享的)核心區(qū)域,這都是合理的出發(fā)點(diǎn)。
[0048]如果配置中不具有能夠保留完整邏輯轉(zhuǎn)發(fā)表(多個(gè))的物理轉(zhuǎn)發(fā)部件,那么管理程序102可以通過(guò)劃分有問(wèn)題的邏輯查表步驟以覆蓋多個(gè)物理部件或者使用分離的物理轉(zhuǎn)發(fā)部件以實(shí)現(xiàn)分離的邏輯查表步驟(如果邏輯轉(zhuǎn)發(fā)是步驟鏈的話)來(lái)分解問(wèn)題。在任何一種情況下,物理轉(zhuǎn)發(fā)部件都應(yīng)該以向下一個(gè)物理轉(zhuǎn)發(fā)部件傳送必要上下文的方式將處理過(guò)的包發(fā)送至下一個(gè)物理轉(zhuǎn)發(fā)部件,從而在先前的物理轉(zhuǎn)發(fā)停止的位置繼續(xù)進(jìn)行處理。
[0049]如果特定于配置的限制處于上述兩種極端情況之間的某種程度,那么網(wǎng)絡(luò)管理程序102可以明確地在最優(yōu)的轉(zhuǎn)發(fā)表資源利用和最優(yōu)的網(wǎng)絡(luò)帶寬使用之間進(jìn)行權(quán)衡。
[0050]最后,要注意的是對(duì)于所有的物理轉(zhuǎn)發(fā)部件,如果具有邏輯轉(zhuǎn)發(fā)表(多個(gè))所需容量的個(gè)體部件的轉(zhuǎn)發(fā)容量成為限制因素,那么管理程序102可以圍繞該限制對(duì)多個(gè)這樣的部件進(jìn)行負(fù)載平衡。
[0051]在圖3示出的一個(gè)特定的示例性實(shí)施方式中,本發(fā)明提出了一種跨越多臺(tái)虛擬和物理交換機(jī)分布并且以新穎的方式綜合了速度、安全性和靈活性的分布式虛擬網(wǎng)絡(luò)平臺(tái)。如圖3中所示,本發(fā)明提供了一種分布式虛擬交換機(jī)(DVS) 108,允許虛擬機(jī)類似于在同一L2網(wǎng)絡(luò)內(nèi)那樣的高效方式跨越主機(jī)和/或虛擬LAN和/或子網(wǎng)通信。而且,本發(fā)明允許將多臺(tái)分布式虛擬交換機(jī)108設(shè)置在同一物理主機(jī)上或相同的數(shù)據(jù)中心內(nèi),以允許多個(gè)租戶共享相同的物理硬件,同時(shí)仍然保持隔離以避免彼此尋址和消耗彼此的資源。
[0052]如圖3中所示,一組織(例如數(shù)據(jù)中心租戶)具有多臺(tái)物理主機(jī)和使用包括主機(jī)300-A到300-X的數(shù)據(jù)中心的服務(wù)的虛擬機(jī)。如圖所示,這些至少包括主機(jī)300-A上的虛擬機(jī)302-1和302-3、主機(jī)300-C上的虛擬機(jī)302-4和主機(jī)300-D上的虛擬機(jī)302-6。盡管數(shù)據(jù)中心可以嘗試在共用VLAN中包括這些虛擬機(jī)用于管理和其他目的,但是在虛擬機(jī)數(shù)量超過(guò)數(shù)據(jù)中心所支持的VLAN規(guī)模時(shí),這樣做就變得不再可行。而且,VLAN需要在虛擬機(jī)移動(dòng)時(shí)配置網(wǎng)絡(luò),而且VLAN不能在沒(méi)有附加機(jī)構(gòu)的情況下跨越子網(wǎng)。
[0053]如圖3中進(jìn)一步示出的那樣,虛擬交換機(jī)304 —可能也是分布在多臺(tái)不同的主機(jī)300上一以及物理交換機(jī)306由本發(fā)明中的虛擬層106和/或管理程序102所使用,以共同地用作單臺(tái)分布式虛擬交換機(jī)308,從而共同地允許這些分散的虛擬機(jī)彼此通信,并且進(jìn)一步還可以與經(jīng)過(guò)授權(quán)的主機(jī)305(例如租戶組織的授權(quán)用戶,這些用戶可以在獨(dú)立的外部客戶端上和/或通過(guò)公共或私有網(wǎng)絡(luò)連接至數(shù)據(jù)中心的資源)通信,即使它們位于不同的主機(jī)和/VLAN上(即,子網(wǎng))。如上所述并且如以下將要更加詳細(xì)介紹的那樣,管理程序102可以被用于管理虛擬網(wǎng)絡(luò),例如通過(guò)配置QOS設(shè)置、ACL、防火墻、負(fù)載平衡等進(jìn)行管理。
[0054]在實(shí)施例中,管理程序102可以由使用網(wǎng)絡(luò)操作系統(tǒng)的控制器實(shí)施(例如申請(qǐng)?zhí)枮?2/286,098的共同待決申請(qǐng)中所介紹的),通過(guò)引用將其內(nèi)容并入本文并根據(jù)本發(fā)明的原理予以適用。但是,也可以使用其他的OpenFlow標(biāo)準(zhǔn)或其他的專用或開(kāi)放式的控制器。管理程序102和/或分布式虛擬交換機(jī)108也可以采用申請(qǐng)?zhí)枮?1/970,976的美國(guó)專利申請(qǐng)中介紹的某些技術(shù),通過(guò)引用將其內(nèi)容并入本文。
[0055]虛擬交換機(jī)304可以包括可商業(yè)獲得的虛擬交換機(jī)例如由思科和Vmware提供的產(chǎn)品或其他專用的虛擬交換機(jī)。優(yōu)選地,絕大部分或全部的虛擬交換機(jī)304都包括OpenFlow或其他的標(biāo)準(zhǔn)或?qū)S脜f(xié)議支持以用于與網(wǎng)絡(luò)管理程序102通信。物理交換機(jī)306可以包括任意可商業(yè)獲得的交換機(jī)(例如NEC(IP8800)或HP(ProCurve 5406ZL))或包括OpenFlow或其他標(biāo)準(zhǔn)或?qū)S脜f(xié)議支持的專用交換機(jī),例如以上提及的用于與網(wǎng)絡(luò)管理程序102通信的那些專用交換機(jī)。但是,在本發(fā)明的上述實(shí)施例中并且如下文中進(jìn)一步介紹的那樣,可以使用某些或者全部的網(wǎng)絡(luò)內(nèi)的現(xiàn)有物理交換機(jī)和路由器306,而無(wú)需通過(guò)利用隧道來(lái)影響流表。
[0056]如圖3中所示,虛擬交換機(jī)304與虛擬機(jī)302通信,同時(shí)物理交換機(jī)306與物理主機(jī)305通信。
[0057]示例性的主機(jī)300包括例如運(yùn)行Vmware ESX管理程序的服務(wù)器(例如Dell、HP等)。但是,本發(fā)明并不局限于該示例性實(shí)施例,并且本領(lǐng)域技術(shù)人員應(yīng)該理解如何利用其他的操作系統(tǒng)和/或管理程序等來(lái)實(shí)現(xiàn)本發(fā)明的這種實(shí)施例以及等價(jià)實(shí)施例。這包括例如Citrix XenServer、Linux KVM。而且,應(yīng)該注意的是,并非包括在組織內(nèi)由管理程序102管理的所有物理主機(jī)都需要運(yùn)行一個(gè)虛擬軟件(例如部分或全部的主機(jī)305)。
當(dāng)前第3頁(yè)
1 
2 
3 
4