本申請涉及網(wǎng)絡(luò)安全領(lǐng)域,尤其涉及一種流量牽引方法及裝置。
背景技術(shù):
:目前,針對現(xiàn)有服務(wù)器的運行情況而言,一臺服務(wù)器每次只能運行一個操作系統(tǒng)和應(yīng)用,即使是在小型數(shù)據(jù)中心中也需要部署大量的服務(wù)器,這不僅導(dǎo)致了每臺服務(wù)器的利用率很低,也大大增加了數(shù)據(jù)處理的成本。為了克服這一缺陷,可以使用虛擬化軟件,比如VmwareVsphere、華為fusionSphere,來模擬硬件并創(chuàng)建虛擬計算機(jī)系統(tǒng)。這里,虛擬計算機(jī)系統(tǒng)也即虛擬機(jī)(VirtualMachine,VM)是一種嚴(yán)密隔離的軟件容器,內(nèi)部含有操作系統(tǒng)和應(yīng)用。通過將多臺虛擬機(jī)放置在一個計算機(jī)上,可以實現(xiàn)在一個物理服務(wù)器上運行多個操作系統(tǒng)和應(yīng)用。而在同一物理服務(wù)器上的虛擬機(jī)之間的信息交互可以通過東西向流量(東西向流量也即虛擬機(jī)之間傳輸?shù)膱笪?來傳遞。如圖1所示,為現(xiàn)有虛擬化環(huán)境中虛擬機(jī)之間的組網(wǎng)示意圖,虛擬機(jī)宿主機(jī)即物理服務(wù)器中包括虛擬交換機(jī)0、虛擬機(jī)VM11、虛擬機(jī)VM12、虛擬機(jī)VM13、虛擬機(jī)VM14,其中,VM11、VM12、VM13和VM14分別與虛擬交換機(jī)0相連接,并且四臺虛擬機(jī)均處于同一虛擬局域網(wǎng)(VirtualLocalAreaNetwork,VLAN)中。按照現(xiàn)有網(wǎng)絡(luò)二層交換技術(shù)可知,只有處于同一VLAN范圍內(nèi)的虛擬機(jī)之間才可以進(jìn)行報文的廣播和轉(zhuǎn)發(fā)。那么,當(dāng)VM13訪問VM14時,只需將需要傳輸?shù)膱笪陌l(fā)送至虛擬交換機(jī)0,再通過虛擬交換機(jī)0將該報文轉(zhuǎn)發(fā)至VM14即可。這就使得現(xiàn)有虛擬化環(huán)境中的虛擬機(jī)之間的傳輸?shù)膱笪臒o法經(jīng)過第三方VM(位于其它VLAN中的虛擬機(jī))進(jìn)行安全防護(hù)。可見,目前需要一種能夠?qū)⑻幱谀骋籚LAN中的虛擬機(jī)之間傳輸?shù)膱笪臓恳降谌絍M中的牽引機(jī)制。技術(shù)實現(xiàn)要素:本申請實施例提供一種流量牽引方法及裝置,用以解決現(xiàn)有技術(shù)需要一種能夠?qū)⑻幱谀骋籚LAN中的虛擬機(jī)之間傳輸?shù)膱笪臓恳降谌絍M中的牽引機(jī)制的問題。本申請實施例提供一種流量牽引方法,包括:接收處于第一虛擬局域網(wǎng)VLAN中的第一虛擬機(jī)VM經(jīng)由源端口發(fā)來的報文,所述報文中攜帶有目的媒體訪問控制MAC地址以及第一VLAN標(biāo)簽;基于預(yù)先設(shè)置的規(guī)則,生成與所述預(yù)先設(shè)置的規(guī)則對應(yīng)的二層轉(zhuǎn)發(fā)表;基于所述二層轉(zhuǎn)發(fā)表,查找與所述目的MAC地址對應(yīng)的目的端口標(biāo)識ID和VLANID;將所述報文中攜帶的第一VLAN標(biāo)簽更改為與查找到的VLANID相對應(yīng)的第二VLAN標(biāo)簽;將攜帶有第二VLAN標(biāo)簽的報文經(jīng)由查找到的目的端口轉(zhuǎn)發(fā)至第二VLAN中的第二VM。本申請實施例提供一種流量牽引裝置,包括:接收模塊,用于接收處于第一虛擬局域網(wǎng)VLAN中的第一虛擬機(jī)VM經(jīng)由源端口發(fā)來的報文,所述報文中攜帶有目的媒體訪問控制MAC地址以及第一VLAN標(biāo)簽;生成模塊,用于基于預(yù)先設(shè)置的規(guī)則,生成與所述預(yù)先設(shè)置的規(guī)則對應(yīng)的二層轉(zhuǎn)發(fā)表;查找模塊,用于基于所述二層轉(zhuǎn)發(fā)表,查找與所述目的MAC地址對應(yīng)的目的端口標(biāo)識ID和VLANID;更改標(biāo)簽?zāi)K,用于將所述報文中攜帶的第一VLAN標(biāo)簽更改為與查找到的VLANID相對應(yīng)的第二VLAN標(biāo)簽;發(fā)送模塊,用于將攜帶有第二VLAN標(biāo)簽的報文經(jīng)由查找到的目的端口轉(zhuǎn)發(fā)至第二VLAN中的第二VM。。本申請實施例中,在接收到第一VLAN中的第一VM經(jīng)由源端口發(fā)來的報文之后,可以在二層轉(zhuǎn)發(fā)表中查詢與該報文中攜帶的目的MAC地址對應(yīng)的目的端口ID和VLANID,并將該報文中攜帶的第一VLAN標(biāo)簽更改為與查找到的VLANID相對應(yīng)的第二VLAN標(biāo)簽,最終可以實現(xiàn)將攜帶有第二VLAN標(biāo)簽的報文經(jīng)由查找到的目的端口轉(zhuǎn)發(fā)至第二VLAN中的第二VM。采用本申請?zhí)岢龅臓恳龣C(jī)制,可以實現(xiàn)將處于某一VLAN中的虛擬機(jī)之間傳輸?shù)膱笪某晒恳降谌絍M中去進(jìn)行安全防護(hù)等處理。此外,本申請實施例,利用預(yù)先設(shè)置的規(guī)則將不同VLAN下的各個端口以及與各個端口分別對應(yīng)的VLAN劃分在同一廣播域,并通過采集該廣播域內(nèi)各個VM傳輸?shù)膱笪闹袛y帶的MAC地址信息,從而形成一個完整的二層轉(zhuǎn)發(fā)表,在該二層轉(zhuǎn)發(fā)表中記錄有處于不同VLAN下的虛擬機(jī)的MAC地址信息、端口ID以及VLANID三者之間的對應(yīng)關(guān)系。在虛擬機(jī)轉(zhuǎn)發(fā)報文的過程中,通過查詢該二層轉(zhuǎn)發(fā)表,可以實現(xiàn)將報文在不同的VLAN下進(jìn)行廣播和轉(zhuǎn)發(fā),從而克服了現(xiàn)有的網(wǎng)絡(luò)二層轉(zhuǎn)發(fā)技術(shù)中只允許報文在同一VLAN下進(jìn)行廣播和轉(zhuǎn)發(fā)的局限性,并且在這種牽引機(jī)制下,無需依賴虛擬化廠商授權(quán)的RESTfulAPI(虛擬化廠商的內(nèi)部接口)就可以實現(xiàn)對虛擬化環(huán)境中的報文進(jìn)行牽引,從而適應(yīng)了多種虛擬化廠商所提供的虛擬化環(huán)境。附圖說明圖1為現(xiàn)有虛擬化環(huán)境中虛擬機(jī)之間的組網(wǎng)示意圖;圖2為本申請實施例一提供的一種流量牽引方法流程圖;圖3為本申請實施例二提供一種改進(jìn)后的虛擬化環(huán)境中虛擬機(jī)之間的組網(wǎng)示意圖;圖4為對圖1所示的組網(wǎng)進(jìn)行改進(jìn)后的組網(wǎng)示意圖;圖5為為本申請實施例三提供的流量牽引裝置結(jié)構(gòu)圖。具體實施方式本申請實施例中,在接收到第一VLAN中的第一VM經(jīng)由源端口發(fā)來的報文之后,可以在二層轉(zhuǎn)發(fā)表中查詢與該報文中攜帶的目的MAC地址對應(yīng)的目的端口ID和VLANID,并將該報文中攜帶的第一VLAN標(biāo)簽更改為與查找到的VLANID相對應(yīng)的第二VLAN標(biāo)簽,最終可以實現(xiàn)將攜帶有第二VLAN標(biāo)簽的報文經(jīng)由查找到的目的端口轉(zhuǎn)發(fā)至第二VLAN中的第二VM。采用本申請?zhí)岢龅臓恳龣C(jī)制,可以實現(xiàn)將處于某一VLAN中的虛擬機(jī)之間傳輸?shù)膱笪某晒恳降谌絍M中去進(jìn)行安全防護(hù)等處理。此外,本申請實施例,利用預(yù)先設(shè)置的規(guī)則將不同VLAN下的各個端口以及與各個端口分別對應(yīng)的VLAN劃分在同一廣播域,并通過采集該廣播域內(nèi)各個VM傳輸?shù)膱笪闹袛y帶的MAC地址信息,從而形成一個完整的二層轉(zhuǎn)發(fā)表,在該二層轉(zhuǎn)發(fā)表中記錄有處于不同VLAN下的虛擬機(jī)的MAC地址信息、端口ID以及VLANID三者之間的對應(yīng)關(guān)系。在虛擬機(jī)轉(zhuǎn)發(fā)報文的過程中,通過查詢該二層轉(zhuǎn)發(fā)表,可以實現(xiàn)將報文在不同的VLAN下進(jìn)行廣播和轉(zhuǎn)發(fā),從而克服了現(xiàn)有的網(wǎng)絡(luò)二層轉(zhuǎn)發(fā)技術(shù)中只允許報文在同一VLAN下進(jìn)行廣播和轉(zhuǎn)發(fā)的局限性,并且在這種牽引機(jī)制下,無需依賴虛擬化廠商授權(quán)的RESTfulAPI(虛擬化廠商的內(nèi)部接口)就可以實現(xiàn)對虛擬化環(huán)境中的報文進(jìn)行牽引,從而適應(yīng)了多種虛擬化廠商所提供的虛擬化環(huán)境。下面結(jié)合說明書附圖對本申請實施例作進(jìn)一步詳細(xì)描述。實施例一如圖2所示,為本申請實施例一提供的一種流量牽引方法流程圖,包括以下步驟:S201:接收處于第一VLAN中的第一VM經(jīng)由源端口發(fā)來的報文,該報文中攜帶有目的媒體訪問控制(MediumAccessControl,MAC)地址以及第一VLAN標(biāo)簽。這里,報文中不僅攜帶有目的MAC地址以及第一VLAN標(biāo)簽,還攜帶了源MAC地址。在具體實施中,可以通過源MAC地址來確定該報文是經(jīng)由哪個端口接收的,即通過源MAC地址來確定發(fā)出該報文的虛擬機(jī)(第一VM)的源端口。同樣地,也可以通過目的MAC地址來確定該報文要發(fā)往哪個端口,即通過目的MAC地址來確定應(yīng)該接收該報文的虛擬機(jī)(第二VM)的目的端口。第一VLAN標(biāo)簽可以是該報文在由第一VM轉(zhuǎn)發(fā)至第二VM的過程中經(jīng)過某一個虛擬交換機(jī)時被設(shè)置的VLAN標(biāo)簽。S202:基于預(yù)先設(shè)置的規(guī)則,生成與預(yù)先設(shè)置的規(guī)則對應(yīng)的二層轉(zhuǎn)發(fā)表。在具體實施中,基于預(yù)先設(shè)置的規(guī)則可以為將虛擬環(huán)境中處于不同VLAN下的各個端口以及與各個端口分別對應(yīng)的VLAN劃分在同一VLAN廣播域中。具體地,可以將指定的多個端口的ID號以及與多個端口分別對應(yīng)的VLAN的ID號組成一個集合,這樣,可以將由不同VLAN下的多個端口以及與多個端口對應(yīng)的VLAN組成的集合歸屬為同一個VLAN廣播域,以使處于不同VLAN下的VM之間能夠傳遞廣播消息。這里,端口ID與VLANID的對應(yīng)關(guān)系可以是一一對應(yīng)的關(guān)系,也可以是一個端口ID對應(yīng)著多個不同的VLANID,還可以是多個端口ID對應(yīng)著同一個VLANID。在具體實施中,可以基于預(yù)先設(shè)置的規(guī)則,將已設(shè)置好的廣播域內(nèi)的各個端口ID與VLANID的對應(yīng)關(guān)系記錄在二層轉(zhuǎn)發(fā)表中。這里,二層轉(zhuǎn)發(fā)表為已存儲有上述廣播域內(nèi)的各個端口ID與VLANID的對應(yīng)關(guān)系的初始轉(zhuǎn)發(fā)表。為了進(jìn)一步確定MAC地址信息、端口ID、VLANID三者間的對應(yīng)關(guān)系,可以在接收到報文之后,獲取報文中的源MAC信息,并將源MAC信息與源端口ID和源VLANID的對應(yīng)關(guān)系存儲在二層轉(zhuǎn)發(fā)表中。這樣,通過接收廣播域中各個虛擬機(jī)發(fā)來的報文,并獲取各個報文中的源MAC地址,就可以將該廣播域中各個虛擬機(jī)相關(guān)的MAC地址信息、端口ID、VLANID三者間的對應(yīng)關(guān)系存儲在二層轉(zhuǎn)發(fā)表中,以便后續(xù)基于二層轉(zhuǎn)發(fā)表來轉(zhuǎn)發(fā)報文。這里,步驟S201與步驟S202的執(zhí)行順序不分先后,即可以在接收到報文之前基于預(yù)先設(shè)置的規(guī)則來制定二層轉(zhuǎn)發(fā)表,也可以在接收到報文之后再基于預(yù)先設(shè)置的規(guī)則來制定二層轉(zhuǎn)發(fā)表。并且,在二層轉(zhuǎn)發(fā)表中,允許存在缺少MAC地址的信息的情況,后續(xù)通過采集各VM傳輸?shù)膱笪闹械腗AC地址的信息,可以將報文中攜帶的MAC地址的信息更新到二層轉(zhuǎn)發(fā)表中。S203:基于二層轉(zhuǎn)發(fā)表,查找與目的MAC地址對應(yīng)的目的端口標(biāo)識(IDentity,ID)和VLANID。在具體實施中,查找與報文中攜帶的目的MAC地址對應(yīng)的目的端口標(biāo)識ID以及與目的MAC地址對應(yīng)的VLANID的方式可以為:首先,在二層轉(zhuǎn)發(fā)表中查找是否有與目的MAC地址相同的MAC地址,如果在二層轉(zhuǎn)發(fā)表中查找到與該目的MAC地址相同的MAC地址,再進(jìn)一步基于二層轉(zhuǎn)發(fā)表中存儲的MAC地址信息、端口ID、VLANID三者間的對應(yīng)關(guān)系,確定出與查找到的MAC地址對應(yīng)的端口ID和VLANID。這里,確定出的端口ID即為目的端口ID,確定出的VLANID即為目的MAC地址對應(yīng)的VLANID;如果在二層轉(zhuǎn)發(fā)表中沒有查找到與該目的MAC地址相同的MAC地址或者該目的MAC地址為一個廣播地址時,可以將該報文在與預(yù)先設(shè)置的規(guī)則對應(yīng)的廣播域中進(jìn)行廣播,具體可以為:按照上述規(guī)則中已設(shè)置好的廣播域內(nèi)的各個端口ID與VLANID的對應(yīng)關(guān)系,將報文廣播至該廣播域中的其它VM中。其中,其它VM中不包含第一VLAN中的第一VM且包含第二VLAN中的第二VM。此外,該廣播域中處于第二VLAN中的第二VM在接收到廣播報文,并且識別到該報文中攜帶的目的MAC地址與自己的MAC地址相同之后,還可以向第一VM回復(fù)報文。在接收到廣播域中第二VLAN中的第二VM發(fā)送的報文之后,就可以將接收該報文的端口ID、VLANID、以及第二VM的MAC地址記錄在二層轉(zhuǎn)發(fā)表中。通過上述過程,在確定出與第二VM的MAC地址信息對應(yīng)的端口ID以及VLANID后,在下次傳輸目的地址為第二VM的MAC地址的報文時,就可以直接在二層轉(zhuǎn)發(fā)表中查詢目的端口ID,不再需要向廣播域中的所有端口進(jìn)行廣播了。S204:將報文中攜帶的第一VLAN標(biāo)簽更改為與查找到的VLANID相對應(yīng)的第二VLAN標(biāo)簽。S205:將攜帶有第二VLAN標(biāo)簽的報文經(jīng)由查找到的目的端口轉(zhuǎn)發(fā)至第二VLAN中的第二VM。本申請實施例中,在接收到第一VLAN中的第一VM經(jīng)由源端口發(fā)來的報文之后,可以在二層轉(zhuǎn)發(fā)表中查詢與該報文中攜帶的目的MAC地址對應(yīng)的目的端口ID以及與目的端口對應(yīng)的VLANID,并將該報文中攜帶的第一VLAN標(biāo)簽更改為與查找到的VLANID相對應(yīng)的第二VLAN標(biāo)簽,最終可以實現(xiàn)將攜帶有第二VLAN標(biāo)簽的報文經(jīng)由查找到的目的端口轉(zhuǎn)發(fā)至第二VLAN中的第二VM。采用本申請?zhí)岢龅臓恳龣C(jī)制,可以實現(xiàn)將處于某一VLAN中的虛擬機(jī)之間傳輸?shù)膱笪某晒恳降谌絍M中去進(jìn)行安全防護(hù)等處理。此外,本申請實施例,利用預(yù)先設(shè)置的規(guī)則將不同VLAN下的各個端口以及與各個端口分別對應(yīng)的VLAN劃分在同一廣播域,并通過采集該廣播域內(nèi)各個VM傳輸?shù)膱笪闹袛y帶的MAC地址信息,從而形成一個完整的二層轉(zhuǎn)發(fā)表,在該二層轉(zhuǎn)發(fā)表中記錄有處于不同VLAN下的虛擬機(jī)的MAC地址信息、端口ID以及VLANID三者之間的對應(yīng)關(guān)系。在虛擬機(jī)轉(zhuǎn)發(fā)報文的過程中,通過查詢該二層轉(zhuǎn)發(fā)表,可以實現(xiàn)將報文在不同的VLAN下進(jìn)行廣播和轉(zhuǎn)發(fā),從而克服了現(xiàn)有的網(wǎng)絡(luò)二層轉(zhuǎn)發(fā)技術(shù)中只允許報文在同一VLAN下進(jìn)行廣播和轉(zhuǎn)發(fā)的局限性,并且在這種牽引機(jī)制下,無需依賴虛擬化廠商授權(quán)的RESTfulAPI(虛擬化廠商的內(nèi)部接口)就可以實現(xiàn)對虛擬化環(huán)境中的報文進(jìn)行牽引,從而適應(yīng)了多種虛擬化廠商所提供的虛擬化環(huán)境。針對本申請實施例一提供的牽引方法,為了達(dá)到更好地達(dá)到本申請實施例的技術(shù)效果,本申請還對現(xiàn)有虛擬化環(huán)境中虛擬機(jī)之間的組網(wǎng)結(jié)構(gòu)做出了改進(jìn),具體詳見本申請實施例二。實施例二如圖3所示,本發(fā)明實施例二提供一種改進(jìn)后的虛擬化環(huán)境中虛擬機(jī)之間的組網(wǎng)示意圖,該系統(tǒng)中包括第一虛擬機(jī)VM31、第二虛擬機(jī)VM32、虛擬交換機(jī)、以及安全處理單元中的引流裝置。這里,安全處理單元可以放置在第三虛擬機(jī)VM33上。具體地,VM31和VM32分別與虛擬交換機(jī)相連接,其中,VM31連接在虛擬交換機(jī)的第一端口Port31上并使用VLAN31,VM32連接在虛擬交換機(jī)的第二端口Port32上并使用VLAN32。這里,第一端口和第二端口的類型可以設(shè)置為Access類型,該類型的端口只屬于一個VLAN,并且允許具有與所述VLANID相同的VLAN標(biāo)簽的報文通過,即Port31可以允許具有VLAN31標(biāo)簽的報文通過,Port32可以允許具有VLAN32標(biāo)簽的報文通過。并且在Port31或Port32需要發(fā)送報文時,可以將該報文中攜帶的與VLANID相同的VLAN標(biāo)簽去掉再進(jìn)行轉(zhuǎn)發(fā)。虛擬交換機(jī)通過第三端口Port33與VM33的第四端口Port34相連接,其中,第三端口與第四端口的類型可以設(shè)置為Trunk類型,該類型的端口可以屬于多個VLAN,并且可以將這兩個端口設(shè)置為允許具有VLAN31標(biāo)簽或VLAN32標(biāo)簽的報文通過。并且在Port33或Port34需要發(fā)送報文時,可以保留該報文中攜帶的VLAN標(biāo)簽并進(jìn)行報文的轉(zhuǎn)發(fā)。在本申請實施例中,若VM31需要訪問VM32時,VM31可以向虛擬交換機(jī)發(fā)送目的端為VM32的報文,這里,報文中攜帶有了源MAC地址以及目的MAC地址,該源MAC地址為VM31的MAC地址,本申請實施例中將該目的MAC地址設(shè)置為VM32的MAC地址,在實際應(yīng)用中,該目的MAC地址也可以設(shè)置為一個廣播地址。虛擬交換機(jī)通過Port31接收VM31發(fā)送的報文,并為該報文設(shè)置一個與VM31所在的虛擬局域網(wǎng)VLAN對應(yīng)的第一VLAN標(biāo)簽,即為該報文設(shè)置VLAN31的標(biāo)簽,由于攜帶VLAN31標(biāo)簽的報文不能通過虛擬交換機(jī)的Port32,但可以通過虛擬交換機(jī)的Port33以及VM33的Port34,基于此,虛擬交換機(jī)就可以將該報文從自己的Port33轉(zhuǎn)發(fā)至VM33的Port34,從而將該報文成功轉(zhuǎn)發(fā)至VM33中的安全處理單元進(jìn)行安全處理。這里,安全處理單元不僅具有安全防護(hù)功能,在安全處理單元中的引流裝置還可以根據(jù)預(yù)先設(shè)置的規(guī)則,允許報文在預(yù)先設(shè)定的由多個端口和與端口相對應(yīng)的VLAN組成的集合中進(jìn)行廣播和轉(zhuǎn)發(fā)。在具體實施中,安全處理單元在對接收的報文進(jìn)行安全處理后,安全處理單元中的引流裝置會基于預(yù)先存儲的二層轉(zhuǎn)發(fā)表,查找與該報文攜帶的目的MAC地址對應(yīng)的目的端口ID以及與目的端口對應(yīng)的VLANID。在查找到該報文的目的MAC地址對應(yīng)的目的端口ID為Port34后,將該報文中攜帶的第一VLAN標(biāo)簽VLAN31更改為與目的端VM34所在的VLAN對應(yīng)的第二VLAN標(biāo)簽VLAN32。在完成對報文的強(qiáng)制標(biāo)簽轉(zhuǎn)換之后,安全處理單元通過VM33的Port34將攜帶有VLAN32標(biāo)簽的報文發(fā)送至虛擬交換機(jī)的Port33。虛擬交換機(jī)在接收到該報文后,可以基于該報文中攜帶的目的MAC地址,在虛擬交換機(jī)中的二層轉(zhuǎn)發(fā)表中查詢與該目的MAC地址對應(yīng)的目的端口ID,在確定出目的端口為Port32后,將該報文經(jīng)由Port32發(fā)送至目的端的虛擬機(jī)VM32,從而成功將VM31發(fā)來的報文經(jīng)過安全處理之后,利用安全處理單元中的引流裝置將該報文牽引至目的端的虛擬機(jī)VM22。需要注意,這里虛擬交換機(jī)中的二層轉(zhuǎn)發(fā)表與引流裝置中的二層轉(zhuǎn)發(fā)表不同。虛擬交換機(jī)中的二層轉(zhuǎn)發(fā)表是現(xiàn)有技術(shù)中并未做改進(jìn)的二層轉(zhuǎn)發(fā)表,即該二層轉(zhuǎn)發(fā)表記錄的是處于同一VLAN下的虛擬機(jī)中的各個端口ID與同一VLANID的關(guān)系。而在本申請實施例提供的引流裝置中,可以通過預(yù)先設(shè)置的規(guī)則,將處于不同VLAN下的虛擬機(jī)劃分在同一廣播域中,并將處于不同VLAN下的端口ID以及VLANID的組合關(guān)系記錄在改進(jìn)后的二層轉(zhuǎn)發(fā)表中。本申請實施例提供的安全防護(hù)系統(tǒng)的組網(wǎng)示意圖僅作為參考,在實際應(yīng)用中可以根據(jù)虛擬機(jī)中報文的安全性等需求來有選擇地進(jìn)行牽引。例如,在圖1所示的組網(wǎng)示意圖中,若VM13與VM14之間傳輸?shù)膱笪膶Π踩缘囊筝^高,需要對其進(jìn)行安全防護(hù),則可以將上述報文牽引至安全處理單元進(jìn)行安全處理之后,再由安全處理單元中的引流裝置將報文牽引至目的端的虛擬機(jī)。如圖4所示,為對圖1所示的組網(wǎng)進(jìn)行改進(jìn)后的組網(wǎng)示意圖。具體地,將VM13和VM14從原圖1中的虛擬交換機(jī)0上斷開連接,可以在服務(wù)器中新建一個虛擬交換機(jī)1,并將VM13和VM14分別連接到虛擬交換機(jī)1上,其中,VM13連接在虛擬交換機(jī)1的端口Port13上并使用新的VLAN13,VM14連接在虛擬交換機(jī)1的端口Port14上并使用新的VLAN14。同時,在服務(wù)器中新建一個虛擬機(jī)VM15,并在該虛擬機(jī)上運行安全處理單元,并且,在該安全處理單元上設(shè)置了一個引流裝置。虛擬交換機(jī)1通過端口Port0連接在VM15的Port0上,并且這兩個互聯(lián)的端口類型設(shè)置為trunk類型,允許攜帶有VLAN13或VLAN14標(biāo)簽的報文通過。VM15通過端口Port1連接在原來的虛擬交換機(jī)0中,并且該Port1的端口類型也設(shè)置為trunk類型,允許攜帶有VLAN1標(biāo)簽的報文通過。這里,安全處理單元中的引流裝置通過配置引流規(guī)則將VLAN1與Port1、VLAN13與Port0、VLAN14與Port0設(shè)定在一個廣播域中。在引流裝置的內(nèi)部含有一個二層轉(zhuǎn)發(fā)表,在初始狀態(tài)時,該二層轉(zhuǎn)發(fā)表中記錄有所在廣播域內(nèi)的各個VLAN與端口Port的對應(yīng)關(guān)系,如表一所示:表一由于引流裝置在未接收過報文之前,其內(nèi)部的二層轉(zhuǎn)發(fā)表處于初始狀態(tài),表中的MAC地址信息為待填充狀態(tài)。在接收報文的過程中通過學(xué)習(xí)報文中的MAC地址信息來記錄MAC地址信息、端口ID、VLANID三者間的對應(yīng)關(guān)系。比如,若VM13需要訪問VM14時,VM13將攜帶有源MAC地址(VM13的MAC地址)、目的MAC地址(這里,目的MAC地址可以是VM14的MAC地址,還可以是一個廣播地址)的報文從Port13進(jìn)入虛擬交換機(jī)1,虛擬交換機(jī)1為該報文設(shè)置一個VLAN13標(biāo)簽,并將該報文從虛擬交換機(jī)的Port0轉(zhuǎn)發(fā)給VM15的Port0。引流裝置在接收到由Port0傳送進(jìn)來的攜帶有VLAN13的報文后,會獲取該報文中的源MAC地址(VM13的MAC地址),并將VM13的MAC地址、Port0、VLAN13三者的對應(yīng)關(guān)系記錄在二層轉(zhuǎn)發(fā)表中。在轉(zhuǎn)發(fā)該報文時,由于初始的二層轉(zhuǎn)發(fā)表中并沒有記錄有關(guān)VM14的MAC地址信息,也就找不到對應(yīng)的端口來發(fā)送該報文。在這種情況下,可以將該報文在廣播域內(nèi)進(jìn)行廣播。當(dāng)廣播域內(nèi)的虛擬機(jī)接收到報文后,如果識別出報文中攜帶的目的MAC地址為自己的MAC地址或者廣播地址,還可以回復(fù)一個報文。因此,在本例中,VM14在接收到該報文,并識別出該報文的目的MAC地址為自己的MAC地址或者廣播地址之后,如果還需要向VM13回復(fù)一個報文,則VM14回復(fù)的報文還將從Port14進(jìn)入虛擬交換機(jī)1,在經(jīng)過虛擬交換機(jī)1為該報文設(shè)置一個VLAN14標(biāo)簽之后,該報文又從虛擬交換機(jī)的Port0轉(zhuǎn)發(fā)給VM15的Port0。VM15中的引流裝置在接收由Port0傳送進(jìn)來的攜帶有VM14的MAC地址信息以及VLAN14標(biāo)簽的報文之后,會將VM14的MAC地址、Port0、VLAN14三者的對應(yīng)關(guān)系記錄在二層轉(zhuǎn)發(fā)表中。同理,在VM13訪問VM11時,或VM13訪問VM14時,或VM14訪問VM11時等情況下,引流裝置均可以對各個報文進(jìn)行學(xué)習(xí),并記錄MAC地址、PortID、VLANID三者的對應(yīng)關(guān)系。最終可以生成該廣播域內(nèi)的完整的二層轉(zhuǎn)發(fā)表,如表二所示。表二VLANID端口idMACVLAN1Port1VM11MACVLAN1Port1VM12MACVLAN13Port0VM13MACVLAN14Port0VM14MAC在更新完上述二層轉(zhuǎn)發(fā)表之后,若VM13繼續(xù)訪問VM14時,則VM13與VM14之間傳輸?shù)膱笪倪M(jìn)行安全防護(hù)以及牽引的具體流程可以為:VM13中傳輸?shù)膱笪膹腜ort13進(jìn)入虛擬交換機(jī)1,虛擬交換機(jī)1為該報文設(shè)置一個VLAN13標(biāo)簽,并將該報文從自己的Port0轉(zhuǎn)發(fā)給VM15的Port0,在VM15的安全處理單元中對該報文進(jìn)行安全處理之后,安全處理單元中的引流裝置在內(nèi)部的二層轉(zhuǎn)發(fā)表中查找與目的MAC地址(這里,假設(shè)目的MAC地址為VM14的MAC地址)對應(yīng)的目的端口ID以及與目的端口對應(yīng)的VLANID,得到目的端口ID為Port0,VLANID為VLAN14。將該報文的標(biāo)簽由VLAN13修改為VLAN14,并將其轉(zhuǎn)發(fā)至虛擬交換機(jī)1,虛擬交換機(jī)1將該流量去掉標(biāo)簽,從Port14的端口轉(zhuǎn)發(fā)至VM13。此外,如果在該二層轉(zhuǎn)發(fā)表中查詢不到該報文的目的MAC地址或者該報文的目的MAC地址為廣播地址時,可以將報文廣播至所在的廣播域中,具體可以為:復(fù)制該報文,并將該報文的VLAN標(biāo)簽由VLAN13修改為VLAN1后從Port1上發(fā)出;復(fù)制該報文,將該報文的VLAN標(biāo)簽由VLAN13修改為VLAN14后從Port0上發(fā)出。若VM13需要訪問VM11時,VM13與VM11之間傳輸?shù)膱笪倪M(jìn)行安全防護(hù)以及牽引的具體流程可以為:VM13中傳輸?shù)膱笪膹腜ort13進(jìn)入虛擬交換機(jī)1,虛擬交換機(jī)1為該報文設(shè)置一個VLAN13標(biāo)簽,并將該報文從自己的Port0轉(zhuǎn)發(fā)給VM15的Port0,在VM15的安全處理單元中對該報文進(jìn)行安全處理之后,安全處理單元中的引流裝置在內(nèi)部的二層轉(zhuǎn)發(fā)表中查找與目的MAC地址(VM11的MAC地址)對應(yīng)的目的端口ID以及與目的端口對應(yīng)的VLANID,得到目的端口ID為Port1,VLANID為VLAN1。將該報文的標(biāo)簽由VLAN13修改為VLAN11,并將其轉(zhuǎn)發(fā)至虛擬交換機(jī)0,虛擬交換機(jī)0將該流量去掉標(biāo)簽再轉(zhuǎn)發(fā)至VM13。此外,如果在該二層轉(zhuǎn)發(fā)表中查詢不到該報文的目的MAC地址或者該報文的目的MAC地址為廣播地址時,可以將報文廣播至所在的廣播域中,具體可以為:復(fù)制該報文,并將該報文的VLAN標(biāo)簽由VLAN13修改為VLAN1后從Port1上發(fā)出;復(fù)制該報文,將該報文的VLAN標(biāo)簽由VLAN13修改為VLAN14后從Port0上發(fā)出?;谕话l(fā)明構(gòu)思,本申請實施例中還提供了一種與流量牽引方法對應(yīng)的流量牽引裝置,由于該裝置解決問題的原理與本發(fā)明實施例中流量牽引方法相似,因此該裝置的實施可以參見方法的實施,重復(fù)之處不再贅述。實施例三如圖5所示,為本申請實施例三提供的流量牽引裝置結(jié)構(gòu)圖,包括:接收模塊51,用于接收處于第一虛擬局域網(wǎng)VLAN中的第一虛擬機(jī)VM經(jīng)由源端口發(fā)來的報文,所述報文中攜帶有目的媒體訪問控制MAC地址以及第一VLAN標(biāo)簽;生成模塊52,用于基于預(yù)先設(shè)置的規(guī)則,生成與所述預(yù)先設(shè)置的規(guī)則對應(yīng)的二層轉(zhuǎn)發(fā)表;查找模塊53,用于基于所述二層轉(zhuǎn)發(fā)表,查找與所述目的MAC地址對應(yīng)的目的端口標(biāo)識ID和VLANID;更改標(biāo)簽?zāi)K54,用于將所述報文中攜帶的第一VLAN標(biāo)簽更改為與查找到的VLANID相對應(yīng)的第二VLAN標(biāo)簽;發(fā)送模塊55,用于將攜帶有第二VLAN標(biāo)簽的報文經(jīng)由查找到的目的端口轉(zhuǎn)發(fā)至第二VLAN中的第二VM??蛇x地,所述生成模塊52具體用于:將指定的不同VLAN下的各個端口以及與所述各個端口分別對應(yīng)的VLAN劃分在同一廣播域中;并,將所述各個端口ID與VLANID的對應(yīng)關(guān)系記錄在所述二層轉(zhuǎn)發(fā)表中??蛇x地,所述報文中還攜帶有源MAC地址;所述裝置還包括:存儲模塊56,用于將所述報文中攜帶的源MAC地址,源端口ID以及所述第一VLAN標(biāo)簽對應(yīng)對應(yīng)的VLANID記錄在所述二層轉(zhuǎn)發(fā)表中,以便后續(xù)基于所述二層轉(zhuǎn)發(fā)表轉(zhuǎn)發(fā)報文??蛇x地,所述查找模塊53具體用于:在所述二層轉(zhuǎn)發(fā)表中查找是否有與所述目的MAC地址相同的MAC地址;若在所述二層轉(zhuǎn)發(fā)表中查找到與所述目的MAC地址相同的MAC地址,則確定出與查找到的該MAC地址對應(yīng)的目的端口ID和VLANID??蛇x地,所述查找模塊53還用于:若在所述二層轉(zhuǎn)發(fā)表中沒有查找到與所述目的MAC地址相同的MAC地址,則將所述報文廣播至基于所述預(yù)先設(shè)置的規(guī)則確定出的廣播域中的其它VM,其中,其它VM中不包含第一VLAN中的第一VM且包含第二VLAN中的第二VM。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機(jī)程序產(chǎn)品的形式。本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、終端(系統(tǒng))、和計算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機(jī)程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機(jī)程序指令到通用計算機(jī)、專用計算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。這些計算機(jī)程序指令也可存儲在能引導(dǎo)計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機(jī)可讀存儲器中,使得存儲在該計算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。這些計算機(jī)程序指令也可裝載到計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機(jī)實現(xiàn)的處理,從而在計算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。盡管已描述了本發(fā)明的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明范圍的所有變更和修改。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。當(dāng)前第1頁1 2 3