本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種LISP(Locator Identity Separation Protocol,位置標(biāo)識分離協(xié)議)網(wǎng)絡(luò)中的主機(jī)遷移方法及裝置。
背景技術(shù):
LISP(Locator Identity Separation Protocol,位置標(biāo)識分離協(xié)議)是一種位置和標(biāo)識分離的網(wǎng)絡(luò)協(xié)議,LISP網(wǎng)絡(luò)形成了兩個獨(dú)立的地址空間,即EID(Endpoint IDentifier,端點(diǎn)標(biāo)識)空間和RLOC(Routing LOCator,路由器位置)空間。其中,EID為通信端點(diǎn)的主機(jī)地址,用于表明主機(jī)的身份;RLOC為LISP路由器的地址,用于表明主機(jī)連接的路由器的位置。xTR為ITR(Ingress Tunnel Router,入向隧道路由器)和ETR(Engress Tunnel Router,出向隧道路由器)的統(tǒng)稱,表示路由器具備ITR和/或ETR能力。xTR中保存有EID-RLOC映射關(guān)系,MS/MR(Map Server,映射服務(wù)器;Map Reslover,映射解析器)中維護(hù)有更全面的EID-RLOC映射關(guān)系。當(dāng)主機(jī)在不同的數(shù)據(jù)中心之間遷移時,xTR需要在MS/MR中對主機(jī)進(jìn)行注冊,從而更新MS/MR中的EID-RLOC映射關(guān)系。
現(xiàn)有技術(shù)中,如圖1所示,當(dāng)數(shù)據(jù)中心DC2中的主機(jī)A遷入數(shù)據(jù)中心DC1時,DC1中的xTR1感知到該主機(jī)A的遷入,會周期性地向MS/MR注冊該主機(jī)A,然后MS/MR會周期性地通知DC1和DC2中的隧道路由器,目前主機(jī)A在DC1處。但是,DC2的xTR2在接收到該通知之前,還在周期性地向MS/MR注冊該主機(jī)A。也就是說,當(dāng)該通知到達(dá)DC2的xTR2之前,MS/MR可能會收到xTR2對主機(jī)A的注冊,這樣,MS/MR會認(rèn)為主機(jī)A又遷移至xTR2處。在這種情況下,xTR1只有重新感知到主機(jī)A的遷入,才會再次向MS/MR注冊主機(jī)A,這個過程可能出現(xiàn)多次,直至最終DC1和DC2中的隧道路由器都知道主機(jī)A目前位于xTR1處,從而導(dǎo)致主機(jī)遷移后完成注冊的時間變長。因此,主機(jī)發(fā)生遷移后,隧道路由器可能會需要很長時間才能最終完成在MS/MR上對待遷入主機(jī)的注冊。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例的目的在于提供了一種主機(jī)遷移方法及裝置,能夠縮短對發(fā)生遷移的主機(jī)在MS/MR上的注冊時長。
為了達(dá)到上述目的,本發(fā)明公開了一種主機(jī)遷移方法,應(yīng)用于映射服務(wù)器MS/映射解析器MR,所述方法包括:
接收隧道路由器xTR發(fā)送的第一注冊信息,所述第一注冊信息包括端點(diǎn)標(biāo)識EID、路由器位置RLOC和所述EID的版本號;
查找本地保存的所述EID對應(yīng)的第二注冊信息;
若所述第一注冊信息中的版本號大于第二注冊信息中的版本號,則將本地保存的所述第二注冊信息更新為所述第一注冊信息。
為了達(dá)到上述目的,本發(fā)明公開了一種主機(jī)遷移裝置,應(yīng)用于映射服務(wù)器MS/映射解析器MR,所述裝置包括:
接收模塊,用于接收隧道路由器xTR發(fā)送的第一注冊信息,所述第一注冊信息包括端點(diǎn)標(biāo)識EID、路由器位置RLOC和所述EID的版本號;
查找模塊,用于查找本地保存的所述EID對應(yīng)的第二注冊信息;
更新模塊,用于若所述第一注冊信息中的版本號大于第二注冊信息中的版本號,則將本地保存的所述第二注冊信息更新為所述第一注冊信息。
由上述技術(shù)方案可見,本發(fā)明實(shí)施例中,MS/MR接收xTR發(fā)送的包括EID、RLOC和該EID的版本號的第一注冊信息后,查詢本地保存的所述EID對應(yīng)的第二注冊信息,當(dāng)?shù)谝蛔孕畔⒅械陌姹咎柎笥诘诙孕畔⒅械陌姹咎枙r,將本地保存的第二注冊信息更新為第一注冊信息。
也就是說,本發(fā)明實(shí)施例中,MS/MR將EID對應(yīng)的新的第一注冊信息的版本號與老的第二注冊信息的版本號進(jìn)行比較,當(dāng)?shù)谝蛔孕畔⒌陌姹咎栞^大時,說明該第一注冊信息為最新的注冊信息,即可將第二注冊信息更新為第一注冊信息,從而避免了MS/MR無法判斷哪次注冊是最新的注冊,xTR可能需要多次注冊待遷入主機(jī)的問題,因此能夠縮短對發(fā)生遷移的主機(jī)在MS/MR上的注冊時長。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單的介紹。顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為LISP網(wǎng)絡(luò)中主機(jī)遷移的一種場景示意圖;
圖2為本發(fā)明實(shí)施例提供的主機(jī)遷移方法的一種流程示意圖;
圖3為本發(fā)明實(shí)施例提供的主機(jī)遷移方法的另一種流程示意圖;
圖4為本發(fā)明實(shí)施例提供的主機(jī)遷移方法的又一種流程示意圖;
圖5為本發(fā)明實(shí)施例提供的主機(jī)遷移裝置的一種結(jié)構(gòu)示意圖;
圖6為本發(fā)明實(shí)施例提供的主機(jī)遷移裝置的另一種結(jié)構(gòu)示意圖;
圖7為本發(fā)明實(shí)施例提供的主機(jī)遷移裝置的又一種結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整的描述。顯然,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例提供了一種主機(jī)遷移方法及裝置,能夠縮短對發(fā)生遷移的主機(jī)在MS/MR上的注冊時長。
下面通過具體實(shí)施例,對本發(fā)明進(jìn)行詳細(xì)說明。
圖2為本發(fā)明實(shí)施例提供的主機(jī)遷移方法的一種流程示意圖,應(yīng)用于映射服務(wù)器MS/映射解析器MR,所述方法包括步驟:
步驟S201:接收隧道路由器xTR發(fā)送的第一注冊信息。
其中,第一注冊信息包括端點(diǎn)標(biāo)識EID、路由器位置RLOC和所述EID的版本號。
可以理解的是,xTR一般在以下兩種情形下向MS/MR發(fā)送第一注冊信息,一是當(dāng)存在新遷入主機(jī),并且第一次注冊該遷入主機(jī)時,二是主機(jī)遷入之后周期性向MS或者M(jìn)R注冊主機(jī)時。
在實(shí)際應(yīng)用中,本實(shí)施例中的版本號可以用數(shù)字來表示,例如,當(dāng)主機(jī)遷入時,xTR當(dāng)前本地保存的該EID的版本號為2,那么第一注冊信息中的版本號即為2+1=3。當(dāng)然,版本號還可以用字母來表示,例如當(dāng)主機(jī)遷入時xTR當(dāng)前本地保存的該EID的版本號為C,那么第一注冊信息中的版本號即為D(26個英文字母中C后面的字母),并且認(rèn)為26個英文字母中排在后面的字母大于排在前面的字母。當(dāng)然,版本號的表示形式可以包括多種實(shí)現(xiàn)方式。
步驟S202:查找本地保存的所述EID對應(yīng)的第二注冊信息。
其中,第二注冊信息中也包括EID、RLOC和所述EID的版本號等。
步驟S203:若第一注冊信息中的版本號大于第二注冊信息中的版本號,則將本地保存的第二注冊信息更新為第一注冊信息。
當(dāng)?shù)谝蛔孕畔⒅械陌姹咎柌淮笥诘诙孕畔⒅械陌姹咎枙r,該方法還可以包括:將接收的第一注冊信息丟棄。也就是說,這種情況下,第一注冊信息不是最新的注冊信息。
在本步驟中,為了更準(zhǔn)確地確定第一注冊信息為最新的注冊信息,在將本地保存的第二注冊信息更新為第一注冊信息之前,除了判斷第一注冊信息中的版本號是否大于第二注冊信息中的版本號之外,還可以判斷第一注冊信息中的RLOC是否與第二注冊信息中的RLOC不同。如果以上的判斷結(jié)果都為是,則說明第一注冊信息為用于注冊所述EID的最新的注冊信息。
在實(shí)際應(yīng)用中,xTR在向MS/MR周期性發(fā)送注冊信息的過程中,注冊信息中的版本號可能因發(fā)生錯誤而變大,這時,由于注冊信息中的RLOC沒有變化,故無須更新注冊信息。
由上述內(nèi)容可知,在本實(shí)施例中,MS/MR將EID對應(yīng)的新的第一注冊信息的版本號與老的第二注冊信息的版本號進(jìn)行比較,當(dāng)?shù)谝蛔孕畔⒌陌姹咎栞^大時,說明該第一注冊信息為最新的注冊信息,即可將第二注冊信息更新為第一注冊信息,從而避免了MS/MR無法判斷哪次注冊是最新的注冊,xTR可能需要多次注冊待遷入主機(jī)的問題,因此能夠縮短對發(fā)生遷移的主機(jī)在MS/MR上的注冊時長。
在圖2所示實(shí)施例中,在執(zhí)行步驟S203的同時,即在將本地保存的第二注冊信息更新為第一注冊信息時,還可以將最新的版本號信息發(fā)送至所述EID對應(yīng)的訂閱者,使這些訂閱者更新自身信息。即,所述方法還可以包括以下步驟,參見圖3流程示意圖:
步驟S301:在本地查找所述EID對應(yīng)的訂閱者RLOC。
其中,MS/MR中保存的訂閱者RLOC可以是預(yù)先配置的,也可以是MS/MR在接收到xTR的訂閱請求后添加的。
步驟S302:根據(jù)查找到的訂閱者RLOC,向?qū)?yīng)的xTR發(fā)送第一注冊信息,以使訂閱者RLOC對應(yīng)的xTR將本地記錄的所述EID的版本號更新為第一注冊信息中的版本號。
可以理解的是,步驟S302中也可以只向?qū)?yīng)的xTR發(fā)送所述EID和對應(yīng)的版本號,這樣也能將EID最新的版本號發(fā)送至訂閱者RLOC對應(yīng)的xTR。
由上述內(nèi)容可見,本實(shí)施例中,xTR中也保存了其訂閱的EID的版本號,并且,當(dāng)所述EID的注冊信息發(fā)生變化時,MS/MR要向xTR發(fā)送最新的注冊信息,以使xTR更新所述EID的版本號。
需要說明的是,在圖2所示實(shí)施例中,若第一注冊信息為主機(jī)遷入時所述xTR生成的注冊信息,則第一注冊信息中的版本號為主機(jī)遷入時xTR當(dāng)前本地保存的所述EID的版本號加1。若第一注冊信息為主機(jī)遷入后所述xTR周期性發(fā)送的注冊信息,則第一注冊信息中的版本號為xTR本地保存的所述EID的版本號。
在第一種情況下,當(dāng)主機(jī)遷入時,第一注冊信息是最新的注冊信息,其中的版本號大于第二注冊信息中的版本號,于是,MS/MR將第二注冊信息更新為第一注冊信息。
在第二種情況下,當(dāng)主機(jī)遷入之后,第一注冊信息是周期性發(fā)送的注冊信息,其中的版本號等于第二注冊信息中的版本號,MS/MR將第一注冊信息丟棄即可。
在圖2所示實(shí)施例中,該方法還可以包括以下步驟,這些步驟可以參見圖4所示流程圖:
步驟S401:接收xTR發(fā)送的訂閱信息,所述訂閱信息包括該xTR的RLOC和訂閱的EID。
具體的,xTR訂閱哪些EID,可以預(yù)先設(shè)定,也可以根據(jù)預(yù)設(shè)規(guī)則獲得,本發(fā)明對此不做限定。
步驟S402:將該xTR的RLOC作為訂閱者RLOC,在本地記錄訂閱者RLOC和訂閱的EID之間的映射關(guān)系。
需要說明的是,圖4所示流程示意圖僅僅是一種實(shí)施方式,步驟S401和S402與圖2所示實(shí)施例的結(jié)合還可以包括其他多種實(shí)施方式,此處不再一一列舉。
下面結(jié)合具體實(shí)例對本申請再做詳細(xì)說明。
以圖1所示示意圖來舉例說明,主機(jī)A的EID為10.1.1.66,其原來與數(shù)據(jù)中心DC2的xTR2連接,xTR2的RLOC為2.2.2.2?,F(xiàn)在,主機(jī)A遷移至DC1的xTR1處,其中,xTR1的RLOC為1.1.1.1。
xTR1感知到主機(jī)A的遷入,并且當(dāng)前本地保存的主機(jī)A的EID的版本號為2,確定第一注冊信息中的版本號為2+1即為3,第一注冊信息包含的內(nèi)容如下:
EID:10.1.1.66;RLOC:1.1.1.1;Version:3
xTR1將上述第一注冊信息發(fā)送至MS/MR,以注冊遷入主機(jī)A。MS/MR接收到xTR1發(fā)送的第一注冊信息,并查找本地保存的該EID對應(yīng)的第二注冊信息,查找到的第二注冊信息包含的內(nèi)容如下:
EID:10.1.1.66;RLOC:2.2.2.2;Version:2
MS/MR判斷出第一注冊信息中的版本號3大于第二注冊信息中的版本號2,從而將本地保存的第二注冊信息更換為第一注冊信息。此時,即完成對遷入主機(jī)A的注冊。
MS/MR在本地查找該EID對應(yīng)的訂閱者RLOC,查找到的訂閱者RLOC包括以下內(nèi)容:
xTR1:1.1.1.1;xTR2:2.2.2.2;xTR3:3.3.3.3
MS/MR向上述三個xTR發(fā)送第一注冊信息,以使xTR1、xTR2和xTR3將各自本地記錄的該EID的版本號更新為第一注冊信息中的版本號。
xTR1在完成對遷入主機(jī)A的第一次注冊之后,還要周期性地向MS/MR發(fā)送上述第一注冊信息。MS/MR接收到xTR1發(fā)送的第一注冊信息的內(nèi)容如下:
EID:10.1.1.66;RLOC:1.1.1.1;Version:3
MS/MR根據(jù)該第一注冊信息中的EID,查找到該EID對應(yīng)的第二注冊信息包含的內(nèi)容如下:
EID:10.1.1.66;RLOC:1.1.1.1;Version:3
MS/MR判斷出第一注冊信息中的版本號3不大于第二注冊信息中的版本號3,從而將第一注冊信息丟棄。
圖5為本發(fā)明實(shí)施例提供的主機(jī)遷移裝置的一種結(jié)構(gòu)示意圖,應(yīng)用于映射服務(wù)器MS/映射解析器MR,所述裝置包括接收模塊501、查找模塊502和更新模塊503;
其中,接收模塊501,用于接收xTR發(fā)送的第一注冊信息,所述第一注冊信息包括EID、RLOC和所述EID的版本號;
查找模塊502,用于查找本地保存的所述EID對應(yīng)的第二注冊信息;
更新模塊503,用于若所述第一注冊信息中的版本號大于第二注冊信息中的版本號,則將本地保存的所述第二注冊信息更新為所述第一注冊信息。
在圖5所示實(shí)施例中,所述裝置還可以包括發(fā)送模塊601,參見圖6所示結(jié)構(gòu)示意圖,該結(jié)構(gòu)示意圖與圖3所示方法實(shí)施例相對應(yīng);
所述查找模塊502,還用于在所述將本地保存的所述第二注冊信息更新為所述第一注冊信息時,在本地查找所述EID對應(yīng)的訂閱者RLOC;
所述發(fā)送模塊601,用于根據(jù)查找到的所述訂閱者RLOC,向?qū)?yīng)的xTR發(fā)送所述第一注冊信息,以使訂閱者RLOC對應(yīng)的xTR將本地記錄的所述EID的版本號更新為所述第一注冊信息中的版本號。
在圖5所示實(shí)施例中,若所述第一注冊信息為主機(jī)遷入時所述xTR生成的注冊信息,則所述第一注冊信息中的版本號為主機(jī)遷入時xTR當(dāng)前本地保存的所述EID的版本號加1;
若所述第一注冊信息為主機(jī)遷入后所述xTR周期性發(fā)送的注冊信息,則所述第一注冊信息中的版本號為xTR本地保存的所述EID的版本號。
在圖5所示實(shí)施例中,所述裝置還可以包括丟棄模塊(圖中未示出);
所述丟棄模塊,用于當(dāng)所述第一注冊信息中的版本號不大于第二注冊信息中的版本號時,將接收的所述第一注冊信息丟棄。
在圖5所示實(shí)施例中,所述裝置還可以包括記錄模塊701,參見圖7所示結(jié)構(gòu)示意圖,該結(jié)構(gòu)示意圖與圖4所示方法實(shí)施例相對應(yīng);
所述接收模塊501,還用于接收xTR發(fā)送的訂閱信息,所述訂閱信息包括該xTR的RLOC和訂閱的EID;
所述記錄模塊701,用于將該xTR的RLOC作為訂閱者RLOC,在本地記錄訂閱者RLOC和訂閱的EID之間的映射關(guān)系。
由于上述裝置實(shí)施例是基于方法實(shí)施例得到的,與該方法具有相同的技術(shù)效果,因此裝置實(shí)施例的技術(shù)效果在此不再贅述。
對于裝置實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述得比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實(shí)體或者操作與另一個實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
本領(lǐng)域普通技術(shù)人員可以理解,上述實(shí)施方式中的全部或部分步驟是能夠通過程序指令相關(guān)的硬件來完成的,所述的程序可以存儲于計算機(jī)可讀取存儲介質(zhì)中。這里所稱存儲介質(zhì),是指ROM/RAM、磁碟、光盤等。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。