一種適于云數(shù)據(jù)中心多租戶的公網(wǎng)ip共享方法及裝置的制造方法
【專利摘要】本發(fā)明涉及一種適于云數(shù)據(jù)中心多租戶的公網(wǎng)IP地址共享方法及裝置。所述方法包括:獲取來自云數(shù)據(jù)中心多個(gè)租戶或者公網(wǎng)的數(shù)據(jù)報(bào)文并獲取報(bào)文類型;當(dāng)數(shù)據(jù)報(bào)文采用預(yù)設(shè)封裝類型的封裝頭時(shí),剝離采用預(yù)設(shè)封裝類型的數(shù)據(jù)報(bào)文的封裝頭;對(duì)剝離封裝頭之后的數(shù)據(jù)報(bào)文進(jìn)行源地址轉(zhuǎn)換SNAT后發(fā)送到公網(wǎng)并將源IP地址、源端口與封裝頭信息添加到封裝關(guān)系表中;當(dāng)數(shù)據(jù)報(bào)文未采用預(yù)設(shè)封裝類型的封裝頭時(shí),查表得到封裝頭信息并對(duì)數(shù)據(jù)報(bào)文進(jìn)行SNAT反向處理;根據(jù)所獲取的預(yù)設(shè)封裝類型對(duì)數(shù)據(jù)報(bào)文進(jìn)行封裝并發(fā)送到相應(yīng)的租戶。所述裝置用于實(shí)現(xiàn)本發(fā)明實(shí)施例提供的公網(wǎng)IP地址共享方法。本發(fā)明可以解決不同租戶之間IP重疊引起的訪問錯(cuò)誤的問題,提高IP地址的資源利用率。
【專利說明】
一種適于云數(shù)據(jù)中心多租戶的公網(wǎng)IP共享方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域,具體涉及一種適于云數(shù)據(jù)中心多租戶的公網(wǎng)IP共享方法及裝置。
【背景技術(shù)】
[0002]隨著云計(jì)算技術(shù)的發(fā)展,云數(shù)據(jù)中心的租戶越來越龐大,導(dǎo)致不同租戶網(wǎng)絡(luò)間存在重疊的IP地址。例如:在某一云數(shù)據(jù)中心內(nèi)部有三個(gè)租戶A、B和C分別屬于三個(gè)公司L、M和N,且該三個(gè)公司的租戶全部為員工辦公使用,不對(duì)外提供服務(wù)。這種情況下所產(chǎn)生的南北向流量都是上述三個(gè)租戶訪問互聯(lián)網(wǎng)服務(wù)的流量。為節(jié)省成本,公司L、M和N通過共用相同的公網(wǎng)IP地址即可實(shí)現(xiàn)互聯(lián)網(wǎng)訪問,從而無需購買專屬的公網(wǎng)IP地址。由于上述三個(gè)公司L、M和N的租戶相互獨(dú)立,不同租戶網(wǎng)絡(luò)間存在重疊的IP地址,從而導(dǎo)致訪問錯(cuò)誤。
【發(fā)明內(nèi)容】
[0003]針對(duì)現(xiàn)有技術(shù)中的缺陷,本發(fā)明提供了一種適于云數(shù)據(jù)中心多租戶的公網(wǎng)IP地址共享方法,可以解決現(xiàn)有云數(shù)據(jù)中心多租戶由于內(nèi)部IP重疊而引起的訪問沖突的問題。
[0004]第一方面,本發(fā)明提供了一種適于云數(shù)據(jù)中心多租戶的公網(wǎng)IP地址共享方法,包括:
[0005]獲取來自云數(shù)據(jù)中心多個(gè)租戶或者公網(wǎng)的數(shù)據(jù)報(bào)文;所述多個(gè)租戶共享一個(gè)公網(wǎng)IP地址;
[0006]獲取所述數(shù)據(jù)報(bào)文的報(bào)文類型,以識(shí)別出采用預(yù)設(shè)封裝類型的數(shù)據(jù)報(bào)文;
[0007]當(dāng)所述數(shù)據(jù)報(bào)文采用預(yù)設(shè)封裝類型的封裝頭時(shí),剝離采用預(yù)設(shè)封裝類型的數(shù)據(jù)報(bào)文的封裝頭;對(duì)剝離封裝頭之后的數(shù)據(jù)報(bào)文進(jìn)行源地址轉(zhuǎn)換SNAT之后發(fā)送到公網(wǎng)并將源IP地址、源端口與封裝頭信息添加到封裝關(guān)系表中;所述源地址轉(zhuǎn)換SNAT是指,將所述租戶的源IP地址轉(zhuǎn)換到公網(wǎng)IP地址;
[0008]當(dāng)所述數(shù)據(jù)報(bào)文未采用預(yù)設(shè)封裝類型的封裝頭時(shí),根據(jù)目的IP地址和目的端口查詢所述封裝關(guān)系表中獲取對(duì)應(yīng)租戶的預(yù)設(shè)封裝類型的封裝頭信息,然后進(jìn)行SNAT反向處理;根據(jù)所獲取的封裝頭信息對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行封裝并發(fā)送到租戶;所述SNAT反向處理是指,根據(jù)所述公網(wǎng)IP地址轉(zhuǎn)換到相應(yīng)租戶的目的IP地址和目的端口
[0009]可選地,所述預(yù)設(shè)封裝類型為vxlan、mpls或者nvgre。
[0010]可選地,所述方法還包括:
[0011 ]當(dāng)從所述封裝關(guān)系表中獲取對(duì)應(yīng)租戶的目的IP地址和目的端口之后,刪除該條封裝頭信息。
[0012]可選地,所述根據(jù)所獲取的預(yù)設(shè)封裝類型對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行封裝并發(fā)送到租戶的步驟中包括:
[0013]將封裝后的數(shù)據(jù)報(bào)文發(fā)送到云數(shù)據(jù)中心的隧道設(shè)備;
[0014]所述隧道設(shè)備剝離所述數(shù)據(jù)報(bào)文的隧道頭部之后將數(shù)據(jù)報(bào)文發(fā)送給對(duì)應(yīng)目的IP地址的虛擬機(jī)。
[0015]第二方面,本發(fā)明實(shí)施例還提供了一種適于云數(shù)據(jù)中心多租戶的公網(wǎng)IP地址共享裝置,所述裝置包括:
[0016]數(shù)據(jù)報(bào)文獲取模塊,用于獲取來自云數(shù)據(jù)中心多個(gè)租戶或者公網(wǎng)的數(shù)據(jù)報(bào)文;所述多個(gè)租戶共享一個(gè)公網(wǎng)IP地址;
[0017]報(bào)文類型獲取模塊,用于獲取所述數(shù)據(jù)報(bào)文的報(bào)文類型,以識(shí)別出采用預(yù)設(shè)封裝類型的數(shù)據(jù)報(bào)文;
[0018]第一數(shù)據(jù)報(bào)文發(fā)送模塊,用于當(dāng)所述數(shù)據(jù)報(bào)文采用預(yù)設(shè)封裝類型的封裝頭時(shí),剝離采用預(yù)設(shè)封裝類型的數(shù)據(jù)報(bào)文的封裝頭;對(duì)剝離封裝頭之后的數(shù)據(jù)報(bào)文進(jìn)行源地址轉(zhuǎn)換SNAT之后發(fā)送到公網(wǎng)并將封裝頭信息添加到封裝關(guān)系表中;所述源地址轉(zhuǎn)換SNAT是指,將所述租戶的源IP地址轉(zhuǎn)換到公網(wǎng)IP地址;
[0019]第二數(shù)據(jù)報(bào)文發(fā)送模塊,用于當(dāng)所述數(shù)據(jù)報(bào)文未采用預(yù)設(shè)封裝類型的封裝頭時(shí),根據(jù)目的IP地址和目的端口查詢所述封裝關(guān)系表中獲取對(duì)應(yīng)租戶的預(yù)設(shè)封裝類型的封裝頭信息,然后進(jìn)行SNAT反向處理;根據(jù)所獲取的封裝頭信息對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行封裝并發(fā)送到租戶;所述SNAT反向處理是指,根據(jù)所述公網(wǎng)IP地址轉(zhuǎn)換到相應(yīng)租戶的目的IP地址和目的端口。
[°02°]可選地,所述報(bào)文類型獲取模塊中預(yù)設(shè)封裝類型為vxlan、mpls或者nvgre。
[0021]可選地,第二數(shù)據(jù)報(bào)文發(fā)送模塊還用于當(dāng)從所述封裝關(guān)系表中獲取對(duì)應(yīng)租戶的目的IP地址和目的端口之后,刪除該條封裝頭信息。
[0022]可選地,第二數(shù)據(jù)報(bào)文發(fā)送模塊還用于執(zhí)行以下步驟將所述數(shù)據(jù)報(bào)文發(fā)送到租戶包括:
[0023]將封裝后的數(shù)據(jù)報(bào)文發(fā)送到云數(shù)據(jù)中心的隧道設(shè)備;
[0024]所述隧道設(shè)備剝離所述數(shù)據(jù)報(bào)文的隧道頭部之后將數(shù)據(jù)報(bào)文發(fā)送給對(duì)應(yīng)目的IP地址的虛擬機(jī)。
[0025]第三方面,本發(fā)明實(shí)施例又提供了一種云數(shù)據(jù)中心,包括如上文所述的公網(wǎng)IP地址共享裝置。
[0026]由上述技術(shù)方案可知,本發(fā)明通過獲取對(duì)來自多個(gè)共享一個(gè)公網(wǎng)IP地址的租戶中任意一個(gè)虛擬機(jī)的數(shù)據(jù)報(bào)文及其預(yù)設(shè)封裝類型的封裝頭;剝離上述數(shù)據(jù)報(bào)文的封裝頭,然后對(duì)數(shù)據(jù)報(bào)文進(jìn)行源地址轉(zhuǎn)換SNAT,然后源地址轉(zhuǎn)換SNAT后的數(shù)據(jù)報(bào)文發(fā)送到公網(wǎng)。對(duì)于未采用預(yù)設(shè)封裝類型的數(shù)據(jù)報(bào)文,對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行SNAT反向處理,以獲取其預(yù)設(shè)封裝類型;根據(jù)所獲取的預(yù)設(shè)封裝類型對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行封裝并發(fā)送到租戶。本發(fā)明可以實(shí)現(xiàn)多個(gè)租戶共享公網(wǎng)IP地址,提高公網(wǎng)IP地址的資源利用率。
【附圖說明】
[0027]通過參考附圖會(huì)更加清楚的理解本發(fā)明的特征和優(yōu)點(diǎn),附圖是示意性的而不應(yīng)理解為對(duì)本發(fā)明進(jìn)行任何限制,在附圖中:
[0028]圖1是本發(fā)明實(shí)施例提供的一種適于云數(shù)據(jù)中心多租戶的公網(wǎng)IP地址共享方法框圖;
[0029]圖2是本發(fā)明實(shí)施例提供的一種適于云數(shù)據(jù)中心多租戶的公網(wǎng)IP地址共享方法流程圖;
[0030]圖3是本發(fā)明實(shí)施例提供的一種適于云數(shù)據(jù)中心多租戶的公網(wǎng)IP地址共享裝置框圖。
【具體實(shí)施方式】
[0031]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0032]第一方面,本發(fā)明實(shí)施例提供了一種適于云數(shù)據(jù)中心多租戶的公網(wǎng)IP地址共享方法,如圖1所示,所述方法包括:
[0033]S101、獲取來自云數(shù)據(jù)中心多個(gè)租戶或者公網(wǎng)的數(shù)據(jù)報(bào)文;所述多個(gè)租戶共享一個(gè)公網(wǎng)IP地址;
[0034]S102、獲取所述數(shù)據(jù)報(bào)文的報(bào)文類型,以識(shí)別出采用預(yù)設(shè)封裝類型的數(shù)據(jù)報(bào)文;
[0035]S103、當(dāng)所述數(shù)據(jù)報(bào)文采用預(yù)設(shè)封裝類型的封裝頭時(shí),剝離采用預(yù)設(shè)封裝類型的數(shù)據(jù)報(bào)文的封裝頭;對(duì)剝離封裝頭之后的數(shù)據(jù)報(bào)文進(jìn)行源地址轉(zhuǎn)換SNAT之后發(fā)送到公網(wǎng)并將源IP地址、源端口與封裝頭信息添加到封裝關(guān)系表中;所述源地址轉(zhuǎn)換SNAT是指,將所述租戶的源IP地址轉(zhuǎn)換到公網(wǎng)IP地址;
[0036]S104、當(dāng)所述數(shù)據(jù)報(bào)文未采用預(yù)設(shè)封裝類型的封裝頭時(shí),根據(jù)目的IP地址和目的端口查詢所述封裝關(guān)系表中獲取對(duì)應(yīng)租戶的預(yù)設(shè)封裝類型的封裝頭信息,然后進(jìn)行SNAT反向處理;根據(jù)所獲取的封裝頭信息對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行封裝并發(fā)送到租戶;所述SNAT反向處理是指,根據(jù)所述公網(wǎng)IP地址轉(zhuǎn)換到相應(yīng)租戶的目的IP地址和目的端口。
[0037]需要說明的是,本發(fā)明實(shí)施例提供的方法可以應(yīng)用到路由器、服務(wù)器或者防火墻等硬件之上,也可以將本方法應(yīng)用到虛擬機(jī)等上面。本領(lǐng)域技術(shù)人員在具有數(shù)據(jù)收發(fā)功能的中間設(shè)備(位于兩個(gè)設(shè)備之間的、為這兩個(gè)設(shè)備進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)的設(shè)備)上實(shí)施本發(fā)明實(shí)施例中提供的方法,本發(fā)明不作限定。
[0038]為體現(xiàn)本發(fā)明實(shí)施例提供的公網(wǎng)IP地址共享方法的優(yōu)越性,下面以防火墻實(shí)例與附圖對(duì)上述方法作進(jìn)一步說明。
[0039]首先,介紹S101、獲取來自云數(shù)據(jù)中心多個(gè)租戶或者公網(wǎng)的數(shù)據(jù)報(bào)文;所述多個(gè)租戶共享一個(gè)公網(wǎng)IP地址的步驟。
[0040]本發(fā)明中云數(shù)據(jù)中心包括多個(gè)租戶,上述每個(gè)租戶實(shí)際上都是一個(gè)內(nèi)部網(wǎng)絡(luò),每個(gè)內(nèi)部網(wǎng)絡(luò)內(nèi)設(shè)有多臺(tái)虛擬機(jī),每臺(tái)虛擬機(jī)對(duì)應(yīng)一個(gè)源IP地址。由于本發(fā)明實(shí)施例中并不是每個(gè)租戶都對(duì)外提供服務(wù),只是為員工工作使用,因此沒有必要每個(gè)租戶都申請(qǐng)一個(gè)公網(wǎng)IP地址。也就是說,多個(gè)租戶可以共同使用一下公網(wǎng)IP地址,不但可以降低每個(gè)租戶的網(wǎng)絡(luò)使用成本,還可以提高公網(wǎng)IP地址的資源使用率。
[0041]如圖2所示,本發(fā)明實(shí)施例中,防火墻設(shè)置在云數(shù)據(jù)中心的多個(gè)租戶與公網(wǎng)之間,該防火墻可以接收來自多個(gè)租戶的數(shù)據(jù)報(bào)文。該數(shù)據(jù)報(bào)文主要是租戶虛擬機(jī)所發(fā)送的訪問公網(wǎng)的請(qǐng)求數(shù)據(jù)。同時(shí),該防火墻也可以接收來自公網(wǎng)的數(shù)據(jù)報(bào)文,該數(shù)據(jù)報(bào)文主要是公網(wǎng)響應(yīng)虛擬機(jī)的請(qǐng)求數(shù)據(jù)而返回的數(shù)據(jù)。對(duì)于防火墻而言,除了接收數(shù)據(jù)報(bào)文以外還要把相應(yīng)的數(shù)據(jù)報(bào)文發(fā)送到正確的一方(虛擬機(jī)或者公網(wǎng)),為此還要為不同的數(shù)據(jù)報(bào)文添加不同的封裝頭(添加封裝頭過程由發(fā)送數(shù)據(jù)報(bào)文的網(wǎng)絡(luò)實(shí)現(xiàn))以方便防火墻識(shí)別數(shù)據(jù)報(bào)文。
[0042]實(shí)際應(yīng)用中,由于公網(wǎng)向租戶所發(fā)送的數(shù)據(jù)報(bào)文需要符合TCP/IP協(xié)議(亦或其他標(biāo)準(zhǔn)協(xié)議),此時(shí)為該數(shù)據(jù)報(bào)文添加該TCP/IP封裝頭即可,該TCP/IP封裝頭中需要包括公網(wǎng)IP地址。對(duì)于由租戶向公網(wǎng)發(fā)送的數(shù)據(jù)報(bào)文采用預(yù)設(shè)封裝類型的封裝頭。本發(fā)明一實(shí)施例中采用疊加網(wǎng)絡(luò)技術(shù)overlay添加封裝頭。其中封裝頭的預(yù)設(shè)封裝類型包括vxlan、mpl s或者nvgre中的一種或者多種。當(dāng)然,本領(lǐng)域技術(shù)人員也可以根據(jù)具體場(chǎng)景選擇合適的封裝方式實(shí)現(xiàn),本發(fā)明不作限定。
[0043]其次,介紹S102、獲取所述數(shù)據(jù)報(bào)文的報(bào)文類型,以識(shí)別出采用預(yù)設(shè)封裝類型的數(shù)據(jù)報(bào)文的步驟。
[0044]當(dāng)防火墻接收到數(shù)據(jù)報(bào)文時(shí),該數(shù)據(jù)報(bào)文可能來自公網(wǎng)也可能來自租戶,為此需要先獲取所接收數(shù)據(jù)報(bào)文的報(bào)文類型,以識(shí)別出采用預(yù)設(shè)封裝類型的數(shù)據(jù)報(bào)文。需要說明的是,由于租戶所發(fā)出的數(shù)據(jù)報(bào)文的封裝方式(即報(bào)文類型)可以由技術(shù)人員進(jìn)行設(shè)定,即預(yù)設(shè)封裝類型是清楚的,只要判斷所獲取的數(shù)據(jù)報(bào)文的報(bào)文類型是否屬于預(yù)設(shè)封裝類型即可得知該數(shù)據(jù)報(bào)文是來自租戶還是來自公網(wǎng)。
[0045]再次,介紹S103、當(dāng)所述數(shù)據(jù)報(bào)文采用預(yù)設(shè)封裝類型的封裝頭時(shí),剝離采用預(yù)設(shè)封裝類型的數(shù)據(jù)報(bào)文的封裝頭;對(duì)剝離封裝頭之后的數(shù)據(jù)報(bào)文進(jìn)行源地址轉(zhuǎn)換SNAT之后發(fā)送到公網(wǎng)并將源IP地址、源端口與封裝頭信息添加到封裝關(guān)系表中的步驟。
[0046]當(dāng)防火墻所接收的數(shù)據(jù)報(bào)文采用預(yù)設(shè)封裝類型的封裝頭時(shí),表示該數(shù)據(jù)報(bào)文來自租戶,需要該防火墻發(fā)送到公網(wǎng)。根據(jù)識(shí)別出的預(yù)設(shè)封裝類型(VXlan、mplS、vngre或者其他預(yù)設(shè)封裝類型),防火墻剝離數(shù)據(jù)報(bào)文的預(yù)設(shè)封裝類型的封裝頭,然后對(duì)數(shù)據(jù)報(bào)文進(jìn)行源地址轉(zhuǎn)換SNAT。其中,源地址轉(zhuǎn)換SNAT是指,將數(shù)據(jù)報(bào)文對(duì)應(yīng)的虛擬機(jī)的源IP地址轉(zhuǎn)換到公網(wǎng)IP地址。最后,該防火墻將源地址轉(zhuǎn)換后的數(shù)據(jù)報(bào)文發(fā)送到公網(wǎng)。
[0047]在源地址轉(zhuǎn)換SNAT過程之后,該防火墻將數(shù)據(jù)報(bào)文的源IP地址、源端口與預(yù)設(shè)封裝頭信息的對(duì)應(yīng)關(guān)系添加到封裝關(guān)系表中。
[0048]最后,介紹S104、當(dāng)所述數(shù)據(jù)報(bào)文未采用預(yù)設(shè)封裝類型的封裝頭時(shí),根據(jù)目的IP地址和目的端口查詢所述封裝關(guān)系表中獲取對(duì)應(yīng)租戶的預(yù)設(shè)封裝類型的封裝頭信息,然后進(jìn)行SNAT反向處理;根據(jù)所獲取的封裝頭信息對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行封裝并發(fā)送到租戶的步驟。
[0049]當(dāng)防火墻接收的數(shù)據(jù)報(bào)文未采用預(yù)設(shè)封裝類型時(shí),表示該數(shù)據(jù)報(bào)文來自公網(wǎng)需要由該防火墻發(fā)送到相應(yīng)的租戶。此時(shí)防火墻需要根據(jù)數(shù)據(jù)報(bào)文中的目的IP地址和目的端口查詢封裝關(guān)系表以獲取該數(shù)據(jù)報(bào)文對(duì)應(yīng)的預(yù)設(shè)封裝類型的封裝頭信息。然后該防火墻根據(jù)對(duì)上述數(shù)據(jù)報(bào)文進(jìn)行SNAT處理。所述SNAT反向處理是指,根據(jù)所述公網(wǎng)IP地址轉(zhuǎn)換到相應(yīng)租戶的目的IP地址。然后根據(jù)所獲取的封裝頭信息對(duì)SNAT反向處理后的數(shù)據(jù)報(bào)文進(jìn)行封裝并將封裝后的數(shù)據(jù)報(bào)文發(fā)送到云數(shù)據(jù)中心內(nèi)部的隧道設(shè)備。該隧道設(shè)備會(huì)將在剝離隧道頭部之后將數(shù)據(jù)報(bào)文發(fā)送給對(duì)應(yīng)目的IP地址的目的虛擬機(jī)即內(nèi)部網(wǎng)絡(luò)中的相應(yīng)租戶。
[0050]需要說明的是,上文中源IP地址是指發(fā)送數(shù)據(jù)報(bào)文的虛擬機(jī)的IP地址,而目的IP地址是指需要接收該數(shù)據(jù)報(bào)文的虛擬機(jī)的IP地址。實(shí)際上,對(duì)于一個(gè)數(shù)據(jù)報(bào)文的請(qǐng)求與應(yīng)答過程,源IP地址與目的IP地址是對(duì)應(yīng)同一臺(tái)虛擬機(jī)。
[0051]需要說明的是,本發(fā)明實(shí)施例中,步驟S103與步驟S104的順序是不確定的。防火墻可以在同一時(shí)刻處理來自多個(gè)租戶的數(shù)據(jù)報(bào)文以及來自公網(wǎng)的多個(gè)數(shù)據(jù)報(bào)文,因此兩者可以同時(shí)發(fā)生也可以調(diào)換順序。但是對(duì)于同一個(gè)數(shù)據(jù)的請(qǐng)求與應(yīng)答過程則是按照先步驟S103再步驟S104進(jìn)行的。
[0052]本發(fā)明實(shí)施例提供的公網(wǎng)IP共享方法可以使防火墻實(shí)現(xiàn)多個(gè)租戶與公網(wǎng)之間的數(shù)據(jù)通信,即便多個(gè)租戶之間的源IP地址是重疊的,也不影響防火墻與多個(gè)租戶之間的數(shù)據(jù)通信。隨著租戶數(shù)量的增加,本發(fā)明提供的公網(wǎng)IP共享方法的效率也會(huì)越來越高,能夠極大提高公網(wǎng)IP地址的資源利用率。
[0053]第二方面,本發(fā)明實(shí)施例還提供了一種適于云數(shù)據(jù)中心多租戶的公網(wǎng)IP地址共享裝置,如圖3所示,所述裝置包括:
[0054]數(shù)據(jù)報(bào)文獲取模塊MlOl,用于獲取來自云數(shù)據(jù)中心多個(gè)租戶或者公網(wǎng)的數(shù)據(jù)報(bào)文;所述多個(gè)租戶共享一個(gè)公網(wǎng)IP地址;
[0055]報(bào)文類型獲取模塊M102,用于獲取所述數(shù)據(jù)報(bào)文的報(bào)文類型,以識(shí)別出采用預(yù)設(shè)封裝類型的數(shù)據(jù)報(bào)文;
[0056]第一數(shù)據(jù)報(bào)文發(fā)送模塊M103,用于當(dāng)所述數(shù)據(jù)報(bào)文采用預(yù)設(shè)封裝類型的封裝頭時(shí),剝離采用預(yù)設(shè)封裝類型的數(shù)據(jù)報(bào)文的封裝頭;對(duì)剝離封裝頭之后的數(shù)據(jù)報(bào)文進(jìn)行源地址轉(zhuǎn)換SNAT之后發(fā)送到公網(wǎng)并將封裝頭信息添加到封裝關(guān)系表中;所述源地址轉(zhuǎn)換SNAT是指,將所述租戶的源IP地址轉(zhuǎn)換到公網(wǎng)IP地址;
[0057]第二數(shù)據(jù)報(bào)文發(fā)送模塊M104,用于當(dāng)所述數(shù)據(jù)報(bào)文未采用預(yù)設(shè)封裝類型的封裝頭時(shí),根據(jù)目的IP地址和目的端口查詢所述封裝關(guān)系表中獲取對(duì)應(yīng)租戶的預(yù)設(shè)封裝類型的封裝頭信息,根據(jù)目的IP地址和目的端口對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行SNAT反向處理;根據(jù)所獲取的封裝頭信息對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行封裝并發(fā)送到租戶;所述SNAT反向處理是指,根據(jù)所述公網(wǎng)IP地址轉(zhuǎn)換到相應(yīng)租戶的目的IP地址和目的端口。
[°°58] 可選地,所述報(bào)文類型獲取模塊M102中預(yù)設(shè)封裝類型為vxlan、mpls或者nvgre。
[0059]可選地,第二數(shù)據(jù)報(bào)文發(fā)送模塊M104還用于當(dāng)從所述封裝關(guān)系表中獲取對(duì)應(yīng)租戶的目的IP地址和目的端口之后,刪除該條封裝頭信息。
[0060]可選地,第二數(shù)據(jù)報(bào)文發(fā)送模塊M104還用于執(zhí)行以下步驟將所述數(shù)據(jù)報(bào)文發(fā)送到租戶包括:
[0061]將封裝后的數(shù)據(jù)報(bào)文發(fā)送到云數(shù)據(jù)中心的隧道設(shè)備;
[0062]所述隧道設(shè)備剝離所述數(shù)據(jù)報(bào)文的隧道頭部之后將數(shù)據(jù)報(bào)文發(fā)送給對(duì)應(yīng)目的IP地址的虛擬機(jī)。
[0063]第三方面,本發(fā)明實(shí)施例又提供了一種云數(shù)據(jù)中心,包括如上文所述的公網(wǎng)IP地址共享裝置。
[0064]由上可以看出,本發(fā)明上述兩個(gè)實(shí)施例提供的適于云數(shù)據(jù)中心多租戶的公網(wǎng)IP地址共享裝置以及云數(shù)據(jù)中心都是基于上文所述的公網(wǎng)IP地址共享方法實(shí)現(xiàn),因而可以解決同樣的技術(shù)問題,并取得相同的技術(shù)效果,在此不再一一贅述。
[0065]應(yīng)當(dāng)注意的是,在本實(shí)施例公開的裝置的各個(gè)部件中,根據(jù)其要實(shí)現(xiàn)的功能而對(duì)其中的部件進(jìn)行了邏輯劃分,但是,本公開不受限于此,可以根據(jù)需要對(duì)各個(gè)部件進(jìn)行重新劃分或者組合,例如,可以將一些部件組合為單個(gè)部件,或者可以將一些部件進(jìn)一步分解為更多的子部件。
[0066]本公開的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來實(shí)現(xiàn)根據(jù)本公開實(shí)施例的系統(tǒng)中的一些或者全部部件的一些或者全部功能。本公開還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本公開的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
[0067]應(yīng)該注意的是,上述實(shí)施例對(duì)本公開進(jìn)行說明而不是對(duì)本公開進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本公開可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
[0068]以上實(shí)施方式僅適于說明本公開,而并非對(duì)本公開的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本公開的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本公開的范疇,本公開的專利保護(hù)范圍應(yīng)由權(quán)利要求限定。
【主權(quán)項(xiàng)】
1.一種適于云數(shù)據(jù)中心多租戶的公網(wǎng)IP地址共享方法,其特征在于,所述方法包括: 獲取來自云數(shù)據(jù)中心多個(gè)租戶或者公網(wǎng)的數(shù)據(jù)報(bào)文;所述多個(gè)租戶共享一個(gè)公網(wǎng)IP地址; 獲取所述數(shù)據(jù)報(bào)文的報(bào)文類型,以識(shí)別出采用預(yù)設(shè)封裝類型的數(shù)據(jù)報(bào)文; 當(dāng)所述數(shù)據(jù)報(bào)文采用預(yù)設(shè)封裝類型的封裝頭時(shí),剝離采用預(yù)設(shè)封裝類型的數(shù)據(jù)報(bào)文的封裝頭;對(duì)剝離封裝頭之后的數(shù)據(jù)報(bào)文進(jìn)行源地址轉(zhuǎn)換SNAT之后發(fā)送到公網(wǎng)并將源IP地址、源端口與封裝頭信息添加到封裝關(guān)系表中;所述源地址轉(zhuǎn)換SNAT是指,將所述租戶的源IP地址轉(zhuǎn)換到公網(wǎng)IP地址; 當(dāng)所述數(shù)據(jù)報(bào)文未采用預(yù)設(shè)封裝類型的封裝頭時(shí),根據(jù)目的IP地址和目的端口查詢所述封裝關(guān)系表中獲取對(duì)應(yīng)租戶的預(yù)設(shè)封裝類型的封裝頭信息,然后進(jìn)行SNAT反向處理;根據(jù)所獲取的封裝頭信息對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行封裝并發(fā)送到租戶;所述SNAT反向處理是指,根據(jù)所述公網(wǎng)IP地址轉(zhuǎn)換到相應(yīng)租戶的目的IP地址和目的端口。2.根據(jù)權(quán)利要求1所述的公網(wǎng)IP地址共享方法,其特征在于,所述預(yù)設(shè)封裝類型為¥叉1&11、11^)18或者1^代。3.根據(jù)權(quán)利要求1或者2所述的公網(wǎng)IP地址共享方法,其特征在于,所述方法還包括: 當(dāng)從所述封裝關(guān)系表中獲取對(duì)應(yīng)租戶的目的IP地址和目的端口之后,刪除該條封裝頭?目息O4.根據(jù)權(quán)利要求3所述的的公網(wǎng)IP地址共享方法,其特征在于,所述根據(jù)所獲取的預(yù)設(shè)封裝類型對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行封裝并發(fā)送到租戶的步驟中包括: 將封裝后的數(shù)據(jù)報(bào)文發(fā)送到云數(shù)據(jù)中心的隧道設(shè)備; 所述隧道設(shè)備剝離所述數(shù)據(jù)報(bào)文的隧道頭部之后將數(shù)據(jù)報(bào)文發(fā)送給對(duì)應(yīng)目的IP地址的虛擬機(jī)。5.—種適于云數(shù)據(jù)中心多租戶的公網(wǎng)IP地址共享裝置,其特征在于,所述裝置包括: 數(shù)據(jù)報(bào)文獲取模塊,用于獲取來自云數(shù)據(jù)中心多個(gè)租戶或者公網(wǎng)的數(shù)據(jù)報(bào)文;所述多個(gè)租戶共享一個(gè)公網(wǎng)IP地址; 報(bào)文類型獲取模塊,用于獲取所述數(shù)據(jù)報(bào)文的報(bào)文類型,以識(shí)別出采用預(yù)設(shè)封裝類型的數(shù)據(jù)報(bào)文; 第一數(shù)據(jù)報(bào)文發(fā)送模塊,用于當(dāng)所述數(shù)據(jù)報(bào)文采用預(yù)設(shè)封裝類型的封裝頭時(shí),剝離采用預(yù)設(shè)封裝類型的數(shù)據(jù)報(bào)文的封裝頭;對(duì)剝離封裝頭之后的數(shù)據(jù)報(bào)文進(jìn)行源地址轉(zhuǎn)換SNAT之后發(fā)送到公網(wǎng)并將封裝頭信息添加到封裝關(guān)系表中;所述源地址轉(zhuǎn)換SNAT是指,將所述租戶的源IP地址轉(zhuǎn)換到公網(wǎng)IP地址; 第二數(shù)據(jù)報(bào)文發(fā)送模塊,用于當(dāng)所述數(shù)據(jù)報(bào)文未采用預(yù)設(shè)封裝類型的封裝頭時(shí),根據(jù)目的IP地址和目的端口查詢所述封裝關(guān)系表中獲取對(duì)應(yīng)租戶的預(yù)設(shè)封裝類型的封裝頭信息,然后進(jìn)行SNAT反向處理;根據(jù)所獲取的封裝頭信息對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行封裝并發(fā)送到租戶;所述SNAT反向處理是指,根據(jù)所述公網(wǎng)IP地址轉(zhuǎn)換到相應(yīng)租戶的目的IP地址和目的端口。6.根據(jù)權(quán)利要求5所述的公網(wǎng)IP地址共享裝置,其特征在于,所述報(bào)文類型獲取模塊中預(yù)設(shè)封裝類型為vxlan、mpls或者nvgre。7.根據(jù)權(quán)利要求5或者6所述的公網(wǎng)IP地址共享裝置,其特征在于,第二數(shù)據(jù)報(bào)文發(fā)送模塊還用于當(dāng)從所述封裝關(guān)系表中獲取對(duì)應(yīng)租戶的目的IP地址和目的端口之后,刪除該條封裝頭信息。8.根據(jù)權(quán)利要求7所述的的公網(wǎng)IP地址共享裝置,其特征在于,第二數(shù)據(jù)報(bào)文發(fā)送模塊還用于執(zhí)行以下步驟將所述數(shù)據(jù)報(bào)文發(fā)送到租戶包括: 將封裝后的數(shù)據(jù)報(bào)文發(fā)送到云數(shù)據(jù)中心的隧道設(shè)備; 所述隧道設(shè)備剝離所述數(shù)據(jù)報(bào)文的隧道頭部之后將數(shù)據(jù)報(bào)文發(fā)送給對(duì)應(yīng)目的IP地址的虛擬機(jī)。9.一種云數(shù)據(jù)中心,其特征在于,包括如權(quán)利要求5?8任意一項(xiàng)所述的公網(wǎng)IP地址共享裝置。
【文檔編號(hào)】H04L29/12GK105978957SQ201610280603
【公開日】2016年9月28日
【申請(qǐng)日】2016年4月28日
【發(fā)明人】劉建興
【申請(qǐng)人】漢柏科技有限公司