本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種報(bào)文處理方法及裝置。
背景技術(shù):
如圖1所示,在分布式數(shù)據(jù)中心網(wǎng)絡(luò)中,包括多個(gè)數(shù)據(jù)中心,每個(gè)數(shù)據(jù)中心包括內(nèi)部VTEP(Virtual eXtensible Local Area Network Tunnel End Point,可擴(kuò)展虛擬局域網(wǎng)絡(luò)隧道端點(diǎn)),如數(shù)據(jù)中心1中的VTEP100、VTEP110、數(shù)據(jù)中心2中的VTEP200和VTEP210,每個(gè)數(shù)據(jù)中心還包括邊界VTEP,如數(shù)據(jù)中心1中的VTEP120、數(shù)據(jù)中心2中的VTEP220,每個(gè)數(shù)據(jù)中心還包括路由反射器和主機(jī),如數(shù)據(jù)中心1中的設(shè)備路由反射器300、主機(jī)400、主機(jī)410,如數(shù)據(jù)中心2中的路由反射器310、主機(jī)500、主機(jī)510。
這些數(shù)據(jù)中心可以分布在不同的地點(diǎn),為便于數(shù)據(jù)中心間通信,這些數(shù)據(jù)中心間可以采用DCI(Data Center Interconnection,數(shù)據(jù)中心二層互聯(lián))的方式連接,也就是,不同數(shù)據(jù)中心間的邊界VTEP間運(yùn)行MP-EBGP(Multiple Protocol-External Border Gateway Protocol)建立EVPN(Ethernet Virtual Private Network,以太網(wǎng)虛擬專用網(wǎng)絡(luò))隧道,不同數(shù)據(jù)中心間通過(guò)邊界VTEP間建立的EVPN隧道進(jìn)行通信。
目前,不同數(shù)據(jù)中心間的通信時(shí),邊界VTEP將接收到的報(bào)文進(jìn)行EVPN隧道封裝后,通過(guò)EVPN隧道發(fā)送至公網(wǎng),EVPN隧道封裝后的報(bào)文在公網(wǎng)的設(shè)備上進(jìn)行傳輸,此時(shí),EVPN隧道封裝后的報(bào)文很容易被公網(wǎng)的設(shè)備截取,而一旦被截取,該EVPN隧道封裝后的報(bào)文很容易被恢復(fù)出報(bào)文的原始信息,從而導(dǎo)致數(shù)據(jù)中心間數(shù)據(jù)的外泄。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例的目的在于提供一種報(bào)文處理方法及裝置,以避免數(shù)據(jù)中心間的數(shù)據(jù)外泄。具體技術(shù)方案如下:
一方面,本發(fā)明實(shí)施例公開(kāi)了一種報(bào)文處理方法,應(yīng)用于第一數(shù)據(jù)中心的邊界VTEP,所述方法包括:
接收所述第一數(shù)據(jù)中心的主機(jī)發(fā)送的第一報(bào)文;
在轉(zhuǎn)發(fā)表中查找所述第一報(bào)文的目的地址,確定所述第一報(bào)文對(duì)應(yīng)的出接口,其中,所述轉(zhuǎn)發(fā)表中包括:地址和出接口的對(duì)應(yīng)關(guān)系;
若所述第一報(bào)文對(duì)應(yīng)的出接口為所述第一數(shù)據(jù)中心的邊界VTEP與第二數(shù)據(jù)中心的邊界VTEP間的EVPN隧道,則根據(jù)預(yù)設(shè)密鑰對(duì)所述第一報(bào)文進(jìn)行加密,其中,所述預(yù)設(shè)密鑰為第一數(shù)據(jù)中心的邊界VTEP與所述第二數(shù)據(jù)中心的邊界VTEP預(yù)先協(xié)商的;
對(duì)加密后的所述第一報(bào)文進(jìn)行EVPN隧道封裝;
通過(guò)EVPN隧道,將EVPN隧道封裝后的所述第一報(bào)文發(fā)送至所述第二數(shù)據(jù)中心的邊界VTEP。
另一方面,本發(fā)明實(shí)施例公開(kāi)了一種報(bào)文處理裝置,應(yīng)用于第一數(shù)據(jù)中心的邊界VTEP,所述裝置包括:
第一接收單元,用于接收所述第一數(shù)據(jù)中心的主機(jī)發(fā)送的第一報(bào)文;
確定單元,用于在轉(zhuǎn)發(fā)表中查找所述第一報(bào)文的目的地址,確定所述第一報(bào)文對(duì)應(yīng)的出接口,其中,所述轉(zhuǎn)發(fā)表中包括:地址和出接口的對(duì)應(yīng)關(guān)系;
加密單元,用于若所述第一報(bào)文對(duì)應(yīng)的出接口為所述第一數(shù)據(jù)中心的邊界VTEP與第二數(shù)據(jù)中心的邊界VTEP間的EVPN隧道,則根據(jù)預(yù)設(shè)密鑰對(duì)所述第一報(bào)文進(jìn)行加密,其中,所述預(yù)設(shè)密鑰為第一數(shù)據(jù)中心的邊界VTEP與所述第二數(shù)據(jù)中心的邊界VTEP預(yù)先協(xié)商的;
封裝單元,用于對(duì)加密后的所述第一報(bào)文進(jìn)行EVPN隧道封裝;
第一發(fā)送單元,用于通過(guò)EVPN隧道,將EVPN隧道封裝后的所述第一報(bào)文發(fā)送至所述第二數(shù)據(jù)中心的邊界VTEP。
本發(fā)明實(shí)施例提供了一種報(bào)文處理方法及裝置,在第一數(shù)據(jù)中心邊界VTEP接收到第一報(bào)文后,若確定該第一報(bào)文的出接口為第一數(shù)據(jù)中心的邊界VTEP與第二數(shù)據(jù)中心的邊界VTEP間的EVPN隧道,也就是,確定第一報(bào)文需要在公網(wǎng)設(shè)備上傳輸,則根據(jù)預(yù)設(shè)密鑰對(duì)該第一報(bào)文進(jìn)行加密,再對(duì)加密后的第一報(bào)文進(jìn)行EVPN隧道封裝,將EVPN隧道封裝后的第一報(bào)文發(fā)送至第二數(shù)據(jù)中心的邊界VTEP。可見(jiàn),本發(fā)明實(shí)施例中,邊界VTEP發(fā)送至公網(wǎng)的報(bào)文為加密處理后的報(bào)文,即使報(bào)文被公網(wǎng)的設(shè)備截取,也很難被恢復(fù)出報(bào)文的原始信息,有效地避免了數(shù)據(jù)中心間的數(shù)據(jù)外泄。當(dāng)然,實(shí)施本發(fā)明的任一產(chǎn)品或方法必不一定需要同時(shí)達(dá)到以上所述的所有優(yōu)點(diǎn)。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為分布式數(shù)據(jù)中心網(wǎng)絡(luò)的結(jié)構(gòu)示意圖;
圖2為本發(fā)明實(shí)施例提供的一種報(bào)文處理方法的一種流程示意圖;
圖3為本發(fā)明實(shí)施例中使用的一種EVPN隧道封裝后的報(bào)文的結(jié)構(gòu)示意圖;
圖4為本發(fā)明實(shí)施例提供的一種報(bào)文處理方法的另一種流程示意圖;
圖5為本發(fā)明實(shí)施例提供的一種報(bào)文處理裝置的一種結(jié)構(gòu)示意圖;
圖6為本發(fā)明實(shí)施例提供的一種報(bào)文處理裝置的另一種結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
下面通過(guò)具體實(shí)施例,對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。
參考圖2,圖2為本發(fā)明實(shí)施例提供的一種報(bào)文處理方法的一種流程示意圖,該方法可以應(yīng)用于分布式數(shù)據(jù)中心網(wǎng)絡(luò)中的任一數(shù)據(jù)中心的邊界VTEP,為便于描述,以下以分布式數(shù)據(jù)中心網(wǎng)絡(luò)中第一數(shù)據(jù)中心的邊界VTEP為例進(jìn)行說(shuō)明。具體地,該方法包括:
S201:接收第一數(shù)據(jù)中心的主機(jī)發(fā)送的第一報(bào)文;
這里,第一數(shù)據(jù)中心的主機(jī)可以為與邊界VTEP直接連接的設(shè)備,也可以為通過(guò)第一數(shù)據(jù)中心的內(nèi)部VTEP與邊界VTEP直接連接的設(shè)備。
S202:在轉(zhuǎn)發(fā)表中查找第一報(bào)文的目的地址,確定第一報(bào)文對(duì)應(yīng)的出接口;
其中,地址包括:IP(Internet Protocol,網(wǎng)絡(luò)協(xié)議)地址和MAC(Media Access Control,媒體訪問(wèn)控制)地址,VTEP的轉(zhuǎn)發(fā)表中包括的地址和出接口的對(duì)應(yīng)關(guān)系可以分為:IP地址與出接口的對(duì)應(yīng)關(guān)系和MAC地址與出接口的對(duì)應(yīng)關(guān)系。
第一數(shù)據(jù)中心的邊界VTEP在接收到第一報(bào)文后,可以根據(jù)第一報(bào)文的目的IP地址在轉(zhuǎn)發(fā)表中查找對(duì)應(yīng)的出接口,也可以根據(jù)第一報(bào)文的目的MAC地址在轉(zhuǎn)發(fā)表中查找對(duì)應(yīng)的出接口,本發(fā)明實(shí)施例對(duì)此不進(jìn)行限定。當(dāng)查找到第一報(bào)文的目的IP地址和/或目的MAC地址對(duì)應(yīng)的出接口時(shí),將這個(gè)查找到的出接口確定為第一報(bào)文對(duì)應(yīng)的出接口。
S203:若第一報(bào)文對(duì)應(yīng)的出接口為第一數(shù)據(jù)中心的邊界VTEP與第二數(shù)據(jù)中心的邊界VTEP間的EVPN隧道,則根據(jù)預(yù)設(shè)密鑰對(duì)第一報(bào)文進(jìn)行加密;
其中,第二數(shù)據(jù)中心與第一數(shù)據(jù)中心位于同一分布式數(shù)據(jù)中心網(wǎng)絡(luò)中;上述預(yù)設(shè)密鑰為第一數(shù)據(jù)中心的邊界VTEP與第二數(shù)據(jù)中心的邊界VTEP預(yù)先協(xié)商的,以便于第一數(shù)據(jù)中心和第二數(shù)據(jù)中心的邊界VTEP能夠?qū)?lái)自對(duì)端的邊界VTEP的報(bào)文進(jìn)行解密。一般的,密鑰可以預(yù)先通過(guò)IKE(Internet Key Exchange,互聯(lián)網(wǎng)密鑰交換)協(xié)商獲得。
若確定第一報(bào)文對(duì)應(yīng)的出接口為第一數(shù)據(jù)中心的邊界VTEP與第二數(shù)據(jù)中心的邊界VTEP間的EVPN隧道,也就是確定第一報(bào)文需要在公網(wǎng)的設(shè)備上進(jìn)行傳輸,則根據(jù)預(yù)設(shè)密鑰對(duì)第一報(bào)文進(jìn)行加密。
在本發(fā)明的一個(gè)實(shí)施例中,為了提高報(bào)文加密的靈活性,減輕邊界VTEP加密或解密的負(fù)擔(dān),邊界VTEP可以僅對(duì)攜帶重要數(shù)據(jù)的報(bào)文進(jìn)行加密處理,而對(duì)攜帶普通數(shù)據(jù)的報(bào)文則不進(jìn)行加密處理。實(shí)際應(yīng)用中,重要數(shù)據(jù)的報(bào)文一般為特定的主機(jī)接收的,因此可以通過(guò)接收?qǐng)?bào)文的主機(jī)來(lái)區(qū)分重要數(shù)據(jù)的報(bào)文和普通數(shù)據(jù)的報(bào)文。
這種情況下,邊界VTEP中可以預(yù)先存儲(chǔ)地址和安全標(biāo)記的對(duì)應(yīng)關(guān)系,將接收重要數(shù)據(jù)的報(bào)文的主機(jī)的地址對(duì)應(yīng)的安全標(biāo)記設(shè)置為預(yù)設(shè)標(biāo)記;該預(yù)設(shè)標(biāo)記用于表示目的地址為這個(gè)主機(jī)的地址的報(bào)文攜帶有重要數(shù)據(jù),需要對(duì)報(bào)文進(jìn)行加密。此時(shí),若第一報(bào)文對(duì)應(yīng)的出接口為第一數(shù)據(jù)中心的邊界VTEP與第二數(shù)據(jù)中心的邊界VTEP間的EVPN隧道,則根據(jù)預(yù)先存儲(chǔ)的地址和安全標(biāo)記的對(duì)應(yīng)關(guān)系,確定第一報(bào)文的目的地址對(duì)應(yīng)的安全標(biāo)記;若第一報(bào)文的目的地址對(duì)應(yīng)的安全標(biāo)記為上述預(yù)設(shè)標(biāo)記,則根據(jù)預(yù)設(shè)密鑰對(duì)對(duì)第一報(bào)文進(jìn)行加密。
在本發(fā)明的其他實(shí)施例中,一個(gè)主機(jī)發(fā)送的報(bào)文也可以為重要數(shù)據(jù)的報(bào)文,此時(shí),可以將發(fā)送重要數(shù)據(jù)的報(bào)文的主機(jī)的地址對(duì)應(yīng)的安全標(biāo)記設(shè)置為預(yù)設(shè)標(biāo)記,上述預(yù)設(shè)標(biāo)記還可以用于表示源地址為這個(gè)主機(jī)的地址的報(bào)文攜帶有重要數(shù)據(jù),需要對(duì)報(bào)文進(jìn)行加密。這種情況下,若第一報(bào)文對(duì)應(yīng)的出接口為第一數(shù)據(jù)中心的邊界VTEP與第二數(shù)據(jù)中心的邊界VTEP間的EVPN隧道,則根據(jù)預(yù)先存儲(chǔ)的地址和安全標(biāo)記的對(duì)應(yīng)關(guān)系,確定第一報(bào)文的源地址對(duì)應(yīng)的安全標(biāo)記;若第一報(bào)文的源地址對(duì)應(yīng)的安全標(biāo)記為上述預(yù)設(shè)標(biāo)記,則根據(jù)預(yù)設(shè)密鑰對(duì)第一報(bào)文進(jìn)行加密。
需要說(shuō)明的是,上述對(duì)報(bào)文進(jìn)行加密的條件可以結(jié)合使用,也就是,若第一報(bào)文對(duì)應(yīng)的出接口為第一數(shù)據(jù)中心的邊界VTEP與第二數(shù)據(jù)中心的邊界VTEP間的EVPN隧道,且第一報(bào)文的目的地址、源地址中任一一個(gè)地址對(duì)應(yīng)的安全標(biāo)記為上述預(yù)設(shè)標(biāo)記,則根據(jù)預(yù)設(shè)密鑰對(duì)該第一報(bào)文進(jìn)行加密;否則,不對(duì)第一報(bào)文進(jìn)行加密。
在本發(fā)明的一個(gè)實(shí)施例中,各個(gè)數(shù)據(jù)中心的邊界VTEP中的轉(zhuǎn)發(fā)表和地址和安全標(biāo)記的對(duì)應(yīng)關(guān)系,在各個(gè)數(shù)據(jù)中心的邊界VTEP間學(xué)習(xí)路由信息時(shí)生成。具體地,以第一數(shù)據(jù)中心的邊界VTEP為例,該過(guò)程可以包括:
S01、在接收第一數(shù)據(jù)中心的主機(jī)發(fā)送的第一報(bào)文之前,通過(guò)第一數(shù)據(jù)中心的邊界VTEP與第二數(shù)據(jù)中心的邊界VTEP間的EVPN隧道,接收第二數(shù)據(jù)中心的邊界VTEP發(fā)送的第一路由通告消息;
其中,第一路由通告消息中包括第二數(shù)據(jù)中心中的主機(jī)的地址和安全標(biāo)記的對(duì)應(yīng)關(guān)系。
S02、根據(jù)第一數(shù)據(jù)中心的邊界VTEP與第二數(shù)據(jù)中心的邊界VTEP間的EVPN隧道和第一路由通告消息中包括的地址,生成轉(zhuǎn)發(fā)表;
S03、存儲(chǔ)第一路由通告消息中包括的地址和安全標(biāo)記的對(duì)應(yīng)關(guān)系。
這種情況下,第一數(shù)據(jù)中心的邊界VTEP就可以根據(jù)存儲(chǔ)的這個(gè)對(duì)應(yīng)關(guān)系,確定向第二數(shù)據(jù)中心的邊界VTEP發(fā)送的報(bào)文的目的地址對(duì)應(yīng)的安全標(biāo)記,進(jìn)而確定報(bào)文是否需要加密。
另外,第一數(shù)據(jù)中心的邊界VTEP也會(huì)向第二數(shù)據(jù)中心的邊界VTEP發(fā)送路由通告消息,具體地:
S11、在接收第一數(shù)據(jù)中心的主機(jī)發(fā)送的第一報(bào)文之前,獲取第一數(shù)據(jù)中心中的主機(jī)的地址對(duì)應(yīng)的安全標(biāo)記,并存儲(chǔ);
一般的,在邊界VTEP中預(yù)先配置有需要進(jìn)行加密的報(bào)文對(duì)應(yīng)的主機(jī)信息,如MAC地址、主機(jī)標(biāo)識(shí)等,根據(jù)這些主機(jī)信息,可以確定需要加密的主機(jī)的地址,進(jìn)而獲取到第一數(shù)據(jù)中心中的主機(jī)的地址對(duì)應(yīng)的安全標(biāo)記。
第一數(shù)據(jù)中心的邊界VTEP在存儲(chǔ)了第一數(shù)據(jù)中心中的主機(jī)的地址與安全標(biāo)記的對(duì)應(yīng)關(guān)系后,就可以根據(jù)存儲(chǔ)的這個(gè)對(duì)應(yīng)關(guān)系,確定向第二數(shù)據(jù)中心的邊界VTEP發(fā)送的報(bào)文的源地址對(duì)應(yīng)的安全標(biāo)記,進(jìn)而確定報(bào)文是否需要加密。
S12、根據(jù)第一數(shù)據(jù)中心中的主機(jī)的地址和安全標(biāo)記的對(duì)應(yīng)關(guān)系,生成第二路由通告消息,并通過(guò)EVPN隧道發(fā)送給第二數(shù)據(jù)中心的邊界VTEP。
這樣,第二數(shù)據(jù)中心的邊界VTEP就可以根據(jù)第二路由通告消息生成轉(zhuǎn)發(fā)表,并存儲(chǔ)第二路由通告消息中包括的地址和安全標(biāo)記的對(duì)應(yīng)關(guān)系。此時(shí),第二數(shù)據(jù)中心的邊界VTEP就可以根據(jù)存儲(chǔ)的這個(gè)對(duì)應(yīng)關(guān)系,確定向第一數(shù)據(jù)中心的邊界VTEP發(fā)送的報(bào)文的目的地址對(duì)應(yīng)的安全標(biāo)記,進(jìn)而確定報(bào)文是否需要加密。
S204:對(duì)加密后的第一報(bào)文進(jìn)行EVPN隧道封裝;
在本發(fā)明的一個(gè)實(shí)施例中,第一數(shù)據(jù)中心的邊界VTEP并不是對(duì)所有接收到的報(bào)文都進(jìn)行加密,如S203中所述,第一數(shù)據(jù)中心的邊界VTEP在第一報(bào)文對(duì)應(yīng)的出接口為第一數(shù)據(jù)中心的邊界VTEP與第二數(shù)據(jù)中心的邊界VTEP間的EVPN隧道,且第一報(bào)文的目的地址、源地址中任一一個(gè)地址對(duì)應(yīng)的安全標(biāo)記為預(yù)設(shè)標(biāo)記時(shí),才對(duì)該第一報(bào)文進(jìn)行加密。這種情況下,為了便于接收?qǐng)?bào)文側(cè)的邊界VTEP區(qū)分出EVPN隧道封裝后的第一報(bào)文是否為加密處理后的報(bào)文,可以在EVPN隧道封裝頭中添加安全標(biāo)識(shí),該安全標(biāo)識(shí)用于標(biāo)識(shí)EVPN隧道封裝后的報(bào)文中的原始報(bào)文已被加密處理。這種情況下,接收?qǐng)?bào)文側(cè)的邊界VTEP接收到EVPN隧道封裝后的第一報(bào)文后,若檢測(cè)到EVPN隧道封裝頭中添加安全標(biāo)識(shí),則可以確定EVPN隧道封裝后的第一報(bào)文中的第一報(bào)文為加密處理后的報(bào)文,在解封裝EVPN隧道封裝后的第一報(bào)文,獲得第一報(bào)文后,需要對(duì)該第一報(bào)文進(jìn)行解密。
需要說(shuō)明的是,如圖3所示,EVPN隧道封裝頭中包括VXLAN(Virtual eXtensible Local Area Network,可擴(kuò)展虛擬局域網(wǎng)絡(luò))頭,安全標(biāo)識(shí)可以位于該VXLAN頭的“R”、Reserved1和Reserved2中的任一保留字段中。如圖3所示,安全標(biāo)識(shí)“S”位于“R”字段。
S205:通過(guò)EVPN隧道,將EVPN隧道封裝后的第一報(bào)文發(fā)送至第二數(shù)據(jù)中心的邊界VTEP。
在本發(fā)明的一個(gè)實(shí)施例中,第一數(shù)據(jù)中心的邊界VTEP還可以接收第二數(shù)據(jù)中心的邊界VTEP通過(guò)公網(wǎng)發(fā)送來(lái)的EVPN隧道封裝后的報(bào)文,具體地,參考圖4,在圖2的基礎(chǔ)上,報(bào)文處理方法還可以包括:
S401:接收EVPN隧道封裝后的第二報(bào)文;
其中,EVPN隧道封裝后的第二報(bào)文為第二數(shù)據(jù)中心的主機(jī)通過(guò)第二數(shù)據(jù)中心的邊界VTEP發(fā)送的。
S402:解封裝EVPN隧道封裝后的第二報(bào)文,獲得第二報(bào)文;
S403:根據(jù)預(yù)設(shè)密鑰對(duì)第二報(bào)文解密,并將解密后的第二報(bào)文發(fā)送給第二報(bào)文對(duì)應(yīng)的目的主機(jī)。
在本發(fā)明的一個(gè)實(shí)施例中,并不是所有的EVPN隧道封裝后的報(bào)文都進(jìn)行加密處理的,邊界VTEP可以通過(guò)EVPN隧道封裝頭中是否添加有安全標(biāo)識(shí),確定EVPN隧道封裝后的報(bào)文是否為加密處理后的報(bào)文。
這種情況下,第一數(shù)據(jù)中心的邊界VTEP若確定EVPN隧道封裝后的第二報(bào)文的EVPN隧道封裝頭中包括安全標(biāo)識(shí),則確定第二報(bào)文為加密處理后的報(bào)文,根據(jù)預(yù)設(shè)密鑰對(duì)第二報(bào)文解密,并將解密后的第二報(bào)文發(fā)送給第二報(bào)文對(duì)應(yīng)的目的主機(jī)。
下面結(jié)合圖1所示分布式數(shù)據(jù)中心網(wǎng)絡(luò),詳細(xì)說(shuō)明邊界VTEP對(duì)報(bào)文的處理過(guò)程,具體地:
1、邊界VTEP120將主機(jī)400和主機(jī)410的路由信息和地址和安全標(biāo)記的對(duì)應(yīng)關(guān)系通過(guò)路由通告信息1告知邊界VTEP220;另外,邊界VTEP220將主機(jī)500和主機(jī)510的路由信息和地址和安全標(biāo)記的對(duì)應(yīng)關(guān)系通過(guò)路由通告信息2告知邊界VTEP120,邊界VTEP120和邊界VTEP220中生成對(duì)應(yīng)的轉(zhuǎn)發(fā)表,并存儲(chǔ)主機(jī)400、主機(jī)410、主機(jī)500和主機(jī)510的地址和安全標(biāo)記的對(duì)應(yīng)關(guān)系;其中,對(duì)應(yīng)主機(jī)400或主機(jī)500的報(bào)文需要被加密,也就是,主機(jī)400的地址對(duì)應(yīng)的安全標(biāo)記為預(yù)設(shè)標(biāo)記,如:“1”,主機(jī)500的地址的安全標(biāo)記為“1”;
2、邊界VTEP120接收到主機(jī)400發(fā)送給主機(jī)500的報(bào)文1,根據(jù)報(bào)文1的目的地址(主機(jī)500的地址)查找轉(zhuǎn)發(fā)表,確定該報(bào)文1的出接口為邊界VTEP120和邊界VTEP220間的EVPN隧道,并且根據(jù)預(yù)先存儲(chǔ)的地址和安全標(biāo)記的對(duì)應(yīng)關(guān)系,確定報(bào)文1的目的地址的安全標(biāo)記為“1”,則根據(jù)邊界VTEP220和邊界VTEP120間協(xié)商好的密鑰Y,對(duì)報(bào)文1進(jìn)行加密得到加密報(bào)文1后,再進(jìn)行EVPN隧道封裝,將EVPN隧道封裝后的加密報(bào)文1發(fā)送至公網(wǎng),該EVPN隧道封裝后的加密報(bào)文1的EVPN隧道封裝頭中包括安全標(biāo)識(shí)“S”;
公網(wǎng)中的設(shè)備根據(jù)EVPN隧道封裝后的加密報(bào)文1的外層IP頭,將EVPN隧道封裝后的加密報(bào)文1轉(zhuǎn)發(fā)給邊界VTEP220;
邊界VTEP220接收到EVPN隧道封裝后的加密報(bào)文1后,解封裝該EVPN隧道封裝后的加密報(bào)文1,獲得加密報(bào)文1;根據(jù)EVPN隧道封裝頭中的安全標(biāo)識(shí)“S”,確定加密報(bào)文1為加密處理后的報(bào)文;根據(jù)邊界VTEP220和邊界VTEP120間協(xié)商好的密鑰Y,對(duì)加密報(bào)文1解密,恢復(fù)出原始的報(bào)文1,將該恢復(fù)出的報(bào)文1轉(zhuǎn)發(fā)給主機(jī)500;
3、邊界VTEP120接收到主機(jī)400發(fā)送給主機(jī)510的報(bào)文2,根據(jù)報(bào)文2的目的地址(主機(jī)510的地址)查找轉(zhuǎn)發(fā)表,確定該報(bào)文2的出接口為邊界VTEP120和邊界VTEP220間的EVPN隧道,根據(jù)預(yù)先存儲(chǔ)的地址和安全標(biāo)記的對(duì)應(yīng)關(guān)系,確定報(bào)文2的源地址(主機(jī)400的地址)的安全標(biāo)記為“1”;這種情況下,根據(jù)邊界VTEP220和邊界VTEP120間協(xié)商好的密鑰Y,對(duì)報(bào)文2進(jìn)行加密得到加密報(bào)文2后,再進(jìn)行EVPN隧道封裝,將EVPN隧道封裝后的加密報(bào)文2發(fā)送至公網(wǎng),該EVPN隧道封裝后的加密報(bào)文2的EVPN隧道封裝頭中包括安全標(biāo)識(shí)“S”;
公網(wǎng)中的設(shè)備根據(jù)EVPN隧道封裝后的加密報(bào)文2的外層IP頭,將EVPN隧道封裝后的加密報(bào)文2轉(zhuǎn)發(fā)給邊界VTEP220;
邊界VTEP220接收到EVPN隧道封裝后的加密報(bào)文2后,解封裝該EVPN隧道封裝后的加密報(bào)文2,獲得加密報(bào)文2;根據(jù)EVPN隧道封裝頭中的安全標(biāo)識(shí)“S”,確定加密報(bào)文2為加密處理后的報(bào)文;根據(jù)邊界VTEP220和邊界VTEP120間協(xié)商好的密鑰Y,對(duì)加密報(bào)文2解密,恢復(fù)出原始的報(bào)文2,將該恢復(fù)出的報(bào)文2轉(zhuǎn)發(fā)給主機(jī)510。
4、邊界VTEP120接收到主機(jī)410發(fā)送給主機(jī)510的報(bào)文3,根據(jù)報(bào)文3的目的地址(主機(jī)510的地址)查找轉(zhuǎn)發(fā)表,確定該報(bào)文3的出接口為邊界VTEP120和邊界VTEP220間EVPN隧道,但根據(jù)預(yù)先存儲(chǔ)的地址和安全標(biāo)記的對(duì)應(yīng)關(guān)系,確定報(bào)文3的目的地址的安全標(biāo)記不為“1”,報(bào)文3的源地址(主機(jī)410的地址)的安全標(biāo)記也不為“1”;這種情況下,不對(duì)報(bào)文3進(jìn)行加密,直接進(jìn)行EVPN隧道封裝,將EVPN隧道封裝后的報(bào)文3發(fā)送至公網(wǎng),該EVPN隧道封裝后的報(bào)文3的EVPN隧道封裝頭中不包括安全標(biāo)識(shí)“S”;
公網(wǎng)中的設(shè)備根據(jù)EVPN隧道封裝后的報(bào)文3的外層IP頭,將EVPN隧道封裝后的報(bào)文3轉(zhuǎn)發(fā)給邊界VTEP220;
邊界VTEP220接收到EVPN隧道封裝后的報(bào)文3后,解封裝該EVPN隧道封裝后的報(bào)文3,獲得報(bào)文3;根據(jù)EVPN隧道封裝頭中不包括的安全標(biāo)識(shí)“S”,確定報(bào)文3為未加密處理后的報(bào)文,直接將該報(bào)文3轉(zhuǎn)發(fā)給主機(jī)510。
應(yīng)用上述實(shí)施例,在第一數(shù)據(jù)中心邊界VTEP接收到第一報(bào)文后,若確定該第一報(bào)文的出接口為第一數(shù)據(jù)中心的邊界VTEP與第二數(shù)據(jù)中心的邊界VTEP間的EVPN隧道,也就是,確定第一報(bào)文需要在公網(wǎng)設(shè)備上傳輸,則根據(jù)預(yù)設(shè)密鑰對(duì)該第一報(bào)文進(jìn)行加密,再對(duì)加密后的第一報(bào)文進(jìn)行EVPN隧道封裝,將EVPN隧道封裝后的第一報(bào)文發(fā)送至第二數(shù)據(jù)中心的邊界VTEP??梢?jiàn),本發(fā)明實(shí)施例中,邊界VTEP發(fā)送至公網(wǎng)的報(bào)文為加密處理后的報(bào)文,即使報(bào)文被公網(wǎng)的設(shè)備截取,也很難被恢復(fù)出報(bào)文的原始信息,有效地避免了數(shù)據(jù)中心間的數(shù)據(jù)外泄。
參考圖5,圖5為本發(fā)明實(shí)施例提供的一種報(bào)文處理裝置的一種結(jié)構(gòu)示意圖,應(yīng)用于第一數(shù)據(jù)中心的邊界VTEP,該裝置包括:
第一接收單元501,用于接收所述第一數(shù)據(jù)中心的主機(jī)發(fā)送的第一報(bào)文;
確定單元502,用于在轉(zhuǎn)發(fā)表中查找所述第一報(bào)文的目的地址,確定所述第一報(bào)文對(duì)應(yīng)的出接口,其中,所述轉(zhuǎn)發(fā)表中包括:地址和出接口的對(duì)應(yīng)關(guān)系;
加密單元503,用于若所述第一報(bào)文對(duì)應(yīng)的出接口為所述第一數(shù)據(jù)中心的邊界VTEP與第二數(shù)據(jù)中心的邊界VTEP間的EVPN隧道,則根據(jù)預(yù)設(shè)密鑰對(duì)所述第一報(bào)文進(jìn)行加密,其中,所述預(yù)設(shè)密鑰為第一數(shù)據(jù)中心的邊界VTEP與所述第二數(shù)據(jù)中心的邊界VTEP預(yù)先協(xié)商的;
封裝單元504,用于對(duì)加密后的所述第一報(bào)文進(jìn)行EVPN隧道封裝;
第一發(fā)送單元505,用于通過(guò)EVPN隧道,將EVPN隧道封裝后的所述第一報(bào)文發(fā)送至所述第二數(shù)據(jù)中心的邊界VTEP。
在本發(fā)明的一個(gè)實(shí)施例中,所述加密單元503,具體可以用于:
若所述第一報(bào)文對(duì)應(yīng)的出接口為所述第一數(shù)據(jù)中心的邊界VTEP與第二數(shù)據(jù)中心的邊界VTEP間的EVPN隧道,則根據(jù)預(yù)先存儲(chǔ)的地址和安全標(biāo)記的對(duì)應(yīng)關(guān)系,確定所述第一報(bào)文的目的地址對(duì)應(yīng)的安全標(biāo)記;
若所述第一報(bào)文的目的地址對(duì)應(yīng)的安全標(biāo)記為預(yù)設(shè)標(biāo)記,則根據(jù)預(yù)設(shè)密鑰對(duì)所述第一報(bào)文進(jìn)行加密。
在本發(fā)明的一個(gè)實(shí)施例中,所述報(bào)文處理裝置還可以包括:
第二接收單元(圖5中未示出),用于在接收所述第一數(shù)據(jù)中心的主機(jī)發(fā)送的第一報(bào)文之前,通過(guò)所述第一數(shù)據(jù)中心的邊界VTEP與所述第二數(shù)據(jù)中心的邊界VTEP間的EVPN隧道,接收所述第二數(shù)據(jù)中心的邊界VTEP發(fā)送的第一路由通告消息,所述第一路由通告消息中包括所述第二數(shù)據(jù)中心中的主機(jī)的地址和安全標(biāo)記的對(duì)應(yīng)關(guān)系;
生成單元(圖5中未示出),用于根據(jù)所述第一數(shù)據(jù)中心的邊界VTEP與第二數(shù)據(jù)中心的邊界VTEP間的EVPN隧道和所述第一路由通告消息中包括的地址,生成轉(zhuǎn)發(fā)表;
存儲(chǔ)單元(圖5中未示出),用于存儲(chǔ)所述第一路由通告消息中包括的地址和安全標(biāo)記的對(duì)應(yīng)關(guān)系。
在本發(fā)明的一個(gè)實(shí)施例中,所述加密單元503,具體可以用于:
若所述第一報(bào)文對(duì)應(yīng)的出接口為所述第一數(shù)據(jù)中心的邊界VTEP與第二數(shù)據(jù)中心的邊界VTEP間的EVPN隧道,則根據(jù)預(yù)先存儲(chǔ)的地址和安全標(biāo)記的對(duì)應(yīng)關(guān)系,確定所述第一報(bào)文的源地址對(duì)應(yīng)的安全標(biāo)記;
若所述第一報(bào)文的源地址對(duì)應(yīng)的安全標(biāo)記為預(yù)設(shè)標(biāo)記,則根據(jù)預(yù)設(shè)密鑰對(duì)所述第一報(bào)文進(jìn)行加密。
在本發(fā)明的一個(gè)實(shí)施例中,所述報(bào)文處理裝置還可以包括:
獲取單元(圖5中未示出),用于在接收所述第一數(shù)據(jù)中心的主機(jī)發(fā)送的第一報(bào)文之前,獲取所述第一數(shù)據(jù)中心中的主機(jī)的地址對(duì)應(yīng)的安全標(biāo)記,并存儲(chǔ);
第二發(fā)送單元(圖5中未示出),用于根據(jù)所述第一數(shù)據(jù)中心中的主機(jī)的地址和安全標(biāo)記的對(duì)應(yīng)關(guān)系,生成第二路由通告消息,并通過(guò)所述EVPN隧道發(fā)送給所述第二數(shù)據(jù)中心的邊界VTEP,以使所述第二數(shù)據(jù)中心的邊界VTEP根據(jù)所述第二路由通告消息生成轉(zhuǎn)發(fā)表,并存儲(chǔ)所述第二路由通告消息中包括的地址和安全標(biāo)記的對(duì)應(yīng)關(guān)系。
在本發(fā)明的一個(gè)實(shí)施例中,參考圖6,在圖5的基礎(chǔ)上,所述報(bào)文處理裝置還可以包括:
第三接收單元601,用于接收EVPN隧道封裝后的第二報(bào)文,其中,所述EVPN隧道封裝后的第二報(bào)文為所述第二數(shù)據(jù)中心的主機(jī)通過(guò)所述第二數(shù)據(jù)中心的邊界VTEP發(fā)送的;
解封裝單元602,用于解封裝所述EVPN隧道封裝后的第二報(bào)文,獲得所述第二報(bào)文;
解密單元603,用于根據(jù)所述預(yù)設(shè)密鑰對(duì)所述第二報(bào)文解密,并將解密后的所述第二報(bào)文發(fā)送給所述第二報(bào)文對(duì)應(yīng)的目的主機(jī)。
在本發(fā)明的一個(gè)實(shí)施例中,所述封裝單元504,具體可以用于:
對(duì)加密后的所述第一報(bào)文進(jìn)行EVPN隧道封裝,并在EVPN隧道封裝頭中添加安全標(biāo)識(shí),其中,所述安全標(biāo)識(shí)用于標(biāo)識(shí)EVPN隧道封裝后的報(bào)文中的原始報(bào)文已被加密處理。
在本發(fā)明的一個(gè)實(shí)施例中,所述解密單元603,具體可以用于:
若所述EVPN隧道封裝后的第二報(bào)文的EVPN隧道封裝頭中包括所述安全標(biāo)識(shí),則根據(jù)所述預(yù)設(shè)密鑰對(duì)所述第二報(bào)文解密,并將解密后的所述第二報(bào)文發(fā)送給所述第二報(bào)文對(duì)應(yīng)的目的主機(jī)。
應(yīng)用上述實(shí)施例,在第一數(shù)據(jù)中心邊界VTEP接收到第一報(bào)文后,若確定該第一報(bào)文的出接口為第一數(shù)據(jù)中心的邊界VTEP與第二數(shù)據(jù)中心的邊界VTEP間的EVPN隧道,也就是,確定第一報(bào)文需要在公網(wǎng)設(shè)備上傳輸,則根據(jù)預(yù)設(shè)密鑰對(duì)該第一報(bào)文進(jìn)行加密,再對(duì)加密后的第一報(bào)文進(jìn)行EVPN隧道封裝,將EVPN隧道封裝后的第一報(bào)文發(fā)送至第二數(shù)據(jù)中心的邊界VTEP。可見(jiàn),本發(fā)明實(shí)施例中,邊界VTEP發(fā)送至公網(wǎng)的報(bào)文為加密處理后的報(bào)文,即使報(bào)文被公網(wǎng)的設(shè)備截取,也很難被恢復(fù)出報(bào)文的原始信息,有效地避免了數(shù)據(jù)中心間的數(shù)據(jù)外泄。
對(duì)于裝置實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用相關(guān)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。