專利名稱:一種實(shí)現(xiàn)虛擬網(wǎng)絡(luò)的方法和虛擬網(wǎng)絡(luò)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)交換技木,特別是指ー種實(shí)現(xiàn)虛擬網(wǎng)絡(luò)的方法和虛擬網(wǎng)絡(luò)。
背景技術(shù):
數(shù)據(jù)中心提供資源出租業(yè)務(wù),針對不同的租戶,數(shù)據(jù)中心需要提供ー個虛擬網(wǎng)絡(luò)實(shí)現(xiàn)數(shù)據(jù)交換,使租戶在虛擬網(wǎng)絡(luò)中互不干擾的使用資源。同時,數(shù)據(jù)中心業(yè)務(wù)的發(fā)展,使數(shù)據(jù)中心對網(wǎng)絡(luò)的要求日益提高,需要更大帶寬,更可靠的數(shù)據(jù)網(wǎng)絡(luò)。租戶的數(shù)量可能達(dá)到數(shù)十萬以上,現(xiàn)有技術(shù)中,一般采用虛擬局域網(wǎng)(vLan,Virtual Local Area Network)來隔離租戶,由于vLan的個數(shù)最大為4096,因而限制了租戶的數(shù)量,不能滿足數(shù)據(jù)中心為多租戶提供業(yè)務(wù)的需求。如圖I所示,在IP網(wǎng)上疊加ニ層網(wǎng) 絡(luò),將以太網(wǎng)包封裝在M)P包中,添加ー個VXLan包頭,包頭中添加24位的VXLan網(wǎng)絡(luò)標(biāo)識以區(qū)分不同的虛擬網(wǎng)絡(luò);UDP包轉(zhuǎn)發(fā)路徑由路由協(xié)議來確定;這種方式能夠支持大量租戶,多路徑支持依靠下層IP網(wǎng)絡(luò)實(shí)現(xiàn)。IP網(wǎng)絡(luò)106中,原始數(shù)據(jù)包101從源Hostl04發(fā)送到通道端點(diǎn)(VTEP,VXLAN tunnel end point) 105,VTEP將原始數(shù)據(jù)包101封裝在UDP包中形成封裝后的數(shù)據(jù)包102,在數(shù)據(jù)包102中附加ー個VXLan Header,VXLan Header內(nèi)部包含ー個VNI (VXLan Network IDentifier)來標(biāo)識不同的虛擬網(wǎng)絡(luò)。封裝后的數(shù)據(jù)包102通過IP網(wǎng)絡(luò)106發(fā)送到對端VTEP,VTEP解封裝,還原出原始數(shù)據(jù)包103,再轉(zhuǎn)發(fā)給目的Hostl07??梢钥闯?,原始數(shù)據(jù)包101封裝進(jìn)UDP包后,底層IP網(wǎng)絡(luò)將其作為載荷進(jìn)行轉(zhuǎn)發(fā),不能識別原始數(shù)據(jù)包101屬于哪個租戶,也不能識別原始數(shù)據(jù)包101內(nèi)部的IP地址等信息,因而,不能根據(jù)這些信息做任何的優(yōu)化和控制。現(xiàn)有技術(shù)存在如下問題底層IP網(wǎng)絡(luò)和虛擬網(wǎng)絡(luò)是分離的,當(dāng)虛擬網(wǎng)絡(luò)的數(shù)據(jù)包在底層IP網(wǎng)絡(luò)中傳輸吋,IP網(wǎng)絡(luò)并不能識別數(shù)據(jù)包內(nèi)部封裝的信息,不能針對租戶的需求實(shí)施優(yōu)化措施或其他策略;虛擬網(wǎng)絡(luò)也不識別數(shù)據(jù)包在底層IP網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)方式,無法對轉(zhuǎn)發(fā)過程進(jìn)行控制。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供ー種實(shí)現(xiàn)虛擬網(wǎng)絡(luò)的方法和虛擬網(wǎng)絡(luò),解決由于底層IP網(wǎng)絡(luò)和虛擬網(wǎng)絡(luò)分離,當(dāng)虛擬網(wǎng)絡(luò)的數(shù)據(jù)包在底層IP網(wǎng)絡(luò)中傳輸吋,IP網(wǎng)絡(luò)并不能識別數(shù)據(jù)包內(nèi)部封裝的信息,不能針對租戶的需求實(shí)施優(yōu)化或其他策略;虛擬網(wǎng)絡(luò)也不識別數(shù)據(jù)包在底層IP網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)方式,無法對轉(zhuǎn)發(fā)過程進(jìn)行控制的缺陷。為解決上述技術(shù)問題,本發(fā)明的實(shí)施例提供ー種實(shí)現(xiàn)虛擬網(wǎng)絡(luò)的方法,包括步驟一,虛擬網(wǎng)絡(luò)的控制器獲取由主機(jī)發(fā)出的數(shù)據(jù)包的傳送類型,來源地和目的地;步驟ニ,根據(jù)所述傳送類型、來源地的端ロ標(biāo)識、目的地的目的標(biāo)識制定轉(zhuǎn)發(fā)策略;步驟三,將所述轉(zhuǎn)發(fā)策略發(fā)送給所述數(shù)據(jù)包將要經(jīng)過的各個虛擬訪問交換機(jī)和中間交換機(jī);由所述虛擬訪問交換機(jī)和中間交換機(jī)對接收到的數(shù)據(jù)包,執(zhí)行所述轉(zhuǎn)發(fā)策略。所述的方法中,執(zhí)行所述轉(zhuǎn)發(fā)策略包括將接收到的數(shù)據(jù)包作為第一數(shù)據(jù)包,將所述目的標(biāo)識與所述第一數(shù)據(jù)包封裝后形成第二數(shù)據(jù)包;發(fā)送所述第二數(shù)據(jù)包。所述的方法中,所述傳送類型為同一個子網(wǎng)內(nèi)轉(zhuǎn)發(fā)數(shù)據(jù)包;發(fā)送數(shù)據(jù)包的主機(jī)與接收數(shù)據(jù)包的目的主機(jī)位于同一個子網(wǎng);所述目的標(biāo)識包括根據(jù)所述端ロ標(biāo)識確定的發(fā)送數(shù)據(jù)包的主機(jī)所在子網(wǎng)的目的虛擬網(wǎng)絡(luò)標(biāo)識,以及目的虛擬訪問交換機(jī)的目的路由標(biāo)識。
所述的方法中,所述傳送類型為子網(wǎng)之間轉(zhuǎn)發(fā)數(shù)據(jù)包;所述目的標(biāo)識包括目的子網(wǎng)的目的虛擬網(wǎng)絡(luò)標(biāo)識,以及目的虛擬訪問交換機(jī)的目的路由標(biāo)識。所述的方法中,傳送類型為單播;步驟ニ還包括計(jì)算出發(fā)送數(shù)據(jù)包的主機(jī)與目的地之間的至少一條優(yōu)化路徑;所述轉(zhuǎn)發(fā)策略中包括所述至少一條優(yōu)化路徑;執(zhí)行所述轉(zhuǎn)發(fā)策略包括由所述目的子網(wǎng)的目的虛擬訪問交換機(jī)將所述第二數(shù)據(jù)包還原為第一數(shù)據(jù)包,將還原后的所述第一數(shù)據(jù)包發(fā)給目的主機(jī)。所述的方法中,所述傳送類型為廣播;步驟一之前包括在每ー個子網(wǎng)中建立覆蓋整個所述子網(wǎng)的第一類廣播樹;或者,在每ー個子網(wǎng)中建立第二類廣播樹,每ー個所述第ニ類廣播樹中,選定所述子網(wǎng)中的一個與主機(jī)有連接的虛擬訪問交換機(jī)作為該第二類廣播樹的根節(jié)點(diǎn)。所述的方法中,所述目的標(biāo)識包括目的地的第一類廣播樹或者第二類廣播樹對應(yīng)的目的子網(wǎng)的目的標(biāo)識;執(zhí)行所述轉(zhuǎn)發(fā)策略包括由所述目的子網(wǎng)的目的虛擬訪問交換機(jī)將所述第二數(shù)據(jù)包還原為第一數(shù)據(jù)包,將所述第一數(shù)據(jù)包發(fā)給目的主機(jī)。所述的方法中,所述控制器采用Openflow協(xié)議下發(fā)所述轉(zhuǎn)發(fā)策略;所述轉(zhuǎn)發(fā)策略由流表實(shí)現(xiàn);或者,所述控制器采用網(wǎng)管接口下載協(xié)議下發(fā)所述轉(zhuǎn)發(fā)策略;所述轉(zhuǎn)發(fā)策略由網(wǎng)管配置條目實(shí)現(xiàn);或者,所述控制器采用選定的私有協(xié)議下發(fā)所述轉(zhuǎn)發(fā)策略。一種控制器,包括信息獲取單元,用于獲取由主機(jī)發(fā)出的數(shù)據(jù)包的傳送類型,來源地和目的地;策略制定単元,用于根據(jù)所述傳送類型、來源地的端ロ標(biāo)識、目的地的目的標(biāo)識制定轉(zhuǎn)發(fā)策略;策略下發(fā)單元,用于將所述轉(zhuǎn)發(fā)策略發(fā)送給所述數(shù)據(jù)包將要經(jīng)過的各個所述虛擬訪問交換機(jī)和中間交換機(jī);由所述虛擬訪問交換機(jī)和中間交換機(jī)對接收到的數(shù)據(jù)包執(zhí)行所述轉(zhuǎn)發(fā)策略。所述的控制器中,策略制定単元包括第一制定模塊,用于當(dāng)所述傳送類型為同一個子網(wǎng)內(nèi)轉(zhuǎn)發(fā)數(shù)據(jù)包時;設(shè)置所述目的標(biāo)識包括根據(jù)所述端ロ標(biāo)識確定的發(fā)送數(shù)據(jù)包的主機(jī)所在子網(wǎng)的目的虛擬網(wǎng)絡(luò)標(biāo)識,以及目的虛擬訪問交換機(jī)的目的路由標(biāo)識。所述的控制器中,策略制定単元包括第二制定模塊,用于當(dāng)所述傳送類型為子網(wǎng)之間轉(zhuǎn)發(fā)數(shù)據(jù)包吋,設(shè)置所述目的標(biāo)識包括目的子網(wǎng)的目的虛擬網(wǎng)絡(luò)標(biāo)識,以及目的虛擬訪問交換機(jī)的目的路由標(biāo)識。所述的控制器中,策略制定単元包括第三制定模塊,用于當(dāng)所述傳送類型為單播時,計(jì)算出發(fā)送數(shù)據(jù)包的主機(jī)與目的地之間的至少一條優(yōu)化路徑;所述轉(zhuǎn)發(fā)策略中包括所述至少一條優(yōu)化路徑。所述的控制器中,還包括廣播樹単元,用于在每一個子網(wǎng)中建立覆蓋整個所述子網(wǎng)的第一類廣播樹;或者,在每ー個子網(wǎng)中建立第二類廣播樹,每ー個所述第二類廣播樹中,選定所述子網(wǎng)中的一個與主機(jī)有連接的虛擬訪問交換機(jī)作為該第二類廣播樹的根節(jié)點(diǎn)。
所述的控制器中,策略制定単元包括第四制定模塊,用于當(dāng)所述傳送類型為廣播吋,設(shè)置所述目的標(biāo)識包括目的地的第一類廣播樹或者第二類廣播樹對應(yīng)的目的子網(wǎng)的目的標(biāo)識。
ー種虛擬網(wǎng)絡(luò),包括虛擬訪問交換機(jī)、中間交換機(jī)和控制器;每一個虛擬訪問交換機(jī)具有一個路由標(biāo)識,并與所述控制器連接;每ー個中間交換機(jī)與虛擬訪問交換機(jī)連接,并與所述控制器連接;每ー個主機(jī)均位于ー個子網(wǎng)中,子網(wǎng)內(nèi)的所有主機(jī)在ー個ニ層廣播域內(nèi),ニ層廣播域具有虛擬網(wǎng)絡(luò)標(biāo)識;一個主機(jī)一個與虛擬訪問交換機(jī)通過端ロ連接,端ロ具有端ロ標(biāo)識;還包括控制器,控制器包括信息獲取單元,用于獲取由主機(jī)發(fā)出的數(shù)據(jù)包的傳送類型,來源地和目的地;策略制定単元,用于根據(jù)所述傳送類型、來源地的端ロ標(biāo)識、目的地的目的標(biāo)識制定轉(zhuǎn)發(fā)策略;策略下發(fā)單元,用于將所述轉(zhuǎn)發(fā)策略發(fā)送給所述數(shù)據(jù)包將要經(jīng)過的各個所述虛擬訪問交換機(jī)和中間交換機(jī);由所述虛擬訪問交換機(jī)和中間交換機(jī)對接收到的數(shù)據(jù)包執(zhí)行所述轉(zhuǎn)發(fā)策略。所述的虛擬網(wǎng)絡(luò)中,虛擬訪問交換機(jī)包括第一策略執(zhí)行單元,用于將接收到的數(shù)據(jù)包作為第一數(shù)據(jù)包,將所述目的標(biāo)識與所述第一數(shù)據(jù)包封裝后形成第二數(shù)據(jù)包;發(fā)送所述第二數(shù)據(jù)包;以及,第二中間交換機(jī)包括策略執(zhí)行單元,用于將接收到的數(shù)據(jù)包作為第ー數(shù)據(jù)包,將所述目的標(biāo)識與所述第一數(shù)據(jù)包封裝后形成第二數(shù)據(jù)包;發(fā)送所述第二數(shù)據(jù)包。本發(fā)明的上述技術(shù)方案的有益效果如下在數(shù)據(jù)包轉(zhuǎn)發(fā)過程中,控制器能夠獲取數(shù)據(jù)包的各種屬性,如Broadcast ID,Route ID、以太網(wǎng)包頭、IP包頭、TCP/UDP端口號等作為目的標(biāo)識,根據(jù)目的標(biāo)識制定轉(zhuǎn)發(fā)策略,更精細(xì)和靈活的轉(zhuǎn)發(fā)數(shù)據(jù)包;支持了多租戶、多路徑轉(zhuǎn)發(fā)、流量負(fù)載均衡,更有效的利用了網(wǎng)絡(luò)資源。
圖I表示現(xiàn)有vxLan技術(shù)的工作原理示意圖;圖2表示本發(fā)明的虛擬網(wǎng)絡(luò)的系統(tǒng)架構(gòu)圖;圖3表示本發(fā)明的數(shù)據(jù)包封裝結(jié)構(gòu)示意圖;圖4表示本發(fā)明的子網(wǎng)間路由功能示意圖;圖5表示本發(fā)明的子網(wǎng)內(nèi)單播示意圖;圖6表示本發(fā)明的實(shí)現(xiàn)最優(yōu)路徑流程圖;圖7表示本發(fā)明的子網(wǎng)內(nèi)廣播流程圖;圖8表示本發(fā)明的一種控制器的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具體實(shí)施例進(jìn)行詳細(xì)描述。軟件定義網(wǎng)絡(luò)(SDN, Software Defined Network)技術(shù)是一種通信網(wǎng)絡(luò)實(shí)現(xiàn)方法,核心思想是控制-轉(zhuǎn)發(fā)-分離。SDN的控制面由集中的控制器(Forwarding Policy Server)組成,并通過Open flow協(xié)議控制轉(zhuǎn)發(fā)面的行為,控制方式是下發(fā)流表,流表包括匹配規(guī)則和行為,指示與匹配規(guī)則相匹配的數(shù)據(jù)包所應(yīng)采取的行為。SDN的轉(zhuǎn)發(fā)面收到數(shù)據(jù)包后,按順序匹配流表項(xiàng),發(fā)現(xiàn)匹配項(xiàng)后執(zhí)行相應(yīng)的指令;如果未匹配,可以將數(shù)據(jù)包轉(zhuǎn)發(fā)給控制器,由控制器處理。租戶可以擁有多個子網(wǎng),租戶的每臺主機(jī)(Host)都屬于某個子網(wǎng),子網(wǎng)作為ー個ニ層廣播域,每個ニ層廣播域都分配有ー個虛擬網(wǎng)絡(luò)標(biāo)識Broadcast ID (又稱為廣播域標(biāo)識)。姆臺主機(jī)連接在一臺虛擬訪問交換機(jī)(Virtual Access Switch)的ー個端口上,姆個端ロ有一個卩隹一的端ロ標(biāo)識,姆個Virtual Access Switch都由控制器分配ー個路由標(biāo)識 Route ID0本發(fā)明實(shí)施例提供了ー種實(shí)現(xiàn)虛擬網(wǎng)絡(luò)的方法,如圖2所示,包括步驟一,虛擬網(wǎng)絡(luò)的控制器獲取由主機(jī)發(fā)出的數(shù)據(jù)包的傳送類型,來源地和目的地; 步驟ニ,根據(jù)所述傳送類型、來源地的端ロ標(biāo)識、目的地的目的標(biāo)識制定轉(zhuǎn)發(fā)策略;步驟三,將所述轉(zhuǎn)發(fā)策略發(fā)送給所述數(shù)據(jù)包將要經(jīng)過的各個虛擬訪問交換機(jī)和中間交換機(jī);由所述虛擬訪問交換機(jī)和中間交換機(jī)對接收到的數(shù)據(jù)包,執(zhí)行所述轉(zhuǎn)發(fā)策略。應(yīng)用本發(fā)明實(shí)施例提供的技術(shù),在數(shù)據(jù)包轉(zhuǎn)發(fā)過程中,控制器能夠獲取數(shù)據(jù)包的各種屬性,如fcoadcast ID,Route ID、以太網(wǎng)包頭、IP包頭、TCP/UDP端口號等作為目的標(biāo)識,根據(jù)目的標(biāo)識制定轉(zhuǎn)發(fā)策略,由轉(zhuǎn)發(fā)面更精細(xì)和靈活的轉(zhuǎn)發(fā)數(shù)據(jù)包;支持了多租戶、多路徑轉(zhuǎn)發(fā)、流量負(fù)載均衡,更有效的利用了網(wǎng)絡(luò)資源。虛擬網(wǎng)絡(luò)的結(jié)構(gòu)如圖2所示,虛擬網(wǎng)絡(luò)包括轉(zhuǎn)發(fā)面和控制面轉(zhuǎn)發(fā)面,包括虛擬訪問交換機(jī)202和中間交換機(jī)206 ;中間交換機(jī)206不直接連接主機(jī)203,負(fù)責(zé)中間轉(zhuǎn)發(fā)數(shù)據(jù)包。主機(jī)203通過虛擬訪問交換機(jī)202接入虛擬網(wǎng)絡(luò),主機(jī)203包括物理機(jī)和虛擬機(jī)??刂泼?,包括控制器201,它與虛擬訪問交換機(jī)202和中間交換機(jī)206互聯(lián),向虛擬訪問交換機(jī)202和中間交換機(jī)206下發(fā)轉(zhuǎn)發(fā)策略,以控制轉(zhuǎn)發(fā)面的轉(zhuǎn)發(fā)行為;轉(zhuǎn)發(fā)策略包括控制數(shù)據(jù)包從哪個具體的端ロ轉(zhuǎn)發(fā)、修改數(shù)據(jù)包的屬性等。虛擬網(wǎng)絡(luò)中各個器件的工作原理包括控制器201,是組成控制面的設(shè)備,整個虛擬網(wǎng)絡(luò)的控制邏輯都在控制器201上制定,控制器201對來自轉(zhuǎn)發(fā)面的網(wǎng)絡(luò)事件進(jìn)行響應(yīng),根據(jù)虛擬網(wǎng)絡(luò)需求下發(fā)轉(zhuǎn)發(fā)策略到各個虛擬訪問交換機(jī)202和中間交換機(jī)206上,以實(shí)現(xiàn)對整個虛擬網(wǎng)絡(luò)的控制。虛擬訪問交換機(jī)202,是組成轉(zhuǎn)發(fā)面的設(shè)備,負(fù)責(zé)將主機(jī)203接入到虛擬網(wǎng)絡(luò)。中間交換機(jī)206,是組成轉(zhuǎn)發(fā)面的設(shè)備,是虛擬網(wǎng)絡(luò)的中間節(jié)點(diǎn),不直接接入主機(jī)203。虛擬訪問交換機(jī)202和中間交換機(jī)206根據(jù)控制器201下載的轉(zhuǎn)發(fā)策略對數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā)。主機(jī)203,每個主機(jī)203連接在ー個虛擬訪問交換機(jī)202的端口上??刂破?01與轉(zhuǎn)發(fā)面的接ロ 204,可采用開放流(Openflow)協(xié)議、網(wǎng)管協(xié)議或者私有協(xié)議。虛擬機(jī)管理器(VM Manager) 205,負(fù)責(zé)管理主機(jī)203,將主機(jī)203的信息-包括Broadcast ID、所在端ロ的端ロ標(biāo)識,以及Route ID等,傳送給控制器201。
主機(jī)203的標(biāo)識,端ロ標(biāo)識,以及主機(jī)203所屬的子網(wǎng)的虛擬網(wǎng)絡(luò)標(biāo)識,以及它們之間的對應(yīng)關(guān)系都存儲在控制器201中。在數(shù)據(jù)包的各種屬性中,目的標(biāo)識至少包括虛擬網(wǎng)絡(luò)標(biāo)識Broadcast ID,還可以包括目的路由標(biāo)識Route ID0來源地是指發(fā)出數(shù)據(jù)包的源主機(jī),源主機(jī)所在的子網(wǎng);目的地是指接收數(shù)據(jù)包的目的主機(jī),目的主機(jī)所在的子網(wǎng)。在一個優(yōu)選實(shí)施例中,這些信息由其他系統(tǒng),如虛擬化管理平臺(VM Manager),通過接ロ 204傳送給控制器201。
數(shù)據(jù)包進(jìn)入虛擬網(wǎng)絡(luò)時,打上虛擬網(wǎng)絡(luò)標(biāo)識、路由標(biāo)識;數(shù)據(jù)包在虛擬網(wǎng)絡(luò)傳輸過程中,轉(zhuǎn)發(fā)面根據(jù)數(shù)據(jù)包的路由標(biāo)識進(jìn)行轉(zhuǎn)發(fā);轉(zhuǎn)發(fā)面根據(jù)數(shù)據(jù)包的虛擬網(wǎng)絡(luò)標(biāo)識區(qū)分不同的虛擬網(wǎng)絡(luò),只能將數(shù)據(jù)包發(fā)送給同一個虛擬網(wǎng)絡(luò)的主機(jī)。數(shù)據(jù)包的封裝方式如圖3所示,源主機(jī)304發(fā)出的數(shù)據(jù)包301,包括ニ層包頭(L2Header)和數(shù)據(jù)(Data),在虛擬訪問交換機(jī)202封裝為數(shù)據(jù)包302,這ー過程中,采用實(shí)際存在的網(wǎng)絡(luò)標(biāo)簽,如MPLS 20bit標(biāo)簽來實(shí)現(xiàn)Broadcast ID和Route ID,與數(shù)據(jù)包301封裝在一起形成數(shù)據(jù)包302,或者只將Broadcast ID與數(shù)據(jù)包301封裝在一起形成數(shù)據(jù)包303 broadcast ID和Route ID,分別表示虛擬網(wǎng)絡(luò)標(biāo)識和目的虛擬訪問交換機(jī)202b ;此時MPLS標(biāo)簽僅作為Broadcast ID和Route ID的載體,不具有MPLS tag原本的意義。20bit的Broadcast ID能夠支持超過100萬獨(dú)立子網(wǎng),因此能夠支持大量租戶。目的虛擬訪問交換機(jī)202b接到數(shù)據(jù)包302后,去除Broadcast ID和Route ID的數(shù)據(jù)包304,恢復(fù)到了初始的數(shù)據(jù)包301的狀態(tài),發(fā)送給目的主機(jī)305。廣播數(shù)據(jù)包303由于不是具體轉(zhuǎn)發(fā)給特定的Host,而是發(fā)給廣播域內(nèi)所有Host,所以不需要封裝Route ID,僅僅封裝Broadcast ID??刂破?01與轉(zhuǎn)發(fā)面之間的接ロ 204協(xié)議可有多種選擇,如可采用Openf low協(xié)議,轉(zhuǎn)發(fā)策略通過流表實(shí)現(xiàn);也可以采用網(wǎng)管接口下載策略,轉(zhuǎn)發(fā)策略由網(wǎng)管配置條目實(shí)現(xiàn)。在一個優(yōu)選實(shí)施例中,控制器201采用Openflow協(xié)議下發(fā)所述轉(zhuǎn)發(fā)策略;所述轉(zhuǎn)發(fā)策略由流表實(shí)現(xiàn);或者,所述控制器采用網(wǎng)管接口下載協(xié)議下發(fā)所述轉(zhuǎn)發(fā)策略;所述轉(zhuǎn)發(fā)策略由網(wǎng)管配置條目實(shí)現(xiàn);或者,所述控制器采用私有協(xié)議下發(fā)所述轉(zhuǎn)發(fā)策略。在一個優(yōu)選實(shí)施例中,執(zhí)行所述轉(zhuǎn)發(fā)策略包括將接收到的數(shù)據(jù)包作為第一數(shù)據(jù)包,將所述目的標(biāo)識與所述第一數(shù)據(jù)包封裝后形成第二數(shù)據(jù)包;發(fā)送所述第二數(shù)據(jù)包。所提供的技術(shù)方案能夠在同ー個子網(wǎng)內(nèi)轉(zhuǎn)發(fā)數(shù)據(jù)包。在一個優(yōu)選實(shí)施例中,所述傳送類型為同一個子網(wǎng)內(nèi)轉(zhuǎn)發(fā)數(shù)據(jù)包;所述目的標(biāo)識包括根據(jù)所述端ロ標(biāo)識找出的發(fā)送數(shù)據(jù)包的主機(jī)所在子網(wǎng)的目的虛擬網(wǎng)絡(luò)標(biāo)識Broadcast ID,以及目的虛擬訪問交換機(jī)的目的路由標(biāo)識Route ID。在ー個應(yīng)用場景中,在虛擬網(wǎng)絡(luò)中轉(zhuǎn)發(fā)數(shù)據(jù)包時,控制器201通過下發(fā)的轉(zhuǎn)發(fā)策略為數(shù)據(jù)包打上兩種目的標(biāo)識Broadcast ID和Route ID。步驟01,當(dāng)主機(jī)發(fā)送數(shù)據(jù)包時,控制器201根據(jù)主機(jī)所在端ロ查詢數(shù)據(jù)庫,找出主機(jī)所在子網(wǎng)對應(yīng)的Broadcast ID,以及目的虛擬訪問交換機(jī)的目的路由標(biāo)識Route ID,以此形成轉(zhuǎn)發(fā)策略;步驟02,控制器201下發(fā)轉(zhuǎn)發(fā)策略給主機(jī)所連接的第一虛擬訪問交換機(jī),以及中間交換機(jī),中間交換機(jī)與第一虛擬訪問交換機(jī)或者其他的中間交換機(jī)連接。步驟03,執(zhí)行轉(zhuǎn)發(fā)策略時將Broadcast ID和Route ID封轉(zhuǎn)在第一數(shù)據(jù)包中形成
第二數(shù)據(jù)包。在同一個子網(wǎng)內(nèi)轉(zhuǎn)發(fā)需要打上虛擬網(wǎng)絡(luò)標(biāo)識Broadcast ID,否則就無法區(qū)分此數(shù)據(jù)包是哪個虛擬網(wǎng)絡(luò)的。帶有Broadcast ID和Route ID的第二數(shù)據(jù)包在子網(wǎng)內(nèi)傳輸時,中間交換機(jī)匹配此目的標(biāo)識,保證此數(shù)據(jù)包只會發(fā)到同一子網(wǎng)內(nèi)的目的主機(jī),以此實(shí)現(xiàn)在同一個子網(wǎng)內(nèi)傳輸數(shù)據(jù)包以及子網(wǎng)之間的隔離。所提供的技術(shù)方案能夠在不同的子網(wǎng)之間轉(zhuǎn)發(fā)數(shù)據(jù)包。在數(shù)據(jù)包中封裝目的主機(jī)所在的虛擬網(wǎng)絡(luò)的虛擬網(wǎng)絡(luò)標(biāo)識,以保證只有目的虛擬網(wǎng)絡(luò)內(nèi)的主機(jī)能夠收到此數(shù)據(jù)包。在一個優(yōu)選實(shí)施例中,傳送類型為子網(wǎng)之間轉(zhuǎn)發(fā)數(shù)據(jù)包;目的標(biāo)識包括目的子網(wǎng)的目的虛擬網(wǎng)絡(luò)標(biāo)識,以及目的虛擬訪問交換機(jī)的目的路由標(biāo)識Route ID。目的虛擬訪問交換機(jī)位于目的子網(wǎng)內(nèi)。子網(wǎng)間路由過程類似子網(wǎng)內(nèi)單播流程,不同的是,子網(wǎng)間路由要替換數(shù)據(jù)包的Mac地址,這是因?yàn)閿?shù)據(jù)包發(fā)出時,源Mac地址為源主機(jī)的Mac地址,目的Mac地址為路由器Mac地址;其中,路由器Mac地址是主機(jī)配置的路由器的MAC地址(不是虛擬訪問交換機(jī)202a的Mac地址),主機(jī)配置的路由器是虛擬的,每個主機(jī)會配置路由器IP地址,當(dāng)主機(jī)要發(fā)送子網(wǎng)間的數(shù)據(jù)包吋,主機(jī)會通過ARP協(xié)議獲取此路由器IP對應(yīng)的Mac地址,控制器201此時代替虛擬的路由器應(yīng)答這一 ARP請求,給主機(jī)返回虛擬路由器的路由器Mac地址。數(shù)據(jù)包經(jīng)過虛擬訪問交換機(jī),源Mac地址替換為路由器Mac地址,目的Mac地址替換為目的主機(jī)Mac地址。這ー過程中需要設(shè)置ー個虛擬路由器地址,但不需設(shè)置物理路由器,僅通過Mac地址的替換來完成路由功能。在ー個應(yīng)用場景中,如圖4所示,以openflow協(xié)議作為控制器201與轉(zhuǎn)發(fā)面之間的接ロ協(xié)議為例進(jìn)行說明,轉(zhuǎn)發(fā)策略對應(yīng)openflow協(xié)議所定義的流表,步驟包括步驟401,源主機(jī)發(fā)送第一數(shù)據(jù)包給與它相連的源虛擬訪問交換機(jī)202a。步驟402,源虛擬訪問交換機(jī)202a由于沒有匹配的流表,將第一數(shù)據(jù)包通過PacketIn消息轉(zhuǎn)發(fā)給控制器201。步驟403,控制器201向源虛擬訪問交換機(jī)202a下發(fā)流表,流表負(fù)責(zé)封裝Broadcast ID、Route ID和替換Mac地址,包括將源Mac地址替換為路由器Mac地址,目的地址替換為目的主機(jī)Mac地址。步驟404,控制器201向目的虛擬訪問交換機(jī)202b下發(fā)流表,這些流表負(fù)責(zé)從接收到的第二數(shù)據(jù)包中彈出Broadcast ID和Route ID以實(shí)現(xiàn)還原數(shù)據(jù)包,以及轉(zhuǎn)發(fā)還原后的數(shù)據(jù)包到合適的目的主機(jī)。
步驟405,控制器201將第一數(shù)據(jù)包通過PacketOut消息發(fā)回給源虛擬訪問交換機(jī)202a。步驟406,源虛擬訪問交換機(jī)202a匹配步驟403中提到的流表,給數(shù)據(jù)包封裝Broadcast ID和Route ID,將源Mac地址替換為路由器Mac地址,目的地址替換為目的主機(jī)Mac地址,形成第二數(shù)據(jù)包。步驟407,源虛擬訪問交換機(jī)202a匹配步驟403中提到的流表,按最優(yōu)路徑轉(zhuǎn)發(fā)第
ニ數(shù)據(jù)包。步驟408,中間交換機(jī)206匹配流表,按最優(yōu)路徑轉(zhuǎn)發(fā)第二數(shù)據(jù)包。步驟409,目的虛擬訪問交換機(jī)202b匹配步驟404中提到的流表,彈出BroadcastID和Route ID,從第二數(shù)據(jù)包中還原出第一數(shù)據(jù)包;
步驟410,目的虛擬訪問交換機(jī)202b匹配流表,轉(zhuǎn)發(fā)第一數(shù)據(jù)包到目的主機(jī)。所提供的技術(shù)方案也能夠轉(zhuǎn)發(fā)單播的數(shù)據(jù)包。在一個優(yōu)選實(shí)施例中,傳送類型為單播;步驟ニ還包括計(jì)算出發(fā)送數(shù)據(jù)包的主機(jī)與目的地之間的至少一條優(yōu)化路徑;所述轉(zhuǎn)發(fā)策略中包括所述至少一條優(yōu)化路徑;執(zhí)行所述轉(zhuǎn)發(fā)策略包括由所述目的子網(wǎng)的目的虛擬訪問交換機(jī)將所述第二數(shù)據(jù)包還原為第一數(shù)據(jù)包,將所述第一數(shù)據(jù)包發(fā)給目的主機(jī)。主機(jī)發(fā)送單播數(shù)據(jù)包時,控制器201查詢目的主機(jī)所在虛擬訪問交換機(jī)的RouteID,下發(fā)相應(yīng)轉(zhuǎn)發(fā)策略,虛擬訪問交換機(jī)執(zhí)行轉(zhuǎn)發(fā)策略時將此Route ID封裝在數(shù)據(jù)包中??刂破?01在每兩個虛擬訪問交換機(jī)之間計(jì)算最優(yōu)路徑,井下發(fā)轉(zhuǎn)發(fā)策略,轉(zhuǎn)發(fā)策略匹配數(shù)據(jù)包中的Route ID,使其沿著特定路徑轉(zhuǎn)發(fā),直到到達(dá)目的虛擬訪問交換機(jī)202b,由目的虛擬訪問交換機(jī)202b轉(zhuǎn)發(fā)給目的主機(jī)。控制器201也可以同時計(jì)算多條路徑,讓當(dāng)前的數(shù)據(jù)包按預(yù)定義的轉(zhuǎn)發(fā)策略選擇一條路徑轉(zhuǎn)發(fā),從而實(shí)現(xiàn)多路徑負(fù)載均衡。由控制器201決定采用不同的轉(zhuǎn)發(fā)方式,可以根據(jù)需要隨時確定不同的選擇。子網(wǎng)內(nèi)單播包需要打上Broadcast ID和Route ID,這兩個標(biāo)識都由MPLS標(biāo)簽實(shí)現(xiàn),Route ID用于標(biāo)識目的虛擬訪問交換機(jī)202b,Broadcast ID用于唯一標(biāo)識ー個ニ層廣播域(子網(wǎng)),保證同一個子網(wǎng)內(nèi)的主機(jī)才能收到此數(shù)據(jù)包,良好地實(shí)現(xiàn)子網(wǎng)之間的隔離。在ー個應(yīng)用場景中,如圖5所示,以openflow協(xié)議作為控制器201與轉(zhuǎn)發(fā)面之間的接ロ協(xié)議進(jìn)行說明,轉(zhuǎn)發(fā)策略對應(yīng)openflow協(xié)議定義的流表,步驟包括步驟501,源主機(jī)發(fā)送第一數(shù)據(jù)包到與它相連的源虛擬訪問交換機(jī)202a。步驟502,第一數(shù)據(jù)包在源虛擬訪問交換機(jī)202a上沒有匹配的流表,源虛擬訪問交換機(jī)202a向控制器201發(fā)送PacketIn消息,消息包含第一數(shù)據(jù)包的內(nèi)容和輸入端ロ。步驟503,控制器201根據(jù)PacketIn消息的內(nèi)容判斷需要匹配的流表,向源虛擬訪問交換機(jī)202a下發(fā)流表,這些流表負(fù)責(zé)封裝Broadcast ID和Route ID ;步驟504,控制器201向目的虛擬訪問交換機(jī)202b下發(fā)流表,這些流表負(fù)責(zé)從第二數(shù)據(jù)包中彈出Broadcast ID和Route ID,以及轉(zhuǎn)發(fā)第一數(shù)據(jù)包到合適的主機(jī);流表可以在收到PacketIn消息時下載,也可以選擇在主機(jī)發(fā)送數(shù)據(jù)包前下載。步驟505,控制器201將原數(shù)據(jù)包通過PacketOut消息發(fā)回給源虛擬訪問交換機(jī)202a ;步驟506,源虛擬訪問交換機(jī)202a將此數(shù)據(jù)包匹配流表,執(zhí)行流表規(guī)定的行為,給第一數(shù)據(jù)包封裝Broadcast ID和Route ID形成第二數(shù)據(jù)包;步驟507,源虛擬訪問交換機(jī)202a匹配流表,按最優(yōu)路徑轉(zhuǎn)發(fā)第二數(shù)據(jù)包;步驟508,中間交換機(jī)206匹配流表,按最優(yōu)路徑轉(zhuǎn)發(fā)第二數(shù)據(jù)包;步驟509,目的虛擬訪問交換機(jī)202b將第二數(shù)據(jù)包匹配流表,從第二數(shù)據(jù)包中彈出Broadcast ID和Route ID,還原出第一數(shù)據(jù)包;
步驟510,目的虛擬訪問交換機(jī)202b匹配流表,轉(zhuǎn)發(fā)還原后的第一數(shù)據(jù)包到目的主機(jī)。每個數(shù)據(jù)包都采用最優(yōu)路徑轉(zhuǎn)發(fā),也可以根據(jù)租戶對應(yīng)的特定策略轉(zhuǎn)發(fā),具體地,可以根據(jù)租戶所屬的級別來選擇不同路由路徑,這ー過程中需要在路由路徑中的各節(jié)點(diǎn)上設(shè)置相應(yīng)的流表。各實(shí)施例中,下發(fā)實(shí)現(xiàn)最優(yōu)路徑的轉(zhuǎn)發(fā)策略的方式有多種,可以是在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化時即刻下發(fā)轉(zhuǎn)發(fā)策略,也可以先計(jì)算出最優(yōu)路徑,當(dāng)有數(shù)據(jù)包發(fā)送時再下發(fā)轉(zhuǎn)發(fā)策略,如圖6所示,實(shí)現(xiàn)最優(yōu)路徑的流程包括步驟601,控制器201為每個虛擬訪問交換機(jī)202分配Route ID,并探測網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。當(dāng)采用openflow作為控制面和轉(zhuǎn)發(fā)面之間的協(xié)議時,控制器201探測網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)包括控制器201可以指示姆個端ロ發(fā)送鏈路層發(fā)現(xiàn)協(xié)議(LLDP,Link Layer DiscoveryProtocol)包,如果在轉(zhuǎn)發(fā)面的另ー個端ロ收到此LLDP包,則認(rèn)為兩個端ロ之間有一條鏈路。步驟602,計(jì)算每個虛擬訪問交換機(jī)202到其他虛擬訪問交換機(jī)202之間的最優(yōu)路徑。步驟603,控制器201向相應(yīng)的虛擬訪問交換機(jī)202和中間交換機(jī)206下發(fā)轉(zhuǎn)發(fā)策略,轉(zhuǎn)發(fā)策略中指示了從ー個虛擬訪問交換機(jī)202到目的虛擬訪問交換機(jī)202b的數(shù)據(jù)包應(yīng)輸出的所述端ロ,匹配字段為Route ID。所提供的技術(shù)方案也能夠轉(zhuǎn)發(fā)廣播數(shù)據(jù)包。在一個優(yōu)選實(shí)施例中,傳送類型為廣播;步驟一之前包括在每ー個子網(wǎng)中建立覆蓋整個所述子網(wǎng)的第一類廣播樹;或者,在每ー個子網(wǎng)中建立第二類廣播樹,每ー個所述第二類廣播樹中,選定所述子網(wǎng)中的一個與主機(jī)有連接的虛擬訪問交換機(jī)作為該第二類廣播樹的根節(jié)點(diǎn)。建立廣播樹的方式有多種,可以在發(fā)送廣播包時建立廣播樹,也可以預(yù)先建立廣播樹;廣播樹可以每個子網(wǎng)建立ー個,也可以以每個子網(wǎng)中與每個主機(jī)相連的VirtualAccess Switch為根建立多個。由于廣播樹的節(jié)點(diǎn)與主機(jī)的位置相關(guān),因此主機(jī)位置變更時,要重新建立廣播樹,并更新流表。在一個優(yōu)選實(shí)施例中,目的標(biāo)識包括目的地的第一類廣播樹或者第二類廣播樹對應(yīng)的目的子網(wǎng)的目的標(biāo)識;執(zhí)行所述轉(zhuǎn)發(fā)策略包括由所述目的子網(wǎng)的目的虛擬訪問交換機(jī)將所述第二數(shù)據(jù)包還原為第一數(shù)據(jù)包,將所述第一數(shù)據(jù)包發(fā)給目的主機(jī)。在ー個應(yīng)用場景中,如圖7所示,子網(wǎng)內(nèi)廣播包需要封裝上由MPLS標(biāo)簽實(shí)現(xiàn)的Broadcast ID。以openflow協(xié)議為控制器201與轉(zhuǎn)發(fā)面之間的接ロ協(xié)議為例進(jìn)行說明,轉(zhuǎn)發(fā)策略對應(yīng)openflow協(xié)議定義的流表??刂破?01通過下發(fā)流表建立ー個廣播樹,使數(shù)據(jù)包按廣播樹傳播,步驟包括步驟701,源主機(jī)發(fā)送第一數(shù)據(jù)包給與源主機(jī)相連接的源虛擬訪問交換機(jī)202a。步驟702,源虛擬訪問交換機(jī)202a沒有匹配的流表,將第一數(shù)據(jù)包通過PacketIn消息轉(zhuǎn)發(fā)給控制器201。步驟703,控制器201向源虛擬訪問交換機(jī)202a下發(fā)流表,這些流表負(fù)責(zé)為第一數(shù)據(jù)包封裝Broadcast ID。 步驟704,控制器201根據(jù)網(wǎng)絡(luò)拓?fù)浣V播樹,根據(jù)建立廣播樹的結(jié)果向廣播樹節(jié)點(diǎn)對應(yīng)的中間交換機(jī)206下發(fā)流表,這些流表負(fù)責(zé)第二數(shù)據(jù)包在廣播樹中轉(zhuǎn)發(fā)。步驟705,控制器201向目的虛擬訪問交換機(jī)202b下發(fā)流表;這些流表負(fù)責(zé)從第ニ數(shù)據(jù)包中彈出Broadcast ID,以及轉(zhuǎn)發(fā)第二數(shù)據(jù)包到合適的目的主機(jī)。步驟706,控制器201將原第一數(shù)據(jù)包通過PacketOut消息發(fā)回給源虛擬訪問交換機(jī) 202a。步驟707,源虛擬訪問交換機(jī)202a匹配流表,給第一數(shù)據(jù)包封裝上Broadcast ID形成第二數(shù)據(jù)包。步驟708,源虛擬訪問交換機(jī)202a匹配流表,按廣播樹轉(zhuǎn)發(fā)第二數(shù)據(jù)包。步驟709,中間交換機(jī)206配流表,按廣播樹轉(zhuǎn)發(fā)數(shù)據(jù)包;數(shù)據(jù)包會到達(dá)目的虛擬訪問交換機(jī)202b。步驟710,目的虛擬訪問交換機(jī)202b匹配流表,從第二數(shù)據(jù)包中彈出BroadcastID,還原出第一數(shù)據(jù)包。步驟711,目的虛擬訪問交換機(jī)202b匹配流表,轉(zhuǎn)發(fā)第一數(shù)據(jù)包到目的主機(jī)。本發(fā)明實(shí)施例提供一種控制器,如圖8所示,包括信息獲取單元801,用于獲取由主機(jī)發(fā)出的數(shù)據(jù)包的傳送類型,來源地和目的地;策略制定単元802,用于根據(jù)所述傳送類型、來源地的端ロ標(biāo)識、目的地的目的標(biāo)識制定轉(zhuǎn)發(fā)策略;策略下發(fā)單元803,用于將所述轉(zhuǎn)發(fā)策略發(fā)送給所述數(shù)據(jù)包將要經(jīng)過的各個所述虛擬訪問交換機(jī)和中間交換機(jī);由所述虛擬訪問交換機(jī)和中間交換機(jī)對接收到的數(shù)據(jù)包執(zhí)行所述轉(zhuǎn)發(fā)策略。在一個優(yōu)選實(shí)施例中,策略制定單元802包括第一制定模塊,用于當(dāng)所述傳送類型為同一個子網(wǎng)內(nèi)轉(zhuǎn)發(fā)數(shù)據(jù)包時;設(shè)置所述目的標(biāo)識包括根據(jù)所述端ロ標(biāo)識確定的發(fā)送數(shù)據(jù)包的主機(jī)所在子網(wǎng)的目的虛擬網(wǎng)絡(luò)標(biāo)識,以及目的虛擬訪問交換機(jī)的目的路由標(biāo)識。在一個優(yōu)選實(shí)施例中,策略制定單元802包括第二制定模塊,用于當(dāng)所述傳送類型為子網(wǎng)之間轉(zhuǎn)發(fā)數(shù)據(jù)包吋,設(shè)置所述目的標(biāo)識包括目的子網(wǎng)的目的虛擬網(wǎng)絡(luò)標(biāo)識,以及目的虛擬訪問交換機(jī)的目的路由標(biāo)識。
在一個優(yōu)選實(shí)施例中,策略制定單元802包括第三制定模塊,用于當(dāng)所述傳送類型為單播吋,計(jì)算出發(fā)送數(shù)據(jù)包的主機(jī)與目的地之間的至少一條優(yōu)化路徑;所述轉(zhuǎn)發(fā)策略中包括所述至少一條優(yōu)化路徑。在一個優(yōu)選實(shí)施例中,還包括廣播樹単元,用于在每一個子網(wǎng)中建立覆蓋整個所述子網(wǎng)的第一類廣播樹;或者,在每ー個子網(wǎng)中建立第二類廣播樹,每ー個所述第二類廣播樹中,選定所述子網(wǎng)中的一個與主機(jī)有連接的虛擬訪問交換機(jī)作為該第二類廣播樹的根節(jié)點(diǎn)。在一個優(yōu)選實(shí)施例中,策略制定單元802包括 第四制定模塊,用于當(dāng)所述傳送類型為廣播吋,設(shè)置所述目的標(biāo)識包括目的地的第一類廣播樹或者第二類廣播樹對應(yīng)的目的子網(wǎng)的目的標(biāo)識。本發(fā)明實(shí)施例提供ー種虛擬網(wǎng)絡(luò),如圖2所示,包括虛擬訪問交換機(jī)、中間交換機(jī)和控制器;每ー個虛擬訪問交換機(jī)具有一個路由標(biāo)識,并與所述控制器連接;每ー個中間交換機(jī)與虛擬訪問交換機(jī)連接,并與所述控制器連接; 每ー個主機(jī)均位于ー個子網(wǎng)中,子網(wǎng)內(nèi)的所有主機(jī)在一個ニ層廣播域內(nèi),ニ層廣播域具有虛擬網(wǎng)絡(luò)標(biāo)識;一個主機(jī)一個與虛擬訪問交換機(jī)通過端ロ連接,端ロ具有端ロ標(biāo)識;還包括控制器,如圖8所示,控制器中信息獲取單元801,用于獲取由主機(jī)發(fā)出的數(shù)據(jù)包的傳送類型,來源地和目的地;策略制定単元802,用于根據(jù)所述傳送類型、來源地的端ロ標(biāo)識、目的地的目的標(biāo)識制定轉(zhuǎn)發(fā)策略;策略下發(fā)單元803,用于將所述轉(zhuǎn)發(fā)策略發(fā)送給所述數(shù)據(jù)包將要經(jīng)過的各個所述虛擬訪問交換機(jī)和中間交換機(jī);由所述虛擬訪問交換機(jī)和中間交換機(jī)對接收到的數(shù)據(jù)包執(zhí)行所述轉(zhuǎn)發(fā)策略。在一個優(yōu)選實(shí)施例中,虛擬訪問交換機(jī)包括第一策略執(zhí)行單元,用于將接收到的數(shù)據(jù)包作為第一數(shù)據(jù)包,將所述目的標(biāo)識與所述第一數(shù)據(jù)包封裝后形成第二數(shù)據(jù)包;發(fā)送所述第二數(shù)據(jù)包;以及,第二中間交換機(jī)包括策略執(zhí)行單元,用于將接收到的數(shù)據(jù)包作為第一數(shù)據(jù)包,將所述目的標(biāo)識與所述第一數(shù)據(jù)包封裝后形成第二數(shù)據(jù)包;發(fā)送所述第二數(shù)據(jù)包。采用本方案之后的優(yōu)勢是通過為數(shù)據(jù)包打上虛擬網(wǎng)絡(luò)標(biāo)簽和路由標(biāo)簽,提供多租戶支持、多路徑、流量負(fù)載均衡能力,而且能夠?qū)?shù)據(jù)網(wǎng)絡(luò)進(jìn)行更全面的管理,實(shí)施更靈活的數(shù)據(jù)轉(zhuǎn)發(fā)策略,甚至針對特定租戶的需求實(shí)施流量的優(yōu)化和控制。以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.ー種實(shí)現(xiàn)虛擬網(wǎng)絡(luò)的方法,其特征在于,包括 步驟一,虛擬網(wǎng)絡(luò)的控制器獲取由主機(jī)發(fā)出的數(shù)據(jù)包的傳送類型,來源地和目的地;步驟ニ,根據(jù)所述傳送類型、來源地的端ロ標(biāo)識、目的地的目的標(biāo)識制定轉(zhuǎn)發(fā)策略;步驟三,將所述轉(zhuǎn)發(fā)策略發(fā)送給所述數(shù)據(jù)包將要經(jīng)過的各個虛擬訪問交換機(jī)和中間交換機(jī); 由所述虛擬訪問交換機(jī)和中間交換機(jī)對接收到的數(shù)據(jù)包,執(zhí)行所述轉(zhuǎn)發(fā)策略。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,執(zhí)行所述轉(zhuǎn)發(fā)策略包括 將接收到的數(shù)據(jù)包作為第一數(shù)據(jù)包,將所述目的標(biāo)識與所述第一數(shù)據(jù)包封裝后形成第ニ數(shù)據(jù)包; 發(fā)送所述第二數(shù)據(jù)包。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述傳送類型為同一個子網(wǎng)內(nèi)轉(zhuǎn)發(fā)數(shù)據(jù)包;發(fā)送數(shù)據(jù)包的主機(jī)與接收數(shù)據(jù)包的目的主機(jī)位于同一個子網(wǎng); 所述目的標(biāo)識包括根據(jù)所述端ロ標(biāo)識確定的發(fā)送數(shù)據(jù)包的主機(jī)所在子網(wǎng)的目的虛擬網(wǎng)絡(luò)標(biāo)識,以及目的虛擬訪問交換機(jī)的目的路由標(biāo)識。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述傳送類型為子網(wǎng)之間轉(zhuǎn)發(fā)數(shù)據(jù)包; 所述目的標(biāo)識包括目的子網(wǎng)的目的虛擬網(wǎng)絡(luò)標(biāo)識,以及目的虛擬訪問交換機(jī)的目的路由標(biāo)識。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述傳送類型為單播; 步驟ニ還包括計(jì)算出發(fā)送數(shù)據(jù)包的主機(jī)與目的地之間的至少一條優(yōu)化路徑;所述轉(zhuǎn)發(fā)策略中包括所述至少一條優(yōu)化路徑; 執(zhí)行所述轉(zhuǎn)發(fā)策略包括由所述目的子網(wǎng)的目的虛擬訪問交換機(jī)將所述第二數(shù)據(jù)包還原為第一數(shù)據(jù)包,將還原后的所述第一數(shù)據(jù)包發(fā)給目的主機(jī)。
6.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述傳送類型為廣播; 步驟一之前包括 在每ー個子網(wǎng)中建立覆蓋整個所述子網(wǎng)的第一類廣播樹; 或者,在每ー個子網(wǎng)中建立第二類廣播樹,每ー個所述第二類廣播樹中,選定所述子網(wǎng)中的一個與主機(jī)有連接的虛擬訪問交換機(jī)作為該第二類廣播樹的根節(jié)點(diǎn)。
7.根據(jù)權(quán)利要求6所述的方法,其特征在干, 所述目的標(biāo)識包括目的地的第一類廣播樹或者第二類廣播樹對應(yīng)的目的子網(wǎng)的目的標(biāo)識; 執(zhí)行所述轉(zhuǎn)發(fā)策略包括由所述目的子網(wǎng)的目的虛擬訪問交換機(jī)將所述第二數(shù)據(jù)包還原為第一數(shù)據(jù)包,將所述第一數(shù)據(jù)包發(fā)給目的主機(jī)。
8.根據(jù)權(quán)利要求I所述的方法,其特征在干, 所述控制器采用Openflow協(xié)議下發(fā)所述轉(zhuǎn)發(fā)策略;所述轉(zhuǎn)發(fā)策略由流表實(shí)現(xiàn); 或者, 所述控制器采用網(wǎng)管接ロ下載協(xié)議下發(fā)所述轉(zhuǎn)發(fā)策略;所述轉(zhuǎn)發(fā)策略由網(wǎng)管配置條目實(shí)現(xiàn); 或者, 所述控制器采用選定的私有協(xié)議下發(fā)所述轉(zhuǎn)發(fā)策略。
9.一種控制器,其特征在于,包括 信息獲取單元,用于獲取由主機(jī)發(fā)出的數(shù)據(jù)包的傳送類型,來源地和目的地; 策略制定單元,用于根據(jù)所述傳送類型、來源地的端口標(biāo)識、目的地的目的標(biāo)識制定轉(zhuǎn)發(fā)策略; 策略下發(fā)單元,用于將所述轉(zhuǎn)發(fā)策略發(fā)送給所述數(shù)據(jù)包將要經(jīng)過的各個所述虛擬訪問交換機(jī)和中間交換機(jī); 由所述虛擬訪問交換機(jī)和中間交換機(jī)對接收到的數(shù)據(jù)包執(zhí)行所述轉(zhuǎn)發(fā)策略。
10.根據(jù)權(quán)利要求9所述的控制器,其特征在于,策略制定單元包括 第一制定模塊,用于當(dāng)所述傳送類型為同一個子網(wǎng)內(nèi)轉(zhuǎn)發(fā)數(shù)據(jù)包時; 設(shè)置所述目的標(biāo)識包括根據(jù)所述端口標(biāo)識確定的發(fā)送數(shù)據(jù)包的主機(jī)所在子網(wǎng)的目的虛擬網(wǎng)絡(luò)標(biāo)識,以及目的虛擬訪問交換機(jī)的目的路由標(biāo)識。
11.根據(jù)權(quán)利要求9所述的控制器,其特征在于,策略制定單元包括 第二制定模塊,用于當(dāng)所述傳送類型為子網(wǎng)之間轉(zhuǎn)發(fā)數(shù)據(jù)包時, 設(shè)置所述目的標(biāo)識包括目的子網(wǎng)的目的虛擬網(wǎng)絡(luò)標(biāo)識,以及目的虛擬訪問交換機(jī)的目的路由標(biāo)識。
12.根據(jù)權(quán)利要求9所述的控制器,其特征在于,策略制定單元包括 第三制定模塊,用于當(dāng)所述傳送類型為單播時, 計(jì)算出發(fā)送數(shù)據(jù)包的主機(jī)與目的地之間的至少一條優(yōu)化路徑;所述轉(zhuǎn)發(fā)策略中包括所述至少一條優(yōu)化路徑。
13.根據(jù)權(quán)利要求9所述的控制器,其特征在于,還包括 廣播樹單元,用于在每一個子網(wǎng)中建立覆蓋整個所述子網(wǎng)的第一類廣播樹; 或者,在每一個子網(wǎng)中建立第二類廣播樹,每一個所述第二類廣播樹中,選定所述子網(wǎng)中的一個與主機(jī)有連接的虛擬訪問交換機(jī)作為該第二類廣播樹的根節(jié)點(diǎn)。
14.根據(jù)權(quán)利要求12所述的控制器,其特征在于,策略制定單元包括 第四制定模塊,用于當(dāng)所述傳送類型為廣播時, 設(shè)置所述目的標(biāo)識包括目的地的第一類廣播樹或者第二類廣播樹對應(yīng)的目的子網(wǎng)的目的標(biāo)識。
15.一種虛擬網(wǎng)絡(luò),其特征在于,包括虛擬訪問交換機(jī)、中間交換機(jī)和控制器; 每一個虛擬訪問交換機(jī)具有一個路由標(biāo)識,并與所述控制器連接; 每一個中間交換機(jī)與虛擬訪問交換機(jī)連接,并與所述控制器連接; 每一個主機(jī)均位于一個子網(wǎng)中,子網(wǎng)內(nèi)的所有主機(jī)在一個二層廣播域內(nèi),二層廣播域具有虛擬網(wǎng)絡(luò)標(biāo)識; 一個主機(jī)一個與虛擬訪問交換機(jī)通過端口連接,端口具有端口標(biāo)識; 還包括如權(quán)利要求擴(kuò)14中的控制器。
16.根據(jù)權(quán)利要求15所述的虛擬網(wǎng)絡(luò),其特征在于, 虛擬訪問交換機(jī)包括 第一策略執(zhí)行單元,用于將接收到的數(shù)據(jù)包作為第一數(shù)據(jù)包,將所述目的標(biāo)識與所述第一數(shù)據(jù)包封裝后形成第二數(shù)據(jù)包;發(fā)送所述第二數(shù)據(jù)包; 以及,第二中間交換機(jī)包括 策略執(zhí)行單元,用于將接收到的數(shù)據(jù)包作為第一數(shù)據(jù)包,將所述目的標(biāo)識與所述第一數(shù)據(jù)包封裝后形成第二數(shù)據(jù)包;發(fā)送所述第二數(shù)據(jù)包。
全文摘要
本發(fā)明實(shí)施例提供一種實(shí)現(xiàn)虛擬網(wǎng)絡(luò)的方法和虛擬網(wǎng)絡(luò),方法包括步驟一,虛擬網(wǎng)絡(luò)的控制器獲取由主機(jī)發(fā)出的數(shù)據(jù)包的傳送類型,來源地和目的地;步驟二,根據(jù)所述傳送類型、來源地的端口標(biāo)識、目的地的目的標(biāo)識制定轉(zhuǎn)發(fā)策略;步驟三,將所述轉(zhuǎn)發(fā)策略發(fā)送給所述數(shù)據(jù)包將要經(jīng)過的各個虛擬訪問交換機(jī)和中間交換機(jī);由所述虛擬訪問交換機(jī)和中間交換機(jī)對接收到的數(shù)據(jù)包,執(zhí)行所述轉(zhuǎn)發(fā)策略。在數(shù)據(jù)包轉(zhuǎn)發(fā)過程中,控制器能夠獲取數(shù)據(jù)包的各種屬性作為目的標(biāo)識,根據(jù)目的標(biāo)識制定轉(zhuǎn)發(fā)策略,更精細(xì)和靈活的轉(zhuǎn)發(fā)數(shù)據(jù)包;支持了多租戶、多路徑轉(zhuǎn)發(fā)、流量負(fù)載均衡,更有效的利用了網(wǎng)絡(luò)資源。
文檔編號H04L12/701GK102857416SQ20121034645
公開日2013年1月2日 申請日期2012年9月18日 優(yōu)先權(quán)日2012年9月18日
發(fā)明者馬蘇安, 汪軍, 胡永生, 梁亮 申請人:中興通訊股份有限公司