確定主機遷移狀態(tài)的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本申請涉及LISP (Locator/Identity Separat1n Protocol,位置和標(biāo)識分離協(xié)議)技術(shù)領(lǐng)域,尤其涉及LISP網(wǎng)絡(luò)中確定主機迀移狀態(tài)的方法及裝置。
【背景技術(shù)】
[0002]LISP提供了一種新型的網(wǎng)絡(luò)架構(gòu),將IP地址分為兩個獨立的地址空間:EID (Endpoint Identif ier,端點標(biāo)識)和 RLOC (Routing Locator,路由位置符)。EID 為通信端點的主機地址,與現(xiàn)有實現(xiàn)相同,在LISP中的作用類似于DNS (Domain Name System,域名系統(tǒng)),擁有獨立的空間。在LISP網(wǎng)絡(luò)中,EID可以獨立于RLOC進行迀移;RLOC為LISP路由器的地址,可在現(xiàn)有Internet中路由轉(zhuǎn)發(fā),可全局路由。EID之間通信的報文封裝在RLOC之間的隧道中進行轉(zhuǎn)發(fā)。
[0003]圖1為LISP網(wǎng)絡(luò)全景示意圖,如圖1所示,LISP組件如下:
[0004]I) xTRs (xTunnel Routers):隧道路由器,包括:ITR(Ingress Router,入口 TR)和ETR (Egress TR,出口 TR);
[0005]每個LISP站點的所有ETR上都維護有本站點的EID與RLOC的映射關(guān)系,ETR周期性地將本站點的EID與RLOC的映射關(guān)系通過注冊報文發(fā)送給MS。
[0006]2) Map DB (Map DataBase,映射數(shù)據(jù)庫):EID到RLOC的映射數(shù)據(jù)庫,包含RLOC與EID的映射關(guān)系,存儲在映射服務(wù)器(MS,Map Server)上;
[0007]MS接收到ETR發(fā)來的注冊報文,將報文中的EID與RLOC的映射關(guān)系存儲在Map DB中。
[0008]3) PxTR(Proxy xTR):代理xTR,位于支持LISP和不支持LISP的網(wǎng)絡(luò)邊界處。
[0009]LISP通過ITR和ETR實現(xiàn)了核心網(wǎng)和邊緣網(wǎng)的分離,它通過一個映射系統(tǒng)用來實現(xiàn)從EID至RLOC的映射解析。LISP通過IP_in_IP的封裝及解封裝機制實現(xiàn)了在核心網(wǎng)中的路由和轉(zhuǎn)發(fā)。
[0010]以圖1為例,當(dāng)LISP站點A內(nèi)的主機I向LISP站點B內(nèi)的主機2發(fā)送數(shù)據(jù)時,主機2的EID在核心網(wǎng)中是不可路由的;當(dāng)數(shù)據(jù)包到達ITR后,ITR發(fā)現(xiàn)本地沒有保存主機2的EID對應(yīng)的RL0C,則向MR (Map Resolver,映射解析器)發(fā)送Map-Request消息以查詢主機2的EID對應(yīng)的RL0C,MR將Map-Request消息轉(zhuǎn)發(fā)給MS,MS在本地Map DB中查找到主機2的EID對應(yīng)的ETR的RL0C,MS將Map-Request消息轉(zhuǎn)發(fā)給ETR,ETR將主機2的EID和自己的RLOC攜帶在Map-Response消息中返回給ITR ;然后ITR封裝該數(shù)據(jù)包,以自己的RLOC為源地址,以對端ETR的RLOC為目的地址,同時保存主機2的EID與ETR的RLOC的映射關(guān)系;對端ETR收到該包后解封裝該包,最后將數(shù)據(jù)包發(fā)送給主機2。
[0011]在LISP網(wǎng)絡(luò)中,主機會發(fā)生迀移,如圖2所示,vCenter(虛擬中心)控制VM(Virtual Machine,虛擬機)的迀移,設(shè)在某一時刻,vCenter確定將VM B從DC(DataCenter,數(shù)據(jù)中心)I迀移到DC2,則具體迀移過程如下:
[0012]I) VM B 從 DCl 迀移到 DC2,ETR4 收到 VM B 發(fā)出的免費 ARP (Address Resolut1nProtocol,地址解析協(xié)議)報文或者數(shù)據(jù)報文,從而ETR4感知到VM B迀移到本ETR下;
[0013]2)ETR4通過組播Notify消息向本二層網(wǎng)的其它ETR(ETR3)通知VM B迀入DC2,并通過注冊消息向MS注冊VM B的EID ;
[0014]3) MS根據(jù)VM B的EID在本地Map DB中,查找到VM B對應(yīng)的迀出ETR:ETR2的RLOC,向ETR2發(fā)送Map-Notify消息通知VM B已迀出;
[0015]4) ETR2收到該Map-Notify消息后,將VM B的狀態(tài)設(shè)為:迀出,并將該Map-Notify消息在本二層網(wǎng)內(nèi)廣播;
[0016]5)當(dāng)ETR2收到目的為VM B的數(shù)據(jù)報文后,向發(fā)出該報文的遠端TR發(fā)起SMR(Solicit Map-Request,請求發(fā)起映射請求)消息,該SMR消息中攜帶VM B的EID,以觸發(fā)該遠端TR重新去請求VM B對應(yīng)的迀入RL0C,同時丟棄該數(shù)據(jù)報文;
[0017]6)遠端TR收到該SMR消息,向MR(映射解析器)發(fā)起攜帶VM B的EID的Map-Request消息,MR將Map-Request消息轉(zhuǎn)發(fā)給MS,MS在本地Map DB中查找到VM B的EID對應(yīng)的迀入ETR4的RL0C,MS將Map-Request消息轉(zhuǎn)發(fā)給ETR4,ETR4將VM B的EID與ETR4的RLOC的映射關(guān)系攜帶在Map-Response消息中返回給遠端TR,遠端TR以該映射關(guān)系更新自身保存的原VM B的EID與ETR2的RLOC的映射關(guān)系,此后,該遠端TR發(fā)出的以VMB為目的的報文不再發(fā)給ETR2,而是發(fā)給ETR4,流量迀移完成。
【發(fā)明內(nèi)容】
[0018]本申請實施例提供確定主機迀移狀態(tài)的方法及裝置。
[0019]本申請的技術(shù)方案是這樣實現(xiàn)的:
[0020]一種確定主機迀移狀態(tài)的方法,該方法包括:出口隧道路由器ETR接收映射服務(wù)器MS發(fā)來的映射通知Map-Notify消息,發(fā)現(xiàn)該消息攜帶的端點標(biāo)識EID為用戶配置的主機地址,且該消息攜帶的路由位置符RLOC不為本ETR的RL0C,則確定該主機從本ETR迀出,將該主機的EID放入非易失性存儲介質(zhì)內(nèi),確認(rèn)該主機的狀態(tài)為:迀出;
[0021]ETR檢測到主機迀入時,若在非易失性存儲介質(zhì)內(nèi)查找到該主機的EID,則將該主機的EID從非易失性存儲介質(zhì)內(nèi)刪除,并確認(rèn)該主機的狀態(tài)為:迀出再迀入。
[0022]一種確定主機迀移狀態(tài)的裝置,位于ETR上,該裝置包括:
[0023]迀出判斷處理模塊:接收映射服務(wù)器MS發(fā)來的映射通知Map-Notify消息,發(fā)現(xiàn)該消息攜帶的EID為用戶配置的主機地址,且該消息攜帶的路由位置符RLOC不為本ETR的RL0C,則確定該主機從本ETR迀出,將該主機的EID放入非易失性存儲介質(zhì)內(nèi),并確認(rèn)該主機的狀態(tài)為:迀出;
[0024]迀入判斷處理模塊:檢測到主機迀入時,若在非易失性存儲介質(zhì)內(nèi)查找到該主機的EID,則將該主機的EID從非易失性存儲介質(zhì)內(nèi)刪除,并確認(rèn)該主機的狀態(tài)為:迀出再迀入。
[0025]可見,本申請實施例中,在VM迀出ETR時,ETR將VM的EID放入非易失性存儲介質(zhì)內(nèi),使得在ETR重啟后,仍能正確檢測出自己針對VM的迀移角色,增強了迀移穩(wěn)定性。
【附圖說明】
[0026]圖1為LISP網(wǎng)絡(luò)全景示意圖;
[0027]圖2為主機在LISP站點間的迀移示例圖;
[0028]圖3為本申請一實施例提供的確定主機迀移狀態(tài)的方法流程圖;
[0029]圖4為本申請另一實施例提供的確定主機迀移狀態(tài)的方法流程圖;
[0030]圖5為本申請實施例提供的確定主機迀移狀態(tài)的裝置的組成示意圖。
【具體實施方式】
[0031]申請人對現(xiàn)有的LISP網(wǎng)絡(luò)中的主機迀移過程進行分析,發(fā)現(xiàn)存在如下問題:
[0032]以圖2為例,當(dāng)VM B從DCl迀移到DC2后,ETR2需要記錄VM B的狀態(tài)為:迀出,若之后VM B又從DC2迀回DC1,此時,ETR2查詢之前記錄的VM B的狀態(tài),發(fā)現(xiàn)為迀出,則確定本次VM B為迀出再迀入,則將記錄的VM B的狀態(tài)更新為:迀出再迀入。
[0033]當(dāng)有VM迀出或者迀出再迀入時,ETR必須準(zhǔn)確記錄VM的狀態(tài),以便ETR針對不同的狀態(tài)進行不同的處理,從而保證MS維護的Map DB的準(zhǔn)確性。仍以圖2為例,在VM B迀移過程中,MS的Map DB中的映射關(guān)系的變化如下:
[0034]a、在ETR2啟動后,會根據(jù)自身配置的原始支持的EID網(wǎng)段,向MS發(fā)送注冊消息,該注冊消息攜帶該原始支持的EID網(wǎng)段(以IPv4地址為例,EID網(wǎng)段為24bit),這樣MS的Map DB就保存了 ETR2的RLOC與ETR2原始支持的EID網(wǎng)段的映射關(guān)系;
[0035]b、此后,當(dāng)VM B從ETR2迀移到ETR4后,ETR4感知到后會向MS發(fā)送注冊消息,該消息攜帶VM B