欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于分布式虛擬交換機的私有虛擬局域網(wǎng)方法和系統(tǒng)的制作方法

文檔序號:7895296閱讀:229來源:國知局
專利名稱:用于分布式虛擬交換機的私有虛擬局域網(wǎng)方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及計算機網(wǎng)絡,具體涉及虛擬局域網(wǎng)(VLAN)。更具體地,本發(fā)明涉及由分布式虛擬交換機支持的私有VLAN。
背景技術(shù)
虛擬局域網(wǎng)(VLAN)是本領(lǐng)域所公知的,并且表示一種廣播域,在該廣播域中客戶端(典型地為虛擬客戶端)可以向存在于同一 VLAN中的其他客戶端發(fā)送幀。私有VLAN(PVLAN)表示該虛擬網(wǎng)絡范型的擴展,其在網(wǎng)絡中提供附加的安全性,以防止對正在通信的業(yè)務的監(jiān)視,以及具有其他優(yōu)點。私有VLAN (PVLAN)是在大多數(shù)基于硬件和軟件的層2交換機上支持的標準特征集。將分布式虛擬交換機(DVS)引入到PVLAN實施中對虛擬連網(wǎng)范 型添加了新的復雜度層。

發(fā)明內(nèi)容
本發(fā)明公開了一種方法、數(shù)據(jù)處理系統(tǒng)和計算機程序產(chǎn)品,其提供支持配置有群體、隔離和混雜子域的一個或多個私有虛擬局域網(wǎng)(PVLAN)的分布式虛擬交換機(DVS)的虛擬端口內(nèi)的分組的高效處理。主機系統(tǒng)的虛擬化管理器的分組處理邏輯在具有三個位映射(bitmap)陣列的虛擬端口的DVS的進入或離開路徑上檢測分組,所述虛擬端口用于處理虛擬邏輯局域網(wǎng)(VLAN)內(nèi)的分組。所述邏輯檢查分組的VLAN標識符(VID),以基于對應的位映射陣列內(nèi)的偏移位置確定所述端口是否支持該VLAN。進入VLAN位映射陣列偏移位置和離開VLAN位映射陣列偏移位置都對應于VID的值,并且在端口上配置VLAN期間設定在特定位映射陣列內(nèi)。當VLAN被端口支持時,該邏輯使得分組能夠被端口處理。否則,該邏輯丟棄該分組。剝離(strip)位映射陣列指示在端口的離開路徑上轉(zhuǎn)發(fā)分組之前何時應該移除該分組的VID。在所述實施例中,在具有虛擬化管理器的主機數(shù)據(jù)處理系統(tǒng)(主機系統(tǒng))內(nèi)執(zhí)行所述方法,所述虛擬化管理器配置和使能虛擬化計算環(huán)境。虛擬化計算環(huán)境包括一個或多個虛擬機以及層2分布式虛擬交換機(DVS)的本地可訪問組件,該DVS包括多個在至少一個虛擬局域網(wǎng)(VLAN)內(nèi)支持分組傳輸?shù)奶摂M端口。虛擬化管理器的處理資源執(zhí)行虛擬化管理器的分組處理邏輯/代碼,所述邏輯/代碼使得虛擬化管理器執(zhí)行各種功能處理,所述功能處理使得能夠利用從分組取回到的VLAN ID以及用于虛擬端口的進入路徑上的分組的進入位映射陣列和用于離開路徑上的分組的離開位映射陣列,經(jīng)由虛擬端口進行分組轉(zhuǎn)發(fā)。當在特定位映射陣列內(nèi)未識別出該VLAN ID,則丟棄分組。僅在VID識別了設定了在位映射陣列中的對應偏移位置的VLAN時,進入路徑或離開路徑上檢測的分組才允許由端口處理。所述虛擬端口是訪問端口和上行鏈路端口中的一個或多個,并且每個端口包括進入VLAN位映射,其包含對應于在到所述端口的進入路徑中被所述端口支持的VLAN的VID的設定的偏移位置;離開VLAN位映射,其包含對應于在所述端口的離開路徑中被所述端口支持的VLAN的VID的設定的偏移位置;以及剝離VLAN位映射,其包含對應于識別下述VLAN的VID的設定的偏移位置,其中對于所述VLAN,在從所述端口轉(zhuǎn)發(fā)接收到的分組之前要在離開路徑上移除所述VID。每個虛擬端口還包括端口 VLAN ID (PVID),其指示添加到所述進入路徑上的未加標簽分組的VLAN標簽。所述方法則包括響應于在所述進入路徑上接收到的分組不具有VLAN標簽,自動地利用所述虛擬端口的PVID對所述分組加標簽;以及響應于在所述離開路徑上檢測到的分組添加了 PVID,在轉(zhuǎn)發(fā)所述分組之前自動地將所述PVID從所述分組移除。所述方法的一個實施例還包括檢查是否設定了在所述虛擬端口的剝離位映射陣列內(nèi)的剝離陣列偏移位置,所述剝離陣列偏移位置指示所述VLAN被所述端口支持以及所述VID應該在所述分組被轉(zhuǎn)發(fā)之前被移除,其中所述剝離陣列偏移位置對應于所述VID的值,并且在所述端口上配置所述VLAN期間在所述剝離位映射陣列內(nèi)設定;以及響應于設定
了所述剝離陣列偏移位置,從所述分組移除所述VID,并將沒有VID的所述分組轉(zhuǎn)發(fā)到所述分組識別的VLAN的目的地設備。在一個實施例中,所述進入位映射陣列、離開位映射陣列和剝離位映射陣列中的每一個是包括N個位條目的一維陣列,其中每個位對應于從O至N-I的偏移位置,N是整數(shù),其表示能夠由所述虛擬端口使用值的范圍為從O至N-I的全局唯一的標識符(ID)支持的單獨VLAN的最大數(shù)目;所述進入位映射陣列、離開位映射陣列和剝離位映射陣列之一中的偏移位置在該位位置在相應位映射陣列中的值具有值一(I)時被設定;以及所述檢查是否設定了所述偏移位置的處理包括將所述偏移位置處的值與一(I)進行比較,并當所述值等于一(I)時指示設定了所述偏移位置。最后,所述方法的實施例使得虛擬化管理器能夠在配置新虛擬端口時產(chǎn)生所述三個位映射的組,并分配全局唯一的端口 ID,以及修改/更新虛擬端口的位映射以支持多個VLAN,反之亦然。該三個位映射的組被分配給每個被配置和更新來支持添加附加VLAN的虛擬端口,以使得能夠高效地處理在虛擬端口的進入路徑和離開路徑上檢測到的分組。以上總結(jié)包含細節(jié)的簡化、概括以及省略,并且不意在作為要求權(quán)利的主題的全面描述,而是意在提供與其關(guān)聯(lián)的某些功能的簡要概述。要求權(quán)利的主題的其它系統(tǒng)、方法、功能、特征和優(yōu)點,對于本領(lǐng)域的技術(shù)人員而言,在查閱了以下附圖和詳細文字描述后將是明顯的或?qū)⒆兊妹黠@。本發(fā)明的以上以及其它目的、特征和優(yōu)點在以下詳細文字描述中將變得明顯。


