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

一種虛擬機(jī)遷移方法和裝置與流程

文檔序號:11628660閱讀:225來源:國知局
一種虛擬機(jī)遷移方法和裝置與流程
本發(fā)明涉及通信
技術(shù)領(lǐng)域
,尤其涉及一種虛擬機(jī)遷移方法和裝置。
背景技術(shù)
:vxlan(virtualextensiblelocalareanetwork,可擴(kuò)展虛擬局域網(wǎng)絡(luò))是基于ip網(wǎng)絡(luò)、采用“mac(mediaaccesscontrol,媒體訪問控制)inudp(userdatagramprotocol,用戶數(shù)據(jù)報協(xié)議)”封裝形式的二層vpn(virtualprivatenetwork,虛擬專用網(wǎng)絡(luò))技術(shù)。vxlan可以基于已有的服務(wù)提供商或者企業(yè)ip網(wǎng)絡(luò),為分散的站點(diǎn)提供二層互聯(lián),并能夠為不同的租戶提供業(yè)務(wù)隔離。vxlan主要應(yīng)用于數(shù)據(jù)中心網(wǎng)絡(luò),如圖1所示,為采用vxlan的數(shù)據(jù)中心網(wǎng)絡(luò)示意圖,可以在服務(wù)器創(chuàng)建多個vm(virtualmachine,虛擬機(jī)),不同vm可以屬于不同vxlan或者相同vxlan,屬于相同vxlan的vm處于同一邏輯二層網(wǎng)絡(luò),彼此之間二層互通,屬于不同vxlan的vm之間二層隔離。如圖1所示,vm1可以從服務(wù)器1遷移到服務(wù)器2,則vtep(vxlantunnelendpoint,vxlan隧道端點(diǎn))2在接收到來自vm1的arp(addressresolutionprotocol,地址解析協(xié)議)報文后,通過vxlan隧道向vtep1/vtep3通告vm1路由,當(dāng)vtep1/vtep3接收到vtep2通告的vm1路由時,將接收vm1通告路由的接收接口作為出接口(即出接口指向vtep1/vtep3與vtep2的vxlan隧道),當(dāng)發(fā)送針對vm1的報文時,通過vxlan隧道發(fā)送給vtep2。但是,若vm1沒有從服務(wù)器1遷移到服務(wù)器2,而且攻擊者偽造vm1的arp報文,并發(fā)送給vtep2,這樣,就會導(dǎo)致vtep1/vtep3錯誤的將vm1的出接口學(xué)習(xí)到vxlan隧道,并導(dǎo)致報文無法真正的傳輸給vm1,導(dǎo)致vm1的業(yè)務(wù)會發(fā)生中斷,影響用戶的使用感受,而且還會帶來安全隱患。技術(shù)實現(xiàn)要素:本公開提供一種虛擬機(jī)遷移方法,應(yīng)用于第一設(shè)備,該方法包括:接收第二設(shè)備發(fā)送的路由通告消息,并從所述路由通告消息中解析出遷移屬性、虛擬機(jī)對應(yīng)的地址信息,所述遷移屬性表示所述虛擬機(jī)發(fā)生遷移;通過所述地址信息查詢轉(zhuǎn)發(fā)表,若得到與所述地址信息匹配的轉(zhuǎn)發(fā)表項,則通過所述轉(zhuǎn)發(fā)表項記錄的出接口發(fā)送針對所述虛擬機(jī)的arp請求消息;若接收到針對所述arp請求消息的arp應(yīng)答消息,則拒絕根據(jù)所述路由通告消息更新所述轉(zhuǎn)發(fā)表項。本公開提供一種虛擬機(jī)遷移方法,應(yīng)用于第二設(shè)備,該方法包括:在接收到來自虛擬機(jī)的arp消息時,若轉(zhuǎn)發(fā)表中已經(jīng)存在與所述虛擬機(jī)匹配的第一轉(zhuǎn)發(fā)表項,則在所述轉(zhuǎn)發(fā)表中添加與所述虛擬機(jī)匹配的第二轉(zhuǎn)發(fā)表項;其中,所述第一轉(zhuǎn)發(fā)表項記錄的出接口是所述第二設(shè)備與第一設(shè)備之間的隧道口,所述第二轉(zhuǎn)發(fā)表項記錄的出接口是所述第二設(shè)備上與虛擬機(jī)對應(yīng)的接口;根據(jù)所述第一轉(zhuǎn)發(fā)表項的出接口,向第一設(shè)備發(fā)送路由通告消息,所述路由通告消息攜帶遷移屬性和所述虛擬機(jī)的地址信息,所述遷移屬性表示所述虛擬機(jī)發(fā)生遷移;以使第一設(shè)備根據(jù)所述路由通告消息確定所述虛擬機(jī)是否遷移。本公開提供一種虛擬機(jī)遷移裝置,應(yīng)用于第一設(shè)備,該裝置包括:接收模塊,用于接收第二設(shè)備發(fā)送的路由通告消息;獲得模塊,用于從所述路由通告消息中解析出遷移屬性、虛擬機(jī)對應(yīng)的地址信息,其中,所述遷移屬性表示所述虛擬機(jī)發(fā)生遷移;發(fā)送模塊,用于通過所述地址信息查詢轉(zhuǎn)發(fā)表,若得到與所述地址信息匹配的轉(zhuǎn)發(fā)表項,則通過所述轉(zhuǎn)發(fā)表項記錄的出接口發(fā)送針對所述虛擬機(jī)的arp請求消息;更新模塊,用于當(dāng)接收到針對所述arp請求消息的arp應(yīng)答消息時,則拒絕根據(jù)所述路由通告消息更新所述轉(zhuǎn)發(fā)表項。本公開提供一種虛擬機(jī)遷移裝置,應(yīng)用于第二設(shè)備,包括:處理模塊,用于在接收到來自虛擬機(jī)的arp消息時,若轉(zhuǎn)發(fā)表中已經(jīng)存在與所述虛擬機(jī)匹配的第一轉(zhuǎn)發(fā)表項,在所述轉(zhuǎn)發(fā)表中添加與所述虛擬機(jī)匹配的第二轉(zhuǎn)發(fā)表項;所述第一轉(zhuǎn)發(fā)表項記錄的出接口是第二設(shè)備與第一設(shè)備之間的隧道口,所述第二轉(zhuǎn)發(fā)表項記錄的出接口是第二設(shè)備上與虛擬機(jī)對應(yīng)的接口;發(fā)送模塊,用于根據(jù)所述第一轉(zhuǎn)發(fā)表項的出接口,向所述第一設(shè)備發(fā)送路由通告消息,其中,所述路由通告消息攜帶遷移屬性和所述虛擬機(jī)的地址信息,所述遷移屬性表示所述虛擬機(jī)發(fā)生遷移;以使所述第一設(shè)備根據(jù)所述路由通告消息確定所述虛擬機(jī)是否遷移。基于上述技術(shù)方案,本公開實施例中,在接收到第二設(shè)備發(fā)送的路由通告消息后,并不是直接根據(jù)路由通告消息更新轉(zhuǎn)發(fā)表項,而是當(dāng)路由通告消息攜帶遷移屬性時,確定虛擬機(jī)是否遷移到與第二設(shè)備連接的服務(wù)器,如果否,就拒絕更新轉(zhuǎn)發(fā)表項,這樣,當(dāng)攻擊者偽造虛擬機(jī)的arp報文時,第一設(shè)備不會錯誤的將虛擬機(jī)的出接口學(xué)習(xí)到隧道口,可以將報文真正傳輸給虛擬機(jī),虛擬機(jī)的業(yè)務(wù)不會發(fā)生中斷,提高用戶使用感受,提高安全性,保證穩(wěn)定性。附圖說明為了更加清楚地說明本公開實施例或者現(xiàn)有技術(shù)中的技術(shù)方案,下面將對本公開實施例或者現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本公開中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,還可以根據(jù)本公開實施例的這些附圖獲得其他的附圖。圖1是采用vxlan的數(shù)據(jù)中心網(wǎng)絡(luò)示意圖;圖2是本公開一種實施方式中的虛擬機(jī)遷移方法的流程圖;圖3是本公開一種實施方式中的第一設(shè)備的硬件結(jié)構(gòu)圖;圖4是本公開一種實施方式中的虛擬機(jī)遷移裝置的結(jié)構(gòu)圖;圖5是本公開一種實施方式中的第二設(shè)備的硬件結(jié)構(gòu)圖;圖6是本公開一種實施方式中的虛擬機(jī)遷移裝置的結(jié)構(gòu)圖。具體實施方式在本公開實施例使用的術(shù)語僅僅是出于描述特定實施例的目的,而非限制本公開。本公開和權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其它含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”是指包含一個或多個相關(guān)聯(lián)的列出項目的任何或所有可能組合。應(yīng)當(dāng)理解,盡管在本公開可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本公開范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,此外,所使用的詞語“如果”可以被解釋成為“在……時”,或者,“當(dāng)……時”,或者,“響應(yīng)于確定”。本公開實施例中提出一種虛擬機(jī)遷移方法,該方法可以應(yīng)用于包括第一設(shè)備和第二設(shè)備的系統(tǒng),該系統(tǒng)還可以包括虛擬機(jī),且虛擬機(jī)可以在第一設(shè)備和第二設(shè)備間遷移。在實際應(yīng)用中,第一設(shè)備和第二設(shè)備可以是相對的,如第一設(shè)備還可以為第二設(shè)備,且第二設(shè)備也可以為第一設(shè)備,對此不做限制。參見圖2所示,為虛擬機(jī)遷移方法的流程圖,該方法可以包括:步驟201,第二設(shè)備在接收到來自虛擬機(jī)的arp消息(如arp請求消息或者免費(fèi)arp消息等)時,若轉(zhuǎn)發(fā)表中已經(jīng)存在與該虛擬機(jī)匹配的第一轉(zhuǎn)發(fā)表項,則在轉(zhuǎn)發(fā)表中添加與該虛擬機(jī)匹配的第二轉(zhuǎn)發(fā)表項,并根據(jù)該第一轉(zhuǎn)發(fā)表項的出接口(第二設(shè)備與第一設(shè)備之間的隧道口),向第一設(shè)備發(fā)送路由通告消息。其中,第一轉(zhuǎn)發(fā)表項記錄的出接口是第二設(shè)備與第一設(shè)備之間的隧道口(如vxlan隧道),而第二轉(zhuǎn)發(fā)表項記錄的出接口是第二設(shè)備上與虛擬機(jī)對應(yīng)的接口(例如,第二設(shè)備連接虛擬機(jī)所在服務(wù)器的接口)。在一個例子中,第二設(shè)備在接收到來自虛擬機(jī)的arp消息時,若轉(zhuǎn)發(fā)表中已經(jīng)存在與該虛擬機(jī)匹配的第一轉(zhuǎn)發(fā)表項,則說明這個虛擬機(jī)可能是遷移到該第二設(shè)備的,因此,根據(jù)接收到的arp消息,在轉(zhuǎn)發(fā)表中添加與該虛擬機(jī)匹配的第二轉(zhuǎn)發(fā)表項,并執(zhí)行后續(xù)步驟;在此情況下,轉(zhuǎn)發(fā)表中會共存與該虛擬機(jī)匹配的第一轉(zhuǎn)發(fā)表項和第二轉(zhuǎn)發(fā)表項。若轉(zhuǎn)發(fā)表中沒有與該虛擬機(jī)匹配的第一轉(zhuǎn)發(fā)表項,則說明這個虛擬機(jī)是在第二設(shè)備上線的,而不是遷移的,因此,根據(jù)接收到的arp消息,在轉(zhuǎn)發(fā)表中添加與該虛擬機(jī)匹配的第二轉(zhuǎn)發(fā)表項,但是不再執(zhí)行后續(xù)步驟,而是采用傳統(tǒng)流程進(jìn)行處理,對此處理不再贅述。在一個例子中,上述路由通告消息可以攜帶遷移屬性和虛擬機(jī)的地址信息,該遷移屬性表示該虛擬機(jī)發(fā)生遷移。其中,該地址信息可以包括但不限于mac(mediaaccesscontrol,媒體訪問控制)地址和/或ip(internetprotocol,網(wǎng)絡(luò)之間互連的協(xié)議)地址。該遷移屬性為根據(jù)實際情況任意配置的標(biāo)記,如123等,通過該遷移屬性,可以使接收到該路由通告消息的設(shè)備獲知,該路由通告消息是因虛擬機(jī)遷移而發(fā)出的。在一個例子中,針對“根據(jù)該第一轉(zhuǎn)發(fā)表項的出接口向第一設(shè)備發(fā)送路由通告消息”的過程,可以包括但不限于如下方式:方式一、第二設(shè)備在接收到來自虛擬機(jī)的arp消息后,可以先在轉(zhuǎn)發(fā)表中添加第二轉(zhuǎn)發(fā)表項,然后向第一設(shè)備發(fā)送路由通告消息;在此情況下,由于轉(zhuǎn)發(fā)表中存在與虛擬機(jī)匹配的第一轉(zhuǎn)發(fā)表項和第二轉(zhuǎn)發(fā)表項,則第二設(shè)備可以先從第一轉(zhuǎn)發(fā)表項和第二轉(zhuǎn)發(fā)表項中選取出接口為隧道口的轉(zhuǎn)發(fā)表項,即第一轉(zhuǎn)發(fā)表項,然后根據(jù)第一轉(zhuǎn)發(fā)表項的出接口向第一設(shè)備發(fā)送路由通告消息。方式二、第二設(shè)備在接收到來自虛擬機(jī)的arp消息后,可以先向第一設(shè)備發(fā)送路由通告消息,然后在轉(zhuǎn)發(fā)表中添加第二轉(zhuǎn)發(fā)表項;在此情況下,由于轉(zhuǎn)發(fā)表中只存在與虛擬機(jī)匹配的第一轉(zhuǎn)發(fā)表項,因此可以直接根據(jù)第一轉(zhuǎn)發(fā)表項的出接口向第一設(shè)備發(fā)送路由通告消息,然后再在轉(zhuǎn)發(fā)表中添加第二轉(zhuǎn)發(fā)表項。其中,路由通告消息攜帶遷移屬性的作用可以是:使第一設(shè)備根據(jù)路由通告消息確定虛擬機(jī)是否遷移到第二設(shè)備,第一設(shè)備的處理參見步驟202-204。具體的,若路由通告消息攜帶遷移屬性,則第一設(shè)備需要確定虛擬機(jī)是否遷移到第二設(shè)備。若路由通告消息未攜帶遷移屬性,則采用傳統(tǒng)方式,根據(jù)路由通告消息攜帶的地址信息更新轉(zhuǎn)發(fā)表項,而不用確定虛擬機(jī)是否遷移到第二設(shè)備。步驟202,第一設(shè)備接收第二設(shè)備發(fā)送的路由通告消息,并從該路由通告消息中解析出遷移屬性、虛擬機(jī)的地址信息,該遷移屬性表示虛擬機(jī)發(fā)生遷移。步驟203,第一設(shè)備通過該地址信息查詢轉(zhuǎn)發(fā)表,若得到與該地址信息匹配的轉(zhuǎn)發(fā)表項,則通過該轉(zhuǎn)發(fā)表項記錄的出接口(即與該路由通告消息攜帶的地址信息對應(yīng)的出接口)發(fā)送針對該虛擬機(jī)的arp請求消息。若未得到與該地址信息匹配的轉(zhuǎn)發(fā)表項,則直接在轉(zhuǎn)發(fā)表中建立與該地址信息匹配的轉(zhuǎn)發(fā)表項。在一個例子中,第一設(shè)備可以在本地維護(hù)轉(zhuǎn)發(fā)表,該轉(zhuǎn)發(fā)表中的每個表項稱為一個轉(zhuǎn)發(fā)表項,該轉(zhuǎn)發(fā)表項用于記錄地址信息與出接口的映射關(guān)系,因此,在通過路由通告消息攜帶的地址信息查詢轉(zhuǎn)發(fā)表時,就可以得到與該地址信息匹配的轉(zhuǎn)發(fā)表項,繼而可以從該轉(zhuǎn)發(fā)表項中得到與該地址信息對應(yīng)的出接口。在一個例子中,該arp請求消息的源地址為第一設(shè)備的地址信息,目的地址為該虛擬機(jī)的地址信息,也就是路由通告消息攜帶的地址信息。在一個例子中,第一設(shè)備通過該地址信息查詢轉(zhuǎn)發(fā)表,得到與該地址信息匹配的轉(zhuǎn)發(fā)表項之后,還可以查詢該轉(zhuǎn)發(fā)表項記錄的出接口。若該出接口是隧道口,則說明虛擬機(jī)不是從第一設(shè)備遷移的,不用查詢虛擬機(jī)是否從第一設(shè)備遷移到其它設(shè)備,因此,直接利用接收到該路由通告消息的接收接口(即第一設(shè)備與第二設(shè)備之間的隧道口)更新該轉(zhuǎn)發(fā)表項記錄的出接口。若該出接口是第一設(shè)備上與服務(wù)器連接的接口,則說明虛擬機(jī)可能從第一設(shè)備遷移到其它設(shè)備,需要查詢虛擬機(jī)是否從第一設(shè)備遷移到其它設(shè)備,因此,第一設(shè)備執(zhí)行“通過該轉(zhuǎn)發(fā)表項記錄的出接口發(fā)送針對虛擬機(jī)的arp請求消息”的步驟。步驟204,若接收到針對arp請求消息的arp應(yīng)答消息,則第一設(shè)備拒絕根據(jù)該路由通告消息更新轉(zhuǎn)發(fā)表項,即不使用接收到該路由通告消息的接收接口更新轉(zhuǎn)發(fā)表項的出接口。若預(yù)設(shè)時間內(nèi)沒有接收到針對arp請求消息的arp應(yīng)答消息,則第一設(shè)備利用接收到該路由通告消息的接收接口更新轉(zhuǎn)發(fā)表項記錄的出接口,該接收接口為第一設(shè)備與第二設(shè)備之間的隧道口。在一個例子中,若虛擬機(jī)未從第一設(shè)備遷移到第二設(shè)備,則虛擬機(jī)可接收到針對該虛擬機(jī)的arp請求消息,向第一設(shè)備發(fā)送針對該arp請求消息的arp應(yīng)答消息。若虛擬機(jī)已經(jīng)從第一設(shè)備遷移到第二設(shè)備,則虛擬機(jī)無法接收到針對該虛擬機(jī)的arp請求消息,無法發(fā)送針對該arp請求消息的arp應(yīng)答消息。在一個例子中,若第一設(shè)備接收到針對該arp請求消息的arp應(yīng)答消息,則說明虛擬機(jī)未遷移,第一設(shè)備可以向第二設(shè)備發(fā)送第一通告應(yīng)答消息,該第一通告應(yīng)答消息用于表示虛擬機(jī)未遷移;或者,若第一設(shè)備沒有接收到針對該arp請求消息的arp應(yīng)答消息,則說明虛擬機(jī)已遷移,第一設(shè)備可以向第二設(shè)備發(fā)送第二通告應(yīng)答消息,該第二通告應(yīng)答消息用于表示虛擬機(jī)已遷移。進(jìn)一步的,若第二設(shè)備接收到第一設(shè)備發(fā)送的第一通告應(yīng)答消息,則可以確定虛擬機(jī)未遷移,并刪除第二轉(zhuǎn)發(fā)表項;若第二設(shè)備接收到第一設(shè)備發(fā)送的第二通告應(yīng)答消息,則可以確定虛擬機(jī)已遷移,并刪除第一轉(zhuǎn)發(fā)表項。在實際應(yīng)用中,除了第一設(shè)備和第二設(shè)備,系統(tǒng)中還可以包括一個或者多個第三設(shè)備,第三設(shè)備通過隧道(如vxlan隧道)與第一設(shè)備連接,并通過隧道與第二設(shè)備連接。針對第三設(shè)備的轉(zhuǎn)發(fā)表項的更新過程,可以有如下方式:方式一、第二設(shè)備在接收到來自虛擬機(jī)的arp消息后,只根據(jù)第一轉(zhuǎn)發(fā)表項的出接口向第一設(shè)備發(fā)送路由通告消息,而不向第三設(shè)備發(fā)送路由通告消息。在此基礎(chǔ)上,第二設(shè)備在接收到第一設(shè)備發(fā)送的第一通告應(yīng)答消息之后,不向第三設(shè)備發(fā)送路由通告消息,即第三設(shè)備不會接收到路由通告消息,也就不會更新相關(guān)的轉(zhuǎn)發(fā)表項。第二設(shè)備在接收到第一設(shè)備發(fā)送的第二通告應(yīng)答消息之后,向第三設(shè)備發(fā)送路由通告消息,該路由通告消息攜帶遷移屬性和虛擬機(jī)的地址信息,該遷移屬性表示虛擬機(jī)發(fā)生遷移。第三設(shè)備通過該地址信息查詢轉(zhuǎn)發(fā)表,若得到與該地址信息匹配的轉(zhuǎn)發(fā)表項,則可以查詢該轉(zhuǎn)發(fā)表項記錄的出接口。若該轉(zhuǎn)發(fā)表項記錄的出接口是隧道口,則利用接收到路由通告消息的接收接口(即第三設(shè)備與第二設(shè)備之間的隧道口)更新該轉(zhuǎn)發(fā)表項記錄的出接口。方式二、第二設(shè)備在接收到來自虛擬機(jī)的arp消息后,除了根據(jù)第一轉(zhuǎn)發(fā)表項的出接口向第一設(shè)備發(fā)送路由通告消息,還向第三設(shè)備發(fā)送路由通告消息,該路由通告消息攜帶遷移屬性和虛擬機(jī)的地址信息,該遷移屬性表示虛擬機(jī)發(fā)生遷移。第三設(shè)備通過該地址信息查詢轉(zhuǎn)發(fā)表,若得到與該地址信息匹配的轉(zhuǎn)發(fā)表項,則查詢該轉(zhuǎn)發(fā)表項記錄的出接口。若該轉(zhuǎn)發(fā)表項記錄的出接口是隧道口,則直接利用接收到該路由通告消息的接收接口(即第三設(shè)備與第二設(shè)備之間的隧道口)更新該轉(zhuǎn)發(fā)表項記錄的出接口。在此基礎(chǔ)上,若第二設(shè)備接收到第一設(shè)備發(fā)送的第一通告應(yīng)答消息,則還可以向第三設(shè)備發(fā)送針對該路由通告消息的路由撤銷消息,該路由撤銷消息攜帶該虛擬機(jī)的地址信息,以使第三設(shè)備撤銷與該地址信息匹配的轉(zhuǎn)發(fā)表項。此外,若第二設(shè)備接收到第一設(shè)備發(fā)送的第二通告應(yīng)答消息,則結(jié)束流程?;谏鲜黾夹g(shù)方案,本公開實施例中,在接收到第二設(shè)備發(fā)送的路由通告消息后,并不是直接根據(jù)路由通告消息更新轉(zhuǎn)發(fā)表項,而是當(dāng)路由通告消息攜帶遷移屬性時,確定虛擬機(jī)是否遷移到與第二設(shè)備連接的服務(wù)器,如果否,就拒絕更新轉(zhuǎn)發(fā)表項,這樣,當(dāng)攻擊者偽造虛擬機(jī)的arp報文時,第一設(shè)備不會錯誤的將虛擬機(jī)的出接口學(xué)習(xí)到隧道口,可以將報文真正傳輸給虛擬機(jī),虛擬機(jī)的業(yè)務(wù)不會發(fā)生中斷,提高用戶使用感受,提高安全性,保證穩(wěn)定性。以下結(jié)合圖1所示的應(yīng)用場景,對上述技術(shù)方案進(jìn)行詳細(xì)說明。在圖1中,vtep1通過接口1與服務(wù)器1連接,vtep2通過接口2與服務(wù)器2連接,vtep1通過vxlan隧道1與vtep2連接,vtep1通過vxlan隧道2與vtep3連接,vtep2通過vxlan隧道3與vtep3連接,vm1部署在服務(wù)器1。vtep1可以為第一設(shè)備,vtep2可以為第二設(shè)備,vtep3可以為第三設(shè)備。在上述應(yīng)用場景下,則本公開實施例中的虛擬機(jī)遷移方法可以包括:步驟1、當(dāng)vm1在vtep1上線時,vtep1生成vm1的轉(zhuǎn)發(fā)表項,假設(shè)vm1的ip地址為10.1.1.2/24,mac地址為1-1-1,轉(zhuǎn)發(fā)表項的示例如表1所示。表1ip地址mac地址出接口10.1.1.2/241-1-1接口1步驟2、vtep1通過vxlan隧道1向vtep2發(fā)送路由通告消息,通過vxlan隧道2向vtep3發(fā)送路由通告消息。其中,該路由通告消息攜帶vm1的ip地址10.1.1.2/24和mac地址1-1-1,且路由通告消息并未攜帶遷移屬性。步驟3、vtep2在通過vxlan隧道1接收到該路由通告消息之后,可以生成vm1的轉(zhuǎn)發(fā)表項,如表2所示。此外,vtep3在通過vxlan隧道2接收到該路由通告消息之后,可以生成vm1的轉(zhuǎn)發(fā)表項,如表3所示。表2ip地址mac地址出接口10.1.1.2/241-1-1vxlan隧道1表3ip地址mac地址出接口10.1.1.2/241-1-1vxlan隧道2步驟4、當(dāng)vm1從服務(wù)器1遷移到服務(wù)器2,并在vtep2上線時,則vtep2可以接收到來自vm1的arp報文,并從該arp報文中解析出vm1的ip地址10.1.1.2/24和mac地址1-1-1。由于表2中已經(jīng)記錄vm1的ip地址10.1.1.2/24和mac地址1-1-1,因此,可以確定vm1是從其它服務(wù)器遷移到服務(wù)器2。步驟5、vtep2為vm1生成一個新轉(zhuǎn)發(fā)表項,在生成新轉(zhuǎn)發(fā)表項后,不刪除之前已經(jīng)存在的轉(zhuǎn)發(fā)表項,即兩個轉(zhuǎn)發(fā)表項共存,一個轉(zhuǎn)發(fā)表項的出接口為vxlan隧道1,另一個轉(zhuǎn)發(fā)表項的出接口為接口2,即將表2更新為表4。表4ip地址mac地址出接口10.1.1.2/241-1-1vxlan隧道110.1.1.2/241-1-1接口2步驟6、vtep2從vm1對應(yīng)的兩個轉(zhuǎn)發(fā)表項中選取出接口為vxlan隧道的轉(zhuǎn)發(fā)表項,即表4中出接口為vxlan隧道1的轉(zhuǎn)發(fā)表項,然后通過vxlan隧道1向vtep1發(fā)送路由通告消息,其中,該路由通告消息攜帶vm1的ip地址10.1.1.2/24和mac地址1-1-1,且路由通告消息攜帶遷移屬性。步驟7、vtep1在通過vxlan隧道1接收到路由通告消息后,通過ip地址10.1.1.2/24和mac地址1-1-1查詢轉(zhuǎn)發(fā)表,得到匹配的轉(zhuǎn)發(fā)表項,如表1所示,該轉(zhuǎn)發(fā)表項記錄的出接口是接口1(與服務(wù)器1連接的接口),執(zhí)行步驟8。步驟8、vtep1通過表1所示的轉(zhuǎn)發(fā)表項的出接口(接口1)發(fā)送arp請求消息,該arp請求消息的目的ip地址為10.1.1.2/24,目的mac地址為1-1-1。步驟9、假設(shè)vm1已經(jīng)從服務(wù)器1遷移到服務(wù)器2,則vtep1在預(yù)設(shè)時間內(nèi)將無法接收到arp應(yīng)答消息,因此,vtep1利用路由通告消息的接收接口(即vxlan隧道1)更新表1所示的轉(zhuǎn)發(fā)表項的出接口,將表1更新為表5。表5ip地址mac地址出接口10.1.1.2/241-1-1vxlan隧道1步驟10、vtep1通過vxlan隧道1發(fā)送第二通告應(yīng)答消息,第二通告應(yīng)答消息攜帶vm1的ip地址10.1.1.2/24和mac地址1-1-1,表示vm1已遷移。步驟11、vtep2通過vxlan隧道1接收到表示vm1已遷移的第二通告應(yīng)答消息后,刪除出接口為vxlan隧道1的轉(zhuǎn)發(fā)表項,并將表4更新為表6。表6ip地址mac地址出接口10.1.1.2/241-1-1接口2步驟12、vtep2通過vxlan隧道3向vtep3發(fā)送路由通告消息。步驟13、vtep3在通過vxlan隧道3接收到路由通告消息后,通過ip地址10.1.1.2/24和mac地址1-1-1查詢轉(zhuǎn)發(fā)表,得到匹配的轉(zhuǎn)發(fā)表項,即表3,該轉(zhuǎn)發(fā)表項記錄的出接口是vxlan隧道2,vtep3利用路由通告消息的接收接口(即vxlan隧道3)更新該轉(zhuǎn)發(fā)表項記錄的出接口,將表3更新為表7。表7ip地址mac地址出接口10.1.1.2/241-1-1vxlan隧道3至此成功更新vtep1、vtep2、vtep3的轉(zhuǎn)發(fā)表項,vtep1的轉(zhuǎn)發(fā)表項如表5所示,vtep2的轉(zhuǎn)發(fā)表項如表6所示,vtep3的轉(zhuǎn)發(fā)表項如表7所示。本公開實施例中提出的另一種虛擬機(jī)遷移方法可以包括如下步驟:步驟21-步驟28,與步驟1-步驟8類似,在此不再重復(fù)贅述。步驟29、假設(shè)vm1沒有從服務(wù)器1遷移到服務(wù)器2,則vtep1在預(yù)設(shè)時間內(nèi)可以接收到arp應(yīng)答消息,因此,vtep1保持表1所示的轉(zhuǎn)發(fā)表項不變。步驟30、vtep1通過vxlan隧道1發(fā)送第一通告應(yīng)答消息,第一通告應(yīng)答消息攜帶vm1的ip地址10.1.1.2/24和mac地址1-1-1,表示vm1未遷移。步驟31、vtep2通過vxlan隧道1接收到表示vm1未遷移的第一通告應(yīng)答消息后,刪除出接口為接口2的轉(zhuǎn)發(fā)表項,并將表4更新為表8。表8ip地址mac地址出接口10.1.1.2/241-1-1vxlan隧道1在一個例子中,vtep2不再通過vxlan隧道3向vtep3發(fā)送路由通告消息,也就是說,vtep3上的轉(zhuǎn)發(fā)表項保持不變,仍然如表3所示。在另一個例子中,在步驟26中,vtep2還可以通過vxlan隧道3向vtep3發(fā)送路由通告消息。vtep3在通過vxlan隧道3接收到路由通告消息后,通過ip地址10.1.1.2/24和mac地址1-1-1查詢轉(zhuǎn)發(fā)表,得到匹配的轉(zhuǎn)發(fā)表項,即表3,該轉(zhuǎn)發(fā)表項記錄的出接口是vxlan隧道2,vtep3利用路由通告消息的接收接口(即vxlan隧道3)更新該轉(zhuǎn)發(fā)表項記錄的出接口,將表3更新為表7。在此情況下,步驟31之后,該虛擬機(jī)遷移方法還可以包括以下步驟:步驟32、vtep2通過vxlan隧道3向vtep3發(fā)送路由撤銷消息,攜帶vm1的ip地址10.1.1.2/24和mac地址1-1-1,且路由撤銷消息用于撤銷路由。步驟33、vtep3在通過vxlan隧道3接收到路由撤銷消息后,查詢本地是否存在ip地址為10.1.1.2/24,mac地址為1-1-1,且出接口為vxlan隧道3的轉(zhuǎn)發(fā)表項,由于存在,如表7所示,因此,根據(jù)路由撤銷消息執(zhí)行撤銷路由的操作,即刪除ip地址10.1.1.2/24、mac地址1-1-1、vxlan隧道3的對應(yīng)關(guān)系。然后,vtep3不再包含針對vm1的轉(zhuǎn)發(fā)表項,可以重新學(xué)習(xí)vm1的轉(zhuǎn)發(fā)表項,如發(fā)送目的ip地址為10.1.1.2/24、目的mac地址為1-1-1的arp請求消息,對此學(xué)習(xí)過程不再贅述,vtep3維護(hù)的vm1的轉(zhuǎn)發(fā)表項如表3所示。至此成功更新vtep1、vtep2、vtep3的轉(zhuǎn)發(fā)表項,vtep1的轉(zhuǎn)發(fā)表項如表1所示,vtep2的轉(zhuǎn)發(fā)表項如表8所示,vtep3的轉(zhuǎn)發(fā)表項如表3所示?;谂c上述方法同樣的公開構(gòu)思,本公開實施例還提供一種虛擬機(jī)遷移裝置,該虛擬機(jī)遷移裝置可以應(yīng)用在第一設(shè)備。其中,該虛擬機(jī)遷移裝置可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在的第一設(shè)備的處理器,讀取非易失性存儲器中對應(yīng)的計算機(jī)程序指令形成的。從硬件層面而言,如圖3所示,為該虛擬機(jī)遷移裝置所在的第一設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖3所示的處理器、非易失性存儲器外,第一設(shè)備還可以包括其他硬件,如負(fù)責(zé)處理報文的轉(zhuǎn)發(fā)芯片、網(wǎng)絡(luò)接口、內(nèi)存等;從硬件結(jié)構(gòu)上來講,第一設(shè)備還可能是分布式設(shè)備,可能包括多個接口卡,以便在硬件層面進(jìn)行報文處理的擴(kuò)展。如圖4所示,為虛擬機(jī)遷移裝置的結(jié)構(gòu)圖,所述裝置包括:接收模塊11,用于接收第二設(shè)備發(fā)送的路由通告消息;獲得模塊12,用于從所述路由通告消息中解析出遷移屬性、虛擬機(jī)對應(yīng)的地址信息,其中,所述遷移屬性表示所述虛擬機(jī)發(fā)生遷移;發(fā)送模塊13,用于通過所述地址信息查詢轉(zhuǎn)發(fā)表,若得到與所述地址信息匹配的轉(zhuǎn)發(fā)表項,則通過所述轉(zhuǎn)發(fā)表項記錄的出接口發(fā)送針對所述虛擬機(jī)的arp請求消息;更新模塊14,用于當(dāng)接收到針對所述arp請求消息的arp應(yīng)答消息時,則拒絕根據(jù)所述路由通告消息更新所述轉(zhuǎn)發(fā)表項。所述更新模塊14,還用于當(dāng)沒有接收到針對所述arp請求消息的arp應(yīng)答消息時,則利用接收到所述路由通告消息的接收接口更新所述轉(zhuǎn)發(fā)表項記錄的出接口;其中,所述接收接口為所述第一設(shè)備與所述第二設(shè)備之間的隧道口。在一個例子中,所述發(fā)送模塊13,還用于當(dāng)接收到針對所述arp請求消息的arp應(yīng)答消息時,則向所述第二設(shè)備發(fā)送第一通告應(yīng)答消息,所述第一通告應(yīng)答消息用于表示所述虛擬機(jī)未遷移;或者,當(dāng)沒有接收到針對所述arp請求消息的arp應(yīng)答消息時,則向所述第二設(shè)備發(fā)送第二通告應(yīng)答消息,所述第二通告應(yīng)答消息用于表示所述虛擬機(jī)已遷移?;谂c上述方法同樣的公開構(gòu)思,本公開實施例還提供一種虛擬機(jī)遷移裝置,該虛擬機(jī)遷移裝置可以應(yīng)用在第二設(shè)備。其中,該虛擬機(jī)遷移裝置可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在的第二設(shè)備的處理器,讀取非易失性存儲器中對應(yīng)的計算機(jī)程序指令形成的。從硬件層面而言,如圖5所示,為該虛擬機(jī)遷移裝置所在的第二設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖5所示的處理器、非易失性存儲器外,第二設(shè)備還可以包括其他硬件,如負(fù)責(zé)處理報文的轉(zhuǎn)發(fā)芯片、網(wǎng)絡(luò)接口、內(nèi)存等;從硬件結(jié)構(gòu)上來講,第二設(shè)備還可能是分布式設(shè)備,可能包括多個接口卡,以便在硬件層面進(jìn)行報文處理的擴(kuò)展。如圖6所示,為虛擬機(jī)遷移裝置的結(jié)構(gòu)圖,所述裝置包括:處理模塊21,用于在接收到來自虛擬機(jī)的arp消息時,若轉(zhuǎn)發(fā)表中已經(jīng)存在與所述虛擬機(jī)匹配的第一轉(zhuǎn)發(fā)表項,在所述轉(zhuǎn)發(fā)表中添加與所述虛擬機(jī)匹配的第二轉(zhuǎn)發(fā)表項;第一轉(zhuǎn)發(fā)表項記錄的出接口是第二設(shè)備與第一設(shè)備之間的隧道口,第二轉(zhuǎn)發(fā)表項記錄的出接口是第二設(shè)備上與虛擬機(jī)對應(yīng)的接口;發(fā)送模塊22,用于根據(jù)所述第一轉(zhuǎn)發(fā)表項的出接口,向所述第一設(shè)備發(fā)送路由通告消息,其中,所述路由通告消息攜帶遷移屬性和所述虛擬機(jī)的地址信息,所述遷移屬性表示所述虛擬機(jī)發(fā)生遷移;以使所述第一設(shè)備根據(jù)所述路由通告消息確定所述虛擬機(jī)是否遷移。所述處理模塊21,還用于當(dāng)接收到所述第一設(shè)備發(fā)送的第一通告應(yīng)答消息時,確定所述虛擬機(jī)未遷移,并刪除所述第二轉(zhuǎn)發(fā)表項,所述第一通告應(yīng)答消息用于表示所述虛擬機(jī)未遷移;當(dāng)接收到所述第一設(shè)備發(fā)送的第二通告應(yīng)答消息時,確定所述虛擬機(jī)已遷移,刪除所述第一轉(zhuǎn)發(fā)表項,所述第二通告應(yīng)答消息用于表示所述虛擬機(jī)已遷移。所述發(fā)送模塊22,還用于在接收到所述第一設(shè)備發(fā)送的第二通告應(yīng)答消息后,向第三設(shè)備發(fā)送路由通告消息,所述路由通告消息攜帶遷移屬性和所述虛擬機(jī)的地址信息,所述遷移屬性表示所述虛擬機(jī)發(fā)生遷移;以使第三設(shè)備將與所述地址信息匹配的轉(zhuǎn)發(fā)表項的出接口更新為接收到所述路由通告消息的接收接口。所述發(fā)送模塊22,還用于在接收到所述第一設(shè)備發(fā)送的第一通告應(yīng)答消息或者第二通告應(yīng)答消息之前,向第三設(shè)備發(fā)送路由通告消息,所述路由通告消息攜帶遷移屬性和所述虛擬機(jī)的地址信息,所述遷移屬性表示所述虛擬機(jī)發(fā)生遷移;以使所述第三設(shè)備將與所述地址信息匹配的轉(zhuǎn)發(fā)表項的出接口更新為接收到所述路由通告消息的接收接口;在接收到所述第一設(shè)備發(fā)送的第一通告應(yīng)答消息之后,則向所述第三設(shè)備發(fā)送針對所述路由通告消息的路由撤銷消息,所述路由撤銷消息攜帶所述虛擬機(jī)的地址信息,以使所述第三設(shè)備撤銷與所述地址信息匹配的轉(zhuǎn)發(fā)表項。上述實施例闡明的系統(tǒng)、裝置、模塊或單元,具體可以由計算機(jī)芯片或?qū)嶓w實現(xiàn),或者由具有某種功能的產(chǎn)品來實現(xiàn)。一種典型的實現(xiàn)設(shè)備為計算機(jī),計算機(jī)的具體形式可以是個人計算機(jī)、膝上型計算機(jī)、蜂窩電話、相機(jī)電話、智能電話、個人數(shù)字助理、媒體播放器、導(dǎo)航設(shè)備、電子郵件收發(fā)設(shè)備、游戲控制臺、平板計算機(jī)、可穿戴設(shè)備或者這些設(shè)備中的任意幾種設(shè)備的組合。為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當(dāng)然,在實施本公開時可以把各單元的功能在同一個或多個軟件和/或硬件中實現(xiàn)。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本公開的實施例可提供為方法、系統(tǒng)、或計算機(jī)程序產(chǎn)品。因此,本公開可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本公開實施例可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機(jī)程序產(chǎn)品的形式。本公開是參照根據(jù)本公開實施例的方法、設(shè)備(系統(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)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。本領(lǐng)域技術(shù)人員應(yīng)明白,本公開的實施例可提供為方法、系統(tǒng)或計算機(jī)程序產(chǎn)品。因此,本公開可以采用完全硬件實施例、完全軟件實施例、或者結(jié)合軟件和硬件方面的實施例的形式。而且,本公開可以采用在一個或者多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(可以包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機(jī)程序產(chǎn)品的形式。以上所述僅為本公開的實施例而已,并不用于限制本公開。對于本領(lǐng)域技術(shù)人員來說,本公開可以有各種更改和變化。凡在本公開的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本公開的權(quán)利要求范圍之內(nèi)。當(dāng)前第1頁12
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
松潘县| 绥芬河市| 砀山县| 六枝特区| 舞钢市| 高清| 海口市| 台北县| 满洲里市| 阿坝| 乃东县| 金塔县| 新化县| 团风县| 武安市| 太康县| 巫溪县| 抚松县| 分宜县| 昌都县| 泉州市| 灵山县| 申扎县| 玉田县| 兰西县| 香格里拉县| 哈尔滨市| 曲周县| 两当县| 鄯善县| 美姑县| 吴桥县| 眉山市| 河间市| 尉氏县| 区。| 张家界市| 莆田市| 阿巴嘎旗| 庄浪县| 灵丘县|