結(jié)合附圖閱讀所述實施例,其中圖I是示出根據(jù)一個實施例的虛擬計算機網(wǎng)絡的拓撲的圖,所述虛擬計算機網(wǎng)絡配置有一個或多個虛擬交換機;圖2是根據(jù)一個實施例的物理和虛擬化組件的層視圖,所述物理和虛擬化組件構(gòu)成具有分布式虛擬交換機的示例虛擬計算機網(wǎng)絡;圖3是根據(jù)一個實施例的物理服務器的組件的框圖,所述物理服務器被虛擬化來提供多個虛擬機和虛擬服務器;圖4是根據(jù)一個實施例的、包括私有局域網(wǎng)(PVLAN)域的虛擬網(wǎng)絡中的層2分布式虛擬交換機(DVS)在多個物理主機上的示例分布的框圖5A示出了根據(jù)一個實施例的、配置有位映射陣列的示例PVLAN內(nèi)存在的不同端Π ;圖5B是示出根據(jù)一個實施例的、在圖5A的PVLAN內(nèi)分組從一個類型的端口到另一類型的可傳輸性的表;圖6是根據(jù)一個實施例的、示出針對接收的VLAN標識符(ID)被添加到分布式虛擬交換機(DVS)的虛擬端口而產(chǎn)生和更新進入位映射、離開位映射和剝離位映射陣列的方法的高層邏輯流程圖;圖7示出了根據(jù)一個實施例的、由圖4的方法所產(chǎn)生并被用于使得能夠經(jīng)由DVS在PVLAN內(nèi)進行高效路由的示例進入、離開和剝離位映射陣列;圖8A和圖8B是根據(jù)一個實施例的、分別示出利用分組的VLAN ID和位映射陣列(諸如圖7的位映射陣列)而通過DVS處理接收的分組的方法的不同實施例的高層邏輯流程圖;圖9是示出根據(jù)一個實施例的、利用位映射陣列對在虛擬端口的進入路徑上和離開路徑上檢測/接收到的分組進行處理的處理圖。
具體實施例方式示例性實施例提供了一種方法、數(shù)據(jù)處理系統(tǒng)和計算機程序產(chǎn)品,其使得能夠在虛擬化計算環(huán)境中的分布式虛擬交換機(DVS)的虛擬網(wǎng)絡端口處進行高效分組處理。在虛擬平臺中執(zhí)行該方法,在該虛擬平臺中,分組處理邏輯被增強,以使能在私有虛擬局域網(wǎng)(PVLAN)的虛擬端口內(nèi)更高效的分組處理。根據(jù)所述實施例的一個或多個方面,分組處理邏輯使得虛擬和物理客戶端機器都能夠利用分配到每個虛擬端口的PVID和一組位映射更高效地在分布式虛擬網(wǎng)絡上相互通信。具體地,該方法的所提供的方面包括在DVS的第一虛擬端口處檢測分組的傳入,其中第一虛擬端口被分配為使得能夠向和從一個或多個VLAN 內(nèi)的設備路由接收的分組;從分組的頭部取回(retrieve)VLAN ID (VID),其中VLAN ID是被分配為相對于可以被第一虛擬端口支持的多個VLAN的其他VLAN唯一地識別特定VLAN的值。該方法接著使得能夠利用從分組取回到的VLAN ID以及用于虛擬端口的進入路徑上的分組的進入位映射陣列和用于虛擬端口的離開路徑上的分組的離開位映射陣列,經(jīng)由虛擬端口進行分組轉(zhuǎn)發(fā)。當在特定位映射陣列內(nèi)未識別出VLAN ID時,丟棄分組。僅在VID識別了在位映射陣列中設定了對應偏移位置的VLAN時,在進入路徑上或離開路徑上檢測到的分組允許由端口處理。此外,在下面更詳細描述的一個實施例中,當在端口的離開路徑上檢測到分組時,該方法包括檢查是否設定了虛擬端口的剝離位映射陣列內(nèi)的剝離陣列偏移位置,指示VLAN被端口支持以及在將分組轉(zhuǎn)發(fā)前應該移除VID,其中剝離陣列偏移位置對應于VID的值并在端口上配置VLAN期間在剝離位映射陣列內(nèi)設定;以及響應于設定了剝離陣列偏移位置,從分組移除VID,并將沒有VID的分組轉(zhuǎn)發(fā)到由分組識別的VLAN的目的地設備。本方法的一個或多個實施例使得虛擬化管理器能夠在配置新虛擬端口時生成三個位映射的組并分配全局唯一的端口 ID,以及能夠修改/更新虛擬端口的位映射以支持多個VLAN,反之亦然。該三個位映射的組被分配到被配置和更新來支持添加附加VLAN的每個虛擬端口,以使得能夠高效地處理在虛擬端口的進入和離開路徑上檢測到的分組。
在本發(fā)明的示例實施例的以下詳細說明中,以足夠的細節(jié)描述了可以實踐本發(fā)明的特定示例實施例,以使得本領(lǐng)域的技術(shù)人員能夠?qū)嵺`本發(fā)明,并且應該理解,可以采用其他實施例,并且在不偏離本發(fā)明的精神和范圍的情況下可以進行邏輯、架構(gòu)、程序、機械、電學和其他改變。因此,以下詳細描述不被認為是限制性的,并且本發(fā)明的范圍由所附權(quán)利要求及其等同物限定。在附圖的不同視圖的描述中,相似的元件被提供與之前的附圖相似的名稱和附圖標記。提供分配給元件的特定附圖標記僅是輔助說明而不意在隱含對所述實施例的任何限制(結(jié)構(gòu)或功能或者其他方面的)。應該理解,特定組件、設備和/或參數(shù)名稱(諸如這里所描述的執(zhí)行工具/邏輯/固件的那些)的使用僅是作為示例,而不意在隱含對發(fā)明的任何限制。因此,本發(fā)明可以利用用于描述這里的組件/設備/參數(shù)的不同名稱/術(shù)語來實施,沒有限制。 在描述實施例的一個或多個元素、特征或概念時對任何特定協(xié)議或私有名稱的引用僅是作為一個實施例的示例而提供,并且這樣的引用不限制本發(fā)明擴展到使用不同元素、特征或概念的實施例。因此,這里使用的每個術(shù)語在使用所述術(shù)語的上下文中被給予其最廣泛的解釋。如這里所使用的,術(shù)語“進入(ingress)”是指分組在該端口進入交換機(在所述實施例中時DVS),而術(shù)語“離開”是指分組使用該端口從交換機出去。進入和離開被用于分別指端口的進入路徑和該端口的離開路徑。如下面進一步描述的,本發(fā)明的功能特征的實施被提供在處理設備/結(jié)構(gòu)內(nèi),并涉及硬件、固件的組合以及若干軟件層構(gòu)成(例如程序代碼)的使用。所述的附圖示出了數(shù)據(jù)處理架構(gòu)的特定示例內(nèi)的硬件組件和軟件組件。圖示和描述的實施例假設系統(tǒng)架構(gòu)可以被擴展到大得多的數(shù)據(jù)處理系統(tǒng)和/或網(wǎng)絡?,F(xiàn)在特別參照圖1,描述了示例虛擬化網(wǎng)絡結(jié)構(gòu)的框圖,所述虛擬化網(wǎng)絡結(jié)構(gòu)諸如數(shù)據(jù)中心或企業(yè)網(wǎng)絡,并且其也可以被傳統(tǒng)地稱為“云”。虛擬化網(wǎng)絡結(jié)構(gòu)100包括底層的物理網(wǎng)絡105。物理網(wǎng)絡105可以包括多個機器/設備(如物理網(wǎng)絡105內(nèi)一般地示出的),包括一個或多個物理服務器、路由器、適配器、數(shù)據(jù)庫、以及物理交換機,它們彼此互聯(lián)并經(jīng)由一個或多個類型/形式的連接結(jié)構(gòu)(由虛線指示)彼此通信。虛擬化網(wǎng)絡結(jié)構(gòu)100還包括網(wǎng)絡虛擬化層120,其由一個或多個網(wǎng)絡系統(tǒng)管理器(hypervisor) 110產(chǎn)生,以支持多個虛擬局域網(wǎng)(VLAN) 130。虛擬機/設備駐留于具有物理硬件資源的虛擬化平臺(諸如服務器)上(見圖2和圖3),所述物理硬件資源經(jīng)由虛擬化管理器(見圖3)的一個或多個實施提供,諸如國際商業(yè)機器(IBM)公司的強勁系統(tǒng)管理器(Power Hypervisor (PHYP))。物理網(wǎng)絡105由物理轉(zhuǎn)發(fā)元件構(gòu)成。轉(zhuǎn)發(fā)元件可以是具有標準轉(zhuǎn)發(fā)硅的傳統(tǒng)硬件交換機(例如交換機107)、以及諸如系統(tǒng)管理器內(nèi)包括的虛擬交換機。交換機提供對協(xié)議的支持,以允許調(diào)整他們的流表來支持分布虛擬網(wǎng)絡的實施。物理交換機107可以包括任何商業(yè)可得或私有的交換機,其可以包括OpenFlow或其他標準或私有協(xié)議。物理網(wǎng)絡105中的轉(zhuǎn)發(fā)元件被網(wǎng)絡系統(tǒng)管理器110用于實施分布虛擬交換機(DVS),諸如DVS 145a、145b。如這里所述的,DVS提供交換機的邏輯視圖,其與底層的硬件分離并可以延伸跨越多個物理交換機或多個系統(tǒng)管理器。虛擬交換機145a、145b與虛擬機通信并且還可以具有與物理NIC的物理連接,而物理交換機107與物理主機通信。如這里所提供的,DVS 145由網(wǎng)絡系統(tǒng)管理器110保持,并可以延伸跨越子網(wǎng)。每個DVS 145可以包括多個物理主機或物理網(wǎng)絡端口,并且多個DVS可以共享同一物理硬件。網(wǎng)絡系統(tǒng)管理器110提供供給(provisioning)功能,其創(chuàng)建和保持網(wǎng)絡虛擬化層120,并且系統(tǒng)管理器110也創(chuàng)建和保持邏輯轉(zhuǎn)發(fā)元件并將這些元件映射到底層的硬件。在一個實施例中,網(wǎng)絡系統(tǒng)管理器110可以由控制器(例如管理控制臺115)使用網(wǎng)絡操作系統(tǒng)實施。網(wǎng)絡虛擬化層的控制由網(wǎng)絡控制管理器150 (其被一般顯示為與管理控制臺115關(guān)聯(lián))提供。網(wǎng)絡控制管理器150是軟件工具,其在管理控制臺115 (其可以是連接到網(wǎng)絡系統(tǒng)管理器110的物理或虛擬設備)上執(zhí)行,并且網(wǎng)絡控制管理器150被用于設立各種虛擬設備以及向這些虛擬設備供給資源。網(wǎng)絡虛擬化層120使得DVS145內(nèi)的虛擬端口能夠被抽象化和使用(物理網(wǎng)絡105內(nèi)的)物理網(wǎng)絡交換機,以在VLAN (例如,PVLAN 140)的設備之間傳遞分組。因此,網(wǎng)絡系統(tǒng)管理器110保持映射,該映射使得在路由單個VLAN的設備之間路由通信,并使得能夠?qū)碜曰蛉ネ鵙LAN的分組路由到外部設備。在上述虛擬化網(wǎng)絡結(jié)構(gòu)內(nèi),示出了示例性私有VLAN (PVLAN)HO和VLAN 142。應理解,這兩個VLAN僅表示潛在的大量VLAN (其可以包括多個PVLAN 140和多個VLAN 142) 中的兩個。可以經(jīng)由各個分布虛擬交換機(DVS) 145支持PVLAN 140和VLAN 142兩者,所述DVS 145可以跨越多個主機設備,并且每個DVS 145提供多個被分配到各種虛擬機的虛擬端口,所述各種虛擬機在PVLAN 140或VLAN 142內(nèi)互連。本領(lǐng)域的技術(shù)人員知道,隨著虛擬化計算范型的快速擴展和向云計算的進展,大集合(hosting)服務或企業(yè)網(wǎng)絡可以在若干地點(其可以地理上分散,例如,舊金山、紐約等)保持多個數(shù)據(jù)中心或網(wǎng)絡。因此,將來自這些地理上分散的地點內(nèi)的客戶端機器/設備連接到單個虛擬局域網(wǎng)(VLAN)中需要使用一個或多個分布虛擬交換機(DVS)。這些DVS(例如DVS 145)經(jīng)由網(wǎng)絡系統(tǒng)管理器110產(chǎn)生的網(wǎng)絡虛擬化層120支持。每個DVS 145繼而提供多個虛擬端口,所述多個虛擬端口被用于支持去往/來自一個或多個VLAN 130、或一個或多個VLAN 130內(nèi)的分組傳輸,所述一個或多個VLAN130包括一個或多個私有VLAN(PVLAN) 140 和 / 或一個或多個 VLAN 142?,F(xiàn)在參照圖2,其示出了描繪圖I的物理硬件層和網(wǎng)絡虛擬化層的一些組件的擴展視圖。應該理解,圖2中示出的計算資源、層和功能僅意在示例性的,主張權(quán)利的發(fā)明的實施例不限于此。如所描繪的,物理層200包括各種物理硬件和軟件組件,其可以被用于例示在虛擬化網(wǎng)絡結(jié)構(gòu)內(nèi)使用的虛擬實體。作為示例,硬件組件可以包括大型機(例如,IBM zSeries 系統(tǒng))、精簡指令集計算機(RISC)架構(gòu)服務器(例如,iBMpSeries 系統(tǒng))、iBMxSeries 系統(tǒng)、iBMBladeCenter 系統(tǒng)、存儲設備(例如,閃存驅(qū)動器、磁盤驅(qū)動器、光盤驅(qū)動器、磁帶驅(qū)動器等)、物理網(wǎng)絡和連網(wǎng)組件(例如路由器、交換機等)。軟件組件可以包括操作系統(tǒng)軟件(例如,AIX、Windows, Linux等)、網(wǎng)絡應用服務器軟件(例如,iBM^WebSphere 應用服務器軟件,其包括網(wǎng)站服務器軟件)、以及數(shù)據(jù)庫軟件(例如IBM DB2 數(shù)據(jù)庫軟件)。IBM>zSeries>pSeries>xSeries>BladeCenter>WebSphere 和 DB2是國際商業(yè)機器公司在全球許多管轄地的注冊商標。Windows是微軟公司的商標,Linux是Linux Torvalds 的商標。駐留于物理層205中的計算資源由一個或多個虛擬機監(jiān)控器(VMM)或系統(tǒng)管理器(例如,網(wǎng)絡系統(tǒng)管理器110)虛擬化和管理。如所示的,虛擬化層220包括多個虛擬實體(例如虛擬服務器、虛擬存儲器、虛擬網(wǎng)絡(包括虛擬私有網(wǎng)絡))、虛擬應用和虛擬客戶端??梢酝ㄟ^在虛擬化網(wǎng)絡環(huán)境內(nèi)連接的客戶端設備147訪問這些虛擬實體,其是物理層200中的底層資源的抽象??蛻舳嗽O備147可以是實際設備或虛擬設備(例如,虛擬機,VM)。圖3示出了已經(jīng)被虛擬化來產(chǎn)生多個虛擬客戶端設備的示例計算機服務器平臺,所述多個虛擬客戶端設備中的一個或多個是由具有多個虛擬端口的DVS支持的VLAN或PVLAN內(nèi)的客戶端設備。這里,服務器300可互換地稱為主機或主機設備或主機數(shù)據(jù)處理系統(tǒng)。因此,主機設備300包括硬件組件和軟件/固件/OS組件,其被邏輯分區(qū),以創(chuàng)建多個虛擬機(VM)或操作系統(tǒng)(OS)分區(qū),所述分區(qū)可被配置為客戶端邏輯分區(qū)(LPAR)和/或虛擬I/O服務器(VIOS)。為了簡單,所有客戶端LPAR在下文中都稱為VM,其中作為示例示出VM1220a和VM2220b。還示出單個VIOS 230作為參考。然而,應該理解,在一個或多個實施方式中,系統(tǒng)可以僅利用VM配置,即沒有任何VI0S。物理層310包括一個或多個處理器302、一個或多個存儲器304、和邏輯(數(shù)據(jù))存儲器31。該一個或多個處理器302經(jīng)由總線、互連/交換機或互連結(jié)構(gòu)(一般地稱為互連結(jié)構(gòu)305)與一個或多個存儲器304和本地存儲器312互連??梢钥绱蠓秶幕ミB結(jié)構(gòu)分布的組件的特定內(nèi)部連接性與所述的實施例 不相關(guān),并且不再提供關(guān)于系統(tǒng)硬件組件之間的特定類型的互連性的細節(jié)。在物理層310中還包括的是一個或多個物理網(wǎng)絡接口(NI) 308 (也傳統(tǒng)地稱為網(wǎng)絡適配器),其支持/使能主機系統(tǒng)300 (以及VM 220a/220b和VI0S230)到外部網(wǎng)絡(例如網(wǎng)絡105,圖I)的物理連接。此外,物理層310包括多個I/O適配器和I/O設備306,其為主機系統(tǒng)300提供I/O接口。I/O適配器306是物理層適配器,該物理層適配器使得主機系統(tǒng)300能夠支持經(jīng)由I/O接口與本地連接的和遠程連接(網(wǎng)絡化)的I/O設備的I/O操作。I/O適配器的示例包括外圍組件接口(PCI)、PCI-X或高速PCI (PCI EXpress)適配器、以及小型計算機系統(tǒng)互連(SCSI)適配器,等等。主機系統(tǒng)300被邏輯分區(qū),使得不同的I/O適配器306被虛擬化,并且虛擬I/O適配器可以接著被唯一地分配給不同的邏輯分區(qū)(VM和/或VI0S)。邏輯上位于物理層310之上的是虛擬化管理器320,在一個實施例中,其可以是強勁系統(tǒng)管理器(PHYP),IBM公司的商標。雖然作為PHYP引入,但完全可以理解,其他類型的虛擬化管理組件可以被使用,并且同等地適用于各種所描述的實施例的實施方式。虛擬化管理器320可以具有在物理層310內(nèi)或者位于相對于虛擬化管理器320的其他地方的關(guān)聯(lián)的服務處理器(未示出)。服務處理器可以被用于為一個或多個邏輯分區(qū)提供各種服務。如所示出的,存在于物理層310之外的硬件管理控制器(HMC)315經(jīng)由虛擬化管理器320與主機系統(tǒng)300通信??梢酝ㄟ^HMC 315控制不同邏輯分區(qū)的操作,HMC 315可以是獨立的數(shù)據(jù)處理系統(tǒng),系統(tǒng)管理員(administrator)可以從該獨立的數(shù)據(jù)處理系統(tǒng)執(zhí)行各種功能,諸如將資源重分配到不同的邏輯分區(qū)。主機系統(tǒng)300還包括多個用戶層的邏輯分區(qū)(LPAR),其中示出了兩個虛擬機(VM1220a和VM2220b)和一個虛擬I/O服務器(VI0S)230。根據(jù)各種示例實施例,主機系統(tǒng)300支持多個客戶端和在虛擬環(huán)境中創(chuàng)建的其他功能操作系統(tǒng)(OS)分區(qū)。每個LPAR接收特定虛擬硬件和OS資源(包括虛擬CPU資源、虛擬存儲器資源、虛擬OS)的分配,并訪問所分配的本地存儲器。每個LPAR包括相應的主機操作系統(tǒng),其控制對物理層310和/或?qū)νㄟ^VIOS 230提供的虛擬I/O功能和/或服務的低層訪問。在一個實施例中,操作系統(tǒng)可以使用0S/400實施,0S/400被設計為與分區(qū)管理固件(諸如PHYP)接口,并可從國際商業(yè)機器公司獲得。應理解,取決于具體實施方式
,例如也可以使用其他類型的操作系統(tǒng)(諸如高級交互執(zhí)行環(huán)境(AIX)操作系統(tǒng),其為IBM公司的商標;微軟Windows ,其為微軟公司的商標;或者GNU /Linux ,其為自由軟件基金和Linux Torvalds的注冊商標),并且0S/400僅用作示例。此外,根據(jù)示例實施例,每個邏輯分區(qū)被提供了一個或多個虛擬網(wǎng)絡接口,僅為了示例的目的而編號為ΝΙΡ··ΝΙ4。這些NI允許LPAR與其他LPAR通信,所述LPAR均在主機系統(tǒng)上,并允許LPAR與跨越分布網(wǎng)絡上的其他設備通信。在所述實施例中,VM 220a/220b中的至少一個是PVLAN的一部分并連接到可以使能跨越PVLAN的連接的DVS。DVS 330可以是跨越多個主機系統(tǒng)的更大DVS的本地部分,其提供在虛擬化管理器320內(nèi)。DVS 330包括多個虛擬端口,每個端口被分配到PVLAN內(nèi)的一個或多個VM,以使能在PVLAN內(nèi)向和從所述關(guān)聯(lián)設備的分組傳輸。根據(jù)一個實施例,使用端口路由位映射陣列使跨DVS的虛擬端口的分組傳輸更高效。如主機系統(tǒng)300內(nèi)進一步示出的,虛擬管理器320包括端口控制器325,其與主機系統(tǒng)300支持的一個或多個DVS關(guān)聯(lián)。端口控制器325包括策略軟件組件342,其定義端口路由 策略和連接性策略,等等。端口控制器還包括端口注冊和位映射設置(PRBS)工具343以及端口分組處理(PPH)工具344。下面在圖6-8的描述內(nèi)詳細說明PRBS工具343和PPH工具344提供的功能。此外,端口控制器325包括多個與各個端口關(guān)聯(lián)的單獨(individual)PVID 345以及對應的三個VLAN陣列340的組,每個組對應于一個PVID和所關(guān)聯(lián)的端口。下面將參照圖6-9更詳細地說明產(chǎn)生位映射陣列340并接著使用位映射陣列340通過DVS的虛擬端口提供更高效的分組處理的方法?,F(xiàn)在參照圖4,示出了數(shù)據(jù)處理環(huán)境的視圖,該數(shù)據(jù)處理環(huán)境包括支持在包括分布虛擬路由器的虛擬網(wǎng)絡拓撲/環(huán)境內(nèi)互連的虛擬機的多個物理主機系統(tǒng)之間的實際和虛擬連接。在所示實施例中,數(shù)據(jù)處理環(huán)境400包括因特網(wǎng)協(xié)議(IP)網(wǎng)絡402,其包括多個網(wǎng)段404a、404b,每個網(wǎng)段耦接到物理路由器406a、406b中相應的一個。如本領(lǐng)域所公知的,每個物理路由器406a、406b包括相應的轉(zhuǎn)發(fā)表407a、407b,物理路由器406a、406b通過所述轉(zhuǎn)發(fā)表基于包含在分組中的OSI層3 (例如因特網(wǎng)協(xié)議(IP))地址將到來的數(shù)據(jù)分組轉(zhuǎn)發(fā)到分組的目的地。物理主機系統(tǒng)410a、410b耦接到網(wǎng)段404a,并且物理主機系統(tǒng)410c耦接到網(wǎng)段404b。物理主機(諸如物理主機系統(tǒng)410a、410b)可選地可以由輔助主機連接408(諸如直接電纜連接或私有非路由網(wǎng)絡)附加地耦接。例如可以利用如圖3所示的主機系統(tǒng)300實施每個物理主機系統(tǒng)410a-410c。每個物理主機系統(tǒng)410a_410c執(zhí)行虛擬化管理器412a_412c中相應的一個,其例如,在通過IP網(wǎng)絡402耦接到物理主機系統(tǒng)410a-410c的管理控制臺415處的人工和/或自動管理員的指引下,虛擬化和管理其相應的物理主機410的資源。物理主機系統(tǒng)410a上的虛擬化管理器412a支持VM 414a-414c的執(zhí)行,物理主機系統(tǒng)410b上的虛擬化管理器412b支持VM 414d-414f的執(zhí)行,并且物理主機系統(tǒng)410c上的虛擬化管理器412c支持VM414g-414i的執(zhí)行。在各種實施例中,VM 414a-414i可以包括一個或多個云用戶和/或云提供商的VM。在所述實施例中,每個VM 414具有至少一個(以及在某些情況下為多個)虛擬網(wǎng)絡接口 NI1-NI11,其至少在OSI模型的層2和3上提供網(wǎng)絡連接。如所述的,每個虛擬化管理器412a_412c提供一個或多個(并且在所述實施例中,至少兩個)虛擬網(wǎng)絡,管理器的VM 414可以附接到所述虛擬網(wǎng)絡。為了視覺地將它們從物理子網(wǎng)404a-404b區(qū)分開,在圖4中用虛線圖示表示虛擬網(wǎng)絡。例如,在所示實施例中,虛擬化管理器412a-412c全都通過提供層2的連接性的單獨虛擬交換機430al、430bl和430cl的實施而提供第一分布虛擬網(wǎng)絡420a。虛擬化管理器412a-412b類似地通過DVS 430a2和430b2的實施提供第二虛擬網(wǎng)絡420b。此外,虛擬化管理器412c通過分布交換機430c2的實施提供第二·虛擬網(wǎng)絡420c。在各種實施例中,每個虛擬網(wǎng)絡420a_420c可以例如是特定云用戶的私有網(wǎng)絡(例如PVLAN)、多個云用戶共享的合作私有網(wǎng)絡和/或云提供商,或者公共網(wǎng)絡。在所述示例中,網(wǎng)絡接口 NI2、NI4、NI6、NI8和NIlO連接到第一虛擬網(wǎng)絡420a,網(wǎng)絡接口 Nil、NI3、NI5和NI7連接到第二虛擬網(wǎng)絡420b,并且網(wǎng)絡接口 NI9和NIll連接到第三虛擬網(wǎng)絡420c。每個虛擬化管理器412優(yōu)選地記錄關(guān)于特定虛擬化管理器支持的虛擬網(wǎng)絡420以及對應的VM414與虛擬網(wǎng)絡420的連接的信息。此信息被記錄為網(wǎng)絡信息422a、422b和422c中相應的一個。例如,當供應、布置或遷移進特定VM 414時第一虛擬化管理器412a可以在其網(wǎng)絡信息422a中創(chuàng)建條目用于它的VM 414a、414b或414c之一,并 且當遷移出或破壞VM 414時第一虛擬化管理器412a可以從網(wǎng)絡信息422a移除條目。在一個可選實施方式中,為了支持在虛擬網(wǎng)絡420a_420c之間以及在虛擬網(wǎng)絡420與物理網(wǎng)絡402和/或404之間通信,虛擬化管理器412a_420c可以各自實施分布式路由器432a-432c中相應的一個,以提供OSI層3路由。然而,在替代實施例中,可以不在物理主機內(nèi)實施任何路由功能。在所示實施例中,每個分布式路由器432為由路由器的虛擬化管理器412實例化的每個虛擬網(wǎng)絡420提供相應的網(wǎng)絡接口、以及至物理主機410所附接(例如通過物理網(wǎng)絡接口 304的軟件端口)的物理網(wǎng)段404的網(wǎng)絡接口。每個分布式路由器432附加地包括相應的轉(zhuǎn)發(fā)表434a、434b和434c,用于存儲路由信息。本領(lǐng)域的普通技術(shù)人員將理解,圖1-4中所示的硬件、固件/軟件工具以及軟件組件及其基本配置可以變化。各個圖的示例組件不意在是窮舉的,而是代表性的,以強調(diào)用于實施某一所述實施例的一些組件。例如,可以提供數(shù)據(jù)處理系統(tǒng)和/或主機系統(tǒng)的不同配置,包括其他設備/組件,其可以額外地使用或代替所述硬件而使用,并可以被不同地配置。所示示例不意在隱含對當前描述的實施例和/或它們的邏輯擴展的架構(gòu)限制或其他限制?,F(xiàn)在參照圖5A,示出了 PVLAN域的端口視圖。PVLAN域500包括主VLAN 505,其繼而提供兩個群體(community) VLAN (稱為群體IVLAN 520a和群體2VLAN 520b)以及隔離(Isolated)VLAN 525。這些VLAN在層2 (L2)交換機內(nèi)相互關(guān)聯(lián)和定義。群體VLAN 520a、520b和隔離VLAN 525在這里統(tǒng)稱為輔助VLAN (由虛環(huán)繞線指示)。每個VLAN具有關(guān)聯(lián)的VLANID,其唯一地識別DVS內(nèi)的VLAN。在PVLAN內(nèi)是三個相關(guān)端口,分別定義為混雜端口、隔離端口和群體端口。如這里所提供的,混雜端口連接到層3 (L3)或?qū)? (L4)設備(例如路由器),其可以繼而連接到英特網(wǎng)或監(jiān)管(administrative)工作站或者公共網(wǎng)絡服務器,例如動態(tài)主機配置協(xié)議(DHCP)服務器。隔離端口和群體端口連接到獨立虛擬和物理用戶設備或服務器,諸如圖3和4中的VM,并且隔離端口和群體端口攜帶來源于PVLAN內(nèi)的設備之一或者針對其而接收的業(yè)務。在分組路由期間,主VLAN 505將混雜端口 510與群體端口 522a_d或隔離端口526a、526b連接。具體地,主VLAN 505在混雜端口 510處從L3/L4設備接收分組,并將分組傳遞到一個或多個輔助VLAN。如這里所提供的,隔離VLAN被定義為功能性地將隔離端口連接到混雜端口的VLAN。在隔離VLAN中,業(yè)務僅是單向的,即分組在隔離端口處接收且僅從該隔離端口傳輸?shù)交祀s端口。對于其他隔離或群體端口,分組不可用。群體VLAN被定義為功能性地將群體端口連接到混雜端口的VLAN。在群體VLAN內(nèi),僅單向路由業(yè)務,即分組在群體端口處接收且僅從群體端口傳輸?shù)交祀s端口以及傳輸?shù)皆撊后wVLAN上的其他群體端口。在所述路由協(xié)議中,分組不從群體端口傳輸?shù)礁綦x端口或傳輸?shù)娇赡艽嬖谟谕唤粨Q機上的不同群體VLAN上的群體端口。當在L2交換機內(nèi)配置VLAN時,管理員可以手動地指定VLAN內(nèi)的端口。然而,當配置PVLAN時,管理員定義主VALN和一個或多個輔助VLAN。利用所述實施例,對于軟件使能的用以支持PVLAN特征的DVS (如圖4所呈現(xiàn)的),DVS必須支持PVLAN內(nèi)支持的所有三種類型的端口,強制執(zhí)行(enforce)由PVLAN強制的通信限制(其可以例如由策略軟件342定義,圖4),并支持多個PVLAN域。雖然存在于通信的層2域內(nèi),但PVLAN 500具有多個子域。如這里所定義的,每個 PVLAN子域由兩個VLAN ID (VID)構(gòu)成,具體為主VLAN ID和輔助VLAN ID。主VLAN表示PVLAN通信域,而輔助VLAN是PVLAN域的通信子域。因此,輔助VLAN ID是網(wǎng)絡中支持的所有PVLAN中的全局唯一的ID。每個網(wǎng)絡端口落入單個PVLAN內(nèi)的3個類型的子域之一(并且僅僅是一個)中,如下定義 (I)混雜端口一這些端口可以與PVLAN域中的所有端口通信?;祀s端口支持與PVLAN 500 的主 VLAN ID 545 相同的輔助 VLAN ID 547。( 2 )群體端口一這些端口可以與同一群體內(nèi)的混雜端口和其他端口通信(例如,群體端口 522a可以與群體IVLAN 520a內(nèi)的群體端口 522b通信)。如圖5所示的,在單個/同一 PVLAN 500內(nèi)可以存在多個群體。每個群體由唯一的VLAN ID 547a、547b表示,其與主群體VLAN ID 545、隔離VLAN ID550以及其他群體的VLAN ID不同。(3)隔離端口一這些端口僅能與混雜端口通信。隔離端口 526a、526b的輔助VLANID是與主VLAN ID 545不同的VLAN ID。在一個實施例中,在PVLAN 500內(nèi)僅支持一個隔離 VLAN ID (550)。每個端口使能到和從一個或多個端設備的通信,示出了所述端設備中的端設備524a-524b作為每個(per)群體VLAN 520a、520b的兩個端設備(SI、S2)。每個隔離VLAN525還包括端設備528a、528b,對于每個隔離VLAN 525示出了一個端設備(分別為S4、S5)。圖5B的表500總結(jié)了圖5A所示的私有VLAN內(nèi)的端口動作。在DVS上支持PVLAN方案取決于強制執(zhí)行PVLAN所需要的通信限制的每個主機上的軟件實體。在DVS相關(guān)的應用中,DVS方案典型地由多個主機/機器中的軟件實體構(gòu)成。軟件實體在主機系統(tǒng)內(nèi)在DVS訪問端口(例如連接到虛擬機的端口)之中轉(zhuǎn)發(fā)分組,并通過使用主機系統(tǒng)上的網(wǎng)絡卡(上行鏈路端口)(向和從主機)轉(zhuǎn)發(fā)而與外部網(wǎng)絡通信。特定虛擬機上的軟件實體僅知道在該虛擬器上支持的端口,其可以僅是整個DVS方案支持的所有端口的(小)子網(wǎng)。雖然可以使軟件實體知道(同一 DVS內(nèi)的)其他主機上的端口,但該配置將對軟件實體(即本地DVS)中的轉(zhuǎn)發(fā)表增加不必要的復雜度和尺寸的層。在層2上交換的業(yè)務基于具有MAC頭部的數(shù)據(jù)的幀。層2交換機可以在單個交換機上包括幾百個端口。私有VLAN在同一廣播域內(nèi)的端口之間提供層2隔離。私有VLAN將常規(guī)VLAN域分區(qū)為子域,其由一對VLAN (主VLAN和輔助VLAN)表示。私有VLAN中的每個端口是主VLAN的構(gòu)件(member )。主VLAN攜帶從混雜端口到隔離和群體端口以及到其他混雜端口的向下游的單向業(yè)務。隔離VLAN攜帶從隔離端口朝向混雜端口的向上游的單向業(yè)務。群體VLAN攜帶從群體端口到混雜端口以及到同一群體中的其他主機端口的向上游的業(yè)務。多個群體VLAN可以被配置在私有VLAN中。在一個實施例中,群體端口還可以接收向上游的業(yè)務。此外,接收向上游的業(yè)務的端口可以支持超過一個VLAN。如這里所提供的,隔離端口是屬于隔離的輔助VLAN的主機端口。隔離端口具有與同一私有VLAN內(nèi)除混雜端口之外的其他端口的完全層2分離。私有VLAN阻止所有業(yè)務到達隔離端口,除了來自混雜端口的業(yè)務,并且從隔離端口接收的業(yè)務僅被轉(zhuǎn)發(fā)到混雜端口。群體端口是屬于群體輔助VLAN的主機端口。群體端口可以與同一群體VLAN中的 其他端口以及與混雜端口通信。這些接口在層2中與其他群體中的所有其他接口隔離以及與他們的私有VLAN內(nèi)的隔離端口隔離。在PVLAN內(nèi),施加若干配置限制。這些限制的列表可以包括下列中的一個或多個(I)在私有VLAN中僅可以存在一個隔離VLAN ;(2)隔離端口不能是上行鏈路端口;(3)輔助VLAN端口不能與同一私有VLAN域中的其他VLAN重疊;(4 )網(wǎng)絡中的缺省VLAN不能是私有VLAN ;(5)映射到輔助VLAN的主VLAN需要被創(chuàng)建并被使能;(6)如果端口未被加標簽(tag),則其不能支持超過一個VLAN ;(7)端口可以是私有VLAN域內(nèi)的混雜端口或群體端口或隔離端口 ;(8)可以支持高達4095個PVLAN,其中識別號O和4095被保留;以及(9)私有VLAN需要被創(chuàng)建并使能,以便端口支持PVLAN。隨著在虛擬化方案中對基于軟件的層2交換機的需要的增加,這里所述的實施例的多個方面提供了一種用于DVS軟件中的網(wǎng)絡分組處理的高效算法。如下文所定義的,這些實施例提供DVS中的高效0(1)分組處理(數(shù)據(jù)路徑)PVLAN方案。所述實施例建立在以下事實上PVLAN內(nèi)的任何子域(不論是混雜、隔離還是群體)的VLAN ID是全局唯一的。因此,所述實施例的一個方面涉及(主機系統(tǒng)上的)軟件實體,其通過利用正確的VLAN ID在從端口的向外(outbound) /進入路徑中向分組加標簽以及驗證(validate)到端口的向內(nèi)(inbound)/離開和/或離開路徑上的分組的VLAN ID,而實施特定PVLAN策略的強制執(zhí)行。該方法確保多個DVS能夠支持同一組PVLAN以及統(tǒng)一地強制執(zhí)行PVLAN策略。根據(jù)所陳述的實施例,所述方案的效率基于端口如何驗證分組上的VLAN標簽。雖然在DVS內(nèi)可能存在多個PVLAN域并且每個訪問端口可能屬于多個PVLAN本身,但所述實施例所陳述的方法避免在分組處理期間遍歷任何PVLAN列表。在實施例所提供的優(yōu)化方案下,DVS中的每個端口(訪問端口和上行鏈路端口兩者)支持三個VLAN位映射(這里也可替換地稱為位映射陣列)。如現(xiàn)在參照圖7所描述的,每個端口的三個位映射(或位映射陣列)是進入VLAN位映射742、離開VLAN位映射744、和剝離VLAN位映射746。進入VLAN位映射742包含端口在進入路徑中支持的VLAN。離開VLAN位映射包含該端口在離開路徑中支持的VLAN。最后,剝離VLAN位映射包含在發(fā)送幀/分組到端口之前軟件模塊必須移除/剝離的離開路徑上的VLAN。位映射陣列保持在端口位映射340內(nèi),端口位映射340在一個實施例中保持多個端口位映射740a…740m,用于DVS內(nèi)支持的M個端口,其中M是整數(shù)。如圖7以及用于端口 I的示例位映射陣列(740)所示的,每個位映射陣列具有對應于特定DVS上支持的VLAN的最大數(shù)目的N個條目。三個VLAN位映射中的每個是N位的一維陣列。在一個實施例中,N=4096位(512字節(jié))。然而,N的值是系統(tǒng)參數(shù),其在替代實施例中可以是不同的數(shù)值。如這里所提供的,當位的值從零(O)變換為I時可以設定位。因此未設定的所有位包含零值。當在陣列的第M個位置(相對于陣列的開始的偏移)中設定位時,則VLAN M出現(xiàn)在位映射中。端口 I的進入VLAN位映射742內(nèi)示出的數(shù)值以從O至N-I的范圍的連續(xù)次序表示N位。離開VLAN位映射744則示出存在出現(xiàn)和分配到離開VLAN位映射744的位置1、3、4和N-2的對應VLAN。而且,剝離VLAN位映射746指示路由到VLAN 4和最后的VLAN (N-I)的分組應該在向/從虛擬端口路由來自該PVLAN的分組之前被剝離VLAN ID。除了位映射陣列742、744 和 746,每個端口還具有 PVID VLAN ID 750。PVID 750指示必須添加到進入路徑上的未加標簽的分組的VLAN標簽并且還指示在離開路徑上將移除哪些標簽。根據(jù)一個實施例,并且如圖6的方法所示,當端口初始被添加到PVLAN(或非私有VLAN)時,在端口的每個位映射上適當?shù)卦O置PVLAN (和VLAN),或者反之亦然(vice-versa),其是不經(jīng)常的操作,因此不在分組處理的路徑中。
現(xiàn)在參照圖6,示出了管理員使用管理控制臺和執(zhí)行其上的軟件而完成將端口添加到DVS的處理的方法。一旦端口信息被提供給軟件,控制軟件隨后產(chǎn)生用于該端口的適當?shù)娜齻€位映射陣列。應該理解,這些步驟中的某些可以被自動化并由管理控制臺315的處理組件執(zhí)行,并且所述步驟中的大多數(shù)也可以由在管理控制臺115工作的網(wǎng)絡管理員手動執(zhí)行。如這里所描述的,經(jīng)由/利用端口注冊和位映射設置(PRBS)工具343完成所述方法,所述工具343在管理控制臺315 (圖3)的一個或多個處理(或虛擬管理器)或主機系統(tǒng)本身上的虛擬化管理器的處理器上執(zhí)行。因此各種處理被描述為由PRBS工具343所執(zhí)行,PRBS工具343可以繼而由網(wǎng)絡管理員配置和/或?qū)嵗?。該工具的?zhí)行可以提供執(zhí)行各種所述功能的處理邏輯。當被網(wǎng)絡管理員啟動時,在一個實施例中,管理員可以經(jīng)由管理控制臺315上的命令行接口(CLI)與PRBS工具343交互。圖6的方法在塊602中開始,在塊602中將VLAN ID (VID)添加到DVS上的虛擬機端口。在步驟604中確定VID是否用于私有VLAN。當VLAN ID用于私有VLAN時,該私有VLAN被處理和認作現(xiàn)有私有VLAN的輔助VLAN(塊606)。接著在塊608中確定VID是否是私有VLAN中的主VLANID。響應于VID是私有VLAN中的主VLAN ID,私有VLAN中的所有VLANID被添加到端口的進入位映射,并且私有VLAN中的所有VLAN ID也被添加到端口離開位映射(塊601)。在決定塊612中,PRBS工具343 (圖3)和/或管理員確定VID是否是該端口的PVID。響應于VID是該端口的PVID,該工具/管理員將私有VLAN中的所有VLANID添加到端口剝離位映射陣列/陣列(塊614)。然后注冊該VID的路徑完成(塊640)。返回到?jīng)Q定塊608,如果VID不是PVLAN中的主VLAN,則在塊616中檢查VID是否是PVLAN中的群體VLAN ID。響應于VID是PVLAN中的群體VLAN ID,工具/管理員將VID添加到端口進入位映射陣列以及端口離開位映射陣列,并還將私有VLAN的主VID添加到端口離開位映射(塊618)。接著在塊620中檢查VID是否是端口的PVID,并且當VID是該端口的PVID,則工具/管理員將該VID和PVLAN的主VID添加到端口剝離位映射陣列(塊622)。然后,注冊VID的該路徑完成(塊640)。在決定塊616中,如果VID不是PVLAN中的群體VLAN ID,則在塊624中檢查VID是否是PVLAN中的隔離VLAN ID。響應于VID是PVLAN中的隔離VLAN ID (隔離端口)的確定,工具/管理員將該VID添加到端口進入位映射,并還將PVLAN的主VID添加到端口離開位映射陣列(塊626)。然后,接著在塊628中執(zhí)行VID是否是端口的PVID的檢查。響應于VID是端口的PVID (同時VID也是PVLAN中的隔離VLAN ID),工具/管理員將PVLAN的主VID添加到端口剝離位映射(塊630)。返回決定塊604,響應于VID不是私有VLAN的VID,則工具/管理員將該VID作為常規(guī)VID處理(塊632)。工具/管理員將該VID添加到端口進入位映射,并還將該VID添加到端口離開位映射(塊634)。工具接著在塊636中檢查VID是否是端口的PVID,并且響應于VID是端口的PVID,工具將VID添加到端口剝離位映射(塊638)。在接收到新VLAN用于在PVLAN內(nèi)注冊時注冊VLAN和更新VLAN位映射的處理的非私有VLAN部分在終止塊640完成。也可以從正在為其執(zhí)行位映射產(chǎn)生的訪問端口的類型的特定角度描述上述方法。因此,例如,當執(zhí)行各個端口的產(chǎn)生和/或更新時,以下條件變得可用。(I)對于隔離端口,在端口在PVLAN的隔離子域中的情況下,進入VLAN位映射包 含隔離VLAN ID,離開VLAN位映射包含混雜(主)VLANID,并且如果端口的PVID設置為隔離VID則剝離VLAN位映射包含混雜VLAN ID。(2)對于群體端口,在端口屬于PVLAN的群體子域的情況下,進入VLAN位映射包含群體VLAN ID,離開VLAN位映射包含群體和混雜VLANID,并且如果端口的PVID被設置為群體VID則剝離VLAN位映射包含群體和混雜VLAN ID兩者。(3)對于混雜端口,在端口屬于PVLAN的混雜子域的情況下,進入VLAN位映射包含混雜VLAN ID,離開VLAN位映射包含PVLAN中的所有VID,即所有群體、隔離和主VID,并且如果端口的PVID被設置為混雜VID則剝離VLAN位映射包含PVLAN中的所有VID (類似于離開)。此外,如果端口屬于多個PVLAN,則端口的結(jié)果位映射是通過簡單地合并如上產(chǎn)生的位映射而產(chǎn)生的組合位映射。因為每個PVLAN支持的VID的組是全局唯一的,所以進入、離開和剝離位映射的同一組合可以支持單個端口上的多個PVLAN。同樣,在同樣的位映射上可以支持非私有VLAN ID (S卩,常規(guī)VLAN)。在此情形中,在VLAN不是私有VLAN的情況中,進入和離開VLAN位映射將都包含用于常規(guī)VLAN的相同位設置。可以通過執(zhí)行訪問端口位映射的合并和聯(lián)合而自動地產(chǎn)生上行鏈路端口位映射。在一個替代實施例中,管理員可以在上行鏈路端口上明確地配置VLAN。在這里所述的實施例內(nèi),用于正確處理分組的方法需要位映射的配置階段的精確性。在進入部分中,檢查幀的VLAN ID是否被端口支持,并且針對于進入位映射執(zhí)行該檢查。在轉(zhuǎn)發(fā)部分內(nèi),檢查目的地端口是否支持幀的VID。針對離開位映射執(zhí)行該檢查。在離開部分中,執(zhí)行檢查來確定是否剝離幀的標簽。根據(jù)剝離位映射執(zhí)行該檢查。一旦正確地設置了位映射和對應的PVID值,則分組轉(zhuǎn)發(fā)邏輯可以處理/驗證(verify)接收的分組的VLAN并適當?shù)仨憫?。用于?zhí)行分組的該驗證和處理的方法提供0(1)方案(solution),這是因為每個分組必須經(jīng)由三(3)個基本恒定的位映射來驗證,并且該方案是恒定的而不管(即不依賴于)系統(tǒng)中的VLAN的數(shù)目。而且,因此使得可以檢查分組VLAN ID是否被設定在(屬于)特定位映射中的算法也是0(1)算法。圖8A和SB示出了通過執(zhí)行控制相關(guān)端口的固件或軟件來實施0(1)算法的某些所述特征的方法的兩個實施例。雖然圖6的方法已經(jīng)被描述為經(jīng)由端口控制器340內(nèi)的PBRS工具343的執(zhí)行來實施,但本方法經(jīng)由/利用端口轉(zhuǎn)發(fā)邏輯中的一個或多個來完成,所述端口轉(zhuǎn)發(fā)邏輯可以經(jīng)由端口分組處理(PPH)工具344的執(zhí)行來實施(圖3)。PPH工具344在主機系統(tǒng)自身上的虛擬化管理器的一個或多個處理器(或虛擬處理器)上執(zhí)行。因此,各種處理可以被描述為通過PPH工具344和/或端口轉(zhuǎn)發(fā)邏輯執(zhí)行,所述端口轉(zhuǎn)發(fā)邏輯可以繼而由網(wǎng)絡管理員配置和/或?qū)嵗.敱痪W(wǎng)絡管理員啟動時,在一個實施例中,管理員可以經(jīng)由管理控制臺315上的命令行接口(CLI)與PRBS工具343交互。還應該理解,PPH工具334的功能可以與PRBS工具343的功能集成,以形成單個組合的工具,其本身表示在支持一個或多個PVLAN的DVS的端口內(nèi)實施的可執(zhí)行代碼段和/或邏輯。為了使得能夠更好地理解圖8A和SB的方法,參照圖9,其示出了在示例虛擬端口的進入路徑和離開路徑上檢測到的分組的轉(zhuǎn)發(fā)和處理中涉及的虛擬端口和DVS的組件。如所提供的,DVS 900包括一個或多個端口控制器邏輯(端口控制器)905,在所述端口控制器邏輯905中保持了使能和/或執(zhí)行這里所描述的實施例的各種功能的若干組件和工具。端口控制器905包括策略組件342和PRBS工具343。此外,端口控制器905包括多組端口 VLAN陣列340a…η和關(guān)聯(lián)的PVID 345a…η。如這里所描述的,每組端口 VLAN陣列(例如陣列340a)包括三個位映射陣列,即進入位映射陣列、離開位映射陣列和剝離位映射陣列。端口控制器905還包括端口轉(zhuǎn)發(fā)邏輯910 (其可以經(jīng)由前述PHH工具344 (圖3)的執(zhí)行來產(chǎn)生)。端口轉(zhuǎn)發(fā)邏輯連接到虛擬端口 920的進入路徑930和離開路徑940各自的接收接口 932和942 (或者在替代實施例中,接收隊列934和944)并與之接口。在所示實施例中,進入路徑930和離開路徑940兩者都包括接收隊列934、944,其耦接到各自的接收接口932、942。類似地,兩個路徑(930、940)都包括發(fā)送隊列936、946,其耦接到各自的發(fā)送接口938、948。分組處理邏輯935、945也被提供在每個路徑(930、940)內(nèi)。將理解,分組處理邏輯935、945可以簡單地是抽象到各個路徑(930、940)內(nèi)發(fā)生接收分組的處理的位置的、端口轉(zhuǎn)發(fā)邏輯910的擴展。而且,在一個實施例中,虛擬端口 920也可以保持端口的端口 VLAN陣列340a和關(guān)聯(lián)PVID 345a的復本。再次參照圖8A,方法在塊802中開始,在塊802中,用于源端口的進入分組處理器(handler)被實例化來處理具有VLAN ID (VID)的分組。當端口檢測/接收到用于處理的分組時,從分組頭部取回VLAN ID。PPH工具在塊804中確定分組的VID是否被設定。響應于分組的VID未被設定,PPH工具利用源端口的PVID對分組加標簽(塊806)。一旦分組的VID被設定或者在PPH工具利用源端口的PVID對分組加標簽之后,PPH工具在塊808中確定源端口的進入位映射是否支持VID。如果源端口進入位映射不支持分組的VID,則丟棄分組(塊810)。然而,響應于源端口的進入位映射支持VID,PPH工具使得源端口能夠處理分組(塊812)。在塊814中,PPH工具實例化用于分組的轉(zhuǎn)發(fā)功能,并確定分組的目的地端口。利用識別的目的地端口,PPH工具在塊816檢查分組的VID是否在目的地端口的離開位映射中。響應于分組VID不在目的地端口的離開位映射中,PPH工具丟棄分組(塊818)。然而,響應于分組VID在目的地端口的離開位映射中,PPH工具在目的端口處理分組(塊820)。在決定塊822,PPH工具檢查分組的VID是否在目的地端口的剝離位映射中。響應于分組的VID在目的地端口的剝離位映射中,PPH工具從分組中移除VID (塊824)。PPH工具接著完成該分組的處理(塊826)。
現(xiàn)在參照圖8B,提供了也參照圖9的端口轉(zhuǎn)發(fā)邏輯定義的方法的特定實施方式。該方法在塊830開始,并進入到塊832中,塊832指示端口轉(zhuǎn)發(fā)邏輯910在DVS 900的虛擬端口(例如端口 920)處檢測分組的到來傳輸。虛擬端口被分配為使得能夠向和從一個或多個VLAN內(nèi)的設備路由接收的分組。處理塊834接著提供端口轉(zhuǎn)發(fā)邏輯從分組的頭部取回VLAN ID(VID)0 VLAN ID是分配來從可以由第一虛擬端口支持的多個VLAN的其它VLAN唯一地識別特定VLAN的值。接著,在塊836中確定是否在虛擬端口的進入路徑(相對于離開路徑)上檢測到分組。響應于在虛擬端口的進入 路徑上檢測到分組,端口轉(zhuǎn)發(fā)邏輯910檢查(在塊838中)是否設定了在虛擬端口的進入位映射陣列內(nèi)的進入陣列偏移位置,這將指示VLAN被該端口所支持。進入陣列偏離位置對應于VID的值并在端口上配置VLAN期間在進入位映射陣列內(nèi)設定。此外,每個虛擬端口還包括PVID VLAN ID,其指示添加到進入路徑上的非標簽分組的VLAN標簽。該方法處理因此包括端口轉(zhuǎn)發(fā)邏輯在塊840中檢查接收的分組是否不具有PVID。響應于進入路徑上的接收的分組不具有PVID,端口轉(zhuǎn)發(fā)邏輯910自動地利用虛擬端口的PVID對分組加標簽(塊842)。響應于進入陣列偏移位置被設定并指示VLAN被端口支持,端口轉(zhuǎn)發(fā)邏輯910接收端口處的分組并啟動端口對接收的分組的處理(經(jīng)由分組處理邏輯935)(塊844)。然而,響應于進入陣列偏移位置未被設定,端口轉(zhuǎn)發(fā)邏輯905丟棄分組(846)。因此,僅在VID識別了在進入位映射陣列中設定了對應的偏移位置的VLAN時,進入路徑上的檢測到的分組被允許由端口處理。接著進入路徑上的分組的處理結(jié)束,并且類似地處理在端口上接收到的下一分組,為了效率可以并行的完成所述處理。返回決定塊836,響應于在端口的離開路徑940上檢測到分組傳輸(B卩,在進入路徑930上未檢測到分組),端口轉(zhuǎn)發(fā)邏輯910檢查(塊848)是否設定了在虛擬端口的離開位映射內(nèi)的離開陣列偏移位置,這將指示VLAN被端口支持。離開陣列偏移位置對應于VID的值并在端口上配置VLAN期間在離開位映射陣列內(nèi)設定。響應于離開陣列偏移位置被設定并且指示VLAN被端口所支持,端口轉(zhuǎn)發(fā)邏輯910接收端口處的分組,并啟動端口對接收的分組的處理(塊850)。響應于離開陣列偏移位置未被設定,端口轉(zhuǎn)發(fā)邏輯910丟棄分組(塊842)。再次,僅在VID識別了在尚開位映射陣列中設定了對應的偏移位置的VLAN時,尚開路徑上檢測到的分組被允許由端口處理。對于在離開路徑上檢測和/或接收的分組,方法處理還包括端口轉(zhuǎn)發(fā)邏輯910,其在塊852檢查是否設定了在虛擬端口的剝離位映射陣列內(nèi)的剝離陣列偏移位置,其將指示VLAN被端口所支持以及VID應該在轉(zhuǎn)發(fā)分組之前被移除。剝離陣列偏移位置對應于VID的值,并在端口上配置VLAN期間在剝離位映射陣列內(nèi)設定。響應于離開路徑上檢測到的分組添加了 PVID標簽,端口轉(zhuǎn)發(fā)邏輯自動在轉(zhuǎn)發(fā)該分組之前將PVID從分組移除(塊858)。響應于設定了剝離陣列偏移位置,端口轉(zhuǎn)發(fā)邏輯910將VID從分組中移除并將沒有VID的分組轉(zhuǎn)發(fā)到分組所識別的VLAN的目的地設備(塊856)。然后進入路徑上的分組的處理結(jié)束,并且類似地處理端口上接收的下一分組,為了效率可以并行地完成所述處理。上述示例實施例呈現(xiàn)了用于在DVS的虛擬端口內(nèi)高效地處理分組的方法,所述DVS支持配置有群體、隔離和混雜子域的一個或多個PVLAN。在具有配置和使能虛擬化計算環(huán)境的虛擬化管理器的主機數(shù)據(jù)處理系統(tǒng)(主機系統(tǒng))內(nèi)執(zhí)行該方法。虛擬化計算環(huán)境包括一個或多個虛擬機以及層2分布式虛擬交換機(DVS)的本地可訪問組件,所述DVS包括支持至少一個虛擬局域網(wǎng)(VLAN)內(nèi)的分組傳輸?shù)亩鄠€虛擬端口。虛擬化管理器的處理資源執(zhí)行產(chǎn)生執(zhí)行所述方法的處理邏輯(例如端ロ轉(zhuǎn)發(fā)邏輯910)的代碼(例如PPH工具344)。在該方法的一個實施例中進入位映射陣列、離開位映射陣列和剝離位映射陣列中的每個是包括N個位條目的一維陣列,其中每一位對應于從0至N-I的偏移位置,N是整數(shù),其表示能夠由所述虛擬端ロ使用值的范圍為從0至N-I的全局唯一的標識符(ID)支持的単獨VLAN的最大數(shù)目;進入位映射陣列、離開位映射陣列和剝離位映射陣列之一中的偏移位置在相應位映射陣列中該位位置的值具有值ー(I)時被設定;以及檢查是否設定了偏移位置的處理包括將偏移位置處的值與一(I)進行比較,并當所述值等于一(I)時指示設定了偏移位置。在一個實施方式中,虛擬端ロ可以是訪問端ロ或上行鏈路端ロ,并且每個端ロ包括進入VLAN位映射,其包含對應于在到端ロ的進入路徑中端ロ支持的VLAN的VID的設定的偏移位置;離開VLAN位映射,其包含對應于在端ロ的離開路徑中端ロ支持的VLAN的VID 的設定的偏移位置;以及剝離VLAN位映射,其包含對應于識別下述VLAN的VID的設定的 偏移位置,其中對于所述VLAN,在從所述端ロ轉(zhuǎn)發(fā)接收到的分組之前要在離開路徑上移除VID。在一個實施例中,該方法包括接收將新VLAN添加到虛擬端ロ的請求(包括但不限于經(jīng)由命令行接ロ(CLI)或⑶I接收請求);向新VLAN分配全局唯一的ID作為新VID ;在為新VLAN產(chǎn)生的每ー個位映射陣列中識別偏移位置,其中偏移位置對應于新VID的值;基于虛擬端ロ的類型特征,利用指示新VLAN的關(guān)聯(lián)的值更新每個位映射陣列內(nèi)的相應偏移位置。該方法還提供基于從CLI接收的輸入向新VLAN關(guān)聯(lián)屬性;存儲新VLAN的屬性,并實例化端ロ,以處理去往和來自新VLAN的設備的分組,所述端ロ支持新VLAN的分組通信。在一個實施例中,該方法還包括響應于接收到將新端ロ添加到PVLAN的請求向新端ロ分配唯一的PVID VLAN ID ;為新端ロ自主地產(chǎn)生進入位映射陣列、離開位映射陣列和剝離位映射陣列;對應于端ロ支持的每個VLAN和每個PVLAN,設定進入位映射陣列、離開位映射陣列和剝離位映射陣列中的每個的適當?shù)钠莆恢茫淮鎯M入位映射陣列、離開位映射陣列和剝離位映射陣列,用于在處理在新端ロ的進入路徑和離開路徑上接收到的分組時使用;以及與位映射陣列一起存儲所分配的PVID VLAN ID。此外,在一個實施方式中,自主地產(chǎn)生和設定進入位映射陣列、離開位映射陣列和剝離位映射陣列中的每個的適當?shù)钠莆恢冒ㄗR別新端ロ與PVLAN的隔離子域、群體子域和混雜子域中的哪個關(guān)聯(lián),其中隔離子域具有隔離VLAN ID (VID),群體子域具有群體VID,群體VID對于多個群體子域之中的該群體子域是唯一的,并且混雜子域共享主VLAN ID作為混雜VID。該方法還提供響應于新端ロ與隔離子域關(guān)聯(lián),在進入位映射陣列內(nèi)對應于隔離VID的進入偏移位置處設定位值,在離開位映射陣列內(nèi)對應于混雜VID的離開偏移位置處設定位值,其中混雜VID與主VLAN ID相同,并且如果新端ロ的PVID被設定為隔離VID,則在剝離位映射內(nèi)對應于混雜VID的的剝離偏移位置處設定位值;響應于新端ロ與群體子域關(guān)聯(lián),設定進入位映射陣列內(nèi)對應于群體VID的進入偏移位置,在離開位映射陣列內(nèi)對應于混雜VID的第一離開偏移位置處設定第一位值并在離開位映射陣列內(nèi)對應于群體VID的第二離開偏移位置處設定第二位值,并且如果新端ロ的PVID被設定為群體VID,則在剝離位映射內(nèi)分別對應于群體VID和混雜VID的第一剝離偏移位置處和第二剝離偏移位置處設定第一位值和第二位值;以及響應于新端ロ與混雜子域關(guān)聯(lián),設定進入位映射陣列內(nèi)對應于混雜VID的進入偏移位置,在離開位映射陣列內(nèi)對應于PVLAN中的每個群體子域、隔離子域和主域的VID的ー個或多個離開偏移位置處設定位值,并且在離開位映射陣列內(nèi)對應于PVLAN中的每個群體子域、隔離子域和主域的VID的一個或多個離開偏移位置處設定位值。此外,上述實施例提供響應于新端ロ與每ー個都具有全局唯一 VID的多個PVLAN關(guān)聯(lián),自主產(chǎn)生和設定進入位映射陣列、離開位映射陣列和剝離位映射陣列中的每個的適當?shù)钠莆恢冒▽槊總€PVLAN產(chǎn)生的三個位映射的每個組中的各個組合并為三個組合的位映射的單個組,其中多個進入位映射陣列被合并為單個組合的進入位映射陣列,多個離開位映射陣列被合并為單個組合的離開位映射陣列,并且多個剝離位映射陣列被合并為單個組合的剝離位映射陣列。根據(jù)ー個實施方式,響應于接收到將VLAN添加到DVS的請求,所述方法包括利用相同的位設置產(chǎn)生進入位映射陣列和離開位映射陣列,用于非私有VLAN的訪問端ロ位映射;以及通過將屬于VLAN的所有離開位映射和進入位映射合并而自動地產(chǎn)生上行鏈路端 ロ的進入位映射和離開位映射。在一個實施例中,可以通過包含以下處理的替代方法產(chǎn)生上行鏈路端ロ的VLAN位映射Ca)對于進入位映射,合并上行鏈路端ロ所支持的所有訪問端ロ(進入和離開)的VLAN位映射;對于離開位映射,合井上行鏈路端ロ所支持的所有訪問端ロ(進入和離開)的VLAN位影射。最后,剝離位映射取決于分配到上行鏈路端ロ的PVID。本發(fā)明的一個實施例提供計算機程序產(chǎn)品,包括計算機可讀存儲介質(zhì);以及計算機可讀介質(zhì)上的程序代碼,當該程序代碼被與在數(shù)據(jù)處理系統(tǒng)上執(zhí)行以產(chǎn)生具有ー個或多個分布式虛擬交換機(DVS)的虛擬化計算環(huán)境的虛擬化管理器關(guān)聯(lián)的處理器執(zhí)行時,使得虛擬化管理器執(zhí)行上述方法功能中的每個。而且,本發(fā)明的另ー實施例提供ー種數(shù)據(jù)處理系統(tǒng),包括一個或多個處理器,提供處理資源;一個或多個存儲器,耦接到所述ー個或多個處理器;一個或多個網(wǎng)絡接ロ,使得能夠經(jīng)由物理網(wǎng)絡與其它設備通信;以及虛擬化管理器,將數(shù)據(jù)處理系統(tǒng)配置為具有分布式虛擬交換機(DVS)以及在虛擬環(huán)境內(nèi)經(jīng)過由與DVS關(guān)聯(lián)的端ロ在虛擬局域網(wǎng)(VLAN)內(nèi)通信的一個或多個虛擬機的虛擬化機器,并且其中虛擬化管理器包括ー個或多個可執(zhí)行エ具,包括分組處理邏輯,其在處理資源上執(zhí)行并使得所述虛擬化管理器向在主機系統(tǒng)上的虛擬化環(huán)境內(nèi)建立的PVLAN的每個子域分配全局唯一的VLAN標識符(ID);利用正確的VID對來自PVLAN內(nèi)的DVS的虛擬端ロ的向外路徑以及去往PVLAN內(nèi)的DVS的虛擬端ロ的向內(nèi)路徑中的分組加標簽;以及通過執(zhí)行該方法的上述實施例的各種功能而動態(tài)地驗證該虛擬端ロ的向內(nèi)路徑和向外路徑上的接收的分組的VID。此外,在數(shù)據(jù)處理系統(tǒng)的ー個實施例中虛擬端ロ是訪問端ロ和上行鏈路端ロ中的ー個或多個,并且每個端ロ包括進入VLAN位映射,其包含對應于在到端ロ的進入路徑中端ロ支持的VLAN的VID的設定的偏移位置;離開VLAN位映射,其包含對應于在端ロ的離開路徑中端ロ支持的VLAN的VID的設定的偏移位置;以及剝離VLAN位映射,其包含對應于識別下述VLAN的VID的設定的偏移位置,其中對于所述VLAN,在從端ロ轉(zhuǎn)發(fā)接收到的分組之前要在離開路徑上移除所述VID ;VLAN是私有VLAN (PVLAN)并且每個虛擬端ロ還包括PVID VLAN ID,其指示添加到進入路徑上的未加標簽分組的VLAN標簽;多個分布式虛擬交換機由同一組PVLAN支持,多個PVLAN域被提供在單個DVS內(nèi),以及虛擬化管理器的分組處理邏輯統(tǒng)一地強制執(zhí)行PVLAN策略;并且ー個或多個可執(zhí)行工具還使得虛擬化管理器響應于在進入路徑上的接收的分組不具有PVID,自動地利用虛擬端ロ的PVID對分組加標簽;以及響應于在離開路徑上的檢測的分組添加了 VID,自動地在轉(zhuǎn)發(fā)所述分組之前將VID從所述分組移除。這里所呈現(xiàn)和描述的各個附圖中的流程圖和框示了根據(jù)本發(fā)明各種實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)方式的架構(gòu)、功能和操作。在這一點上,所述流程圖或框圖中的每個塊可以表示模塊、片段或代碼部分,其包括用于實現(xiàn)指定的一個或多個邏輯功能的一個或多個可執(zhí)行指令。還應當注意,在某些替代實現(xiàn)方式中,塊中標注的功能可以不按照圖中標注的順序進行。例如,連續(xù)示出的兩個塊實際上可以基本同時地執(zhí)行,或者根據(jù)所涉及的功能,有時候可以按照相反的順序執(zhí)行所述塊。還將注意到,可以通過執(zhí)行指定的功能或動作的基于專用硬件的系統(tǒng)或者專用硬件和計算機指令的組合來實現(xiàn)所述框圖和/或流程示的每個塊、以及所述框圖和/或流程示中的塊的組合。在以上流程圖中,ー個或多個方法在計算機程序產(chǎn)品中具體化,所述計算機程序產(chǎn)品具有包含計算機可讀/程序代碼/指令的計算機可讀介質(zhì),從而當計算機可讀/程序代碼/指令在計算機設備/機器上(由處理單元/處理器)執(zhí)行時執(zhí)行一系列步驟。在某些 實施方式中,方法的某些處理被組合、同時執(zhí)行或以不同的順序執(zhí)行、或者也許被省略,而不偏離本發(fā)明的精神和范圍。因此,雖然方法處理以特定的序列說明和圖示,但特定序列的處理的使用并非意在隱含對本發(fā)明的任何限制??梢躁P(guān)于處理的序列進行改變而不偏離本發(fā)明的精神和范圍。因此,使用特定的序列不被認為是限制性的,并且本發(fā)明的范圍延伸到所附權(quán)利要求及其等價物。如本領(lǐng)域技術(shù)人員將認識到的,可以作為系統(tǒng)、方法或計算機程序產(chǎn)品來具體化本發(fā)明的各方面。因此,本發(fā)明的各方面可以采取全硬件實施例的形式、全軟件實施例(包括固件、駐留軟件、微代碼等)的形式、或者組合了在這里均可通稱為“電路”、“模塊”或“系統(tǒng)”的軟件和硬件方面的實施例的形式。此外,本發(fā)明的各方面可采取在一個或多個計算機可讀介質(zhì)中包含的計算機程序產(chǎn)品的形式,所述計算機可讀介質(zhì)具有在其上具體化的計算機可讀程序代碼??梢允褂靡粋€或多個計算機可讀介質(zhì)的任何組合。該計算機可讀介質(zhì)可以是計算機可讀信號介質(zhì)或計算機可讀存儲介質(zhì)。計算機可讀存儲介質(zhì)例如可以是但不限于電子、磁、光、電磁、紅外或半導體系統(tǒng)、裝置、或設備,或者前述各項的任何適當組合。計算機可讀存儲介質(zhì)的更多具體示例(非窮盡性列挙)包括以下各項具有一條或多條導線的電連接、便攜式計算機盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦除可編程只讀存儲器(EPROM或閃存)、光纖、便攜式致密盤只讀存儲器(CD-ROM)、光存儲設備、磁存儲設備、或者前述各項的任何適當組合。在本文檔的上下文中,計算機可讀存儲介質(zhì)可以是可包含或存儲程序以便由指令執(zhí)行系統(tǒng)、裝置或設備使用或者結(jié)合所述指令執(zhí)行系統(tǒng)、裝置或設備使用的任何有形介質(zhì)。計算機可讀信號介質(zhì)可包括在基帶中或者作為載波的一部分的傳播的數(shù)據(jù)信號,其中在該傳播的數(shù)據(jù)信號中包含計算機可讀程序碼。這種傳播的信號可以采用多種形式,包括但不限于電磁、光或任何以上適當?shù)慕M合。計算機可讀信號介質(zhì)可以是并非是計算機可讀存儲介質(zhì)、但是能發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者設備使用或者與其結(jié)合使用的程序的任何計算機可讀介質(zhì)。
可以使用任何適當?shù)慕橘|(zhì)傳送在計算機可讀介質(zhì)上包含的程序,所述介質(zhì)包括但不限于無線、有線、光纖纜線、RF等,或者前者的任意適當?shù)慕M合。用于執(zhí)行本發(fā)明的各方面的操作的計算機程序代碼可以用一種或多種編程語言的任何組合來編寫,所述編程語言包括面向?qū)ο缶幊陶Z言,例如Java、Smalltalk、C++等;以及傳統(tǒng)的過程編程語言,例如“C”編程語言或類似編程語言。該程序代碼可以完全在用戶的計算機上執(zhí)行、部分地在用戶的計算機上執(zhí)行、作為獨立軟件包執(zhí)行、部分地在用戶的計算機上并且部分地在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務器上執(zhí)行。在后ー場景中,遠程計算機可以通過包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)的任何類型的網(wǎng)絡連接到用戶的計算機,或者可以形成到外部計算機的連接(例如,使用因特網(wǎng)服務提供商通過因特網(wǎng))。下面參照根據(jù)本發(fā)明實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品 的流程示和/或框圖描述了本發(fā)明的各方面。將理解可以通過計算機程序指令來實現(xiàn)所述流程示和/或框圖的每個塊、以及所述流程示和/或框圖中的塊的組合。可以將這些計算機程序指令提供給通用計算機、專用計算機、或者其他可編程數(shù)據(jù)處理裝置的處理器以便產(chǎn)生機器,使得經(jīng)由所述計算機或其他可編程數(shù)據(jù)處理裝置的處理器執(zhí)行的指令創(chuàng)建用于實現(xiàn)在所述流程圖和/或框圖的一個或多個塊中指定的功能/動作的部件。也可以將這些計算機程序指令存儲在計算機可讀介質(zhì)中,該計算機可讀介質(zhì)可以指示計算機、其他可編程數(shù)據(jù)處理裝置或者其他設備以特定的方式發(fā)揮作用,使得存儲在計算機可讀介質(zhì)中的指令產(chǎn)生ー種制造產(chǎn)品,該制造產(chǎn)品包括實現(xiàn)在所述流程圖和/或框圖的ー個或多個塊中指定的功能/動作的指令。也可以將計算機程序指令加載到計算機、其他可編程數(shù)據(jù)處理裝置或者其他設備上,以使得在計算機、其他可編程裝置或者其他設備上執(zhí)行一系列操作步驟,從而產(chǎn)生計算機實現(xiàn)的過程,使得在計算機或其他可編程裝置上執(zhí)行的指令提供用于實現(xiàn)在所述流程圖和/或框圖的一個或多個塊中指定的功能/動作的過程。如將進ー步理解的,可以使用軟件、固件或硬件的任何組合實施本發(fā)明的實施例中的處理。作為以軟件實踐本發(fā)明的預備步驟,程序代碼(不論軟件還是固件)將典型地存儲在ー個或多個機器可讀存儲介質(zhì)中,諸如固定(硬盤)驅(qū)動器、磁盤、光盤、磁帶、半導體存儲器(諸如ROM、PROM等),從而根據(jù)本發(fā)明做出制造產(chǎn)品。通過直接從存儲設備執(zhí)行代碼、通過將代碼從存儲設備復制到另一存儲設備(諸如硬盤、RAM等)、或者通過使用傳輸類型介質(zhì)(諸如數(shù)字和模擬通信鏈路)傳輸代碼用于遠程執(zhí)行來使用包含程序代碼的制造產(chǎn)品??梢酝ㄟ^將包含根據(jù)本發(fā)明的代碼的ー個或多個機器可讀存儲設備與適當?shù)奶幚碛布M合來執(zhí)行其中包含的代碼,而實踐本發(fā)明的方法。用于實踐本發(fā)明的裝置可以是ー個或多個處理設備和存儲系統(tǒng),其包含或具有對根據(jù)本發(fā)明而編碼的程序的網(wǎng)絡訪問。因此,重要的是,雖然在具有安裝的(或執(zhí)行的)軟件的全功能計算機(服務器)的上下文中描述了本發(fā)明的實例實施例,但本領(lǐng)域的技術(shù)人員將理解,本發(fā)明的實例實施例的軟件方面能夠作為程序產(chǎn)品以各種形式分發(fā),并且本發(fā)明的示例實施例同等適用,而不管用于實際執(zhí)行分發(fā)的介質(zhì)的特定類型。雖然已經(jīng)參照示例實施例描述了本發(fā)明,但本領(lǐng)域的技術(shù)人員將理解,可以進行各種改變并且可以用等同物替代其元件,而不偏離本發(fā)明的范圍。此外,可以進行許多修改,以將特定系統(tǒng)、設備或其組件適配到本發(fā)明的教導,而不偏離本發(fā)明的實質(zhì)范圍。因此,本發(fā)明不意在被限制到用于執(zhí)行本發(fā)明而公開的特定實施例,而是本發(fā)明將包括落入所附權(quán)利要求范圍內(nèi)的所有實施例。此外,術(shù)語“第一”、“第二”等的使用不表示任何順序或重要性,而是術(shù)語“第一”、“第二”等被用來將元件彼此區(qū)分。在這里使用的術(shù)語只是出于描述特定實施例的目的,而非意圖限制本發(fā)明。如這里使用的,単數(shù)形式“一”和“所述”意圖是也包括復數(shù)形式,除非上下文清楚地指出不是這樣。還將理解的是,當在本說明書中使用吋,術(shù)語“包括”和/或“包含”指明存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是不排除ー個或多個其他特征、整數(shù)、步驟、操作、元件、組件和/或其組的存在或附加。下面的權(quán)利要求中的所有裝置或步驟加功能元件的對應結(jié)構(gòu)、材料、動作和等價物意在包括用干與特別要求權(quán)利的其它要求組件組合地執(zhí)行功能的任何結(jié)構(gòu)、材料或動作。已經(jīng)為了示例性和說明性的目的呈現(xiàn)了本發(fā)明的說明,但該說明不意在是窮舉的或?qū)⒈景l(fā)明限制到所公開的形式。許多修改和改變對于本領(lǐng)域的普通技術(shù)人員而言將是顯而易見的,而不偏離本發(fā)明的范圍和精神。選擇和說明實施例,以便更好地說明本發(fā)明的原理和 實際應用,并使得本領(lǐng)域的其它普通技術(shù)人員能夠理解具有適于所構(gòu)思的特定使用的各種修改的各種實施例的本發(fā)明。
權(quán)利要求
1.一種在具有虛擬化管理器的主機數(shù)據(jù)處理系統(tǒng)(主機系統(tǒng))中,所述虛擬化管理器的處理資源執(zhí)行所述虛擬化管理器的分組處理邏輯而執(zhí)行的方法,所述虛擬化管理器配置和使能虛擬化計算環(huán)境,所述虛擬化計算環(huán)境包括一個或多個虛擬機以及層2分布式虛擬交換機(DVS)的本地可訪問組件,所述DVS包括支持至少一個虛擬局域網(wǎng)(VLAN)內(nèi)的分組傳輸?shù)亩鄠€虛擬端口,所述方法包括 在所述DVS的第一虛擬端口處檢測分組的到來傳輸,其中所述第一虛擬端口被分配為使能接收分組向和從一個或多個VLAN內(nèi)的設備的路由; 從所述分組的頭部取回VLAN ID(VID),其中所述VLAN ID是被分配為相對于能夠被所述第一虛擬端口支持的多個VLAN的其它VLAN唯一地識別特定VLAN的值; 響應于在所述第一虛擬端口的進入路徑上檢測到分組 檢查是否設定了在所述虛擬端口的進入位映射陣列內(nèi)的進入陣列偏移位置,其指示所 述VLAN被所述端口支持,其中所述進入陣列偏移位置對應于所述VID的值,并且在所述端口上配置所述VLAN期間在所述進入位映射陣列內(nèi)被設定; 響應于所述進入陣列偏移位置被設定并指示所述VLAN被所述端口支持,在所述端口處接收分組,并啟動由所述端口對接收的分組的處理; 響應于所述進入陣列偏移位置未被設定,丟棄分組; 其中,僅在所述VID識別了在所述進入位映射陣列中設定了對應的偏移位置的VLAN時,所述進入路徑上的檢測到的分組被允許由所述端口處理。
2.如權(quán)利要求I所述的方法,還包括 響應于在所述端口的離開路徑上檢測到分組傳輸 檢查是否設定了在所述虛擬端口的離開位映射陣列內(nèi)的離開陣列偏移位置,其指示所述VLAN被所述端口支持,其中所述離開陣列偏移位置對應于所述VID的值,并且在所述端口上配置所述VLAN期間在所述離開位映射陣列內(nèi)被設定; 響應于所述離開陣列偏移位置被設定并指示所述VLAN被所述端口支持,在所述端口處接收分組,并啟動由所述端口對接收的分組的處理; 響應于所述離開陣列偏移位置未被設定,丟棄分組; 其中,僅在所述VID識別了在所述離開位映射陣列中設定了對應的偏移位置的VLAN時,所述離開路徑上的檢測到的分組被允許由所述端口處理。
3.如權(quán)利要求2所述的方法,還包括 檢查是否設定了在所述虛擬端口的剝離位映射陣列內(nèi)的剝離陣列偏移位置,其指示所述VLAN被所述端口支持并且所述VID應該在分組被轉(zhuǎn)發(fā)之前被移除,其中所述剝離陣列偏移位置對應于所述VID的值,并且在所述端口上配置所述VLAN期間在所述剝離位映射陣列內(nèi)被設定; 響應于所述剝離陣列偏移位置被設定,從分組移除所述VID,并將沒有所述VID的分組轉(zhuǎn)發(fā)到所述分組識別的VLAN的目的地設備。
4.如權(quán)利要求3所述的方法,其中 所述進入位映射陣列、離開位映射陣列和剝離位映射陣列中的每個是包括N個位條目的一維陣列,其中每一位對應于從O至N-I的偏移位置,N是整數(shù),其表示能夠由所述虛擬端口使用值的范圍為從O至N-I的全局唯一的標識符(ID)支持的單獨VLAN的最大數(shù)目;所述進入位映射陣列、離開位映射陣列和剝離位映射陣列之一中的偏移位置在相應位映射陣列中該位位置的值具有值一(I)時被設定;以及 所述檢查是否設定了偏移位置包括將所述偏移位置處的值與一(I)進行比較,并當所述值等于一(I)時指示設定了所述偏移位置。
5.如權(quán)利要求3所述的方法,其中所述虛擬端口是訪問端口和上行鏈路端口中的一個或多個,并且每個端口包括進入VLAN位映射,其包含對應于在到所述端口的進入路徑中所述端口支持的VLAN的VID的設定的偏移位置;離開VLAN位映射,其包含對應于在所述端口的離開路徑中所述端口支持的VLAN的VID的設定的偏移位置;以及剝離VLAN位映射,其包含對應于識別下述VLAN的VID的設定的偏移位置,其中對于所述VLAN,在從所述端口轉(zhuǎn)發(fā)接收到的分組之前要在所述離開路徑上移除所述VID。
6.如權(quán)利要求5所述的方法,其中 所述VLAN是私有VLAN (PVLAN)并且每個虛擬端口還包括PVID VLAN ID,其指示添加到所述進入路徑上的未加標簽分組的VLAN標簽;并且所述方法包括 響應于在所述進入路徑上接收到的分組不具有PVID,自動地利用所述虛擬端口的PVID對所述分組加標簽;以及 響應于在所述離開路徑上檢測到的分組添加了 PVID,自動地在轉(zhuǎn)發(fā)所述分組之前將所述PVID從所述分組移除。
7.如權(quán)利要求3所述的方法,還包括 接收將新VLAN添加到虛擬端口的請求; 向所述新VLAN分配全局唯一的ID作為新VID ; 在為所述新VLAN產(chǎn)生的每一個位映射陣列中識別偏移位置,其中所述偏移位置對應于所述新VID的值; 基于所述虛擬端口的類型特征,利用指示所述新VLAN的關(guān)聯(lián)的值更新每個位映射陣列內(nèi)的相應偏移位置。
8.如權(quán)利要求7所述的方法,還包括 基于從CLI接收的輸入向所述新VLAN關(guān)聯(lián)屬性; 存儲所述新VLAN的屬性,并實例化所述端口,以處理去往和來自所述新VLAN上的設備的分組。
9.如權(quán)利要求I所述的方法,還包括 響應于接收到將新端口添加到PVLAN的請求 向所述新端口分配唯一的PVID VLAN ID; 為所述新端口自主地產(chǎn)生進入位映射陣列、離開位映射陣列和剝離位映射陣列;對應于所述端口支持的每個VLAN和每個PVLAN,設定所述進入位映射陣列、離開位映射陣列和剝離位映射陣列中的每個的適當?shù)钠莆恢茫? 存儲所述進入位映射陣列、所述離開位映射陣列和所述剝離位映射陣列,用于在處理在所述新端口的進入路徑和離開路徑上接收到的分組時使用;以及與所述位映射陣列一起存儲所分配的PVID VLAN ID。
10.如權(quán)利要求9所述的方法,其中所述自主地產(chǎn)生和設定所述進入位映射陣列、所述離開位映射陣列和所述剝離位映射陣列中的每個的適當?shù)钠莆恢冒? 識別所述新端口與PVLAN的隔離子域、群體子域和混雜子域中的哪個關(guān)聯(lián); 其中所述隔離子域具有隔離VLAN ID(VID),所述群體子域具有群體VID,所述群體VID對于多個群體子域之中的該群體子域是唯一的,并且所述混雜子域共享主VLAN ID作為混雜 VID ; 響應于所述新端口與隔離子域關(guān)聯(lián),在所述進入位映射陣列內(nèi)對應于所述隔離VID的進入偏移位置處設定位值,在所述離開位映射陣列內(nèi)對應于所述混雜VID的離開偏移位置處設定位值,其中所述混雜VID與所述主VLAN ID相同,并且如果所述新端口的PVID被設定為所述隔離VID,則在所述剝離位映射內(nèi)對應于所述混雜VID的剝離偏移位置處設定位值; 響應于所述新端口與群體子域關(guān)聯(lián),設定所述進入位映射陣列內(nèi)對應于所述群體VID的進入偏移位置,在所述離開位映射陣列內(nèi)對應于所述混雜VID的第一離開偏移位置處設定第一位值并在所述離開位映射陣列內(nèi)對應于所述群體VID的第二離開偏移位置處設定第二位值,并且如果所述新端口的PVID被設定為群體VID,則在所述剝離位映射內(nèi)分別對應于所述群體VID和所述混雜VID的第一剝離偏移位置處和第二剝離偏移位置處設定第一位值和第二位值;以及 響應于所述新端口與混雜子域關(guān)聯(lián),設定所述進入位映射陣列內(nèi)對應于所述混雜VID的進入偏移位置,在所述離開位映射陣列內(nèi)對應于所述PVLAN中的每個群體子域、隔離子域和主域的VID的一個或多個離開偏移位置處設定位值,并且在所述離開位映射陣列內(nèi)對應于所述PVLAN中的每個群體子域、隔離子域和主域的VID的一個或多個離開偏移位置處設定位值。
11.如權(quán)利要求9所述的方法,其中響應于所述新端口與每一個都具有全局唯一VID的多個PVLAN關(guān)聯(lián),所述自主產(chǎn)生和設定所述進入位映射陣列、所述離開位映射陣列和所述剝離位映射陣列中的每個的適當?shù)钠莆恢冒? 將為每個PVLAN產(chǎn)生的三個位映射的每個組中的各個組合并為三個組合的位映射的單個組,其中多個進入位映射陣列被合并為單個組合的進入位映射陣列,多個離開位映射陣列被合并為單個組合的離開位映射陣列,并且多個剝離位映射陣列被合并為單個組合的剝離位映射陣列。
12.如權(quán)利要求9所述的方法,其中響應于接收到將非私有VLAN添加到所述DVS的命令行接口請求,所述方法包括 利用相同的位設置產(chǎn)生所述進入位映射陣列和所述離開位映射陣列,用于非私有VLAN的訪問端口位映射;以及 通過將所述VLAN的所有訪問端口位映射(進入和離開)合并而自動地產(chǎn)生上行鏈路端口進入位映射和上行鏈路端口離開位映射。
13.一種數(shù)據(jù)處理系統(tǒng),包括 一個或多個處理器,提供處理資源; 一個或多個存儲器,耦接到所述一個或多個處理器; 一個或多個網(wǎng)絡接口,使得能夠經(jīng)由物理網(wǎng)絡與其它設備通信; 虛擬化管理器,將所述數(shù)據(jù)處理系統(tǒng)配置為具有分布式虛擬交換機(DVS)以及在虛擬環(huán)境內(nèi)經(jīng)由與DVS關(guān)聯(lián)的端口在虛擬局域網(wǎng)(VLAN)內(nèi)通信的一個或多個虛擬機的虛擬化機器,并且其中所述虛擬化管理器包括一個或多個可執(zhí)行工具,所述可執(zhí)行工具在處理資源上執(zhí)行并使得所述虛擬化管理器 向在所述主機系統(tǒng)上的虛擬化環(huán)境內(nèi)建立的PVLAN的每個子域分配全局唯一的VLAN標識符(ID); 利用正確的VID對來自所述PVLAN內(nèi)的DVS的虛擬端口的離開路徑以及去往所述PVLAN內(nèi)的DVS的虛擬端口的進入路徑中的分組加標簽; 通過以下步驟動態(tài)地驗證在所述虛擬端口的進入路徑和離開路徑上的接收分組的VID 在所述DVS的第一虛擬端口處檢測分組的到來傳輸,其中所述第一虛擬端口被分配為使能接收分組向和從一個或多個VLAN內(nèi)的設備的路由; 從所述分組的頭部取回VLAN ID(VID),其中所述VLAN ID是被分配為從能夠相對于所述第一虛擬端口支持的多個VLAN的其它VLAN唯一地識別特定VLAN的值; 響應于在所述第一虛擬端口的進入路徑上檢測到分組 檢查是否設定了在所述虛擬端口的進入位映射陣列內(nèi)的進入陣列偏移位置,其指示所述VLAN被所述端口支持,其中所述進入陣列偏移位置對應于所述VID的值,并且在所述端口上配置所述VLAN期間在所述進入位映射陣列內(nèi)被設定; 響應于所述進入陣列偏移位置被設定并指示所述VLAN被所述端口支持,在所述端口處接收分組,并啟動由所述端口對接收的分組的處理; 響應于所述進入陣列偏移位置未被設定,丟棄分組;并且 其中,僅在所述VID識別了在所述進入位映射陣列中設定了對應的偏移位置的VLAN時,所述進入路徑上的檢測到的分組被允許由所述端口處理; 響應于在所述端口的離開路徑上檢測到分組傳輸 檢查是否設定了在所述虛擬端口的離開位映射陣列內(nèi)的離開陣列偏移位置,其指示所述VLAN被所述端口支持,其中所述離開陣列偏移位置對應于所述VID的值,并且在所述端口上配置所述VLAN期間在所述離開位映射陣列內(nèi)被設定; 響應于所述離開陣列偏移位置被設定并指示所述VLAN被所述端口支持,在所述端口處接收分組,并啟動由所述端口對接收的分組的處理; 響應于所述離開陣列偏移位置未被設定,丟棄分組; 其中,僅在所述VID識別了在所述離開位映射陣列中設定了對應的偏移位置的VLAN時,所述離開路徑上的檢測到的分組被允許由所述端口處理。
14.如權(quán)利要求13所述的數(shù)據(jù)處理系統(tǒng),其中在所述處理資源上執(zhí)行的所述一個或多個可執(zhí)行工具還使得所述虛擬化管理器 檢查是否設定了在所述虛擬端口的剝離位映射陣列內(nèi)的剝離陣列偏移位置,其指示所述VLAN被所述端口支持并且所述VID應該在分組被轉(zhuǎn)發(fā)之前被移除,其中所述剝離陣列偏移位置對應于所述VID的值,并且在所述端口上配置所述VLAN期間在所述剝離位映射陣列內(nèi)被設定; 響應于所述剝離陣列偏移位置被設定,從分組移除所述VID,并將沒有所述VID的分組轉(zhuǎn)發(fā)到所述分組識別的VLAN的目的地設備。
15.如權(quán)利要求14所述的數(shù)據(jù)處理系統(tǒng),其中 所述進入位映射陣列、離開位映射陣列和剝離位映射陣列中的每個是包括N個位條目的一維陣列,其中每一位對應于從O至N-I的偏移位置,N是整數(shù),其表示能夠由所述虛擬端口使用值的范圍為從O至N-I的全局唯一的標識符(ID)支持的單獨VLAN的最大數(shù)目; 所述進入位映射陣列、離開位映射陣列和剝離位映射陣列之一中的偏移位置在相應位映射陣列中該位位置的值具有值一(I)時被設定;以及 一個或多個可執(zhí)行工具在處理資源上執(zhí)行并使得所述虛擬化管理器 所述可執(zhí)行工具使得所述虛擬化管理器檢查所述偏移位置是否被設定包括所述工具使得所述虛擬化管理器將所述偏移位置處的值與一(I)進行比較,并當所述值等于一(I)時指示所述偏移位置被設定。
16.如權(quán)利要求14所述的數(shù)據(jù)處理系統(tǒng),其中 所述虛擬端口是訪問端口和上行鏈路端口中的一個或多個,并且每個端口包括進入VLAN位映射,其包含對應于在到所述端口的進入路徑中所述端口支持的VLAN的VID的設定的偏移位置;離開VLAN位映射,其包含對應于在到所述端口的離開路徑中所述端口支持的VLAN的VID的設定的偏移位置;以及剝離VLAN位映射,其包含對應于識別下述VLAN的VID的設定的偏移位置,其中對于所述VLAN,在從端口轉(zhuǎn)發(fā)接收到的分組之前要在所述離開路徑上移除所述VID; 所述VLAN是私有VLAN (PVLAN)并且每個虛擬端口還包括PVID VLAN ID,其指示添加到所述進入路徑上的未加標簽分組的VLAN標簽; 多個分布式虛擬交換機由同一組PVLAN支持,多個PVLAN域被提供在單個DVS內(nèi),以及所述虛擬化管理器的分組處理邏輯統(tǒng)一地強制執(zhí)行PVLAN策略;并且 所述一個或多個可執(zhí)行工具還使得所述虛擬化管理器響應于在所述進入路徑上的接收的分組不具有PVID,自動地利用所述虛擬端口的PVID對所述分組加標簽;以及響應于在所述離開路徑上的檢測的分組添加了 VID,自動地在轉(zhuǎn)發(fā)所述分組之前將所述VID從所述分組移除。
17.一種在具有虛擬化管理器的主機數(shù)據(jù)處理系統(tǒng)(主機系統(tǒng))中,所述虛擬化管理器的處理資源執(zhí)行的方法,所述虛擬化管理器配置和使能虛擬化計算環(huán)境,所述虛擬化計算環(huán)境包括一個或多個虛擬機以及層2分布式虛擬交換機(DVS)的本地可訪問組件,所述DVS包括支持至少一個虛擬局域網(wǎng)(VLAN)內(nèi)的分組傳輸?shù)亩鄠€虛擬端口,所述方法包括 響應于接收到將VLAN和私有VLAN(PVLAN)之一分配到端口的請求,產(chǎn)生一組端口 VLAN位映射; 將所述一組端口 VLAN位映射與端口 VLAN標識符(ID) (PVID) 一起存儲;以及 響應于檢測到在所述端口的進入路徑和離開路徑之一上穿過的分組,檢查所述分組的VLAN ID (VID),將所述分組的VID設定并匹配到用于所述端口的一組端口 VLAN位映射,并且當所述VID在所述一組端口 VLAN位映射內(nèi)匹配時使能分組傳輸,其中能夠使用進入位映射對于源端口完成分組進入,并且能夠使用目的地端口的離開位映射和剝離位映射對于所述目的地端口完成分組離開。
全文摘要
本發(fā)明涉及用于分布式虛擬交換機的私有虛擬局域網(wǎng)方法和系統(tǒng)。主機系統(tǒng)的虛擬化管理器的分組處理邏輯在去往/來自具有三個位映射陣列的虛擬端口的進入或離開路徑上檢測分組,所述虛擬端口用于處理虛擬邏輯局域網(wǎng)(VLAN)內(nèi)的分組。所述邏輯檢查分組的VLAN標識符(VID),以基于對應的位映射陣列內(nèi)的偏移位置確定所述端口是否支持該VLAN。進入陣列偏移位置和離開陣列偏移位置兩者都對應于VID的值,并且在端口上配置VLAN期間在特定位映射陣列內(nèi)設定。當VLAN被端口所支持時,該邏輯使得分組能夠被該端口處理。否則,該邏輯丟棄分組。剝離位映射陣列指示在端口(或目的地端口)的離開路徑上轉(zhuǎn)發(fā)分組之前何時應該移除該分組的VID。
文檔編號H04L12/46GK102780608SQ20121014561
公開日2012年11月14日 申請日期2012年5月11日 優(yōu)先權(quán)日2011年5月13日
發(fā)明者A.比斯瓦斯, D.G.卡瑪思, D.龍德, J.基達姆比, J.巴斯韋爾, V.潘德伊 申請人:國際商業(yè)機器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
遵义市| 濮阳市| 安丘市| 木兰县| 拜城县| 荥阳市| 招远市| 贵州省| 郓城县| 汕尾市| 慈溪市| 潜山县| 涞源县| 阳西县| 彭山县| 东辽县| 岑巩县| 饶阳县| 同江市| 涡阳县| 兰溪市| 缙云县| 胶南市| 金坛市| 怀宁县| 梅河口市| 雅安市| 灵宝市| 利辛县| 米泉市| 腾冲县| 松阳县| 孝昌县| 广宁县| 庄浪县| 抚宁县| 新营市| 门源| 兴山县| 新源县| 南皮县|